基于单片机和cpld的数字时钟课程设计(编辑修改稿)内容摘要:

数据 显示年月日 显示时分秒 键盘扫描 键盘扫描 Flag=0? K1=1? K1=1? K2=1? K2=1? K2_num=? 修改秒 /天 修改时 /年 修改分 /月 Y N N Y Y N Y N K3=1,增大 K4=1,减小 电子系统设计 课程设计报告 12 程序 include define uchar unsigned char define uint unsigned int define M 1 define N 10 sbit sp=P3^0。 sbit dscs=P2^4。 sbit dsas=P2^5。 sbit dsrw=P2^6。 sbit dsds=P2^7。 sbit duan=P2^0。 sbit wei=P2^1。 sbit k1=P3^4。 sbit k2=P3^5。 sbit k3=P3^6。 sbit k4=P3^7。 void delay(uint)。 void init()。 void keyscan()。 void display(uchar,uchar,uchar)。 void write_ds(uchar,uchar)。 void set_time()。 uchar read_ds(uchar)。 uchar shi,fen,miao,month,day。 uchar year,flag,k2_num,i。 unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}。 void delay(uint x) { uint i,j。 for(i=x。 i0。 i) for(j=110。 j0。 j)。 } void init() { flag=0。 k2_num=0。 write_ds(0x0a,0x20)。 write_ds(0x0b,0x26)。 set_time()。 } void display(uchar sh,uchar fe,uchar mia) { uchar sg,ss,fg,fs,mg,ms。 sg=sh%10。 ss=sh/10。 fg=fe%10。 fs=fe/10。 mg=mia%10。 ms=mia/10。 duan=1。 P0=table[ss]。 电子系统设计 课程设计报告 13 duan=0。 P0=0xfe。 wei=1。 wei=0。 P0=0x00。 delay(M)。 duan=1。 P0=table[sg]。 duan=0。 P0=0xfd。 wei=1。 wei=0。 P0=0x00。 delay(M)。 duan=1。 P0=table[10]。 duan=0。 P0=0xfb。 wei=1。 wei=0。 P0=0x00。 delay(M)。 duan=1。 P0=table[fs]。 duan=0。 P0=0xf7。 wei=1。 wei=0。 P0=0x00。 delay(M)。 duan=1。 P0=table[fg]。 duan=0。 P0=0xef。 wei=1。 wei=0。 P0=0x00。 delay(M)。 duan=1。 P0=table[10]。 duan=0。 P0=0xdf。 wei=1。 wei=0。 P0=0x00。 delay(M)。 duan=1。 P0=table[ms]。 duan=0。 P0=0xbf。 wei=1。 wei=0。 P0=0x00。 delay(M)。 duan=1。 P0=table[mg]。 duan=0。 P0=0x7f。 wei=1。 wei=0。 P0=0x00。 delay(M)。 电子系统设计 课程设计报告 14 } void write_ds(uchar add,uchar date) { dsas=1。 dsds=1。 dsrw=1。 dscs=0。 P1=add。 dsas=0。 dsrw=0。 P1=date。 dsrw=1。 dsas=1。 dscs=1。 } uchar read_ds(uchar add) { uchar ds_date。 dscs=0。 dsas=1。 dsds=1。 dsrw=1。 P1=add。 dsas=0。 dsds=0。 P1=0xff。 ds_date=P1。 dsas=1。 dsds=1。 dscs=1。 return ds_date。 } void set_time() { write_ds(0,0)。 write_ds(1,0)。 write_ds(2,0)。 write_ds(3,0)。 write_ds(4,12)。 write_ds(5,0)。 write_ds(6,0)。 write_ds(7,1)。 write_ds(8,1)。 write_ds(9,14)。 } void k。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。