资源描述:
《C51单片机实现液晶秒表以及简单计算器-----C51单片机制作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨C51单片机实现液晶秒表以及简单计算器-----C51单片机制作电路图比较简单,是一个51最小系统,没有采用总线方式,而简单的连线方式,上有4*4矩阵键盘,一数码管,8ArrayS51单片机,串口下载线,数码管显示锁存芯片\蜂鸣器\1602液晶.DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨因为最近考试太多,刚刚考试完又课程设计,桌子上太混乱,原理图没有找到.所以就先贴上代码.此代码已经调试成功过,可以实现时间的调整.4*4矩阵键盘,第一排前三列是实现小时\分钟\秒的加.第二排前三列是实现小
2、时\分钟\秒的减.当然还可以通过设置矩阵键盘的键值,来实现加\减\乘\除四则运算,由数码管显示参与运算的数字以及最终的运算结果.其他的不多说了,等下次我把图贴上,大家勉强可以拿去研究下.其实硬件很简单,不详细说问题也不大的.DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨#includereg51.h#includestdio.h#includestdlib.h#includeintrins.h#includeabsacc.h#defineucharunsignedchar#defineuintunsignedintuchartemp1;DD丨WWW.
3、YURONGFUNVKUAN.COM丨羽绒服丨voiddisplayListChar;uchardispbuf[]={’0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’Array’,’:’};ucharsecond;ucharminute;ucharhour;uinttcnt,g;ucharflag;DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨voiddlms;ucharkbscan;voidShow_Time;voiddelay5ms;voiddlms;voidSettime;//verify在这里为调整的意思voidde
4、lay400ms;DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨///#definebusy0x80file://用/于检测LCD状态字中的Busy标识///#defineRSaddr0x1000///#defineRWaddr0x2000///#defineCSaddr0x0400#definewc0x8fff#definewd0xdfff#definerc0xbfffvoidwaitLcd//justwaituntil液晶不忙为止DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨{chartemp;bitflag=1;while{tem
5、p=XBYTE[rc];ifflag=0;P1=temp;DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨}P1=0xff;}//justwaituntil液晶不忙为止voidWriteCommand_Lcd{ifwaitLcd;XBYTE[wc]=c;DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨}voidwritedata{waitLcd;XBYTE[wd]=c;}voidLcdInit{DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨delay5ms;delay5ms;delay5ms;WriteCommand_Lcd;
6、//三次显示模式设置,不检测忙信号delay5ms;WriteCommand_Lcd;delay5ms;WriteCommand_Lcd;DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨delay5ms;WriteCommand_Lcd;//显示模式设置,开始要求每次检测忙信号,8位2行5*7WriteCommand_Lcd;//关闭显示WriteCommand_Lcd;//清显示WriteCommand_Lcd;//文字不动,光标右移WriteCommand_Lcd;//显示开及光标设置}DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨v
7、oiddisplayListChar{Y=0x1;X=0xF;if{Y=0x1;X=0xF;DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨ifX
8、=0x40;X
9、=0x80;WriteCommand_Lcd;writedata;}}voidShow_Time{DD丨WWW.YURONGFUNVKUAN.COM丨羽绒服丨displayListChar;displayListChar;displayListChar;displayListChar;displayListChar;displayListChar;displayListChar;displa
10、yList