版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机课程设计报告 课程名称: 秒表设计 姓名: 学号: 专业班别: 院系: 指导老师: 完成时间:2011.12.20 目录一、前言1 1、摘要.1 2、关键词.1二、设计背景1三、设计目的1四、设计任务与要求2 1、设计题目.2 2、设计任务.2 3、设计要求.2五、设计方案与基本原理2 1、预备知识.2 2、实验仪器.2 3、led显示原理.2 4、at89c52单片机.35、显示电路.4六、软件系统设计5 1、主程序流程图.5 2、设计程序.6七、调试结果10八、设计结论与体会10 1、设计结论.10 2、设计体会.10九、参考文献.11一、前言 1、摘要:秒表是单片机常见的装置,这
2、次课程设计通过at89c52单片机来控制秒表的计时,编写程序,使程序实现开始计时,停止计时和复位等功能。通过这次课程设计使我对单片机有了进一步的理解,并且让对单片机产生了浓厚的兴趣。2、关键词:单片机 秒表 程序设计 按键控制二、设计背景 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器
3、械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。单片机模块中最常见的是秒表、数字钟等显示时间类的装置,此装置是一种用数字电路实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。三、设计目的随着单片机的应用日益广泛,学生在完成前面的基础实验之后,初步掌握了单片机仿真开发工具的使用和程序的基本调试方法以及常用程序的设计方法。如果条件允许,下一步就是进行课程设计。通过课程设计,可将所
4、学过的电子技术、模/数转换技术、传感器技术、单片机技术及智能仪器等知识综合串联起来,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的标定等这一完整的实验过程,培养学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,从而培养和提高学生的独立工作能力及解决实际问题的能力,为毕业设计和以后的工作打下一个良好的基础。当然课程设计不仅仅要求学生完成所规定的题目要求,同时还要培养学生养成良好的科学态度和严谨的设计习惯。 1四、设计任务与要求1、设计题目:秒表设计 2、设计任务:用89c51设计一个2位的led数码作
5、为“秒表”。3、设计要求:显示时间为0099秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。五、设计方案及基本原理 1、预备知识(1)熟悉单片机的工作原理(2)了解数码管的显示原理(3)熟悉c语言 2、实验仪器 集成电路芯片89c52,七段数码管,单片机开发板,mcs-51系列单片机微机仿真实验系统中的软件。 3、led显示原理 静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,系那是数据稳定,占用很少的cpu时间。 动态显示需要cpu时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的cpu时间多。这两种显示
6、方式各有利弊:静态显示虽然数据稳定,占用很少的cpu时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态系那是虽然有闪烁感,占用的cpu时间多,但使用的硬件少,能节省线路空间。 基本的半导体数码管是由七个条状发光二极管芯片排列而成的,可实现09的显示。led数码管是由发光二极管显示字段组成的显示器,有8段和“米”字段之分,这种显示器有共阴极两种。所谓共阳方式是指笔画显示器各段发光管得阳极(即p区)是公共的,而阴极互相隔离。所谓共阴方式是笔画显示器各段发光管的阴极(即n区)是公共的,而阳极是互相隔离的。 24、at89c52单片机 at89c52是一个低电压,高性能cmos 8位单
7、片机,片内含8k bytes的可反复擦写的flash只读程序存储器和256 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,at89c52单片机在电子行业中有着广泛的应用。at89c52为8 位通用微处理器,采用工业标准的c51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主ic 内部寄存器、数据ram及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号ir的接收解码及与主板cpu通信等。主要管脚有
8、:xtal1(19 脚)和xtal2(18 脚)为振荡器输入输出端口,外接12mhz 晶振。rst/vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。vcc(40 脚)和vss(20 脚)为供电端口,分别接+5v电源的正负端。p0p3 为可编程通用i/o 脚,其功能用途由软件定义,在本设计中,p0 端口(3239 脚)被定义为n1 功能控制端口,分别与n1的相应功能管脚相连接,13 脚定义为ir输入端,10 脚和11脚定义为i2c总线控制端口,分别连接n1的sdas(18脚)和scls(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板cpu 的相应功能端,用
9、于当前制式的检测及会聚调整状态进入的控制功能。 35、显示电路 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、i0接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。k1 开始计时,k2停止计时,k3复位。秒表时间显示电路设计: 4六、软件系统设计1、主程序流程图 开始初始化数据查询键位 stop 停止计时 start开始计时 reset 复位 计时数据处理格式化显示结束 52、设计程序 #include#define uint unsigned int#define char unsigned charsbit weil=p25; /
10、定义锁存使能端口 位锁存sbit duanl=p26; / 段锁存sbit start=p10;sbit stop=p11;sbit reset=p12;uint code table_duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 显示段码值09uint code table_wei=0xfe,0xfd,0xf7,0xef; /位控制字void delay(uint z); / 声明延时函数void chushih(); / 声明按键函数void display(); / 声明宣函数uint aa,bb,s4; / 变量声明v
11、oid main() /主函数入口 chushih(); while(1) p0=0xfb; weil=1; weil=0; p0=0x40; duanl=1; duanl=0; 6 delay(2); display(); if(!start) /开始 delay(5); if(!start) display(); tr0=0; if(!stop) /暂停 delay(5); if(!stop) display(); tr0=1; if(!reset) /复位 delay(5); if(!reset) aa=0; display(); 7 void chushih() tmod=0x01;
12、/设置t0定时器 th0=(65536-10000)/256; /装入初值 tl0=(65536-10000)%256; ea=1; /开总中断 et0=1; /开启定时器t0中断 tr0=1; /启动t0timer0()interrupt 1 th0=(65536-10000)/256; tl0=(65536-10000)%256; aa+; if(aa=10000) aa=0; s0=table_duanaa/1000; s1=table_duanaa/100%10; s2=table_duanaa%100/10; s3=table_duanaa%10; void delay(uint z
13、) /延时子函数uint x,y; 8 for(x=z;x0;x-) for(y=110;y0;y-);void display() uint i; for(i=0;i4;i+) p0=table_weii; weil=1; weil=0; p0=si; duanl=1; duanl=0; delay(4); p0=0; duanl=1; duanl=0; 9七、调试结果本装置将实现099的计数,第4个数码管10ms跳转一次,第3个数码管100ms跳转一次,第2个数码管1s跳转一次,第1个数码管10s跳转一次。具体如下:1、开机时数码管显示00002、按k1 开始计时数码管从00开始计数到99
14、结束再从00开始循环3、按k2 停止计时数码管显示当前数值4、按k3 复位,从00开始计数 八、设计结论与体会1、设计结论(1)在设计中,由于对单片机开发板的不了解,很多接口都不知如何连接,但通过自己的查阅资料和上网搜索终于弄懂了(2)由于对单片机c语言程序编写的不熟悉,很多指令不理解,但最后通过查看课本把它解决了(3)由于单片机的不稳定开始运行时显示不出来,但是通过检查线路,把问题给找出来了,由于有些线插得不稳定而造成的。2、心得体会经过几个星期的课程设计,我学会了很多知识和技能。我从一开始对单片机一窍不通到现在的理解,我花费了很多的时间和精力,比如上网查阅资料,去图书馆借相关的书籍,向身边
15、的同学讨教等等。我重新对c语言又有了一些新的理解,也对单片机产生了浓厚的兴趣。单片机对于我们电子专业的学生来说是一门很重要的学科,所以我们要好好学号这一门技术,这对于我们未来的发展有很大的帮助。下面我来谈谈本人通过这次课程设计的一些体会:(1)、这段日子里,通过学习的理论知识和实践相结合,我收获了很多,这些收获将是我人生的宝贵财富。 10(2)、通过这次课程设计,让我养成了发现问题、提出问题、解决问题的好习惯,也使我善于思考和动手,更增强了我与同学们的交流合作。(3)、这次课程设计不仅让我对c语言有了很大的认识,使我的编程能力有了很大的提高,也让我对单片机产生了浓厚的兴趣。(4)、通过这次课程设计,切实的提高了我的动手能力和解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论