电子定时器的设计。
班级:电子0252
姓名:王小强。
指导教师:董增寿武晓佳。
同组人: 田坤。
太原科技大学电子信息工程学院。
第1章设计任务书。
1. 进一步学习51单片机内部计数器的使用和编程方法。
2. 进一步掌握中断处理程序的编程方法。
3. 了解键盘显示接口工作原理。
4. 定时电路供电或断电,最大时间可以长达30小时,操作使用方便。要求利用定时器定时,使七段数码管输出记时值。
第2章硬件连接及说明。
本实验连线实验板上已经接好,无需另外接线。这里我们先要安装好51试验板上的两个轻触按钮开关,我们采用的是独立式按钮开关,也就是说将开关直接连接到电源的地和单片机的对应引脚之间,这里k1接到单片机的p3.6引脚,k2接到p3.
7。正常情况下单片机的p3.6、p3.
7都被程序初始化时置“1” 当有按键按下时对应的单片机引脚被按钮开关下拉为“0”,这种方法比较直观,而且比较简单,在按键数量不多的场合下使用很广泛。因为机械开关开关时有抖动,所以需要在程序中加一个软件去抖动程序,它的工作原理如下:当单片机检测到有按键被按下后立即执行一个10毫秒的延时程序,然后再在检测该引脚是否仍然为闭合状态?
如果仍然为闭合说明确认该键被按下立即执行相应的处理程序,否则可能是干扰,丢弃这次检测结果。
接下来我们再安装一个四位的拨码开关,就是图中红色的开关,它相当于四个装在一起的拨动开关,当开关拨到"on"一侧时,对应的那路就会接通,反之断开。它在单片机中一般用于设置初始参数,而且不经常改变的场合。这里因为单片机引脚资源不够,所以我们只使用了拨码开关的第位,第1位闲置。
三个开关可以逻辑组合出8种状态,所以我们能够方便灵活地预置多达7种的倒计时时间。这里继电器由相应的s8050三极管来驱动,开机时,单片机初始化后的p2.3/p2.
4为高电平,+5伏电源通过电阻使三极管导通,所以开机后继电器始终处于吸合状态,如果我们在程序中给单片机一条:clr p2.3或者clr p2.
4的指令的话,相应三极管的基极就会被拉低到零伏左右,使相应的三极管截至,继电器就会断电释放,每个继电器都有一个常开转常闭的接点,便于在其他电路中使用,继电器线圈两端反相并联的二极管是起到吸收反向电动势的功能,保护相应的驱动三极管,这种继电器驱动方式硬件结构比较简单。
可设定时间的倒计时定时器,可选择5/15/20/30/35/45/50分钟倒计时。
倒计时时间由四位拨码开关的2/3/4位来控制,第2位表示5分钟,第3位表示15分钟,第4位表示30分钟,通过不同的组合可以产生5/15/20/30/35/45/50分钟倒计时。
p1.0口的外接的发光二极管为状态led,定时未开始时led常亮,定时过程中led闪烁。
k1为开始按钮,k2为停止按钮。
a_bit equ 20h ;数码管个位数存放内存位置。
b_bit equ 21h ;数码管十位数存放内存位置。
temp equ 22h ;计数器数值存放内存位置。
开机初始化。
mov p3,#0ffh;对p3口初始化,设置为高电平,用于按键输入。
mov p0,#0ffh;使显示时间数码管熄灭。
clr p1.0;点亮led指示灯。
第3章实验仪器和设备。
pc机、w**e软件、e2000/s**器+pod8x5x**头、mult1a用户板、实验板、开关电源等。
第4章设计思路。
本系统键盘显示接口由8279芯片控制,占用二个端口地址:数据口ff88h,命令口ff89h,在使用键盘显示功能时,要先初始化8279。
本实验中要将记时结果送led显示,这可通过调用下面给出的显示子程序来实现,调用过程是:先将各位记时值拆字,分别送到led0~led7显示缓冲区中去,然后调用显示子程序。本实验中用定时器t0产生1秒钟基本时间单位,本系统fosc=12mhz,当定时器t0工作在方式1(16位)时,最大定时时间为。
216*1μs=65536μs
再利用软件记数,当t0中断16次时,所用时间为。
65536*16=1048576μs≈1s
因此在t0中断处理程序中,要判断中断次数是否到16次,若不到16次,则只使中断次数加1,然后返回,若到了16次,则使电子秒表记时值加1(十进制),请参考硬件实验五有关内容。
五、实验仪器和设备。
pc机、w**e软件、e2000/s**器+pod8x5x**头、mult1a用户板、实验板、开关电源等。
工作原理。定时器/计数器简称定时器,其作用主要包括产生各种时标间隔、记录外部事件的数量等,是微机中最常用、最基本的部件之一。803l单片机有2个16位的定时器/计数器:
定时器0(t0)和定时器1(t1)。
t0由2个定时寄存器th0和tl0构成,t1则由th1和tl1构成,它们都分别映射在特殊功能寄存器中,从而可以通过对特殊功能寄存器中这些寄存器的读写来实现对这两个定时器的操作。作定时器时,每一个机器周期定时寄存器自动加l,所以定时器也可看作是计量机器周期的计数器。由于每个机器周期为12个时钟振荡周期,所以定时的分辨率是时钟振荡频率的1/12。
作计数器时,只要在单片机外部引脚t0(或t1)有从1到0电平的负跳变,计数器就自动加1。计数的最高频率一般为振荡频率的l/24。
工作方式:t0或t1无论用作定时器或计数器都有4种工作方式:方式0、方式1、方式2和方式3。
除方式3外,t0和t1有完全相同的工作状态。下面以t1为例,分述各种工作方式的特点和用法。
1、工作方式0:
13位方式由tl1的低5位和th1的8位构成13位计数器(tl1的高3位无效)。工作方式0的结构见下图:
图中,c/t为定时/计数选择:c/t=0,t1为定时器,定时信号为振荡周期12分频后的脉冲;c/t=l,t1为计数器,计数信号来自引脚t1的外部信号。
定时器t1能否启动工作,还受到了r1、gate和引脚信号int1的控制。由图中的逻辑电路可知,当gate=0时,只要tr1=1就可打开控制门,使定时器工作;当gate=1时,只有tr1=1且int1=1,才可打开控制门。gate,tr1,c/t的状态选择由定时器的控制寄存器tmod,tcon中相应位状态确定,int1则是外部引脚上的信号。
在一般的应用中,通常使gate=0,从而由trl的状态控制tl的开闭:trl=1,打开t1;trl=0,关闭t1。在特殊的应用场合,例如利用定时器测量接于int1引脚上的外部脉冲高电平的宽度时,可使gate=1,trl=1。
当外部脉冲出现上升沿,亦即int1由0变1电平时,启动t1定时,测量开始;一旦外部脉冲出现下降沿,亦即int1由l变o时就关闭了t1。
定时器启动后,定时或计数脉冲加到tll的低5位,从预先设置的初值(时间常数)开始不断增1。tl1计满后,向thl进位。当tl1和thl都计满之后,置位t1的定时器回零标志tfl,以此表明定时时间或计数次数已到,以供查询或在打开中断的条件下,可向cpu请求中断。
如需进一步定时/计数,需用指令重置时间常数。
2、工作方式1:
16位方式。与工作方式0基本相同,区别仅在于工作方式1的计数器tl1和th1组成16位计数器,从而比工作方式0有更宽的定时/计数范围。工作方式1的结构见下图。
3、工作方式2
8位自动装入时间常数方式。由tll构成8位计数器,thl仅用来存放时间常数。启动t1前,tll和thl装入相同的时间常数,当tl1计满后,除定时器回零标志tfl置位,具有向cpu请求中断的条件外,thl中的时间常数还会自动地装入tll,并重新开始定时或计数。
所以,工作方式2是一种自动装入时间常数的8位计数器方式。由于这种方式不需要指令重装时间常数,因而操作方便,在允许的条件下,应尽量使用这种工作方式。当然,这种方式的定时/计数范围要小于方式0和方式1。
工作方式2的结构见下图.
4、工作方式3
2个8位方式。工作方式3只适用于定时器0。如果使定时器1为工作方式3,则定时器1将处于关闭状态。
当t0为工作方式3时,tho和tl0分成2个独立的8位计数器。其中,tl0既可用作定时器,又可用作计数器,并使用原t0的所有控制位及其定时器回零标志和中断源。th0只能用作定时器,并使用t1的控制位trl、回零标志tfl和中断源,见下图。
通常情况下,t0不运行于工作方式3,只有在t1处于工作方式2,并不要求中断的条件下才可能使用。这时,t1往往用作串行口波特率发生器(见1.4),th0用作定时器,tl0作为定时器或计数器。所以,方式3是为了使单片机有1个独立的定时器/计数器、1个定时器以及1个串行口波特率发生器的应用场合而特地提供的。
这时,可把定时器l用于工作方式2,把定时器0用于工作方式3。
下才可能使用。这时,t1往往用作串行口波特率发生器,th0用作定时器,tl0作为定时器或计数器。所以,方式3是为了使单片机有1个独立的定时器/计数器、1个定时器以及1个串行口波特率发生器的应用场合而特地提供的。
这时,可把定时器l用于工作方式2,把定时器0用于工作方式3。
控制寄存器。
定时器/计数器t0和t1有2个控制寄存器-tmod和tcon,它们分别用来设置各个定时器/计数器的工作方式,选择定时或计数功能,控制启动运行,以及作为运行状态的标志等。其中,tcon寄存器中另有4位用于中断系统。
1、定时器方式控制寄存器tmod
tmod在特殊功能寄存器中,字节地址为89h,无位地址。tmod的格式如下图年示。
由图可见,tmod的高4位用于t1,低4使用于t0,4种符号的含义如下:
gate:门控制位。其作用见图1.6。gate和软件控制位tr、外部引脚信号int的状态,共同控制定时器/计数器的打开或关闭。
c/t:定时器/计数器选择位。c/t=1,为计数器方式;c/t=0,为定时器方式。
m1m0:工作方式选择位,定时器/计数器的4种工作方式由m1m0设定。
m1m0=00:工作方式0(13位方式)。
m1m0=01:工作方式1(16位方式)。
m1m0=10:工作方式2(8位自动装入时间常数方式)。
mlm0=11:工作方式3(2个8位方式--仅对t0)。
2.定时器控制寄存器--tcon
tcon在特殊功能寄存器中,字节地址为88h,位地址(由低位到高位)为88h一8fh,由于有位地址,十分便于进行位操作。
tcon的格式如下图所示。其中,tfl,trl,tf0和tr0位用于定时器/计数器;iel,itl,ieo和it0位用于中断系统。
tfl,trl用于定时器t1;tf0,tr0用于定时器t0。两组符号有相同的含义。
tf:定时器/计数器中断请求标志位。当定时器计满回零时,tf=1,并可申请中断;当cpu响应中断并进入中断服务程序后,tf自动清零。
如对tf查询,定时器回零后,要用指令将tf清零。
tr:定时器/计数器开闭控制位。
iel,itl用于外部中断1(1ntl);ie0,it0用于外部中断0(1nt0)。两组符号的含义相同。
it:下跳沿/低电平引起外部中断请求的选择位。it=1,由下跳沿引起;it=0,由低电平引起。
ie:外部中断的中断申请标志。ie=0,表明无外部中断请求;ie=1,表明有外部中断请求。当有外部中断请求时,ie自动为1,单片机cpu响应此中断后,ie自动清零。
定时/计数初值的求取方法。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...