单片机控制秒表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 方案设计
2.1秒表控制线路图
采用STC89C52单片机控制秒表并实现实时显示计时。单片机控制秒表的电路原理如图2-1所示。
图2-1 秒表控制线路
2.3主要元器件选择
主要元器件选用型号和数量如下:
1个AT89S52(单片机) 1个CRYSTAL(晶振) 3个CAP(电容) 9个RES(电阻) 1个四位一体共阴极数码管 3个BUTTON(按钮)
3部分电路的功能及介绍
3.1AT89S52引脚图及功能
该单片机各引脚的功能如下:
VCC:供电电压。
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口为一个内部上拉电阻的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”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89S52的一些特殊功能口,如表2-1所示。
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
表3-1 AT89S52各口管脚功能
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE
脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V 编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
4程序流程图
按秒表控制方案要求,主程序应是完成秒表正常情况下运动员成绩的计时和查询。主程序流程图如图4-1所示:
图4-1 主程序流程图
5 调试与检测
在完成了秒表控制器硬件设计、样机组装和软件设计以后,便进入系统的调试阶段。系统的调试步骤和方法基本上是相同的,但具体细节和所采用的开发系统以及用户系统选用的单片机型号有关,如可选用Keil公司的开发系统。
在整个调试过程中出现了几个问题,初始显示不为0;计数时间过慢;解决方案:初始送入累加器A中数为0即可;把定时初值进行仔细的计算,将正确的定时初值送入;经过调整,最后调试成功。
6 体会与总结
通过这两周周的学习,我感觉有很大的收获:首先,通过学习使自己对课本上的
知识可以应用于实际,使的理论与实际相结合,加深自己对课本知识的更好理解,同时实习也锻炼了我个人的动手能力:能够充分利用图书馆去查阅资料,增加了许多课本以外的知识。终于完成了秒表控制方案的设计,用AT89S52单片机实现秒表控制方案。通过这次设计,使我得到了一次用专业知识和专业技能去分析问题、解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程等方面都能向前迈了一大步,同时也认识到了自身的不足之处,为自己日后的学习打下了一定基础,激发了自己对单片机的兴趣,也奠定了自己更加深入学习的决心。
参考资料
[1]张友德,赵志英,涂时亮编,单片微型机原理、应用与实验(第五版),复旦大学出版社,2010年1月第6次印刷
[2].汪力主编,单片机原理与应用技术,清华大学出版社,2008年4月第6次印刷
[3].蔡骏主编,单片机实验指导教程,安徽大学出版社,2008年7月第一次印刷
[4].
附录一
单片机秒表使用说明
开始计数,按SP1暂停,然后按SP2继续计数,按SP3复位,然后按SP2重新开始计数。
附录二
程序:
#include
#define uint unsigned int
#define uchar unsigned char