資源簡介
12864時鐘+按鍵可調程序,可調時間年、月、日
代碼片段和文件信息
/***************************************/
/*???????LCD12864時鐘顯示程序??????????*/
/***************************************/
#include
#define?uint?unsigned?int
#define?uchar?unsigned?char
sbit?rs=P2^0;
sbit?rw=P2^1;
sbit?e=P2^2;
sbit?psb=P2^3;
sbit?s1=P3^3;????????//秒
sbit?s2=P3^4;????????//分
sbit?s3=P3^5;????????//時
uchar?counts1num;???????//全局變量
uchar?shifenmiaow=0nian=20nian1=11yue=8ri=15sgshi1shi2shi3g1g2g3;?????//時間變量
uchar?table1[]=“2011年08月02日“;
uchar?table2[]=“**星期一**“;
uchar?table3[]=“????00:?00:?00“;
uchar?table4[]=“身體健康萬事如意“;
uchar?table[]=“0123456789:“;
uchar?table0[]={0xd20xb60xc80xcb0xce0xc10xc80xbb0xfe0xfd0xc40xe50xf90xd5};
void?write_12864com(uchar?com); //寫指令
void?write_12864dat(uchar?dat); //寫數據
void?init_12864(void); //初始化
void?display1(void); //顯示函數
void?display2(void); //顯示函數
void?display3(void); //顯示函數
void?write_sfm(uchar?add?uchar?date); ??//個位、十位顯示
void?time();??????????//時間顯示函數
void?keysan();????????//鍵盤控制函數
/********************************/
/*??????12MHz晶振下?????????????*/
/* ? 50us延時 */
/********************************/
void?delay_50us(uint?t)
{
???uchar?j;
???for(;t>0;t--)
??????for(j=19;j>0;j--);
}
/********************************/
/*??????12MHz晶振下?????????????*/
/* ? 50ms延時 */
/********************************/
void?delay_50ms(uint?t)
{
???uchar?j;
???for(;t>0;t--)
??????for(j=6245;j>0;j--);
}
/********************************/
/*??????寫指令??????????????????*/
/********************************/
void?write_12864com(uchar?com)
{
rw=0;
rs=0;
delay_50us(1);
P0=com;
e=1;
delay_50us(10);
e=0;
delay_50us(2);
}
/********************************/
/*??????寫數據??????????????????*/
/********************************/
void?write_12864dat(uchar?dat)
{
rw=0;
rs=1;
delay_50us(1);
P0=dat;
e=1;
delay_50us(10);
e=0;
delay_50us(2);
}
/********************************/
/*????????初始化????????????????*/
/********************************/
void?init_12864(void)
{
? delay_50ms(2);
write_12864com(0x30);
delay_50us(4);
write_12864com(0x30);
delay_50us(4);
write_12864com(0x0c); //0x0e光標/0x0d為閃爍設置
delay_50us(4);
write_12864com(0x01);???????//清除顯示
delay_50us(240);
write_12864com(0x06);
delay_50us(10);
}
/********************************/
/*????????顯示函數??????????????*/
/********************************/
/*void?display1(void)
{
????uchar?ia;
a=0x10;
write_12864com(0x80);
delay_50us(1);
for(i=0;i<16;i++)
????{
???write_12864dat(a);
???delay_50us(1);
???a++;
}
}
void?display2(void)
{
????uchar?i;
uchar?ab;
a=0xBA;
b=0xC0;
write_12864com(0x80);
delay_50us(1);
for(i=0;i<16;i++)
????{
???write_12864dat(a);
???write_12864dat(b);
???delay_50us(1);
???a++;
???b++;
}
}
??*/
void?display3(void)
{
??? uchar?i;
write_12864com(0x80);
for(i=0;i<14;i++)
????{
???write_12864dat(table1[i]);
???delay_50us(1);
}
// w
- 上一篇:患者監護系統詳細設計
- 下一篇:百萬格子網站源碼美化版
評論
共有 條評論