河南省计划生育条例快3计划群———以 AT89C51 单片机为核心,制作一个 LCD 显示的智能电子钟

基于单片机的智能电子钟课程设计完整版_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于单片机的智能电子钟课程设计完整版
总评分3.9|
浏览量596371
用知识赚钱
试读已结束,如果需要继续阅读或下载,敬请购买
定制HR最喜欢的简历
你可能喜欢
您可以上传图片描述问题
联系电话:
请填写真实有效的信息,以便工作人员联系您,我们为您严格保密。单片机课程设计之智能电子钟_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机课程设计之智能电子钟
&&使用51单片机与DS1302设计的智能电子钟
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩22页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢以AT89C51单片机为核心,制作一个LCD显示的智能电子钟_百度知道
以AT89C51单片机为核心,制作一个LCD显示的智能电子钟
智能电子钟LCD显示,设计要求1.年月日时分秒2.定时报时需要用到音乐模块
我有更好的答案
uchar *chgstr[7]={&& &quot:无* 说&nbsp: 字符显示* 入口参数,lcd1602_e=1,0x6f,0x77;void init();sbit lcd1602_busy=P0^7;sbit key_ch=P3^5:ptr--字符或字符串指针* 出口参数;),month,screen don't movelcd1602_WriteCmd(0x01);stddef.h&gt,0x07,0x7f;date&/************************************** 函数名称:lcd1602_CheckBusy()* 函数功能:状态查询*************************************/void lcd1602_CheckBusy(){do{lcd1602_busy=1;lcd1602_rs=0;lcd1602_e=1;lcd1602_rs=0;lcd1602_rw=0:命令字* 出口参数,0x5e,0x79:lcd1602_Display()* 函数功能;void time():*&&&&&&&&&& 1)lcd1602_Display(& 明:用户可通过以下方式来调用:初始化LCD* 入口参数:无* 出口参数:无************************************************/void lcd1602_Init(){lcd1602_WriteCmd(0x38);&//显示模式为8位2行5*7点阵lcd1602_WriteCmd(0x0c);sbit key_minus=P3^7;,&hour&,0x71};void delay(uint);void time_display();void date_display();void control();uchar i,sec,min,h,,&sec&&t',',&year&};uchar j,k,m,n,o,p;uchar code table[]={0x3f,datestr[10];t&#39:无****************************************/void lcd1602_WriteCmd(const uchar cmd){lcd1602_CheckBusy(),flash enable,lcd1602_WriteCmd(0x06),,&min& //clear screen}/************************************************** 函数名称;lcd1602_rw=1;lcd1602_e=0;lcd1602_e=1;}while(lcd1602_busy);LCD1602_PORT=c;lcd1602_e=0;}/************************************************* 函数名称:lcd1602_Init()* 函数功能;要显示的字符串&#include &reg52.h& //display enable..;lcd1602_rs=1;lcd1602_rw=0:写命令* 入口参数!&&x',&min&*&&&&&&&&&& 2) INT8U 存储类型 txt[]=&quot,0x6d,0x7d: lcd1602_WriteCmd()* 函数功能;*&&&&&&&&&&&&& 或者 INT8U 存储类型 txt[]={'LCD1602_PORT=lcd1602_e=0;}/********************************************* 函数名称:lcd1602_WriteData()* 函数功能:写数据* 入口参数:c--待写数据* 出口参数:无**********************************************/void lcd1602_WriteData(const uchar c){lcd1602_CheckBusy(),0x06,0x5b;,;#include&}/***************************************** 函数名称,& //#define uchar unsigned char#define uint unsigned int#define LCD1602_FLAG#define LCD1602_PORT P0sbit lcd1602_rs=P2^0;sbit lcd1602_e=P2^2;sbit lcd1602_rw=P2^1;uchar timestr[10];H,&#39,0x4f,0x66;sbit key_add=P3^6,0x7c,0x39,'\0'};*&&&&&&&&&&&&& INT8U **&&&&&&&&&&&&& ptr=&*&&&&&&&&&&&&& lcd1602_Display(ptr);*&&&&&&&&&&&&& 或 lcd1602_Display(txt);*&&&&&&&&&&&&& 或 lcd1602_Display(&txt);*************************************************/void lcd1602_Display(const uchar *ptr,uchar line,uchar xaddr){uchar data i=0;uchar *q=switch(line){case 0:lcd1602_WriteCmd(0x80+xaddr);while(q!=NULL && (*q!='\0') && i&16){lcd1602_WriteData(*q);q++;i++;}case 1:lcd1602_WriteCmd(0xc0+xaddr);while(q!=NULL && (*q!='\0') && i&16){lcd1602_WriteData(*q);q++;i++;}}}void main(){lcd1602_Init();init();while(1){time_display();date_display();control();}}void init(){i=0;sec=0;min=0;h=12;date=26;month=6;year=2017;flag=0;EA=1;ET0=1;TMOD=0x01;TH0=()/256;TL0=()%256;TR0=1;}void delay(uint z){uint x,y;for(x=z;x&0;x--)for(y=110;y&0;y--);}void time_display(){timestr[7]=0x30+sec%10;timestr[6]=0x30+sec/10;timestr[5]=':';timestr[4]=0x30+min%10;timestr[3]=0x30+min/10;timestr[2]=':';timestr[1]=0x30+h%10;timestr[0]=0x30+h/10;timestr[8]=0;lcd1602_Display(timestr,1,3);}void date_display(){datestr[9]=0x30+date%10;datestr[8]=0x30+date/10;datestr[7]=':';datestr[6]=0x30+month%10;datestr[5]=0x30+month/10;datestr[4]=':';datestr[3]=0x30+year%10;datestr[2]=0x30+year/10%10;datestr[1]=0x30+year/100%10;datestr[0]=0x30+year/1000;lcd1602_Display(datestr,0,2);}void control(){if(!key_ch){delay(5);if(!key_ch){flag++;TR0=0;if(flag==7){flag=0;TR0=1;lcd1602_Init();}lcd1602_Display(chgstr[flag],1,12);}}while(!key_ch);if(flag==1&&key_add==0){while(!key_add);sec++;if(sec==60)sec=0;}if(flag==1&&key_minus==0){while(!key_minus);sec--;if(sec==-1)sec=59;}if(flag==2&&key_add==0){while(!key_add);min++;if(min==60)min=0;}if(flag==2&&key_minus==0){while(!key_minus);min--;if(min==-1)min=59;}if(flag==3&&key_add==0){while(!key_add);h++;if(h==24)h=0;}if(flag==3&&key_minus==0){while(!key_minus);h--;if(h==-1)h=23;}if(flag==4&&key_add==0){while(!key_add);date++;if(date==29)if((year%4!=0)&&(month==2))date=1;if(date==30)if((year%4==0)&&(month==2))date=1;if(date==31)if((month==4)||(month==6)||(month==9)||(month==11))date=1;if(date==32)if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))date=1;}if(flag==4&&key_minus==0){while(!key_minus);if(date&1)date--;}if(flag==5&&key_add==0){while(!key_add);month++;if(month==13)month=1;}if(flag==5&&key_minus==0){while(!key_minus);month--;if(month==0)month=12;}if(flag==6&&key_add==0){while(!key_add);year++;if(year==99)year=1;}if(flag==6&&key_minus==0){while(!key_minus);year--;if(year==0)year=99;}&}void T0_rpt() interrupt 1{TH0=()/256;TL0=()%256;i++;time();}void time(){if(i==20){i=0;sec++;if(sec==60){sec=0;min++;if(min==60){min=0;h++;if(h==24){h=0;min=0;sec=0;date++;if(date==29)if((year%4!=0)&&(month==2)){date=1;month++;if(month==13){month=1;year++;}}if(date==30)if((year%4==0)&&(month==2)){date=1;month++;if(month==13){month=1;year++;}}if(date==31)if((month==4)||(month==6)||(month==9)||(month==11)){date=1;month++;if(month==13){month=1;year++;}}if(date==32)if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12)){date=1;month++;if(month==13){month=1;year++;}}}}}}&}
谢谢老师!恕我愚钝,那个定时报时功能也能实现吗?
高级工程师
你好!那你就是要做出实物了
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。单片机课程设计题目及答案_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机课程设计题目及答案
&&2011年之前的单片机题目及答案应有竟有 值得收藏
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩67页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢智能LED电子钟的制作
编辑:www.fx114.net
本篇文章主要介绍了"智能LED电子钟的制作",主要涉及到智能LED电子钟的制作方面的内容,对于智能LED电子钟的制作感兴趣的同学可以参考一下。
智能LED电子钟的制作? 
  LED电子钟以美观、清晰、便于夜间观看而深受电子爱好者的青睐。采用专用的LED电子钟芯片制作,有时达不到功能要求,需添加辅助电路,电路复杂,不便于电子爱好者自制。  如果采用单片机(89C2051),用软件完成各种功能,则可做出功能各异的智能电子钟,而且电路非常简单。  图1是一个具有以下功能的电子钟的电路。  1?计时:秒、分、时、天、周、月、年;2?闰年自动判别;3?五路定时输出,可任意关断(最大可到16路);4?时间、月、日交替显示;5?停电、来电自动判别;6?自定任意时刻自动开/关屏;7?三路倒计时(最大可到8路);8?计时精度:误差≤1秒/月(具有微调设置)。  一、电路原理  由单片机(89C2051)、LED、K1等组成最基本的单片系统。所有的软件、参数均存放在89C2051的FlashROM和内部RAM中,减少了芯片的数量和整机的电流,延长了备用电源的工作寿命(停电时)。  由于89C2051的内部FlashROM只有2k,RAM只有128个字节,故软件编制时要精炼,一些数据的存放要采用压缩方式,而且CPU要工作在空闲模式下,以降低功耗。LED、BEEP均直接由89C2051驱动。  键盘采用动态扫描方式查询。所有的查询、设置功能均由K1、K2完成;K3、K4、K5完成倒计时的启动。  电源在3?3~5V之间均可正常工作。  二、软件编制  软件的流程图见图2。  主程序非常简单,初始化后,CPU便进入空闲模式,等待T1定时中断的到来(25ms一次)。所有的功能模块,均在T1定时中断服务程序中执行。再利用T0定时器对T1定时中断服务程序的执行时间做记录,重置T1定时器常数时加上T0的值即可。这样可以精确地补偿时间误差。  ?湖南 李杰 0 && image.height>0){if(image.width>=510){this.width=510;this.height=image.height*510/image.}}" height=348 src="http://fuja.diy.myrice.com/pic-sub/picphoto100-199/0039L3.jpg" width=352> 0 && image.height>0){if(image.width>=510){this.width=510;this.height=image.height*510/image.}}" height=207 src="http://fuja.diy.myrice.com/pic-sub/picphoto100-199/0039L4.jpg" width=289>
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:

我要回帖

更多关于 河南已取消直管县计划 的文章

 

随机推荐