《单片机应用技术课程设计—键控秒表课程设计..doc》由会员分享,可在线阅读,更多相关《单片机应用技术课程设计—键控秒表课程设计..doc(14页珍藏版)》请在三一办公上搜索。
1、单片机应用技术课程设计题 目键控秒表院 系机电工程系专业班级电气姓 名学 号指导教师2013年 10 月18摘要二十世纪跨越了三个“电”的时代,即电气时代,电子时代和现已进入的电脑时代。但是,实际工作中,并不是需要计算机的场合都需要计算机很高的性能。应用的关键是看能否够用,是否有很好的性能价格比。单片机又称单片微控制器,它不是完成某一个逻辑工程的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一个芯片就成了一台计算机。它的体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件。自从1976年问世以来,单片机获得了巨大的发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上的各种
2、仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,这些都离不开单片机。所以,学习单片机在我国是有着广泛前景的。目录摘要1一、课题研究目的3二、实验内容及要求41、实验内容42、实验要求4三、仿真原理图5四、系统程序6五、材料清单9六、键控秒表实物图10七、心得及体会11八、总结12九、参考文献13一、课题研究目的1.通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。2.掌握键控秒表系统的制作,进一步熟悉单片机计数器结构的工作方式,初始值设置和停止等基本应用方法,掌握C语言控制单片机的基本技能。3.通过此次课程设计能够将单片机软硬
3、件结合起来,对程序进行编辑,校验。4.该实验通过单片机的键控原理,设计简单的系统,拥有正确的增一、减一、清零、自动加一功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。5.通过本次设计,提高自身电路设计能力,并锻炼团队合作精神。二、实验内容及要求1、实验内容利用AT89C52设计一个2位LED数码管显示“秒表”,可显示时间为0059秒。并设计一个“增一”按键,一个“减一”按键,一个“清零”按键,一个“自动增一”按键。按键说明:按“增一”按键,系统加一计数,数码管显示数字加一;按“减一”按键,系统减一计数,数码管显示数字减一;按“清零”按键,系统清零,数码管显示“00”;按一下“
4、自动加一”按键,系统自动进行加一循环,并在数码管上显示,再按一下“自动加一”按键,系统会暂停自动加一循环,数码管显示的数字将停留在当前显示值上。2、实验要求了解AT89c52芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示数字,并能用按键实现秒表增一、减一、清零复位功能。画出使用单片机控制LED数码管显示的电路图,并编程完成软件部分,最后调试秒表的增一、减一、清零、自动加一。三、仿真原理图四、系统程序#include #define uchar unsigned char #define uint unsigned int#define d
5、uan P0 sbit wei_1=P27; sbit wei_2=P26; sbit key1=P20; /加1sbit key2=P21; /减1sbit key3=P22; /清0sbit key4=P23; /按下自动加1,再按停下不变uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /共阳uchar n=0,num=0;void display(uchar num1);void delay(uint xms) uint x,y; for(x=xms;x0;x-) for(y=110;y0;y-);
6、void keyscan() if(key1=0) delay(10); if(key1=0) num+; if(num=60) num=0; while(!key1); if(key2=0) delay(10); if(key2=0)if(num=0)num=60;num-; while(!key2); if(key3=0)delay(10); if(key3=0) num=0; while(!key3); if(key4=0) delay(10);if(key4=0)while(!key4);TR0=TR0; void main() uchar shi,ge,num1;shi=num1/1
7、0;ge=num1%10;TMOD=0x01;TH0=(65536-50000)/256; TL0=(65536-50000)%256;EA=1;ET0=1; /定时中断0TR0=0;while(1)keyscan();display(num); void display(uchar num1)uchar shi,ge;shi=num1/10;ge=num1%10; P0=0;wei_2=1;duan=tableshi; delay(8);wei_2=0;P0=0;wei_1=1;duan=tablege; delay(8);wei_1=0; void timer0() interrupt 1
8、 /定时中断0 TH0=(65536-50000)/256;TL0=(65536-50000)%256;n+; if(n=20)n=0; num+; if(num=60)num=0; 五、材料清单名称型号符号数量备注单片机AT89C521个无数码管5202ESLED2个无锁存器74HC5731个无弹性按键K5个无晶振12M1个无独石电容30PFC2个无电解电容22uFC1个无万能板7*9PCB1个无电阻5.6KR5个无排阻A103JRP1个无底座20PIC1个无USB串口线T02321根无电源线1根无六、键控秒表实物图七、心得及体会1. 根据课程设计的要求和芯片的功能写出相应的程序。然后再进行
9、程序调试和相应的修改,达到了本次设计的目的。2. 通过本次设计,我从中感受到了自己优缺点。优点是我能很好并迅速的将电路布置并组装好,但是对于电路组线设计还有很多不足。虽然元器件布置比较美观,但是自己感觉不是很满意。3. 在本次设计过程中,我做的准备工作相对于其他同学来说是做得最好的,需要的相关工具我都准备的很齐全,以至于在制作的时候很多同学来我这里借东西,所以我感觉,无论做什么事情,准备工作一定要做好,才能一气呵成,减少走的弯路。4. 在本次设计中,在写程序时,我得到了一些启发。就是在写程序时候,要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到
10、,也更简洁,更明白易懂。5. 本次设计,最大的收获就是让我学会将理论知识与实际相结合,并从中收获到一些书本和课堂上学不到的知识八、总结通过这次的设计,我对单片机这门课程有了更深的了解,同时也尝试着去怎么应用自己所掌握的知识,将知识以最好的方式融入到现实中。在这其中,深感自己在电路线路设计排布这方面还需很大的努力,单片机课程设计不仅给我提供了展现应用自己所掌握的知识平台,又是检验自己所学知识的一次考核。在设计过程中,难免会遇到一些困难,尤其在调试过程中,会因为某些原因出不来结果,但通过同学的鼓励和老师的帮助,我还是顺利完成了。从中我明白要把所学到的理论转化为实践需要一段努力学习的过程。在学习过程中,一定要注意理论和实践同步进行,光有理论知识还是远远不够的,要用时间去检验理论,用理论指导实践。社会在进步,我们不论在什么地方,什么岗位我门都要以学为主.学以学以置用,才能把我们的工作做的更好。并要坚持不懈的去努力,不能因为困难而懦弱,要遇强更强,以最大的信心去接受更严峻的挑战。九、参考文献参考单片机应用技术(C语言版) 主编:王静霞参考祖一康老师的教学课件