1、用12864显示时间的程序#include#define uchar unsigned char#define uint unsigned intucharmiao,shi,fen;uchar count=0,num;uchar table=2013-10-28 周一;sbitrs=P27;sbitrw=P26;sbit e=P25;sbitpsb=P22;sbit s1=P30;sbit s2=P31;sbit s3=P32;voiddelay_ms(uint x)uint j;while(x-)for(j=0;j115;j+);/写数据void com(uchar com)rs=0;rw=
2、0;P0=com;delay_ms(5);e=1;delay_ms(5);e=0;/读数据voiddat(uchardat)rs=1;rw=0;P0=dat;delay_ms(5);e=1;delay_ms(5);e=0;/voidwrite_sfm( ucharadd,ucharnum)ucharshi,ge;shi=num/10;ge=num%10;com(0x80+add);dat(0x30+shi);dat(0x30+ge);/初始化voidinit()/ uchari;fen=0;shi=12;miao=0;count=0;num=0;psb=1;com(0x30);delay_ms
3、(5);com(0x0f);delay_ms(5);com(0x01);/清0delay_ms(5);com(0x06);delay_ms(5);com(0x0c);delay_ms(5);com(0x80);delay_ms(5);com(0x91);dat(:);delay_ms(2);com(0x93);dat(:);delay_ms(2);/* com(0x94); */write_sfm(0x14,miao);delay_ms(2);write_sfm(0x12,fen);delay_ms(2);write_sfm(0x10,shi);/定时器TMOD=0X01;TH0=(65536
4、-46083)/256;TL0=(65536-46083)%256;EA=1;ET0=1;TR0=1;/显示函数void disp1() /第一行uchari;com(0x80);for(i=0;i14;i+)dat(tablei);delay_ms(4);void t0()interrupt 1TH0=(65536-46083)/256;TL0=(65536-46083)%256;count+;if(count=20)count=0;miao+;if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;write_sfm(0x10
5、,shi);write_sfm(0x12,fen);write_sfm(0x14,miao);/void key()if(s1=0)delay_ms(5);if(s1=0)num+;while(!s1);if(num=1)TR0=0;com(0x94);com(0x0f);if(num=2)com(0x92);if(num=3)com(0x90);if(num=4)num=0;com(0x0c);TR0=1;if(num!=0)if(s2=0)delay_ms(5);if(s2=0)while(!s2);if(num=1)miao+;if(miao=60)miao=0;write_sfm(0x
6、14,miao);com(0x94);if(num=2)fen+;if(fen=60)fen=0;write_sfm(0x12,fen);com(0x92);if(num=3)shi+;if(shi=24)shi=0;write_sfm(0x10,shi);com(0x90);if(s3=0)delay_ms(5);if(s3=0)while(!s3);if(num=1)miao-;if(miao=-1)miao=59;write_sfm(0x14,miao);com(0x94);if(num=2)fen-;if(fen=-1)fen=59;write_sfm(0x12,fen);com(0x92);if(num=3)shi-;if(shi=-1)shi=23;write_sfm(0x10,shi);com(0x90);/主函数void main()init();disp1();while(1)key();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1