ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:499.58KB ,
资源ID:10031310      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10031310.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用定时器计数器设计一个简单的秒表.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用定时器计数器设计一个简单的秒表.docx

1、用定时器计数器设计一个简单的秒表摘要 I1 Proteus简介 12 主要相关硬件介绍 22.1 AT89C52简介 22.2 四位数码管 42.3 74LS139芯片介绍 53 设计原理 54 电路设计 64.1 电路框图设计 64.2 电路模块介绍 74.2.1 控制电路 74.2.2 译码电路 74.2.3 数码管显示电路 74.3 仿真电路图 85 设计代码 86 仿真图 127 仿真结果分析 148 实物图 149 心得体会 15参考文献 16摘要 现在单片机的运用越来越宽泛,大到导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理,小

2、到广泛使用的各种智能IC卡、各种计时和计数器等等。本次课设我们要设计一个能显示计时状态和结果的秒表,它是基于定时器/计数器设计一个简单的秒表。本次设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED显示,显示时间为099.99秒,计时精度为0.01秒,能正确地进行计时,并显示计时状态和结果。其中软件系统采用汇编或者C语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在keil中调试运行,硬件系统利用PROTEUS强大的功

3、能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。关键词:秒表,AT89C51,proteus,C语言1 Proteus简介Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方

4、面,它也支持IAR、Keil和MPLAB等多种编译器。Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1原理布图2PCB自动或人工布线3SPICE电路仿真4互动的电路仿真5仿真处理器及其外围电路Proteus拥有丰富的资源,它体现在:1Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。2Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。3除了现实存在的仪器外,Proteu

5、s还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。4Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比

6、的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。2 主要相关硬件介绍2.1 AT89C52简介AT89C52是一个低电压,高性能CMOS 8位单片机,片含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用AT

7、MEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52单片机参数如下:1、兼容MCS51指令系统2、8kB可反复擦写(大于1000次)Flash ROM;3、32个双向I/O口;4、256x8bit部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率0-24MHz;7、2个串行中断,可编程UART串行通道;8、2个外部中断源,共8个中断源;9、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP及P

8、LCC等几种封装形式,以适应不同产品的需求。AT89C52工作原理与AT89C51单片机工作原理类似,AT89C52为8 位通用微处理器,采用工业标准的C51核,在部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为

9、供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能,详细端口分布见图2-1图2-1 AT89C52端口图2.2 四位数码管四位数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com

10、,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图2-2所示。通过控制各个LED的亮灭来显示数字。图2-2 四位数码管2.3 74LS139芯片介绍74LS139 为两个2线4 线译码器,共有 54/74S139和 54/74LS139 两种线路结构型式,当选通端(G1)为低电平,可将地址端(A、B)的二进制编码在一个对应的输出端以低电平译出。 若将选通端(G1)作为数据输入端时, 还可作数据分配器。具体的端口图见图2-3.图2-3 74LS139引脚

11、图3 设计原理利用AT89S52单片机的定时器,使其能精确计时。利用中断系统使其实现启动、暂停以及复位清零的功能,P0口输出段码数据,P2.0P2.2连上译码器作为位选,P3.2和P3.3接口的两个按钮分别实现启动/暂停和复位功能。计时器采用T0中断实现,定时溢出中断周期为1ms,当溢出中断后向CPU发出溢出中断请求,每发出10次中断请求就对10ms位(即最后一位)加一,达到100次就对100ms位加一,以此类推,直到99.99s为止。再看按键的处理。两个按键采用中断的方法,设置外部中断0和外部中断1位脉冲边沿触发方式,这样一来每当按键按下时便会触发中断,从而实现启动/暂停和复位。开始键和暂停

12、键使用了外部中断,所以需要连到单片机的P3.2和P3.3引脚上,这两个I/O口的第二功能是单片机的外部中断0端口和外部中断1端口。 显示电路由四位数码管组成,采用动态显示方式,因此有8位段控制和4位位控制,8位段接控制接P0口,P0.0P0.7分别控制数码管的a b c d e f g dp显示,位控制接在P2.0和P2.1两个口,在通过一个24译码器实现位控制。4 电路设计4.1 电路框图设计图4-1 电路设计框图 4.2 电路模块介绍4.2.1 控制电路图4-2控制模块 本次课设设计了两个按钮,一个为开始和暂时按钮,另外一个为复位按钮,当按下按钮时,会根据程序中的相应中断程序来实现相关功能

13、。4.2.2 译码电路图4-3 2-4译码电路2-4译码电路通过74LS139芯片来实现译码功能,其中A口接单片机P2.0口,B口接P2.1口,E口接地,Y0Y3口接数码管的1234口,2-4译码电路实现了对数码的位选功能。4.2.3 数码管显示电路图4-4 数码管显示电路 本次显示使用的数码管为八段数码管,共有8八二极管显示单元,其中一个为小数点了,A、B、C、D、E、F、G、DP口接单片机上的P0.0P0.7口,来进行段选,14口接上文的译码电路。完成对秒表记时的显示。4.3 仿真电路图图4-2 仿真电路5 设计代码#includeunsigned int data table=0x3f,

