求一个60秒倒计时单片机模拟仿真软件程序和仿真,基于51单片机模拟仿真软件

基于51单片机的电子时钟设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
25页免费14页免费40页免费28页2下载券36页2下载券 18页免费22页1下载券14页免费14页1下载券20页1下载券
喜欢此文档的还喜欢14页免费38页免费22页免费40页1下载券13页免费
基于51单片机的电子时钟设计|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢基于51单片机的电子时钟设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
18页免费40页免费14页免费17页4下载券25页免费 40页免费28页2下载券21页1下载券22页1下载券14页1下载券
喜欢此文档的还喜欢40页免费18页免费19页2下载券21页免费26页免费
基于51单片机的电子时钟设计|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢能给做一个用单片机at89c51的简易电子时钟吗?要有程序,流程图proteus仿真图,元器件清单_百度知道
能给做一个用单片机at89c51的简易电子时钟吗?要有程序,流程图proteus仿真图,元器件清单
提问者采纳
其他类似问题
电子时钟的相关知识
其他1条回答
晶振频率6MHZ&&&&&&&&//作息时间表;TH1=()/256;&*weak1[7]={&}&&};&if((year1%4==0)&&&&&&&&&&&&&while(1)&&&;&&&&&&&&&wrc(mask);SET=P1^0;char&char&&reset_belltime_pos(void)&&&&&&&&nbsp.&nbsp,31;//设置指定域光标显示&&nbsp!SET)&&DAY&&&&&&&{&&&&&(no++&&&&&&&//LCD初始化{&nbsp.if(field==HOME)&&nbsp,600;//消除键抖动&&&&&((hour*60+min)==table_of_time[no])&&0x06&&&&XBYTE[0X0002]&&&1)&&XBYTE[0X0003]&&&&&&&nbsp.h&&main(){&{&&&wdat)&nbsp,0x88;0&delay();&TL0=()%256;&&word2[7]=sec%10+0x30;&&if(++sec==60)&i&&&&}void&&&wcon)&&&&&&days_of_month[mon-1])&&&&&for(index=0;&set_mode=1;&DISP_ENTRY&&&&&word2[1]=hour%10+0x30;&&//开显示#define&&&&&&&&&&//设置正常模式&nbsp,30;//刷新显示标志置位&&&&for(i=0;&&Sun&&&&&&&unsigned&word1[3]=year%10+0x30;if(;&&&&if(cur_field==YEAR)&&&}void&;&&&&REG1&&&&&&&}}void&TR1=OFF;&&&&wrn(unsigned&&&&&&wrc(0xc0);&&&&&1&&&nbsp!set_mode)&&int&&&&&if(++mon==13)&&&&&&&i++)&ON&&&&&year1=year+2000;&&&disp_time();&&&&//LCD忙命令#define&&&}&&&&nbsp,31;&&&&}}void&&&&nbsp,关闭铃&&&&&&&&}&&&nbsp,开启定时器1定时10S&&&&days_of_month[1]=29;no=reset_belltime_pos():学校实时时钟创建人,day=28;&&&mon=1;&&&nbsp?{&&&&&&&{&&code&&&&&disp_time(){&&&&if((hour*60+min)&&&&&&&&&&&&&&Fri&&2#define&word2[3]=min/10+0x30;&&if(;&disp_updata=0;&SEC&&&char&&&&&&&&&&TR0=ON;&nbsp,28;//起动定时器0&&word1[16]={&SEC)&&&&&&&nbsp,&if(cur_field&&&&nbsp,30;&&&&sec=0;&nbsp,0xc3;&&&&&&&&year=0;&&&&}&&&&&&#define&Thu&&TL0=()%256;//延时到;word1[8]=day/10+0x30;&&&busy();&//数字量转字符&&Wed&if(++t==50)&&&;&&{&dat=REG3;&}&&&//测试是否响铃&&wrc(0xc0);&nbsp!bell_on&&&&&BELL_CNTL=OFF;&unsigned&&&&while(;&&&while(;&unsigned&}void&{&&&&&&&&&&&&}&day=1;char&&&word1[2]=year/10+0x30;&&char&&&&&&&&&&&&&&&&&&&&23)&&&}&nbsp,720};&TR1=ON;&&HOUR&REG0=&nbsp!TF1);&char&&&nbsp,折合(单位)为分钟unsigned&&&nbsp,0x8b;word1[2]=year/10+0x30;&&&&&&&//测设置模式否&20MS中断时间常数装截&&&&&{&&0x04&59)&//LCD写数据{&&&&&&char&nbsp!SET);&&&&&&unsigned&&//设置定时器/计数器T0;99)&&&nbsp,cur_//清缓冲#/zhidao/wh%3D600%2C800/sign=b9b6f956b051f819f1700b4cea0b912c8fcc3ce5d688d43f2035;&&&EA=ON;&&&&&&nbsp!SELECT);&nbsp,480;}while(busyflag_7)、秒)&&&&&{&{&mask=DISP_CNTL|DISP_ON;&&&&//光标左上角#define&&&unsigned&&&&&nbsp,31;&&&&wrn(word1);&&&&&&&&&&&&}&&nbsp,&&&&&&&&&if(++weak&&word1[9]=day%10+0x30;&&&word1[6]=mon%10+0x30;{&day=1;&&&YEAR&&&word1[5]=mon/10+0x30;&&XBYTE[0X0000]&&&&&if(++year&&&&&&&&&}void&(year1%400==0))&&nbsp,YEAR);&HOME&&&&&char&&incr_field()&&&days_of_month[1]=28;&{&wrc(unsigned&DISP_POS&&&&&&//判作息时间表到;&&&&word2[3]=min/10+0x30;&&&0x80&&&&&&&&&//LCD写命令{&{&&TH0=()/256;&REG3&}&&&DISP_HOME&&//LCD读命令(状态)地址#define&&interrupt&set_cursor(ON;}&&//当前显示域光标显示&&disp_updata=1;5&&&if(++delaytime==50)&&&4#define&if(set_mode&&&&TMOD=0x11;&&while(;}&&delaytime=0;&BELL_CNTL=OFF;&&char&if(++min==60)&&&wrc(0x0c);&&time1()&set_cursor(ON;&&&&&&word1[12]=*(weak1[weak]+1),0xc6};&&&&}&&REG0&&&&&&&&&&mon=1;&&&&reg51;&&&&&&set_cursor(ON;&char&&&&&nbsp,30;mask|=DISP_CURSOR;&&}void&&nbsp,cur_field);59)&&nbsp,disp_updata=1;LCD(LM016L)显示其它说明;&index++)&if(cur_field==MONTH)&&&&&&&&&&nbsp,sec=58;&&&code&&&char&&WEAK&&nbsp:V1;&//第二行控制#define&mask=DISP_HOME;&&&&nbsp,min=59;{&&&&&&&&//显示缓冲区unsigned&&&&&&nbsp:修改人;&&&bdata&&&hour=0;&{&&&&wrn(word1);&nbsp,&&&&&&&&日期.h&0x38&field_pos[7]={0x82;&&if(cur_field==DAY)&&&&delay()&//光标开关#define&TR1=OFF;&&&&7#define&if(cur_field==SEC)&char&&&word2[0]=hour/10+0x30;wrc(0x01);&MONTH&&&&&nbsp.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="&&&if(cur_field==MIN)&&&wrn(word2);&&&&&&#include&&&0x40&&&bell_cntl(){&&nbsp、星期和时刻(时;&&}&5))&mask=DISP_POS|field_pos[field-1];&nbsp,weak=1;&//计算作息时间表指针{&&&&//生成当前万年历(年;&&&&&nbsp:58&}}<a href="&}unsigned&{&&word1[3]=year%10+0x30;&&set_mode=0;&&if(++day&&&lcdint();sbit&&&&//显示输出&&nbsp.jpg" esrc="&&&TL1=()%256;interrupt&&&&&nbsp,31;&wrc(0x80),&&&&&&3&&&else&if(cur_field==HOUR)&weak=0;&//设置定时器1预置时间常数(100MS)&&nbsp,mon=2;&&5#define&&&&本;&&&&unsigned&&&&&&&};&&&//延时子程序{&&{P1=P1|0x03;&&if(;&&&&&TR1=ON;set_cursor(OFF;&&&&&&//检测设置键是否按下&&&&cur_field=YEAR;&&&;//显示缓冲区地址设置#define&&word1[11]=*(weak1[weak]):XIAORUILAI&&&&Mon&&&nbsp、月;&do&REG2=&word1[13]=*(weak1[weak]+2);&&&cur_field++、分;&&&&nbsp.baidu!SELECT)&//日期设置且按选择健调时&reg51;&&&&&nbsp.&&disp_time();ET0=ON;if(++sec&6)&&//开总中断&&&//起动定时器1;&&DISP_CURSOR&&&&//LCD读数据地址unsigned&&&i;&if(;&field){&&{&&wrd(word[i]);&&&&&&&&&&&&&&&//设置结束&busyflag=REG1;&&&nbsp,响铃10S&&&&&&&&if(mode)&char&&&word2[4]=min%10+0x30;&&word2[7]=sec%10+0x30;&&0;&&&&&//数字量转字符&sec=0;&&TH1=()/256;&#include&&&char&&nbsp;具备调整日期\时间\星期功能;wrc(0x38)、T1为16位定时模式&&nbsp,cur_field);=table_of_time[index])&&&&if(;&word1[5]=mon/10+0x30;&&&word2[6]=sec/10+0x30;&&&&&&&&}&&&&&&//控制响铃void&&&;&&table_of_time[NUM_BEEL]={360;&}&&&&&//功能设置#define&&&&&3#define&//调整方式切换键sbit&nbsp?是;1&&&&&&&&&&{&&&busyflag_7=busyflag^7;TR1=OFF;&#define&;&&&&&&char&&&&//等待键释放&&&&&&{&&//显示缓冲区地址unsigned&&set_cursor(unsigned&REG2&&&&&&&&&&{&&&&&&char&&hour=0;&&&&//LCD读数据{&Thu&wrc(0x06);31)&nbsp,&quot!SET)&&&&char&6)&&&&&&nbsp,bell_on=OFF、日;&&}void&&&nbsp,set_if(disp_updata)&&nbsp,year1;&&&&&//LCD写命令地址#define&&0x08&&&&&&&&min=0;word2[6]=sec/10+0x30;word2[16]={&quot:版&&TR0=ON;&&delay();&&TL1=()%256;&&&&&&if(++min&&&&(year1%100;//#define&&&&//开#define&&&&&&0x02&min=0;&&&&&&}&&&&&&&&&{&word1[6]=mon%10+0x30;&//LCD写数据地址#define&}}void&&&&weak=0;&DISP_ON&nbsp://a;wrd(unsigned&&nbsp://a;&&TR1=OFF;&//作息时间表记录个数unsigned&word1[11]=*(weak1[weak]);&if(++mon&&&&&DISP_BUSY&&0&&&//LCD忙标志unsigned&nbsp,420;word1[8]=day/10+0x30;&&}&&&&Tue&&&&&delaytime=0;&&&word1[12]=*(weak1[weak]+1);&&//置时间设置模式标志&&&&&&&&//定时器1中断允许&&&&&&&&&&&&//响铃控制定时中断(响铃10秒){&&}&//装定时器0初值&&&&&&&&nbsp,&&wrc(0x80);&&&&&&ET1=OFF;&nbsp,&&&16;&1&&&&&&bell_on=ON;word2[4]=min%10+0x30;&晶振频率6MHZ&nbsp。0*/#include&&&&lcdint()&&&&&//关闭定时器1;&nbsp,30;&t=0;&&&&&&word1[13]=*(weak1[weak]+2);&&DISP_CNTL&&days_of_month[12]={31;&&DISP_CLEAR&{&&&&&&nbsp.//若非设置模式\更新显示&&{&&if(++weak&no=reset_belltime_pos();&&&&year++;&&&&&&index&&&char&&&wrn(word2);&&ET1=OFF;&nbsp,适时起动&else&&&&NUM_BEEL&nbsp:59,0x85;//定义年在显示缓冲区位置指针#define&nbsp!=0)||(year1%100;&&&//向LCD连续写N个数据{&nbsp.h&&&&bell_on=OFF;{&&nbsp,unsigned&&return&nbsp,31;&DISP_LINE2&return&&nbsp,31};&&&&&&nbsp:功能描述;busy();&time0()&//测试LCD忙;&&&&&//日期时间调整键sbit&&&if(++hour&t=0;MIN&&&else&&&&if(cur_field==WEAK)&&6#define&&{&&SELECT=P1^1;&0x01&&if(;OFF&&&&&&&//显示缓冲区sbit&nbsp!SELECT)&&&&&&&nbsp,0xc0;&wrc(mask);TH1=()/256;&&code&&&&word1[9]=day%10+0x30;&&nbsp/*模块名;(sec&lt,HOME);&&busy();&;&09;else&&&&&&&&&&&&&&&&&nbsp!=0)&&&}void&&&&&&&&word[])&if(++hour==24)&incr_field();TR0=OFF;&&&//当前域增1(调整日期\时间\星期{&//屏幕左上角#define&&&&&&&&&}void&&busy()&&//计算闰年&&XBYTE[0X0001]&DISP_FUNC&rdd()&0x80&&&//确认键按下&&&unsigned&&0x02&&&}void&nbsp,&}}void&&&ET1=OFF;}&&&&nbsp://a;&&&&TH0=()/256;&word2[1]=hour%10+0x30!set_mode)&word2[0]=hour/10+0x30;&//设置定时器1预置时间常数(20MS)&&nbsp,year=0;TR1=ON;&nbsp:设计基于51单片机的实时时钟;&bell_cntl();if(++day&&//关#define&&&&&&NUM_BEEL;&&&&nbsp,hour=9;//定时器0中断允许&&&&&{&{&&ET1=ON;&&&&&&/zhidao/wh%3D450%2C600/sign=b6de90f94aed2e73fcbc8e28b2318dbd/fcc3ce5d688d43f2035;12)&&&&&//显示控制#define&BELL_CNTL=ON;&/zhidao/pic/item/fcc3ce5d688d43f2035;&BELL_CNTL=P1^7;};&TL1=()%256;&Sat&&nbsp.hiphotos
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁问题补充&&
是Proteus吧我做单片机的
QQ &12-03 19:39
仿真 0809 时,只能用 0808 进行仿真。
做而论道&12-03 14:22
我可以帮你做一下 二七四九刘武武三五三
微量科技&12-03 16:27
加我为你解答
单片机的战斗机&12-03 15:53
查看"其他编程语言"分类更多问题
仿真 0809 时,只能用 0808 进行仿真。
做而论道&12-03 14:22
我可以帮你做一下 二七四九刘武武三五三
微量科技&12-03 16:27
加我为你解答
单片机的战斗机&12-03 15:53
信息来源于互联网,不保证内容的可靠性、真实性及准确性,仅供参考,版权归原作者所有!Copyright &
Powered by

我要回帖

更多关于 单片机仿真 的文章

 

随机推荐