基于51单片机的数字秒表设计_第1页
基于51单片机的数字秒表设计_第2页
基于51单片机的数字秒表设计_第3页
基于51单片机的数字秒表设计_第4页
基于51单片机的数字秒表设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计设计题目 基于单片机数字秒表的设计学院名称电气学院指导教师朱卫华班 级电子11级02班学 号学生姓名 摘要本设计是基于AT89S51单片机的简易数字秒表设计,主要组成是以51单片 机最小系统为核心,通过运用单片机的振荡电路实现计时同时用数码管同步显 示。本秒表最大计时为99秒。本设计的特点是:大部分功能通过软件实现,使 电路简单明了,系统稳定性好。关键词:AT89S51振荡电路计时数码管目录1 设计概述11.1 AT89S51 概述11.2 系统设计功能概述 12 系统设计22.1 设计思路22.2 硬件设计22.2.1 单片机最小系统的设计22.2.2 数码管显示电路设计 32

2、.3 软件设计72.3.1 软件设计流程图 72.3.2 消除开关抖动92.3.3 数码管延时显示程序 92.3.4 延时1秒的程序 103 软件调试和结果1.Q3.1 软件调试与下载 1.0.3.2 硬件仿真1.14 心得体会12参考文献1.3附录1.4I基于单片机的数字秒表设计主程序1.4.IIPCB电路图1.7III实物图1.71设计概述1.1 AT89S51 概述AT89S51是一个低功耗,高性能 CMOS 8位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器 件采用ATMEL公司的高密度、非易

3、失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用 8位中央处理器和ISP Flash存储单 元,功能强大的微型计算机的 AT89S51可为许多嵌入式控制应用系统提供高性 价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM), 32个外部双向输入/输出(I/O) 口,5个 中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通 信口,看门狗(WDT)电路,片内时钟振荡器。AT89S51引脚图Pl. o r Pl. I E Pl. 2 E PI. 3

4、 L F1.4 E M0SI/F1. 5 E MI SO/P1.& tSCK/F1. ?匚K5I匚 BIL/P9. 0 I: tip/pa. l 匚 1WT0/P3, 2 r Tm/P3 a l toAts. 4 c T1/P3 5 E WPS.邑匚M/P3, 7 rXTAL2 匚 XTALL 匚 FPIP CHD l: ¥cc £0. 0 /ADO PD. 1/A01 FD. F0 FO. 4/AP43 10. 5/AU5 FQ. 6/A&6 氏17到 正A,慢_ ale/feoc FESN P2. 7/Ai 5 F2. G/A14 f2 5/A13 F2

5、. 4; Ai 23 F2. 5;AJ 1 12. 2的 Q F2. 1/A93 P2. OJAft在实际应用中,因为STC的单片机比AT的单片机更加容易下载程序,它们的端口是一模一样的,所以本次设计实际应用的是STC51单片机1.2 系统设计功能概述本设计展现的是一个计时用的秒表。功能为两位七段数码管在开机时显示00 “,并在系统中添加一个按钮开关。当第一次按下按钮开关后秒表开始计时,第二次按下后计时停止,第三次按下后两个数码管清0,并回到一开始计时状态由于只设计了两位数码管,故该秒表最大计时99秒2系统设计2.1 设计思路根据系统功能,易知我们先要设计一个单片机最小系统,包括振荡电路、 复

6、位电路,然后设计一个数码管控制、显示电路,再用软件来控制秒表的计时以软件设计数码管显示、控制电路设计及数码管的显示。单片机最小系统分设计2.2 硬件设计2.2.1 单片机最小系统的设计1时钟电路设计如图2.2.1,为了方便计算,本设计采用12MHz的晶振,一个机器周期为1 秒。图 2.2.12复位电路设计如图2.2.2,为了更好的控制复位电路,用了一个接触式按钮开关图 2.2.22.2.2 数码管显示电路设计一般来说,不直接用I/O端口直接连接数码管,如图2.2.3,本设计采用741s48 译码器和共阴极数码管。图 2.2.3741s48芯片是一种常用的七段数码管译码器驱动器,常用在各种数字电

7、路和单片机系统的显示系统中,如下图,为74Ls48真值表以及特性表。HD74L346Function TableDecimal or Function111Plit3BURBCOutputsLTRBI0cBA且bed<ef90LLLLHHHHHHIHL11HXLLLHHLHHLLLL2HXLLHLHHHLHHLH3XLLHHHHHHLLH4HXLHLLHHHL1HH6HXLHLHHHLHHLHHeMXLHHLHLnHHHH?4XLHHHM ,IIHLLLLsnXHLLLHHHMHHHHsHXHLLHMHHHLLHHIDHXHLnLHLLLJHHLH11HXHlLHHHLLHHLLH12H

8、XHHLLHLHLLLIHH13HXHHLHHHLLnLHHuHXHHHlHLILHHHH15HXHHHHHLLLLLLLSIKXXKXXLLLLLILI2RBIHLLLLLLLLLLLLL3LTLXX*Xx 1HHHHHHHH4图2.2.4真值表Rfrcommonded Oporating ConditionsHomSymbolMinTypUta.UnHSupply rotdyeVm4755.00心6VOulpul cuirenikx d司琲-100出Ion 4EmaO)述Output cunr«*illot * IngJamAIql fEfaRBO )3.2mAOperabng

