内蒙古工业大学本科毕业设计说明书
2.4 8051的定时/计数器和中断系统
2.4.1 8051的定时/计数器
8051内部设有两个16位可编程的定时器/计数器,即定时器/计数器1和0,分别用T0、T1表示。它由两个特殊功能寄存器TMOD和TCON及T0、T1组成。其中TMOD为模式控制寄存器,主要用来设置定时器/计数器的操作模式;TCON为控制寄存器,主要用来控制定时器的启动与停止。
8051定时器/计数器结构如图2-7所示。定时/计数器T0由TH0、TL0构成,T1由TH1、TL1构成。两个16位的定时器/计数器T0和T1均可以分成2个独立的8位计数器即TH0、TL0、TH1、TL1,它们用于存定时或计数的初值。
定时器/计数器是一种可编程部件,在定时器/计数器开始工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器。将控制字写入定时/计数器的过程叫定时器/计数器初始化。
图2-7 8051定时器/计数器结构图
2.4.2 8051的中断系统
中断是指中央处理器CPU正在执行程序,处理某事件的时候,外部发生了某一事件,请求CPU马上处理。CPU暂时中断当前的工作,转入处理所发生的事件(如控制相应装置工作,使温湿度达到规定要求),处理后再返回原来被中断的地方,继续原来的工作。这样的过程称为中断。实现这种中断的装置称中断系统。
8051单片机的中断系统可分为3类:外部中断,定时中断和串行口中断。中断
16
内蒙古工业大学本科毕业设计说明书
系统的基本特点是:有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的编程。结合图2-8分别介绍中断系统的五个中断源:
INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。 INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。 T0:定时器/计数器0中断,由T0计满回零引起。 T1:定时器/计数器l中断,由T1计满回零引起。
TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。
图2-8 8051的终端中断系统
在中断请求被响应前,中断请求标志分别由特殊功能寄存器TCON和SCON的相应位锁存。
(1)TCON中的中断标志
TCON为定时器/计数器的控制寄存器,除了可以用于控制定时/计数器T0和T1的溢出和中断外,还可以控制外部中断INT0和INT1的触发方式和锁存外部中断请求标志。TF1—T1溢出中断标志。T1被启动计数后,从初值开始加1计数,直到计满溢出后,由硬件使TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清“0”。
TF0—T0中断标志。功能类似于TF1
IE1—INT1外部中断1标志。IE1=1表明外部中断1向CPU申请中断。
17
内蒙古工业大学本科毕业设计说明书
IT1—外部中断1触发方式控制位。
IE0—INT0外部中断0标志。功能类似于IE1。 IT0—外部中断0触发方式控制位。功能类似于IT1。 (2)SCON中的中断标志
SCON是串行口控制器,其低2位TI和RI锁存串口的发送中断和接受中断标志。
TI—串行发送中断标志。CPU将一个字节数据写入发送缓冲器SBUF后启动发送,每发送完一个串行桢,硬件置位TI。但CPU相应中断后并不能自动清除,标志必须由软件清除。
RI—串行接受中断标志。在串行口允许接受时,每接受完一个串行桢,硬件置位RI。同样,CPU响应中断后不会自动清除RI,标志必须由软件清除。
中断优先级寄存器IP,中断优先级中由中断优先级寄存器IP来高置的,IP中某位设为1,相应的中断就是高优先级,否则就是低优先级。中断优先原则如下:
① 低级不打断高级 ② 高级不理睬低级 ③ 同级不能打断
④ 同级、同时中断,事先约定。
18
内蒙古工业大学本科毕业设计说明书
第三章 MCS-51系列单片机的基本扩展
单片机内部的ROM、RAM的容量、I/O接口等资源往往有限,在实际应用中通常不够用,因此需要对单片机的资源进行扩展。
首先需要扩展的是程序存储器和数据存储器。单片机内部虽然有一定数量的存储器,但常常不能满足实际需要,因此要求从外部进行扩展。
其次需要扩展的是输入/输出接口。单片机的主要用途是控制,因此它必须与外部设备打交道。单片机虽然设置了4个并行I/O口,用来与外围设备连接,但当外围设备较多时,I/O口就显得不够用,因此需要扩展输入输出接口。
3.1 地址锁存器
在基本扩展电路中,都用到地址锁存器。这是因为P0口输出的低8位地址必须用地址锁存器进行锁存。本设计选用74LS373,引脚如图3-1。
图3-1 地址锁存器74LS373引脚图
74LS373是带有三态门的8D锁存器当三态门的使能信号线OE为低电平时,三态门处于导通状态,允许Q0~Q7输出到OUT1?8,当OE为高电平时,输出三态门断开,输出线OUT1?8处于浮空状态。当G输入端为高电平时,锁存器输出(Q0~Q7)状态和输入端(D0~D7)状态相同;当G端从高电平返回到低电平时(下降沿)时,输入端D0-D7的数据锁入Q0~Q7的8位锁存器中。当74LS373作为地址锁存器时,它们的锁存控制端G可直接与单片机的锁存信号ALE相连,在ALE下降沿进行地址锁存。
19
内蒙古工业大学本科毕业设计说明书
3.2 程序存储器的扩展
3.2.1 程序存储器芯片选取
27128是16K*8位紫外线擦除电可编程只读存储器,单一+5V电源供电,工作电流为100mA,维持电流为40mA,读出时间最大为250ns,27128为28脚双列直插式封装,图3-2为27128引脚图,表3-1为27128的引脚功能。
图3-2 27128引脚图 表3-1 27128的引脚功能
A0~A13 O0~O7 地址线 数据线 数据输出选通线 片选线 编程脉冲输入 编程电源 20