简易秒表的制作的电子时钟设计.doc
《简易秒表的制作的电子时钟设计.doc》由会员分享,可在线阅读,更多相关《简易秒表的制作的电子时钟设计.doc(17页珍藏版)》请在沃文网上搜索。
1、淄博职业学院毕业设计摘 要单片机的简易秒表。采用动态扫描的方式。四数码管用于显示秒,分的个位十位。电路有三个按键,一个启动建,一个暂停键。一个清零键。按下开始建后,电路零开始计时;按下暂停键后,停止计时,并显示时间,;按下清零键后,显示00分00秒。关键词: 8051芯片,LED数码管 ,复位电路 目 录第一章 设计方案41.1 要求41.2 方法41.3 试验线路分析41.4 软件设计41.5 程序编制51.6 资源分配表5第二章 8051芯片的介绍62.1 电源引脚62.2 外接晶体引脚62.3 复位 RST 972.4 输入输出引脚7第三章 硬件线路设计图9第四章 程序流程图10第五章
2、系统软件编程12第六章 设计心得17参考文献18II第一章 设计方案1.1 要求用8051单片机,采用动态扫描的方式,用4位LED数码管显示秒、分值。晶振采用6MHZ。具体要求如下:(1) 从右往左显示秒值的个位、十位,分值的个位、十位,个位能向十位进位;(2) 上电后首先显示00 ,表示从00 秒开始计时,当时间显示到59 时,4位显示都清零,从零开始。(3) 以三个独立式按键实现复位、启动、停止。1.2 方法用中断的编程思路使用定时器T0,定时器工作在定时方式,实现1秒定时,每50ms溢出中断一次,中断20次后就到1秒钟;秒表计时显示用动态显示方式实现;通过键盘扫描方式取得KE0、KE1、
3、KE2的键值,用键盘的中断处理程序实现秒表的启动、停止、清0等功能。1.3 试验线路分析4位LED显示的位码由单片机的P2口输出,段码由P1口输出,P2口线与LED之间接有200欧限流电阻;LED为共阳极数码管,显示方式为动态显示方式;3个按键可以采用独立式键盘,其中两个按键分别连接到外部中断INT0、INT1,第3个按键连接到定时器1的T1端口,以中断方式实现键盘的扫描。动态显示程序中,在单片机内部RAM中设置待显示数据缓冲区,由查表程序完成显示译码,将缓冲区内待显示数据转换成相应的段码,再将段码通过8051的P0口输出;位码数据由累加器循环左移指令产生,再通过P2口输出。1.4 软件设计整
4、体程序主要分为3个部分:主程序、显示子程序和定时器中断程序。主程序主要是初始化部分和不断调用动态显示子程序部分。动态显示子程序完成四位LED的轮流位扫描,它被主程序不断调用,以保证稳定可靠的显示。显示时间的刷新由定时器中断产生,定时器每50ms中断一次,当中断20次后(即1s后),对时间单元(秒计数单元、分计数单元)进行更新,然后通过拆字子程序将时间单元里面的十六进制数拆开为两个BCD码,并送到显示缓冲区。返回主程序后显示缓冲区的待显示数据被刷新一次,数码管相应的显示数值也就随之发生变化。1.5 程序编制编程时置KE0健为“启动”,置KE1键为“停止”,置KE2键为“清0”,因按键较少,所以采
5、用独立式按键即可满足条件,其中两个按键分别连接到外部接口INT0、INT1,另外一个连接到外部引脚T1,编程时置T1为8位计数方式,初始值设定为0FFH.程序中,INT0、INT1和T1均允许中断,故按键的处理通过各相应中断子程序来完成。4位LED显示的数据由显示缓冲区30H33H单元中的数据决定,顺序是从右至左。动态显示时,每位显示持续时间为1ms,1ms延时由软件实现,4位显示约耗时4ms。1秒定时采用定时器T0方式1中断,每50ms中断一次,用20H(MCEC)作50ms计数单元,每20次为一个循环体,计满20次,秒计数单元21H(SEC)加1。21H、22H单元的数据均采用十六进制计数
6、,该数据被拆成个位和十位两个数据后分别送至显示缓冲区的30H、31H、32H、33单元。1.6 资源分配表名称地址分配用 途初始化值MSEC20H定时器50ms计数单元14HSEC21H秒计数单元00HMIN22H分计数单元00H30H35H显示缓冲区00H30H:秒的个位31H:秒的十位32H:分的个位33H:分的十位40H以上堆栈区 表 1-1资源分配表第二章 8051芯片介绍8051芯片内部有一高增益反相放大器,用于构成振荡器,反向放大器输入端为XTAL1,输出端XTAL2。在XTAL1和XTAL2两端跨接一个石英晶体及两个电容就构成了稳定自激振荡器,电容器C1和C2通常都取30PF左右
7、,对振荡频率有微调作用。振荡频率范围是1.2-12MHZ。2.1 电源引脚Vcc 40 电源端GND 20 接地端工作电压为5V,另有AT89LV51工作电压则是2.7-6V, 引脚功能一样。2.2 外接晶体引脚 图 2-1外接晶体引脚XTAL1 19 XTAL2 18 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。型号同样为AT89C51的芯片,在其后面还有频率
8、编号,有12,16,20,24MHz可选。大家在购买和选用时要注意了。如AT89C51 24PC就是最高振荡频率为24MHz,40P6封装的普通商用芯片。2.3 复位 RST 9在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。常用的复位电路如图所示。复位操作不会对内部RAM有所影响。图 2-2 常用复位电路2.4 输入输出引脚(1) P0端口P0.0-P0.7 P
9、0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2) P1端口P1.0P1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。
10、输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。(4) P3端口P3.0P3.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体请看表22.。P13端口在做输入使用时,因内部有上接电阻,被外部拉低的引脚会输出一定的电流。
11、P3引脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断0(INT0)P3.3外部中断1(INT1)P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器写选通WRP3.7外部数据存储器写选通RD 表 2-1端口引脚兼用功能表第三章 硬件线路设计图图 3-1硬件线路设计图第四章 程序流程图主程序 显示子程序开始定时器中断初始化秒单元初始化显示缓冲区初始化子程序入口保护现场显示初始化查表取字型码段码送p1口位码送p2口延时显示位码右移显示缓冲区下一位四位显示完?保护现场返回启动定时器调用显示子程序定时器中断子程序(如下图):1s到吗?调
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 秒表 制作 电子 时钟 设计