12864.rar

  • 啊潘
    了解作者
  • C/C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2020-10-07 15:53
    上传日期
LCD12864液晶显示屏,用于显示我们所需的数据
12864.rar
  • 12864
  • LCD12864.h
    4.4KB
内容介绍
#ifndef _LCD12864_H_ #define _LCD12864_H_ #include "intrins.h" sbit io_LCD12864_RS = P2^6 ; sbit io_LCD12864_RW = P2^5 ; sbit io_LCD12864_EN = P2^7 ; unsigned int n=0,k=0,l=0; unsigned char a[]="00:00"; //计时 unsigned char g[]="00"; #define io_LCD12864_DATAPORT P0 #define SET_DATA io_LCD12864_RS = 1 ; #define SET_INC io_LCD12864_RS = 0 ; #define SET_READ io_LCD12864_RW = 1 ; #define SET_WRITE io_LCD12864_RW = 0 ; #define SET_EN io_LCD12864_EN = 1 ; #define CLR_EN io_LCD12864_EN = 0 ; void jianpan(void); void v_Lcd12864CheckBusy_f( void ) //忙检测函数 { unsigned int nTimeOut = 0 ; SET_INC SET_READ CLR_EN SET_EN while( ( io_LCD12864_DATAPORT & 0x80 ) && ( ++nTimeOut != 0 ) ) ; CLR_EN SET_INC SET_READ } void v_Lcd12864SendCmd_f( unsigned char byCmd ) //发送命令 { v_Lcd12864CheckBusy_f() ; SET_INC SET_WRITE CLR_EN io_LCD12864_DATAPORT = byCmd; _nop_(); _nop_(); SET_EN _nop_(); _nop_(); CLR_EN SET_READ SET_INC } void v_Lcd12864SendData_f( unsigned char byData ) //发送数据 { v_Lcd12864CheckBusy_f() ; SET_DATA SET_WRITE CLR_EN io_LCD12864_DATAPORT = byData ; _nop_(); _nop_(); SET_EN _nop_(); _nop_(); CLR_EN SET_READ SET_INC } void v_DelayMs_f( unsigned int nDelay ) //延时 { unsigned int i ; for( ; nDelay > 0 ; nDelay-- ) { for( i = 125 ; i > 0 ; i-- ) ; } } void v_Lcd12864Init_f( void ) //初始化 { v_Lcd12864SendCmd_f( 0x30 ) ; //基本指令集 v_DelayMs_f( 50 ) ; v_Lcd12864SendCmd_f( 0x01 ) ; //清屏 v_DelayMs_f( 50 ) ; v_Lcd12864SendCmd_f( 0x06 ) ; //光标右移 v_DelayMs_f( 50 ) ; v_Lcd12864SendCmd_f( 0x0c ) ; //开显示 } void v_Lcd12864SetAddress_f( unsigned char x, y ) //地址转换 { unsigned char byAddress ; switch( y ) { case 0 : byAddress = 0x80 + x ; break; case 1 : byAddress = 0x90 + x ; break ; case 2 : byAddress = 0x88 + x ; break ; case 3 : byAddress = 0x98 + x ; break ; default : break ; } v_Lcd12864SendCmd_f( byAddress ) ; } void v_Lcd12864PutString_f( unsigned char x, unsigned char y, unsigned char *pData) { v_Lcd12864SetAddress_f( x, y ) ; while( *pData != '\0' ) { v_Lcd12864SendData_f( *pData++ ) ; } } void time() { TMOD = 0X01; // 定时器T0与外部中断引脚无关,定时方式,方式1 TR0 = 1; // 允许计数 EA = 1; //中断总开关打开 ET0 = 1; // 定时中断T0开关打开 TH0 = 0X3C;//高八位 TL0 = 0XAF; //第八位 } void cheTX() { v_Lcd12864PutString_f( 3,0, "号车库") ; v_Lcd12864PutString_f( 0,1, "时间: "); v_Lcd12864PutString_f( 0,2, "单价:每30秒"); v_Lcd12864PutString_f( 6,2, "5 元"); v_Lcd12864PutString_f( 0,3, "总计:") ; v_Lcd12864PutString_f( 4,3, "元") ; } void jifei() { v_Lcd12864PutString_f( 3,1,a); v_Lcd12864PutString_f( 3,3,g); a[0]= k/10+0x30; a[1]= k%10+0x30; a[3]= n/10+0x30; a[4]= n%10+0x30; g[0]= fei/10+0x30; g[1]= fei%10+0x30; } /*********** void main( void ) { v_Lcd12864Init_f(); time(); v_Lcd12864PutString_f( 3,0, "号车库") ; v_Lcd12864PutString_f( 0,1, "时间: "); v_Lcd12864PutString_f( 0,2, "单价:每30秒"); v_Lcd12864PutString_f( 6,2, "5 元"); v_Lcd12864PutString_f( 0,3, "总计:") ; v_Lcd12864PutString_f( 4,3, "元") ; while( 1 ) { jianpan(); v_Lcd12864PutString_f( 3,1,a); v_Lcd12864PutString_f( 3,3,g); a[0]= k/10+0x30; a[1]= k%10+0x30; a[3]= n/10+0x30; a[4]= n%10+0x30; g[0]= fei/10+0x30; g[1]= fei%10+0x30; } }************/ /******** 按键控制车库LED程序 **********/ /******* 中断计时 *******/ void time_interrput() interrupt 1 { static int i=0; //用于计算执行中断函数的此时 i ++; TH0 = (65535 -50000)/256; // 定时50ms TL0 = (65535 -50000)%256; //每次执行中断函数之后要重新赋值 if(i == 20)// 20*50ms =1s { i = 0; n++; if(n==1) { fei=fei+5; } if(n==31) { fei=fei+5; } if(n==60) { n=0; k++; if(k==60) { k=0; l++; if(l==24) l=0; } } } } #endif
评论
    相关推荐
    • 12864底层.zip
      12864在51上的驱动,可在驱动的基础上改进添加需要的功能。
    • LCD12864.rar
      LCD12864液晶显示实时操作内容与提示;同时加入了指纹识别功能,能够通过管理密码进入进行添加和删除指纹信息
    • 12864.zip
      通过C语言,用51单片机驱动12864液晶屏,使其能够显示图片
    • 汉字显示器12864的应用
      初学者学习单片机控制程序,包括了汉字显示,液晶显示原理,文档
    • 12864贪吃蛇
      51单片机fc手柄的12864贪吃蛇的程序,12864型号为QC12864B
    • 12864万年历
      LCD 12864 源代码 利用51单片机 附件为晚年历的例程
    • 12864驱动及字库.rar
      12864LCD驱动项目(Keil)包括驱动与中文字库查询与读取
    • 12864.zip
      本文档程序为LCD12864的开发程序,实现功能较多,可供新手参考
    • 12864使用例程.zip
      lcd12864例程与相关代码,可以直接用,51单片机是stm32
    • Proteus7.12.rar
      Proteus7.12完美破解版.rar电路仿真软件很好用可以仿真单片数字模拟电路