资源描述:
《基于80C51和GXM12864的液晶显示原理图+C语言源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.系统原理图2.C语言源程序/***************头文件**************//*****************************************//*Copyright(c)2005,通信工程学院*//*Allrightsreserved.*//*/*作者:戴佳*//*****************************************/#ifndef_LCD_SHOW_H//防止lcd_show.h被重复引用#define_LCD_SHOW_H#include#in
2、cludeunsignedcharcodeQING[32]={/*请*/0x20,0x22,0xEC,0x00,0x20,0x22,0xAA,0xAA,0xAA,0xBF,0xAA,0xAA,0xEB,0xA2,0x20,0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0xFF,0x0A,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x00};unsignedcharcodeCHA[32]={/*插*/0x10,0x10,0x10,0xFF,0x90,0x24,0x24,0
3、xA4,0x24,0xFC,0x22,0x23,0x22,0xB0,0x20,0x00,0x02,0x42,0x81,0x7F,0x00,0xFF,0x49,0x48,0x40,0x7F,0x40,0x49,0x49,0xFF,0x01,0x00};unsignedcharcodeKA[32]={/*卡*/0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x44,0x44,0x44,0x46,0x44,0x40,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00
4、,0x02,0x04,0x0C,0x18,0x00,0x00,0x00,0x00};#defineLCDXBYTE[0xffff]/*LCD端口*/#endif/*******************C文件******************/#include"lcd_show.h"#defineuintunsignedint#defineucharunsignedchar#defineCSAP2_1#defineCSBP2_0#defineEP2_3#defineRWP2_5#defineDIP2_6sbitbusy_bit=ACC^7;
5、//lcdstatebytebit7/*下面是对液晶屏gxm12864d操作的函数,128x64点阵,汉字显示,CSA,CSB用来进行左右显示区的选择。*//*发命令i到主窗口*/voidlcd_mwc(uchari){CSA=1;CSB=0;RW=1;DI=0;do{ACC=LCD;}while(busy_bit);//waitforlcdnotbusyRW=0;LCD=i;}/*写数据i到主窗口*/voidlcd_mwd(uchari){CSA=1;CSB=0;RW=1;DI=0;do{ACC=LCD;}while(busy_bit);
6、//waitforlcdnotbusyRW=0;DI=1;LCD=i;}/*清屏*/voidlcd_clear(void){uchari;ucharpage;for(page=0xb8;page<0xc0;page++){lcd_mwc(page);/*设置显示页面*/lcd_mwc(0x40);/*设置列地址*/for(i=0;i<64;i++){lcd_mwd(0);}}}//初始化lcdvoidlcd_init(void){lcd_mwc(0xc0);lcd_mwc(0x3f);}//dispm_hz_up()displayuphal
7、fofahanziinleftareavoiddispm_hz_up(ucharcode*hz){uchari;for(i=0;i<16;i++)lcd_mwd(*(hz+i));}//dispm_hz_down()displaydownhalfofahanziinleftareavoiddispm_hz_down(ucharcode*hz){uchari;for(i=16;i<32;i++)lcd_mwd(*(hz+i));}voidmain(void){E=1;lcd_clear();lcd_init();lcd_mwc(0xb8);l
8、cd_mwc(0x40);dispm_hz_up(&QING);dispm_hz_up(&CHA);dispm_hz_up(&KA);lcd_mwc(0xb9);lcd_mwc(