计应081李荣曾诗尧

计应081李荣曾诗尧

ID:38661562

大小:317.81 KB

页数:15页

时间:2019-06-17

计应081李荣曾诗尧_第1页
计应081李荣曾诗尧_第2页
计应081李荣曾诗尧_第3页
计应081李荣曾诗尧_第4页
计应081李荣曾诗尧_第5页
资源描述:

《计应081李荣曾诗尧》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机期末作品作者曾:诗李尧荣各按钮功能P1口连接7个按钮,从上到下分别控制时钟的秒、分、小时加1,闹钟与时间钟之间的切换,时钟的秒、分、小时减1U1的各端口简介◆P0口进行给数字钟送位操作;◆P2.0~P2.6口给数字钟送段操作;◆闹钟的初始时间为09:10:30,时钟的初始时间为09:10:26。◆P2.7与U2的P3.2口相连。U2的各端口简介P1和P2口分别连接点阵屏的上下端,控制所显示图形的形状;P3.0和P3.1是串行通信的发送端端口;P3.3连接一个按钮,控制发送的数字。U3的各端口

2、简介P1口连接一个段码显示器;P2口连接七个LED灯,循环流水显示;P3.0和P3.1分别与U2的P3.1、P3.0相连。程序设计步骤一、数字钟的设计:1、选择模式(定时计数器0):TMOD=0X01,TH0,TL0;2、开启中断并起定时:EA=1,ET0=1,TR0=1;3、中断子程序:voidzd(void)interrupt1。while(1){if(P1_3==0){j=~j;while(P1_3==0);}switch(j){case0x0f:for(x=0;x<6;x++){P0=b[

3、x];P2=a[d[x]];for(i=0;i<255;i++);switch(P1){case0xfe:ns=ns+1;if(ns==60){ns=0;}d[0]=ns%10;d[1]=ns/10;while(P1_0==0);break;case0xfd:nm=nm+1;if(nm==60){nm=0;}d[2]=nm%10;d[3]=nm/10;while(P1_1==0);break;case0xfb:nh=nh+1;if(nh==24){nh=0;}d[4]=nh%10;d[5]=nh/

4、10;while(P1_2==0);break;case0xef:ns=ns-1;if(ns==0){ns=59;}d[0]=ns%10;d[1]=ns/10;while(P1_4==0);break;case0xdf:nm=nm-1;if(nm==0){nm=59;}d[2]=nm%10;d[3]=nm/10;while(P1_5==0);break;case0xbf:nh=nh-1;if(nh==0){nh=23;}d[4]=nh%10;d[5]=nh/10;while(P1_6==0);br

5、eak;case0xf0:for(x=0;x<6;x++){P0=b[x];P2=a[c[x]];for(i=0;i<255;i++);switch(P1){case0xfe:s=s+1;if(s==60){s=0;}while(P1_0==0);break;case0xfd:m=m+1;if(m==60){m=0;}while(P1_1==0);break;case0xfb:h=h+1;if(h==24){h=0;}while(P1_2==0);break;case0xef:s=s-1;if(s

6、==0){s=59;}while(P1_4==0);break;case0xdf:m=m-1;if(m==0){m=59;}while(P1_5==0);break;case0xbf:h=h-1;if(h==0){h=23;}while(P1_6==0);break;}}break;}}程序设计步骤二、发送数字的设计:1、选择模式:TMOD=0X20,TH1=250,TL1=250;2、特殊功能寄存器SCON=0X50,TI(SCON.1)串行发送中断标志位;3、串行中断:ES=1;4、SBUF存

7、断码值。{TMOD=0x20;TH1=250;TL1=250;SCON=0X50;EA=1;ES=1;TR1=1;while(1){if(P3_3==0){while(P3_3==0);j=j+1;if(j==10){j=0;}SBUF=c[j];while(!TI)TI=0;}}程序设计步骤三、接收端的设计:1、选择串行中断源:voidzd(void)interrupt4;2、RI(SCON.0)串行接收中断标志位;RI清零后才能接收数字。{TMOD=0x20;TH1=250;TL1=250;S

8、CON=0X50;EA=1;ES=1;TR1=1;while(1);}voidzd(void)interrupt4{RI=0;P1=SBUF;/*for(i=0;i<255;i++){for(j=0;j<255;j++){;}}*/SBUF=0X7d;while(!TI)TI=0;}相关资料链接:5个中断源及对应的代码:外部中断0——0定时计数器0——1外部中断1——2定时计串行0——3串行中断——4GATEC/^TM1M0GATEC/^TM1M0工作方式寄存器TMODGATE:门

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。