单片机设计秒表(共19页).doc
《单片机设计秒表(共19页).doc》由会员分享,可在线阅读,更多相关《单片机设计秒表(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 单片机课程设计 题 目 单片机秒表设计授课教师 董文会 学生姓名 吕丙扬 靳立松 李 扬 学 号 3 6 5 专 业 2010级电子信息工程 教学单位 物理与电子信息学院 完成时间 2013年6月24日专心-专注-专业目录一、 设计的目的及意义1二、 设计方案及原理1三、 硬件设计与电路设计2 3.1 AT89C51单片机最小系统简介2 3.2 复位按键4 3.3晶振电路4 3.4数码管显示模块5 3.5按键开关5 3.6总电路图6四、 软件设计6 4.1秒表初始化设计6 4.2按键检测程序6 4.3开始计时7 4.4计时程序7 4.5显示程序74.6暂停计时74.
2、7秒表清零74.8延时程序8 4.9程序流程图8五、总结9附录10参考文献15一、 设计的目的及意义 单片微型计算机体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。用AT89C51设计一个3位LED
3、数码显示“秒表”,显示时间为0099秒,每秒自动加一。设计一个“开始”按键和一个“复位”按键。再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。二、设计方案及原理 以AT89C51单片机为核心,设计一个秒表,具有计时功能,按键有启动计时、数据清零、停止、时间显示。 采用3个LED数码管显示时间,计时范围设置为099.9秒,即精确到0.1秒,用按键控制秒表的“开始”、“暂停”、“复位”,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。系统总体方案如图2.1所示:AT89C513个数码显示管4个独立
4、式按键 11.059MHz晶振电源开关图2.1 系统总设计图三、硬件设计与电路设计 3.1 AT89C51单片机最小系统简介 单片机最小系统由AT89C51、复位按钮、晶振组成。选用频率11.0592MHz晶振,两个30pF电容。如图3.1所示:图3.1单片机最小系统 VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1
5、口是一个内部提供上拉电阻的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”时,它利用内部上拉
6、优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5
7、 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,
8、 ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。3.2 复位按键 复位按键如图3.2
9、所示:图3.2 复位按键3.3晶振电路 系统总电路除以上的显示电路,按键电路和复位电路组成外,其次还剩晶振电路和电源电路。再将单片机与以上各部分电路合理的连接就组成了系统总电路。AT89C51单片机为主电路的核心部分,各个电路均为和单片机相连接,由单片机统筹和协调各个电路的运行工作。 AT89C51单片机提供了XTAL1和XTAL2两个专用引脚接晶振电路,因此只要将晶振电路接到两个专用引脚即可为单片机提供时钟脉冲,但在焊接晶振电路时要尽量使晶振电路靠近单片机,这样可以为单片机提供稳定的时钟脉冲。 晶振电路如图3.3所示: 图3.3 晶振电路3.4数码管显示模块 显示电路采用3位共阳极LED 数
10、码管,P0 口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。LED1显示秒表的十秒位,LED2显示秒表的秒位,LED3显示毫秒位。复位后显示00.0。如图3.4所示:图3.4 数码管显示模块3.5按键开关 按键开关有4个按键,其中K1为开始按键,K2为暂停按键,K3为快加按键,K4为复位按键。按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“快加”按键,系统每10ms快速加一,即数码管在原先的计数上快速加一。图3.5 按键开关3.6总电路图
11、将各个模块链接后组成总电路图,如图:3.6所示:图3.6总电路图四、 软件设计4.1秒表的初始化根据程序流程图,先进行秒表的初始化,即:将I/O口P3全写一,为秒表的控制输入做好准备;将数码管全部置零,使其处于秒表计时的初始状态;将工作寄存器R0R2以及30H初始化,留待后面的计时程序备用;将定时器0置于工作方式1,并为其装入计时预置数D8FE(因为程序运行过程中占用的时间会导致一定误差,此为经实物测试之后的修正值),即将定时器定为每10ms溢出;开总中断允许和定时器0中断允许。初始化完成后,即进入之后的按键扫描程序。4.2按键检测程序轮流检测开始计时(P3.2)、暂停计时(P3.3)、秒表清
12、零(P3.4)三个按键。若发现有一个按键出现低电平(可能被按下),则延时10ms(调用延时子程序DELAY),延时完成后,若发现低电平消失,则说明该按键实际上未被按下,此时转回按键检测处继续检测;若发现仍然是低电平,则说明此键确实被按下了,此时就跳转至相应的程序标号处,执行相应的功能。4.3开始计时若确认“开始计时”键被按下,则跳转至程序标号“RUN”处,将定时器0计时允许控制位TR0置位,则定时器开始运行。此动作完成后,返回按键检测程序,等待操作者的下一次指令。4.4计时程序定时器0计时至10ms,溢出,引发中断,程序跳转至定时器0中断服务程序入口000BH处执行。程序跳转至中断服务程序TI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 设计 秒表 19
限制150内