您的当前位置:首页正文

单片机课程设计——秒表

2021-10-08 来源:步旅网
单片机预习报告

--------------秒表

一 、题目分析

利用单片机内部定时/ 计数器和中断功能, 实现分、秒、十分之一秒的正计时和倒计时功能, 并将计时时间通过六位数码管实时动态显示出来。倒计时模式中可通过键盘上的按键分别对分、秒进行定时设定, 在计时过程中, 可通过相应按钮进行暂停、开始, 从而实现了六位倒计时秒表功能。

二.系统总体设计与框图

系统框图如图下图所示。该过程是:利用单片机8051实现计数功能,按键开关 K4按下,切换定时与计时。定时范围在0到99分,计时范围在0到99.99.秒。首先通过检测按键K4,来确定系统工作什么模式,计时模式有开始,暂停,复位3种功能,倒计时模式有,置数,开始,暂停,复位功能。

数码管显示 片机系统 方式2:倒计时模式,置数,开始,暂停,复位 方式1:计时模式,开始,暂停,复位

系统总体设计与框图

三.解决方案:

初始化为何种状态,开关是否按下,显示是定时状态还是计时状态。若为定时状态,。用6个共阴数码管LED显示起显示时间,采用动态显示

的方法,P2.4、P2.5、P2.6、P2.7作为位选信号,P0口输出选段码。键盘为独立式按键,分别接在P3.2、P3.3、P3.4、P3.5上。K1为设置/启动功能键。按下时,系统进入时间设置;再按下,系统启动。K2为倒计时时间十位数设定键,按下时十位数字在0到9的范围。K3倒计时个位数设定键,按下时,个位数字在0到9的范围。K4为复位键。K5为定时与计时的切换键,按下切换到计时状态,不按为定时状态。P3.5连接发光二极管状态指示,系统时间设为定时状态熄灭,倒计时状态闪烁。P3.6输出控制信号驱动蜂鸣器,倒计时时间到,蜂鸣器响。开始正计时,正计时结束,蜂鸣器再响,程序结束。

四.各模块方案

1.计时模式

开始计时:利用外部中断1与定时中断1进行开始功能与计时功能 暂停计时:利用外部中断关闭时实现暂停功能

硬件复位:利用电容的冲电与放电特性实现硬件复位。

实现方法:用8051单片机做一个最小系统 ,计数器的复位功能通过单片 机的硬件复位来实现。秒表的显示用数码管显示,秒表的秒计数和循环通过程序控制单片机的输出来显示在数码管上。秒表的开始的暂停通过外部中断外部中断0来实现

关于硬件复位,MCS-51单片机的复位是靠外部电路实现的。MCS-51单片机工作之后,只要在51单片机的RST引线上加载10ms以上的高点平,单片机就能有效地复位。MCS-51单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路: 上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上的高电平,就能使单片机有效的复位。在应有系统中,有些外围芯片也需要复位。如果这些芯片复位端的复位电平与单片机的复位电平的要求一致,则可以将复位信号与之相连。

2.倒计时模式

当倒计时时,送一个数,从这个数一直计到0蜂鸣器响。

3.LED 动态扫描显示

微机化测控系统中常用的测量数据的显示器有发光二极管显示器(简称LED或数码管)和液晶显示器(简称LCD)。这两种显示器都具有线路简单、耗电少、成本低、寿命长等优点,本系统输出结果选用个6个LED显示。 LED数码管的外形结构如图2-4,外部有10个引脚,其中3, 8脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字((0-9中的一个)必须在这个数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。由于系统要显示的内容比较简单,显示量不多,所以选用数码管既方便又经济。LED有共阴极和共阳极两种。如图2-4所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。

共阴极 共阳极

图2-4 LED数码管结构原理图

数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。为节

省端口及降低功耗,本系统采用动态扫描显示方式。动态扫描显示方式需要解决多位LED数码管的“段控”和“位控”问题,本电路的通过P1口实现:而每一位的公共端,即LED数码管的“位控”,则由P3口控制。这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位则暗。在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开头”状态。

4.晶振

单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的倍频或分频后就成了各种不同的总线频率。我们可以使用晶振来作为计时的工具。晶振也是很多电子设备中不可缺少的一部分。

晶振分为有源晶振和无源晶振。无源晶振只有两个引脚,没有所谓的正负极。有源晶振需要接电源才能工作,一般有四个引脚,其中有两个电源输入引脚,有正负极之分。本设计采用的是无源晶振,无源晶振,两个电容分别接到晶振的两端,每个电容的另一端再接到地。一般的电容为15p或12.5p 。再与芯片引脚相连。

五.计时误差分析

单片机电子钟的计时脉冲基准是由外部晶振的频率经过12 分频后提供,采用内部的定时/计数器来实现计时功能。所以, 外接晶振频率精确度直接影响电子钟计时的准确性。再者, 单片机电子钟利用内部定时/计数器溢出产生中断, 定时中断子程序中的数据入栈和重装定时/计数器的初值还需要占用数个机器周期, 还有从中断入口转到中断子程序也要占用一定的机器周期, 这将导致计时不准。

六.程序设计

程序主流程图如下

计时流程图:

秒表倒计时子程序 输入时间初值 N 开始键按下? Y 启动定时器 显示当前时间 N 当前时间等于0? Y 蜂鸣报警,关定时器 返回

正计时子程序 开始键按下? N Y 启动定时器 显示当前时间 Y Y 暂停键按下? 记录当前时间 N N 开始键按下? 是否记录了十组值? N Y 返回 Y

因篇幅问题不能全部显示,请点此查看更多更全内容