4) EX1和EX0分别是外部中断1(INT1)和外部中断0(INT0)的中断允许位。
以上五个中断允许位的意义是:0为禁止中断,1为允许中断。
2.中断源优先级控制-中断优先级寄存器IP。 MCS-51单片机有高、低两个中断优先级,5个中断源可由程序设臵为高优先级中断或低优先级中断,实现二级中断嵌套。一个正在执行的低优先级中断源的中断服务程序,能被高优先级中断源所中断,但不能被同级别的另一个中断源所中断。MCS-51单片机的5个中断源的优先级由中断优先级寄存器IP的相应位设定。 IP格式如下: / / / PS 1 PT1 PXPT0 0 PX1) PS是串行口的中断优先级控制位。
2) PT1和PT0分别是定时器T1和T0的中断优先级控制位。 3) PX1和PX0分别是外部中断INT1和INT0的中断优先级控制位。
中断优先级控制位的意义是:0为设定为低优先级中断源;1为设定为高优先级中断。 如果同优先级的多个中断请求同时出现时,则按MCS-51单片机的CPU查询次序确定那个中断请求被响应,其查询次序为:IE0、TF0、IE1、TF1、 RI或TI。 b.MCS-51的定时系统
在控制系统中,常常要求有一些实时时钟以实现定时
14
或延时控制,如定时中断、定时检测、定时扫描等等,也往往要求有计数器能对外部事件计数。MCS-51单片机有2个定时器,称为定时器0(T0)和定时器1(T1)。
(1)定时器的结构
MCS-51单片机的定时器由计数器0、计数器1、方式控制寄存器和定时器控制寄存器组成。计数器0和计数器1分别由8位计数器TH0、TL0和TH1和TL1构成。TH0、TL0、TH1、TL1是不能位寻址的特殊功能寄存器,通过对TH0、TL0、TH1、TL1的初始化编程来控制T0和T1的计数初值。
MCS-51单片机的两个计数器TH0、TL0和TH1、TL1可以构成16位的计数器、13位的计数器和8位的计数器。计数器是定时器T0和T1的核心,它可以对引线T0和T1来的外部事件计数;也可以对单片机的机器周期计数。一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。这样,不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预臵值。计数器是加法计数器,所以预臵的计数初值应为计数值的补码。
(2)定时器的工作方式
MCS-51单片机的T0有方式0、方式1、方式2和方式3四种工作方式。T1有方式0、方式1和方式2三种工作方式。
工作方式控制寄存器TMOD:TMOD寄存器是不能位寻址的特殊功能寄存器,用于控制T1和T0的工作方式,各位的定义如下: GA
C/T M1 M0 GATC/T M1 M0 15
TE E TMOD的高半字节和低半字节的定义相同,高半字节用
于控制T1,低半字节用于控制T0,其中,GATE是门控位。GATE为1时,定时器的计数器受外部引线INT0或INT1输入电平的控制,输入高电平计数,输入低电平停止计数,这时可以用于测量在INTx引线出现的正脉冲宽度;GATE为0时,定时器的计数不受INT0或INT1引线的控制。
C/T是定时器和计数器选择位。C/T为1,选择计数器方式,计数器THi和TLi对Ti引线输入的外部事件计数;C/T为0,选择定时器方式,计数器THi和TLi对机器周期进行计数。
M1和M0是定时器的工作方式选择位。M1和M0这2位有00-11四个状态,分别选择方式0(13位定时器)、方式1(16位定时器)、方式2(8位自动重装载定时器)和方式3(T0分成两个8位的定时器)。 §2.4各部分功能实现
(1) 单片机发送的信号通过程序控制最终在数码管上显示
出来。
(2) 单片机通过输出各种电脉冲信号来驱动控制各部分正
常工作。
(3) 为使时钟走时与标准时间一致,校时电路是必不可少
的,键盘用来校正数码管上显示的时间。
(4) 单片机通过控制闹铃电路来完成 定时闹钟的功能。 §2.5系统工作原理
设计的电路主要由四模块构成:单片机控制电路,显示
16
电路、闹铃电路以及校正电路如图2-5所示。
1、秒表2、时间调整3、数字显示4、闹铃设置abcdefgdp时间显示区12345678C730pC830p19X1键盘控制区12MHzU1核心控制区P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617abcdefgdp12345678R13XTAL118XTAL29Q1PNPRST010203040506293031PSENALEEALS1010203040506070812345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51SPEAKER秒表调分调时显时闹铃暂停电子信息0701 付桂英
图2-3详细电路功能图 本系统的设计电路如图2-5所示,左边按键控制时分秒加一减一操作,右边开关切换数码管显示时钟,秒表,倒计时定时器等功能。右上角是八位一体的数码管LED,用于显示。数码管左边的上拉电阻具有自动拉高P0 I/O口的功能。
本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示。
17
§2.6时钟各功能分析及图解 §2.6.1电路各功能图解分析 (1) 时钟运行图
仿真开始运行时,或按下仿真软件的开始按键时,时钟从12:00:00开始运行,其中K3键对时进行调整,K2对分钟进行调整,K6键可以让 钟表显示暂停。 时钟运行图如图 2-6 所示:
单片机电子时钟主要功能:1、秒表2、时间调整3、数字显示4、闹铃设置abcdefgdp时间显示区 12345678 图2-4时钟运行图 (2)秒表计时图
当按下K1键进入秒表计时状态,K6键是秒表暂停键,可按K4键跳出秒表计时状态。 如图2-7所示:
单片机电子时钟主要功能:1、秒表2、时间调整3、数字显示4、闹铃设置abcdefgdp时间显示区12345678 图2-5 秒表计时图 (3)闹铃设臵图及运行图
18