l cd12864显示程序精品参考资料.docVIP

  • 13
  • 0
  • 约2.62万字
  • 约 13页
  • 2017-02-02 发布于江苏
  • 举报
/************************************************* 名??? 称:LCD12864_ST7920并行测试程序 试验功能:测试基于ST7920控制芯片的LCD12864的显示 ????????? 并行方式连接;晶振11.0592M 编??? 写:JiangX.net *************************************************/ #include reg52.h #include ziku.h #include intrins.h #define uchar unsigned char #define uint unsigned int????//宏定义 /*****LCD接口定义*****/ sbit LCD_RS? = P2^0;?????//1:输入数据 ;0:输入命令 sbit LCD_RW? = P2^1;?????//1:读数据? 0:写数据 sbit LCD_EN? = P2^2;?????//LCM使能端 sbit LCD_PSB = P2^3;? ?????//串并口选择 1:并口模式; 0:串口模式; #define LCD_DATA? P0?????//LCD总线端口 /*****LCD功能初始化指令*****/ #define CLEAR_SCREEN?0x01???//清屏指令:清屏且AC值为00H #define AC_INIT???0x02???//将AC设置为00H。且游标移到原点位置 #define CURSE_ADD??0x06???//设定游标移到方向及图像整体移动方向(默认游标右移,图像整体不动) #define FUN_MODE??0x30???//工作模式:8位基本指令集 #define DISPLAY_ON??0x0c???//显示开,显示游标,且游标位置反白 #define DISPLAY_OFF??0x08???//显示关 #define CURSE_DIR??0x14???//游标向右移动:AC=AC+1 #define SET_CG_AC??0x40???//设置AC,范围为:00H~3FH #define SET_DD_AC??0x80 /*****汉字地址表*****/ uchar code addr_tab[]={?????//便于根据汉字坐标求出地址 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,//第一行汉字位置 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,//第二行汉字位置 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,//第三行汉字位置 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,//第四行汉字位置 }; /*****n(ms)延时子程序*****/ void delayms(uint t)?????//约延时n(ms) { ?uint i; ?while(t--) ?{ ??for(i=0;i125;i++); ?}???????? } /*****等待LCD忙*****/ void WaitBusy(void)??????//延时一小段时间,等待LCD空闲 { ?uchar i=5; ??? while(i--); } /*****写指令代码*****/ void Lcd_WriteCmd(uchar cmdcode) { ?? ?LCD_RS = 0; ?? ?LCD_RW = 0; ?? ?LCD_EN = 1; ?WaitBusy(); ?? ?LCD_DATA = cmdcode; ?? ?LCD_EN = 0; } /*****写数据*****/ void Lcd_WriteData(uchar dispdata) { ?? ?LCD_RS = 1; ?? ?LCD_RW = 0; ?? ?LCD_EN = 1; ?WaitBusy(); ?? ?LCD_DATA = dispdata; ?? ?LCD_EN = 0; } /*****初始化LCD*****/ void Lcd_Init() {? ?? ?LCD_PSB = 1; ?delayms(50); ?? ?Lcd_WriteCmd(0x30);???? ???//选择基本指令集 ?delayms(1); ?? ?Lcd_WriteCmd(0x30);?????? ???//选择8bit数据流 ?delayms(1); ?? ?Lcd_WriteCmd(0x0c);?????? ???//开显示(无游标、不反白) ?delayms(1); ?? ?Lcd_Write

文档评论(0)

1亿VIP精品文档

相关文档