LCD12864.rar

  • 其实。
    了解作者
  • C/C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2021-04-27 13:34
    上传日期
LCD12864液晶显示实时操作内容与提示;同时加入了指纹识别功能,能够通过管理密码进入进行添加和删除指纹信息
LCD12864.rar
  • LCD12864.h
    5.6KB
内容介绍
/**************************************************************** LCD12864头文件 实现功能:LCD12864的控制显示 补充说明: *****************************************************************/ #ifndef _LCD12864_H_ #define _LCD12864_H_ #include <reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int /************************LCD12864引脚定义************************/ #define LCD P2 //并行数据口D0~D7 sbit RS =P3^5; //数据/命令选择 引脚 sbit RW =P3^4; //读/写选择 引脚 sbit E =P3^3; //使能信号 引脚 /************************LCD12864函数定义************************/ void LCD12864_delay(uint x); //LCD12864延时 void write_com(uchar com); //LCD12864写命令 void write_data(uchar dat); //LCD12864写数据 void LCD12864_display_char(uchar x,uchar y,uchar dat); //在第y行,x+1列显示字符 void LCD12864_display_string(uchar x,uchar y,uchar *s); //在第y行,x+1列开始显示字符串 void LCD12864_init(void); //LCD12864初始化函数 /*******************LCD12864固定显示变量定义*********************/ //uchar code ASCII[] = {'0','1','2','3','4','5','6','7','8','9'}; //显示的字符数组 /******************************************************** 函数名称:void LCD12864_delay(uint x) 函数作用:LCD12864延时函数 参数说明: ********************************************************/ void LCD12864_delay(uint x) { uint j,i; for(j=0;j<x;j++) { for(i=0;i<120;i++); } } /******************************************************** 函数名称:uchar Lcd_CheckBusy(void) 函数作用:LCD12864读忙函数 参数说明: ********************************************************/ uchar Lcd_CheckBusy(void) { unsigned char Busy; LCD=0xff; RS=0; RW=1; E=1; _nop_(); Busy=LCD&0x80; E=0; return Busy; } /******************************************************** 函数名称:void write_com(uchar com) 函数作用:LCD12864写命令 参数说明:com为LCD12864指令,参考手册 ********************************************************/ void write_com(uchar com) { while(Lcd_CheckBusy()); RS=0; RW=0; E=0; _nop_(); _nop_(); LCD=com; _nop_(); _nop_(); E=1; _nop_(); _nop_(); E=0; } /******************************************************** 函数名称:void write_data(uchar dat) 函数作用:LCD12864写数据 参数说明:dat为所写内容 ********************************************************/ void write_data(uchar dat) { while(Lcd_CheckBusy()); RS=1; RW=0; E=0; _nop_(); _nop_(); LCD=dat; E=1; _nop_(); _nop_(); E=0; } /******************************************************** 函数名称:void LCD12864_display_pox(uchar x,uchar y) 函数作用:LCD12864显示字符 参数说明:在横坐标x(0~7),纵坐标y(1~4) ********************************************************/ void LCD12864_display_pox(uchar x,uchar y) { uchar add; //存储显示位置 if(y==1) //在第1行显示 add=0x80+x; else if(y==2) //在第2行显示 add=0x90+x; else if(y==3) //在第3行显示 add=0x88+x; else if(y==4) //在第4行显示 add=0x98+x; write_com(add); //先写显示地址 } /******************************************************** 函数名称:void LCD12864_display_char(uchar x,uchar y,uchar dat) 函数作用:LCD12864显示字符 参数说明:在横坐标x(0~7),纵坐标y(1~4)显示字符dat ********************************************************/ void LCD12864_display_char(uchar x,uchar y,uchar dat) { LCD12864_display_pox(x,y); //先写显示地址 write_data(dat); //在写显示内容 } /******************************************************** 函数名称:void LCD12864_display_string(uchar x,uchar y,uchar *s) 函数作用:LCD12864显示字符 参数说明:在横坐标x(0~7),纵坐标y(1~4)显示字符串*s ********************************************************/ void LCD12864_display_string(uchar x,uchar y,uchar *s) { LCD12864_display_pox(x,y); //先写显示地址 while(*s!='\0') { write_data(*s); s++; LCD12864_delay(1); } } /******************************************************** 函数名称:void LCD12864_white(uchar x,uchar y,uchar num,bit mode) 函数作用:显示反白 参数说明:x:0~15;横坐标 y:1~4;纵坐标 num:0~16;显示长度 mode=0不显示,=1反白 ********************************************************/ void LCD12864_white(uchar x,uchar y,uchar num,bit mode) { uchar add,i,j; if(y%2==1) add=0x80; else if(y%2==0) add=0x90; write_com( 0x34 ) ; write_com( 0x36 ) ; for(i=0;i<16;i++) { write_com(add+i) ; if(y>2) write_com(0x88+x/2); else write_com(0x80+x/2); if(x%2==1) write_data( 0x00 ); for(j=0;j<num;j++) { if(mode==1) write_data( 0xff ); else write_data( 0x00 ); } } write_com( 0x30 ) ; } /******************************************************** 函数名称:void LCD12864_clear12864() 函数作用:清除LCD12864全屏绘图 参数说明: ********************************************************/ void LCD12864_clear12864() { uchar i; for(i=1;i<5;i++) LCD12864_white(0,i,16,0); } /******************************************************** 函数名称:void LCD12864_init(void) 函数作用:LCD12864初始化 参数说明: ********************************************************/ void LCD12864_init(void) { write_com(0x30); //选择基本指令集 write_com(0x30); //选择8bit数据流 write_com(0x0c); //开显示(无游标、不反白) write_com(0x01); //清除显示,并且设定地址指针为00H write_com(0x06); //指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位,光标从右向左加1位移动 LCD12864_clear12864(); } #endif
评论
    相关推荐
    • lcd12864液晶
      lcd12864液晶显示实例,内有基于proteus的仿真验证
    • LCD12864显示
      本文件包含Proteus仿真图和C语言源代码
    • LCD12864例程
      使用C语言及51单片机通过并行数据传输驱动LCD12864液晶屏。
    • LCD12864液晶
      单片机LCD12864最新的资料,可供学习参考
    • LCD12864驱动
      LCD12864 的驱动,硬件平台是msp430单片机
    • LCD12864spi.rar
      串口方式液晶显示驱动源代码,8位单片机验证可运行
    • Lcd12864.zip
      这是arduino的显示屏库,非常的好用,欢迎大家使用
    • lcd12864.zip
      lcd显示字符1。LCD12864带字库,型号:CM12864-12.其相关数据手册可以在百度中搜索“ST7920 系列中1文图形液晶模块1使用说明书”,里面有详细的介绍。这里就不在多描述。
    • lcd12864.rar
      一个LCD12864显示温度代码51单片机上
    • Proteus7.12.rar
      Proteus7.12完美破解版.rar电路仿真软件很好用可以仿真单片数字模拟电路