欢迎来到天天文库
浏览记录
ID:55953264
大小:145.50 KB
页数:5页
时间:2020-06-18
《LED数码管秒表制作.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、应用工程学院单片机应用技术实训报告专业:应用电子学号:1504150137姓名:许林日期:2016/12/24项目二:LED数码管秒表制作一、任务目的1.了解并掌握数码管静态和动态显示原理。2.掌握秒表计时原理与编程思想。3.了解并掌握单个按键次数的识别。二、任务要求a)上电后数码管最右边显示自己学号。b)按下功能键后,右边6个数码管上显示秒表定时初值,格式为00-00.0。c)第二次按下功能键后,以一百毫秒为最小计时单位从0开始计时,第三次按下功能键后暂停计时,第四次按下功能键后时间清0。三、硬件电路设计
2、四、软件设计#includeunsignedcharsec,mmiao,miao,fen;sbitK=P3^2;unsignedchara=0;voiddelayms(unsignedinti){unsignedchark;while(i--)for(k=0;k<120;k++);}voidtime1()interrupt1{TH0=0x3c;TL0=0xb0;sec++;if(sec==2){mmiao++;sec=0;if(mmiao==10){miao++;mmiao=0;if(m
3、iao==60){fen++;miao=0;if(fen==60){fen=0;}}}}}voidtime2()interrupt0{unsignedcharn;if(K==0)for(n=0;n<1200;n++);if(K==0){while(K==0);for(n=0;n<1200;n++);a++;switch(a){case1:mmiao=0;miao=0;fen=0;break;case2:TR0=1;break;case3:TR0=0;break;case4:mmiao=0;miao=0;fe
4、n=0;break;case5:P0=0x07;P2=7;a=0;break;}}}voidmain(){unsignedcharled[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedcharled1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=0;ET
5、0=1;EX0=1;IT0=1;EA=1;while(1){if(a==0){P2=6;P0=0x4f;delayms(1);P2=7;P0=0x07;delayms(1);}else{P2=7;P0=led[mmiao%10];delayms(1);P2=6;P0=led1[miao%10];delayms(1);P2=5;P0=led[miao/10];delayms(1);P2=4;P0=0x40;delayms(1);P2=3;P0=led[fen%10];delayms(1);P2=2;P0=le
6、d[fen/10];delayms(1);}}}五、系统调试仿真调试:首先检查各个线路是否连接正确,尤其是数码管是否选择正确(共阴数码管)。实物调试:1)首先把电脑上生成的HEX文件下载到单机中。2)按键观察现象是否符合要求。出现问题:按键不灵,或者现象不符合要求。此时需要检查开发板是否存在问题(用两个开发板用相同操作看是否存在差异),如开发板没问题,检查程序是否在显示部分的程序是否存在错误。此项目需要读取按键次数,而按键抖动是主要问题,开发板做好没法硬件消抖,所以只有软件消抖,所以需要在按键识别程序里加按
7、键延时消抖程序。六、心得体会通过项目二的学习,使我对这门课有了等多多新的了解,弥补了在课堂上学习的不足。首先,我学到了如何发现问题,以及如何解决这些问题。这些我想是我以后工作中重要的能力。
此文档下载收益归作者所有