键控秒表课程设计.doc

上传人:土8路 文档编号:10205794 上传时间:2021-04-29 格式:DOC 页数:14 大小:590KB
返回 下载 相关 举报
键控秒表课程设计.doc_第1页
第1页 / 共14页
键控秒表课程设计.doc_第2页
第2页 / 共14页
键控秒表课程设计.doc_第3页
第3页 / 共14页
键控秒表课程设计.doc_第4页
第4页 / 共14页
键控秒表课程设计.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《键控秒表课程设计.doc》由会员分享,可在线阅读,更多相关《键控秒表课程设计.doc(14页珍藏版)》请在三一文库上搜索。

1、单片机应用技术课程设计题 目键控秒表院 系机电工程系专业班级电气1011姓 名吴燊学 号39指导教师祖一康2012年 6 月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秒。并设计一个“增一”按键,一个“减一”按键,一个“清零”按键,一个“自动增一”按键。按键说明:按“增一”按键,系统加一计数,数码管显示数字加一;按“减一”按键,系统减一计数,数码管显示数字减一;按“清零”按键,系统清零,数码管显

4、示“00”;按一下“自动加一”按键,系统自动进行加一循环,并在数码管上显示,再按一下“自动加一”按键,系统会暂停自动加一循环,数码管显示的数字将停留在当前显示值上。2、实验要求了解AT89c52芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示数字,并能用按键实现秒表增一、减一、清零复位功能。画出使用单片机控制LED数码管显示的电路图,并编程完成软件部分,最后调试秒表的增一、减一、清零、自动加一。三、仿真原理图四、系统程序#include #define uchar unsigned char#define uint unsigned int

5、sbit dula=P20;sbit wela=P21;sbit key1=P10; /加1sbit key2=P11; /减1sbit key3=P12; /清0sbit key4=P13; /按下自动加1,再按下停止保持uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar n,num;void display(uchar);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() TMOD=0x01; TH0=(65

7、536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; while(1) keyscan(); display(num); void display(uchar num1) uchar shi,ge; shi=num1/10; ge=num1%10; dula=1; P0=tableshi; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(5); dula=1; P0=tablege; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(5); void

8、timer0() interrupt 1 n+; if(n=20) n=0; num+; if(num=60) num=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; 五、材料清单名称型号符号数量备注单片机AT89C521个无数码管5202ESLED2个无锁存器74HC5732个无弹性按键K4个无晶振11.05921个无瓷片电容30PFC2个无电解电容22uFC1个无万能板12*18PCB1个无电阻10KR5个无排阻A102JRP1个无底座20PIC2个无USB串口线T02321根无电源线1根无六、键控秒表实物图七、心得及体会1. 根据课程设计

9、的要求和芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,达到了本次设计的目的。2. 通过本次设计,我从中感受到了自己优缺点。优点是我能很好并迅速的将电路布置并组装好,但是对于电路组线设计还有很多不足。虽然元器件布置比较美观,但是背部的组线就比较凌乱,不利用出现问题后对其进行排查。3. 在本次设计过程中,我做的准备工作相对于其他同学来说是做得最好的,需要的相关工具我都准备的很齐全,以至于在制作的时候很多同学来我这里借东西,所以我感觉,无论做什么事情,准备工作一定要做好,才能一气呵成,减少走的弯路。4. 在本次设计中,在写程序时,我得到了一些启发。就是在写程序时候,要尽量做到由各个子程序

10、组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。5. 本次设计,最大的收获就是让我学会将理论知识与实际相结合,并从中收获到一些书本和课堂上学不到的知识。6.八、总结通过这次的设计,我对单片机这门课程有了更深的了解,同时也尝试着去怎么应用自己所掌握的知识,将知识以最好的方式融入到现实中。在这其中,深感自己在电路线路设计排布这方面还需很大的努力,单片机课程设计不仅给我提供了展现应用自己所掌握的知识平台,又是检验自己所学知识的一次考核。在设计过程中,难免会遇到一些困难,尤其在调试过程中,会因为某些原因出不来结果,但通过同学的鼓励和老师的帮助,我还是顺利完成了。从中我明白要把所学到的理论转化为实践需要一段努力学习的过程。在学习过程中,一定要注意理论和实践同步进行,光有理论知识还是远远不够的,要用时间去检验理论,用理论指导实践。社会在进步,我们不论在什么地方,什么岗位我门都要以学为主.学以学以置用,才能把我们的工作做的更好。并要坚持不懈的去努力,不能因为困难而懦弱,要遇强更强,以最大的信心去接受更严峻的挑战。九、参考文献参考单片机应用技术(C语言版) 主编:王静霞参考祖一康老师的教学课件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1