计应081 李荣 曾诗尧

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机期末作品作者曾:诗李尧荣各按钮功能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的各端口简介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;x6;x++){P0=b[x];P2=a[d[x]];for(i=0;i255;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/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);break;case0xf0:for(x=0;x6;x++){P0=b[x];P2=a[c[x]];for(i=0;i255;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==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存断码值。{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;SCON=0X50;EA=1;ES=1;TR1=1;while(1);}voidzd(void)interrupt4{RI=0;P1=SBUF;/*for(i=0;i255;i++){for(j=0;j255;j++){;}}*/SBUF=0X7d;while(!TI)TI=0;}相关资料链接:5个中断源及对应的代码:外部中断0——0定时计数器0——1外部中断1——2定时计串行0——3串行中断——4GATEC/^TM1M0GATEC/^TM1M0GATE:门控位C/~T:定时/计数模式选择位M1M0:工作方式设置位RI(SCON.0)串行接口接收中断标志位;RI清零后才能接收数字。TI(SCON.1)串行接口发送中断标志位。M1M0工作方式说明00方式013位定时/计数器01方式116位定时/计数器10方式28位自动重装定时/计数器11方式3T0分成两个独立的8位定时/计数器

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功