电子跑秒表的设计_第1页
电子跑秒表的设计_第2页
电子跑秒表的设计_第3页
电子跑秒表的设计_第4页
电子跑秒表的设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、目录1设计要求. . 12设计方案及实现. 12.1系统功能分析. 12.2功能实现方案. 13使用的元件及功能. 33.1 89c51引脚图与功能说明. 33.2 LED数码管 64实现电路图及调试 64.1实现电路图.64.2 调试及问题解决74.3 仿真结果75心得体会.86 参考文献97 附录9电子跑秒表的设计内容提要:本次课程设计通过电子秒表的设计与制作,学到了单片机最小系统的概念与设计,对单片机调用、定时等功能模块有了进一步的了解,并利用这个设计对单片机的编程方法有了一定程度的深入了解,并对51单片机有了深入的了解。关键字:89c51单片机、键控、中断、数码管显示1设计要求以89s

2、51单片机为核心芯片,设计一个模拟电子跑秒表,要求如下:A、 利用LED显示秒表的计时过程;B、 可以对秒表进行初始时间设置;C、 可以调整秒表的时间。2设计方案及实现2.1系统功能分析 本次课设设计电路通过以下四个按键实现要求功能:Start键实现秒表的启动计时;Stop实现秒表的清零;Pause键实现计时的停止;Set键实现对秒表的时间预置。同时以上各键按下后能在数码管上清晰显示时间的改变,以供使用者操作以及测试。2.2 功能实现方案 由系统的功能分析可以得到,功能的实现是通过对按键的控制得到,在源代码的编写中则可以通过对各个按键的调用实现键控功能,同时显示在数码管上。设计语言采用汇编语言

3、,通过对按键的判断(JNB语句)以及调用(DISP,INC等),完成键控数码管显示。 实现方案流程图如下所示:开始定时器计数器2初始化显示缓冲区初始化开中断按键扫描是否有按键输入?判断是否为start键判断是否为stop键判断是否为set键判断是否为pause键定时计数器中断清零暂停计时查看数据预置时间显示显示YYYYNNNN图1 程序流程图3使用的元件及功能3.1 89c51引脚图与功能说明AT89c51是一个40引脚的芯片,其中继承了运算器、控制器、存储器,是一个高度集成的芯片,可将编写编译后的程序载入到芯片中,进而实现能够达到要求的功能。其管脚图如下:图2 89c51管脚图管脚说明:VC

4、C:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一

5、个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电

6、平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存

7、储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次

8、有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.2 LED数码管数码管管脚图如下所示图3 LED数码管管脚图LED数码管采用的是有发光二极管按一定的结构组合起来的显示器件。课设中使用的显示数码管为共阳极数码管,A-G脚因输入不同的二进制编码可以显示不

9、同的数字。在实验中则为高低电平的判断显示。4实现电路图及调试4.1实现电路图图4 电子跑秒表实现电路图4.2 调试及问题解决将所编写的电子秒表的程序下载到芯片中,调试程序。遇到的问题就是数码管不能正确的显示。没有正确编写数码管的显示程序,将小数点的显示位置改正,同时实验的数码管采用的是共阳的数码管显示,因为0亮1不亮,必须严格按照这个来编写程序。反复进行测试,对四个按键分别进行测试,检查是否完成预定的四个功能:启动、暂停、预置时间、停止。是否实现了定时/计数器中断。4.3 仿真结果 程序成功运行仿真结果如下图所示:图5 仿真结果图5心得体会通过这个为期二周的单片机课程设计使我对AT89C51单

10、片机有了更一层深入的了解,同时加强了动手实践能力。在这次课程设计中虽然也遇到了各种困难,但通过资料书以及求解于同学都解决了问题。同时结合实践进一步巩固了课本上的理论知识,将学习的理论基础知识又加深了一遍。认识到我们所学的知识还是远远不够的,我们需要不断学习提升自己的能力,不仅仅是动手能力,还有编程能力和考虑问题的全面性。单片机在日常生活中应用广泛,结合这学期在学的嵌入式系统原理,我们更多的了解了单片机的发展现状和发展趋势,以及在生活中的广泛应用,其实80C51只是我们所接触的一种简单的单片机,在实际应用中,有各个公司生产的不同型号的、针对不同功能设计的、以及根据用户的需要和发展自主研发设计的单

11、片机还有很多,由此设计出来的嵌入式系统更是数不胜数。能够亲身的进行自我实践,并进行实际的应用,其实使我们对现行单片机的一次深入的了解,并能够提升我们将来在学习工作遇到的单片机设计问题。6 参考文献1.林土胜.单片机技术及工程实践.机械工业出版社.20102.李群芳 张士军.单片微型计算机与接口技术.电子工业出版社.7 附录汇编语言程序源代码ORG 0000H AJMP MAIN ORG 0003H RETI ORG 0013H RETI ORG 000BH LJMP T100MS ORG 001BH RETI ORG 0100HMAIN:MOV P2,#0FFH MOV P0,#00H MOV

12、 TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV DPTR,#TAB MOV R0,#00H MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R5,#02H SETB EA SETB ET0START0:JNB P1.1, START1JNB P1.3,STOPJNB P1.5,PAUSEJNB P1.7,SET1LCALL DISP LJMP START0DISP: MOV A,R3 MOVC A,A+DPTR MOV P0,A SETB P2.0 LCALL DELAY CLR P2.0 MOV A,R2 MOVC A,A+

13、DPTR MOV P0,A SETB P2.1 LCALL DELAY CLR P2.1 MOV A,R1 MOVC A,A+DPTR MOV P0,A SETB P2.2 CLR P0.7 LCALL DELAY CLR P2.2 SETB P0.7 MOV A,R0 MOVC A,A+DPTR MOV P0,A SETB P2.3 LCALL DELAY CLR P2.3 RETTAB: DB 0Xc0,0Xf9,0Xa4,0Xb0,0X99 DB 0X92,0X82,0Xf8,0X80,0X90DELAY: MOV R6,#20 D1: MOV R4,#248 DJNZ R4,$ DJNZ R6,D1 RETSET1:JNB P1.7,SET1INC R3LCALL DISPLJMP START0START1: SETB TR0LJMP START0 RETISTOP: CLR TR0 MOV R0,#00H MOV R1,#00H MOV R2,#00H MOV R3,#00H LCALL DISP LJMP START0PAUSE: CLR TR0 LCALL DISP LJMP START0 RETIT100MS: CLR TR0 MOV TH0,#3CH MOV TL

温馨提示

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

评论

0/150

提交评论