9、teTiperatiJiinBT0pr2575*C图2.2.5特性表因为741s48输出电流最大为6mA,在数码管的工作电流之内,所以不 必用电阻。共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极 (COM) 的数码管。共阴数码管在应用时应将公共极 COM接到地线GND上,当某一字 段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平 时,x相应字段就不亮。苣 f GN D a V 10 9 3 1 6图2.2.6数码管引脚图凡K E入F. 一儿n ,LJ图2.2.7数码管真值表LJ二 i将共阴极数码管一端接地,一端接在单片机上,通过操纵单片机的高低电平, 从而控制

10、数码管。图 2.2.5如图2.2.5,当按钮没有按下时,单片机的I/O 口直接连接电源,所以须要 上拉电阻进行限流,计算的灌电流为 2.5mA,查看AT89S51的数据手册知该电流在其范围内,满足设计要求。2.3 软件设计2.3.1 软件设计流程图开始否否2.3.2 消除开关抖动当手指按下开关时,如果我们的动作足够完美,那么P1.0应该立即出现一个 低电平,并且这个低电平一直保持到我们抬起手指为止。但实际情况是,我们没有经过专业的按开关训练和开关自身存在着接触点接触不良的问题,导致在按下开关的过程中产生一个微妙的跳变电平接触过程:开关在一个很短的时间内,会出现多次的接通与断开过程。这样在P1.

11、0端口出现一个电平在 VCC和0V之间抖动的过程。这对于具有高灵敏触角的单片机来说,会产生误动作。因此,如图 2.3.1,本设计采用延时程序设计来避开抖动电平。FILTER:二"|MCFV R6f #(502Fl: MOV R7, DJNZ R7f S DJNZ R6.F1 IlET ZNTi图2.3.1延时程序上述程序所花时间为(248*2+2+2 ) *60=30ms,30ms足以消除抖动。2.3.3 数码管延时显示程序在本次的秒表系统电路设计图中,两位七段数码管与P0 口相连,并分别占了 P0.0-P0.3和P0.4-P0.7.因为有译码器为接口,只要控制I/O 口输出BCD码

12、便 能得到相应数字了。如显示 0,由于0的BCD码为0000,所以指令为 MOV P0,#00H。秒表启动后,当第一次按下按钮开关后秒表开始计时。系统延时1秒,然后 利用ADD指令,把显示的数字加一,这样就显示01,再延时再显示,如此循环, 直到显示至99后,又返回00重新开始计时。2.3.4 延时1秒的程序MOV R5,#10ADD_1:MOV R6,#200CALL DELAYDJNZ R5,ADD_1DELAY:MOV R7,#248JNB P1.0,PRESS_2DJNZ R7,$DJNZ R6,DELAYRET上述程序所花时间为(2+2+248*2 ) *200*10=1s。3软件调

13、试和结果将完整的程序在uVision中进行编辑和汇编,编译成功后就可以通过51开发板下载到硬件平台中。3.1 软件调试与下载单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序 要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇 编,目前已极少使用手工汇编的方法了。 机器汇编是通过汇编软件将源程序变为 机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的 不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发 MCS-51系列单片机的软件,如图3.1所示,利用keil软件生成hex

14、文件图3.1在keil中编辑程序生成hex文件后,利用单片机开发板用stc-isp软件下载到单片机中3.2 硬件仿真如图,利用proteus仿真电路。.口口£田 口,1叭口1 殖胃丸叮 P 口*_K3 皿4M训 PDSW.DS PD.Sm.E 叩了 gwPNOT厢 PZACf&工2f%TP2.tfAC ,工用p NGk FZ.WBF3.in> HEI F33TWTTF3.«HQ pasrnpijsJW "请水U2MW图3.2数字秒表数字电路4心得体会单片机可以应用于各个领域,而单片机本身也是融合了各个领域的知识。我 们可以通过单片机去实现很多的电子产

15、品,因为它的应用领域非常的广泛,所以 发展很迅速。本次设计时以单片机为中心进行设计, 但是仅仅有单片机的知识还 不够,同时还需要具有硬件的知识和软件的知识, 并将它们有机的结合起来。因 此,我重新复习了下模拟电路和单片机原理, 并查阅了相应的资料,才理清了思 路。本次设计,先通过KEIL软件对软件进行编辑、调试、编译。然后通过STC-ISP 软件学习如果在单片机种下载程序代码;最后通过proteus软件,对数字秒表的硬件进行仿真。在编译程序的过程中,刚开始一直不出结果,经过查资料得知,原来没有将 文件变成asm格式。在下载程序到单片机的时候,刚开始一直下不成功,通过 询问同学,得知我用的是 A

16、T89S51,要下载程序的话,还要用专门的驱动,因此, 我改成了 STC的。在做实物图的时候,虽然我用的是洞洞板,不用画PCB,但是为了更好的布局,我画了 pcb版,实际证明这也是对的,尽管我的线很复杂,但 由于之前统筹帷幄了,我的布局还算整洁。参考文献1康华光.模拟电子技术基础M.北京:高等教育出版社,2006年5月第5版2杨欣.51单片机应用从零开始M.北京:清华大学出版社,2008年1月第一版3李广弟、朱月秀、冷祖祁等.单片机基础M.北京:北京航空航天大学出版社,2007年6月第三版附录I基于单片机的数字秒表设计主程序ORG 00HSTART:MOV P0,#00HJB P1.0,$CALL FILTERJNB P1.0,$MOV R0,#00HPRESS1:MOV A,R0MOV P0,AMOV R5,#10ADD_1:MOV R6,#200CALL DELAYDJNZ R5,ADD_1MOV A,R0ADD A,#01HDA AMOV R0,AJMP PRESS_1PRESS_2:CALL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论