14、0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /显示码值unsigned int i,j,k,l,count;char sw=0;void delay(unisigned int z) /延时程序 unsigned int x,y; for(x=z;x!=0;x-) for(y=110;y!=0;y-);void main() TMOD=0x01; /设置定时器为模式1 TH0=(65536-1000)/256; /给定时器赋定时初值 TL0=(65536-1000)%256; EA=1; /开中断 EX0=1;/打开外部中断0中断 EX1=1;/

15、打开外部中断1中断 ET0=1;/打开T0中断 IT0=1; /设置外部中断位脉冲边沿触发方式 IT1=1; /跳变沿触发方式INT1上电平从从高到低的负跳变有效 while(1) / 数码显示 P2=0x03; P0=tablei; delay(1); P2=0x02; P0=tablej; delay(1); P2=0x01; P0=(tablek+0x80); delay(1); P2=0x00; P0=tablel; delay(1); ;void ex0() interrupt 0 /外部中断0 sw=!sw; /设置复位 TR0=sw; void ex1() interrupt 2

16、 /外部中断0 l=k=j=i=0; void timer0() interrupt 1 /定时器T0溢出中断 TH0=(65536-1000)/256; /重装计数初值 TL0=(65536-1000)%256; count+; /溢出中断次数加一 if(count=10) count=0; i+; /溢出10次,0.01s位加一 if(i=10) i=0; /0.01s位到10了,清零,0.1s位加一 j+; if(j=10) j=0; /0.1s位到10了,清零,1s位加一 k+; if(k=10) k=0; /1s位到10了,清零,10s位加一 l+; 6 仿真图图6-1 开始记时图6

17、-2 暂停记时图6-3 复位7 仿真结果分析 通过以上的分析,我们可知所设计的秒表计时器,可实现记时功能,既可以进行启动记时,也可以通过同一个按键来实现暂停,并能通过复位清零键来使秒表记时器复位,以实现重新记时,在记时到99秒时,秒表会自动清零,需要重新按开始键才可以。8 实物图图8-1 单片机实物图9 心得体会本次课设要求我们定时器/计数器设计一个简单的秒表,能显示计时状态和结果。要求进行电路实验或仿真,并使用C语言进行程序的开发。能力拓展训练使得我们又一次熟悉了已学的C语言和先学的单片机的应用。通过这次能力拓展使我们的动手能得到了提升,而且学会了独立完成一项任务。在做这次设计之前,通过查找

18、相关资料,我已经对本次课设有了一定的了解,在查询了大量资料和请教同学之后,我最终能成功的做出本次课设。但是在做课设的过程中发现有很多知识点没有掌握,基础知识不可缺少,但是一些核心的高层次的知识点更是不可忽视。在完成课设的过程中没少向同学请教,由此我意识到,任何时候任何事情,闭门造车是不可取的,要一直坚持向周围的师长,同学求教,以取得新的思考途径。通过这次强化训练基础课程知识的了解。这次的能力拓展训练主要与C语言编程和单片机原理等方面的知识,充分锻炼了我运用所学知识解决实际问题的能力。通过查阅资料,温习课本知识和学习笔记,我深刻领悟到各课程之间的联系,并初步掌握了综合运用课本知识分析问题的方法。

19、本次简单秒表的设计采用单片机与微机原理编程的方法,实现了秒表Proteus原理图的绘制和仿真,达到了预期目的,完成了设计的任务要求。这次设计充分检验了我自学的能力。这次的设计任务涉及到了许多软件方面的知识。通过查阅资料,我不但巩固了所学的课本知识,而且学会了熟练使用许多软件。通过这次拓展训练,我也意识到自己的不足,单片机方面的知识对我们工作和学习都非常重要,而我在这方面还存在很多不足,以后还是要多多学习相关知识,虚心请教他人才能取得长足的进步,是自己的专业知识技能更近一步,使自己在以后的学习工作有能力胜任相关的工作要求。参考文献1 群芳,士军.单片微型计算机与接口技术.电子工业,2010.7.

20、12 毅刚. 基于Proteus的单片机课程的基础实验与课程设计.人民邮电.2012.43 薛晓书.单片微机原理及接口技术M.石油大学2002.34 朱清慧. Proteus教程.清华大学.2011.65 郭天祥.新概念51单片机C语言教程.电子工业.2009.1.16 John Byrne,JohnBolton等编著. Proteus. Marvel Comics,2009.5本科生课程设计成绩评定表姓 名性 别专业、班级课程设计题目:试用定时器/计数器设计一个简单的秒表,能显示计时状态和结果。课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1