由于课程设计需要,本人做了一个基于51单片机控制的lcd1602d显示的电子时钟电子设计产品。可以显示万年历,星期。
本来还想加上温湿度的检测,发现屏幕空间不够用了。。有需要可以再另外共享那个设计。第一次
单片机源程序如下:
#include #define uint unsigned int #define uchar unsigned char sbit rs=P1^0; sbit rw=P1^1; sbit en=P1^2; sbit key_set=P3^4; sbit key_up=P3^5; sbit key_down=P3^6; uchar code table1[]="2017/04/18 Aiice:"; uchar code table2[]="00:00:00 "; uchar num,aa,sec,min,hou,week,day,mon,year,key_num; void write_week(uchar week); void delay(uint z) { uint x,y; for (x=z;x>0;x--) { for(y=250;y>0;y--); } } void write_dat(uchar); // void write_com(uchar); // void init(); void display_1(uchar add,uchar acc); void display_2(uchar add,uchar acc); // void write_week(uchar week) { write_com(0x80+0x40+12); switch(week) { case 1: write_dat('M');delay(5); write_dat('O');delay(5);write_dat('N');break; case 2: write_dat('T');delay(5);write_dat('U');delay(5);write_dat('E');break; case 3: write_dat('W');delay(5);write_dat('E');delay(5);write_dat('D');break; case 4: write_dat('T');delay(5);write_dat('H');delay(5);write_dat('U');break; case 5: write_dat('F');delay(5);write_dat('R');delay(5);write_dat('I');break; case 6: write_dat('S');delay(5);write_dat('A');delay(5);write_dat('T');break; case 7: write_dat('S');delay(5);write_dat('U');delay(5);write_dat('N');break; } } void keyscan() // { if(key_set==0) { delay(5); if(key_set==0) { while(!key_set); key_num++; if(key_num==1) //定位到秒 { TR0=0; write_com(0x80+0x40+7); write_com(0x0f); if(key_up==0) { delay(5); if(key_up==0) { while(!key_up); //up_num++; sec++; if(sec==60) { sec=0;min=min+1;} display_2(7,sec); write_com(0x80+0x40+7); } } } ////////////////////////////////////// if(key_num==2) //定位到分 { TR0=0; write_com(0x80+0x40+4); } if(key_num==3) //定位到时 { TR0=0; write_com(0x80+0x40+1); } if(key_num==4) //定位到日 { TR0=0; write_com(0x80+9); } if(key_num==5) //定位到月 { TR0=0; write_com(0x80+6); } if(key_num==6) //定位到年 { TR0=0; write_com(0x80+3); } if(key_num==7) //保存设置 { //TR0=0; key_num=0; write_com(0x0c);//取消闪烁 TR0=1; } } } if(key_num!=0) { if(key_up==0) { delay(5); if(key_up==0) { while(!key_up); if(key_num==1) { sec++; if(sec==60) { sec=0;min=min+1; display_2(3,min); write_com(0x80+0x40+4); } display_2(6,sec); //6表示十位数字的位置,则各位数字在7.(大发现!!!) write_com(0x80+0x40+7);//光标闪烁的位置(在个位) } if(key_num==2) { min++; if(min==60) { min=0;hou=hou+1; display_2(0,hou); write_com(0x80+0x40+1); } display_2(3,min); write_com(0x80+0x40+4); } if(key_num==3) { hou++; if(hou==24) { hou=0;day=day+1;week++; display_1(8,day); write_com(0x80+9);
上一篇:KEIL-51单片机实现自定义bootloader,用于程序更新
下一篇:用51单片机控制两相四线步进电机
推荐阅读
史海拾趣
富士通的故事始于1935年,当时它作为一家电信设备制造公司在日本成立。在那个通信技术刚刚起步的时代,富士通凭借其创新精神和卓越的技术实力,迅速在电信设备领域崭露头角。公司最初专注于电话交换机的生产,随着技术的不断进步,富士通逐渐扩大了业务范围,为日本的电信基础设施建设做出了重要贡献。这一阶段的成功,为富士通后续在电子行业的蓬勃发展奠定了坚实的基础。
Directed Energy Inc公司自创立之初,就致力于在电子行业中推动技术创新。公司投入大量研发资源,开发出一系列高性能的脉冲式激光二极管驱动器和高压脉冲模块,这些产品凭借其卓越的性能和稳定性,迅速在市场上获得了认可。随着技术的不断迭代和升级,Directed Energy Inc逐渐在电子行业中树立了技术领先的形象,吸引了众多行业内的设计师和工程师的关注。
在电子行业中,创新是企业持续发展的关键。Directed Energy Inc始终将创新作为企业的核心竞争力之一,不断投入研发资源,推动技术创新和产品升级。公司拥有一支高素质的研发团队,他们紧跟行业发展趋势,不断探索新的技术和应用,为公司的发展注入了源源不断的动力。这种持续的创新精神使得Directed Energy Inc在电子行业中始终保持领先地位。
在2000年,A1 PROS在韩国正式成立,初创期的它,主要专注于黑白CCD芯片的研发与生产。当时,随着数字技术的兴起,电子摄像头逐渐普及,市场对高质量的图像传感器需求日益增长。A1 PROS凭借其核心团队在半导体技术方面的深厚积累,成功研发出多款性能优越的黑白CCD芯片,并很快在市场上占据了一席之地。
为了拓展业务,A1 PROS积极寻求合作伙伴。2003年,它与台湾的昱生电子有限公司建立了合作关系,后者成为A1 PROS在台湾地区的主要经销商。这一合作不仅帮助A1 PROS打开了台湾市场,也为后续进军更广阔的亚洲市场奠定了基础。
DMC Tools公司自创立之初,就注重技术创新。早期,公司研发团队针对电子行业对高精度工具的需求,成功开发出一系列具有自主知识产权的精密切割工具。这些工具不仅提高了生产效率,还降低了生产成本,迅速在市场上获得了认可。随着技术的不断进步,DMC Tools公司不断推出新产品,满足电子行业日益增长的需求,逐步在市场上树立了自己的品牌。
面对日益严峻的环境问题,EPT积极响应国家绿色发展的号召,开始探索和实践绿色生产。公司引进了一系列环保设备和工艺,实现了生产过程中的节能减排和资源循环利用。同时,EPT还加强了对废旧电池的回收和处理工作,以减少对环境的污染。这一举措不仅展现了EPT对社会责任的担当,也为其在电子行业中树立了绿色发展的典范。
以上故事均基于EPT公司在电子行业发展的背景信息虚构而成,旨在展现其发展历程中的关键节点和亮点。请注意,这些故事并非真实事件,仅供参考。
在中断函数里面有一段 if (USB_P_EP[0]) { USB_P_EP[0](USB_EVT_SETUP); continue; } 原型在下面: #define P_EP(n) ((USB_EP_EV ...… 查看全部问答∨ |
|
高压MOS/IGBT的短路保护电路 电源网讯 个人多年来从事高压脉冲电源的工作的一点经验总结 电路如上: 带短路保护锁定的驱动的3脚为短路信号检测入端;2脚为驱动地;1脚为驱动输出。 当电路存在短 ...… 查看全部问答∨ |
$(\'swf_HSS\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjIxMTE2MzMy/v.sw ...… 查看全部问答∨ |
对了,我想求教一下,用msp430g2553+HD16210驱动液晶显示+DS18B20温度传感器 =做超低功数字式耗温度计,就是去年的电子科技大赛题目,不过用这一套怎么没做出来呢… 查看全部问答∨ |
开发版型号:SEED—MSP430F5529A 开发工具 :CCS 5.4v 以下内容是CCS中I/O端口操作的一些简单的demo,现整理如下: 有关MSP430F5529芯片I/O口相关资料,可参考《MSP430x5xx and MSP430x6xx Family User\'s Guide (Rev. M)——Chapte ...… 查看全部问答∨ |