TFT液晶显示时钟程序

上传人:ali****an 文档编号:120366806 上传时间:2020-02-06 格式:DOC 页数:14 大小:87.50KB
返回 下载 相关 举报
TFT液晶显示时钟程序_第1页
第1页 / 共14页
TFT液晶显示时钟程序_第2页
第2页 / 共14页
TFT液晶显示时钟程序_第3页
第3页 / 共14页
TFT液晶显示时钟程序_第4页
第4页 / 共14页
TFT液晶显示时钟程序_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《TFT液晶显示时钟程序》由会员分享,可在线阅读,更多相关《TFT液晶显示时钟程序(14页珍藏版)》请在金锄头文库上搜索。

1、TFT液晶显示时钟程序说明:该程序文件中包含三个.c文件和三个.h文件,方便读者理解程序的层次性和关联性。该程序的功能是利用51单片机实现逻辑控制,在液晶显示屏上显示动态时钟。1. shizhong.c (实际上是主程序):#include REG51.H#include gui.hunsigned char count;#define key P1sbit K=P20;unsigned char a;unsigned char b;unsigned char c;unsigned char d;unsigned char e;unsigned char f;unsigned char g;u

2、nsigned char sw;unsigned char h1=0;unsigned char h2=0;unsigned char h3=0;unsigned int q;void Keyboard() unsigned int k;key=0xf0;if(key!=0xf0)for(q=0;q800;q+);if(key!=0xf0)key=0x0f;switch(key)case(0x0e): k=0; break;case(0x0d): k=4; break;case(0x0b): k=8; break;case(0x07): k=12; break;key=0xf0;switch(

3、key)case(0xe0): k=k; break;case(0xd0): k=k+1; break;case(0xb0): k=k+2; break;case(0x70): k=k+3; break;while(key!=0xf0);switch(k)case 0: f+; P0=0x01; if(f=3) f=0; break;case 1: e+; P0=0x02;if(f2)if(e=10) e=0; if(f=2)if(e=4)e=0; break;case 2: d+; P0=0x04;if(d=6) d=0; break;case 3: c+; P0=0x08;if(c=10)

4、 c=0; break;case 4: b+; P0=0x10;if(b=6) b=0; break;case 5: a+; P0=0x20;if(a=10) a=0; break;case 6: sw=0;break;case 7: sw=1; break;void jishu() K=1; if(K=0) for(q=0;q=20)count=0;a+;if(a=10)a=0;b+;if(b=6)b=0;c+;if(c=10)c=0;d+;if(d=6)d=0;e+;if(f2&e=10)e=0;f+;if(f=2&e=4)f=0;e=0;GUI_WriteASCII(0, 0, f, R

5、ED, WHITE);GUI_WriteASCII(16, 0, e, RED, WHITE);GUI_WriteASCII(32, 0, g, RED, WHITE);GUI_WriteASCII(48, 0, d, RED, WHITE);GUI_WriteASCII(64, 0, c, RED, WHITE);GUI_WriteASCII(80, 0, g, RED, WHITE); GUI_WriteASCII(96, 0, b, RED, WHITE);GUI_WriteASCII(112,0, a, RED, WHITE); Keyboard(); Keyboard();GUI_W

6、riteASCII(0, 0, f, RED, WHITE);GUI_WriteASCII(16, 0, e, RED, WHITE);GUI_WriteASCII(32, 0, g, RED, WHITE);GUI_WriteASCII(48, 0, d, RED, WHITE);GUI_WriteASCII(64, 0, c, RED, WHITE);GUI_WriteASCII(80, 0, g, RED, WHITE); GUI_WriteASCII(96, 0, b, RED, WHITE);GUI_WriteASCII(112,0, a, RED, WHITE);TR1=0; vo

7、id Time1(void) interrupt 3count+;TH1=15536/256;TL1=15536%256;2. gui.c :#includegui.h#includecharcode.h#ifdef USE_ASCIIvoid GUI_WriteASCII(uchar x, uchar y, uchar p, uint wordColor, uint backColor)uchar j, wordByte,wordNum;uint color;wordNum = p;TFT_SetWindow(x,y,x+15, y+23);for (wordByte=0; wordByte

8、48; wordByte+)color = ASCII16x24wordNumwordByte;for (j=0; j8; j+) if (color&0x80) = 0x80)TFT_WriteData(wordColor); elseTFT_WriteData(backColor); color 8;cmdL = cmd & 0x00FF;TFT_WR = 1; /初始化WRTFT_CS = 0; /打开片选TFT_RD = 1; /选择写TFT_RS = 0; /选择命令TFT_DATAPORTH = cmdH; /放置命令数据TFT_DATAPORTL = cmdL; /放置命令数据TFT_WR = 0; /写入时序TFT_WR = 1;TFT_CS = 1; /关闭片选/*函数名:TFT_WriteCmdData*输 入:cmd, dat*输 出:*功 能:写命令, 写数据。*/ void TFT_WriteData(uint dat) uchar datH, datL;datH = dat 8;datL = dat & 0x00FF;TFT_WR = 1; /初始化WRTFT_CS = 0; /打开片选TFT_RD = 1; /选择写TFT_RS = 1; /选择发送数据TFT_DATAPORTH = datH; /放置命令数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号