液晶显示程序.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机液晶显示程序 硬件电路:51 最小系统,没有采用总线方式,直接的 I/O 形式,包括矩阵键盘,1602 液晶,一个数码管,LED4 个,蜂鸣器等. //单片机液晶秒表计算器完整修改版本 可以实现两种功能的切换,其他功能自行对照代码研究。4*4 矩阵键盘,第一排前三列是实现小时\分钟\秒的 加.第二排前三列是实现小时\分钟\秒的减.当然还可以通过设置矩阵键盘的键值,来实现加\减\乘\除四则运算, 由数码管显示参与运算的数字以及最终的运算结果 #includereg51.h #includestdio.h #includestdlib.h #includeintrins.h #includeabsacc.h #define uchar unsigned char #define uint unsigned int #define wc 0x8fff #define wd 0xdfff #define rc 0xbfff void displayListChar(unsigned char X, unsigned char Y, uchar DData); uchar dispbuf[]={0,1,2,3,4,5,6,7,8,9,:}; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e,0x00 }; uchar second; uchar temp1; uchar minute; uchar hour; uint tcnt,g; uchar suanfa; bit flag2; bit flag1=1;//////控制计算器还是液晶调整的状态灯uint i=0,f,m,g,s,t;// for 里的计数值,用于循环 // 用来标记按了什么,如+,-.*,或是/ sbit P2_0=P2^0;// 定义 P2.0 口用来,当计算值超过 15 时,P2.0 所对应的灯闪几下 sbit P2_1=P2^1;// 定义 P2.1 口用来,当除数为 0 时,P2.1 所对应的灯闪几下 sbit P2_2=P2^2; sbit P2_3=P2^3; uint num[4]={0}; //用于记录外面输入的数字uint Tablenum; sbit P3_4=P3^4; sbit P3_5=P3^5; void jieguo(void); void Settime(uchar verify); uchar kbscan(void);///键盘扫描 void Show_Time(void);////显示时间 void Settime(uchar verify);//verify 在这里为调整的意思 uint transfor( uchar key1); void delay400ms(void) ; void delay200ms(void); void delay5ms(void); void delay_1s(void); void dlms(void); void dlms1(void) { uint g=20000; while(--g); //延时 100mS 钟 } void clr(void) { i=0; suanfa=0; Tablenum=0; for(f=0;f4;f++) { num[f]=0; } P2_0=1; P2_1=1; P2_2=1; P2_3=0; P3_4=0; P3_5=1; P0=0xc0; P3_5=0; } //***************************************以下单片机液晶显示********************************** ****************** void waitLcd() //just wait until 液晶不忙为止 { char temp; bit flag=1; while(flag==1) { temp=XBYTE[rc]; if (temp7==0) flag=0; P1=temp; } P1=0xff; } //just wait until 液晶不忙为止 void WriteCommand_Lcd(bit isCheck,char c) { if (isCheck==1) waitLcd(); XBYTE[wc]=c; } void writedata(char c) { waitLcd(); XBYTE[wd]=c; } void LcdInit() { delay5ms(); delay5ms(); delay5ms(); WriteComman

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档