1、字符型12964例程主程序文件:main.c/*名 称:LCD12864_ST7920串行测试程序试验功能:测试基于ST7920控制芯片的LCD12864的显示 串行方式连接;晶振11.0592M编 写:JiangX.net*/#include #include #include #define uchar unsigned char#define uint unsigned int/宏定义/*LCD接口定义*/sbit CS = P20;/片选信号sbit SID = P21;/串行数据sbit SCLK = P22;/串行同步时钟sbit PSB = P23; /串并口选择 1:并口模式;
2、 0:串口模式;/*LCD功能初始化指令*/#define CLEAR_SCREEN0x01/清屏指令:清屏且AC值为00H#define AC_INIT0x02/将AC设置为00H。且游标移到原点位置#define CURSE_ADD0x06/设定游标移到方向及图像整体移动方向(默认游标右移,图像整体不动)#define FUN_MODE0x30/工作模式:8位基本指令集#define DISPLAY_ON0x0c/显示开,显示游标,且游标位置反白#define DISPLAY_OFF0x08/显示关#define CURSE_DIR0x14/游标向右移动:AC=AC+1#define SE
3、T_CG_AC0x40/设置AC,范围为:00H3FH#define SET_DD_AC0x80/*汉字地址表*/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(uin
4、t t)/约延时n(ms)uint i;while(t-)for(i=0;i125;i+); /*串行发送一个字节*/void SendByte(uchar Dbyte) uchar i; for(i=0;i8;i+) SCLK = 0; Dbyte=Dbyte1; /左移一位 SID = CY; /移出的位给SID SCLK = 1; SCLK = 0; /*串行接收一个字节*/uchar ReceiveByte(void) uchar i,temp1,temp2; temp1 = 0; temp2 = 0; for(i=0;i8;i+) temp1=temp11; SCLK = 0; SC
5、LK = 1; SCLK = 0; if(SID) temp1+; for(i=0;i8;i+) temp2=temp21; SCLK = 0; SCLK = 1; SCLK = 0; if(SID) temp2+; return (0xf0&temp1)+(0x0f&temp2);/*检测LCD忙状态*/void CheckBusy( void ) do SendByte(0xfc); /11111,RW(1),RS(0),0 while(0x80&ReceiveByte(); /BF(.7)=1 Busy/*写指令*/void Lcd_WriteCmd(uchar Cbyte ) CS =
6、 1; CheckBusy(); SendByte(0xf8); /11111,RW(0),RS(0),0 SendByte(0xf0&Cbyte); /高四位 SendByte(0xf0&Cbyte4);/低四位(先执行) CS = 0;/*写数据*/void Lcd_WriteData(uchar Dbyte ) CS = 1; CheckBusy(); SendByte(0xfa); /11111,RW(0),RS(1),0 SendByte(0xf0&Dbyte); /高四位 SendByte(0xf0&Dbyte4);/低四位(先执行0) Lcd_WriteData(*s);/写数据
7、s+; /*显示图片(显示Gdram内容)*/*绘图显示的步骤1 关闭绘图显示功能2 先将垂直的坐标(Y)写入绘图RAM地址3 再将水平的位元组坐标(X)写入绘图RAM地址4 将D15D8写入RAM中5 将D7D0写入到RAM中6 打开绘图显示功能*/图片取模方式:横向取模,字节正序void pic_Disp(uchar *pic)/显示Gdram内容(显示图片)uchar x,y,i;for(i=0;i9;i=i+8)for(y=0;y32;y+)for(x=0;x8;x+)Lcd_WriteCmd(0x36);/扩充指令,开绘图显示Lcd_WriteCmd(0x80+y);/行地址Lcd_
8、WriteCmd(0x80+x+i);/列地址Lcd_WriteData(*pic+);/写数据 D15D8Lcd_WriteData(*pic+);/写数据 D7D0Lcd_WriteCmd(0x30);/*整屏显示竖条*/当i=0时显示上面12832,当i=8时显示下面12832/当i=0时显示上面12832,当i=8时显示下面12832void LcdFill_Vertical() uchar x,y,i; for(i=0;i9;i=i+8) for(y=0;y0x20;y+) for(x=0;x8;x+) Lcd_WriteCmd(0x36);/扩充指令 绘图显示 Lcd_WriteC
9、md(y+0x80); /行地址 Lcd_WriteCmd(x+0x80+i); /列地址 Lcd_WriteData(0x55); /写数据 D15D8 Lcd_WriteData(0x55); /写数据 D7D0 Lcd_WriteCmd(0x30); /*整屏显示横条*/void LcdFill_Level() uchar x,y,i; uchar k; for(i=0;i9;i+=8) for(y=0;y0x20;y+) if(y%2)=1) k=0xff; else k=0; for(x=0;x8;x+) Lcd_WriteCmd(0x36); /扩充指令 绘图显示 Lcd_Writ
10、eCmd(y+0x80);/行地址 Lcd_WriteCmd(x+0x80+i);/列地址 Lcd_WriteData(k); Lcd_WriteData(k); Lcd_WriteCmd(0x30); /*整屏充满亮点或暗点*/当i=0时显示上面12832,当i=8时显示下面12832/当i=0时显示上面12832,当i=8时显示下面12832void Lcd_Fill(uchar test) uchar x,y,i; for(i=0;i9;i=i+8) for(y=0;y0x20;y+) for(x=0;x8;x+) Lcd_WriteCmd(0x36);/扩充指令 绘图显示 Lcd_Wr
11、iteCmd(y+0x80); /行地址 Lcd_WriteCmd(x+0x80+i); /列地址 Lcd_WriteData(test); /写数据 D15D8 Lcd_WriteData(test); /写数据 D7D0 Lcd_WriteCmd(0x30); /*主函数*/void main(void)Lcd_Init();while(1)Lcd_Init();hanzi_Disp(0,0,ST7920型液晶模块);hanzi_Disp(1,1,串行测试程序);hanzi_Disp(2,0,www.JiangX.net);hanzi_Disp(3,3,);delayms(2000);Lc
12、d_Init();/Lcd_Fill(0xff);hanzi_Disp(1,2,坏点检测);delayms(500);Lcd_Init();Lcd_Fill(0xff);delayms(1500);Lcd_Init();LcdFill_Vertical();delayms(750);Lcd_Init();LcdFill_Level();delayms(750);Lcd_Init();hanzi_Disp(1,2,显示汉字);delayms(500);Lcd_Init();hanzi_Disp(0,0,tangshi);delayms(1500);Lcd_Init();hanzi_Disp(1,
13、2,显示图片);delayms(500);Lcd_Init();pic_Disp(LCDsheji);delayms(1000); Lcd_Init();pic_Disp(rmb);delayms(1000);Lcd_Init();pic_Disp(qiche);delayms(1000);Lcd_Init();pic_Disp(gongji);delayms(1000);Lcd_Fill(0x00);/清显示RAMdelayms(500); 以下是字库头文件:ziku.hunsigned char code tangshi=黄河远上白云间,羌笛何须怨杨柳,一片孤城万仞山。春风不度玉门关。;/
14、图片取模方式:横向取模,字节正序unsigned char code rmb1024= 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
15、x00,0x10,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0x00,0x04,0xE7,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xC0,0x05,0x34,0
16、xC0,0x01,0xF8,0x00,0x38,0x7C,0x00,0x70,0x48,0x6C,0x01,0xFF,0xFF,0xE0,0x07,0x1C,0x40,0x03,0xDD,0x00,0x3E,0x7C,0x30,0x70,0xF8,0x7C,0x0F,0xFF,0xFF,0xF0,0x07,0x1C,0x40,0x07,0x76,0x00,0x28,0x58,0x5C,0x70,0x50,0x48,0x1F,0xF0,0xFF,0xF8,0x05,0xF7,0x80,0x07,0xFE,0x00,0x08,0x6C,0x06,0x78,0x5C,0x18,0x1F,0xC0,0
17、x1F,0xFE,0x04,0xEF,0x00,0x03,0xFE,0x00,0x08,0x04,0x00,0x0C,0x10,0x00,0x3F,0x80,0x07,0xFF,0x00,0x36,0x00,0x07,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x07,0xFF,0x00,0xFF,0x00,0x05,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0xFF,0x80,0xFF,0x00,0x02,0x50,0x00,0x00,0x00,0x00,0x00,0
18、x00,0x00,0x3F,0x00,0x03,0xFF,0x80,0xFF,0x80,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x03,0xFF,0x80,0xFF,0x80,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x03,0xFF,0x80,0xFF,0x80,0x01,0xF4,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x3C,0x00,0x03,0xFF,0x81,0xFF,0x80,0x00,0x00,0x00,0
19、x00,0x00,0x00,0x10,0x00,0x00,0x1F,0x83,0x81,0xFF,0x80,0xF7,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x18,0x43,0x01,0xFF,0x80,0xF7,0x00,0x00,0x00,0x00,0x00,0x08,0x3E,0x01,0xF0,0x00,0x0C,0x23,0x01,0xFF,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x7C,0xFD,0x87,0x7C,0x00,0x1F,0x23,0xE1,0xFE,0x00,0x7F,0
20、x00,0x00,0x00,0x00,0x00,0x19,0xC3,0x86,0x1E,0x00,0x16,0x23,0x20,0xF6,0x00,0x32,0x80,0x00,0x00,0x00,0x00,0x19,0x81,0xCE,0x0F,0x00,0x1C,0x61,0x00,0xEA,0x00,0x5E,0x00,0x00,0x00,0x00,0x00,0x1B,0x80,0xFC,0x03,0x00,0x10,0xC0,0x00,0xC0,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x1D,0x00,0xFC,0x07,0x00,0x11,0xC0,0
21、x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x80,0xFC,0x07,0x00,0x18,0x00,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0xFC,0x03,0x00,0x18,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x40,0xDE,0x06,0x00,0x18,0xD8,0x01,0xE4,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x19,0xE1,0xCF,0
22、x0E,0x00,0x18,0xE0,0x03,0xC4,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x18,0xFF,0x97,0xFC,0x00,0x18,0x80,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x7F,0x03,0xF8,0x00,0x0D,0x00,0x07,0xC0,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x7E,0x38,0x00,0xE0,0x00,0x0D,0xFC,0x03,0xF0,0x00,0x00,0x80,0x00,0x00,0x00,0
23、x00,0x00,0x00,0x00,0x00,0x00,0x0C,0xFE,0x43,0xE0,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xD8,0x00,0x00,0x0C,0xE0,0x03,0xE0,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x7E,0x00,0x00,0x04,0xF0,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF6,0x6F,0x00,0x00,0x07,0x80,0x07,0xF0,0x00,0x03,0
24、x80,0x00,0x00,0x00,0x00,0x06,0xD7,0xD9,0xE0,0x00,0x07,0x80,0x07,0xD0,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x0C,0xA9,0x32,0xE0,0x00,0x01,0x80,0x0F,0xD8,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x1A,0x3A,0x80,0x00,0x01,0xC0,0x1F,0xB8,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x07,0x52,0x48,0xC0,0x00,0x00,0xFF,0xFF,0x7C,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x18,0x2A,0x58,0x04,0x00,0x00,0xFD,0xFC,0xFF,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x1B,0x6A,0x78,0x44,0x00,0x01,0xFB,0xF9,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x19,0x9F,0x54,0x00,0x03,0xBD,0x07,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1