单片机及应用_第五章_80C51单片机的中断与定时
80c51单片机定时器计数器工作原理

80c51单片机定时器计数器工作原理80C51单片机是一种常用的微控制器,其定时器/计数器(Timer/Counter)是实现定时和计数功能的重要组件。
以下简要介绍80C51单片机定时器/计数器的工作原理:1. 结构:定时器/计数器由一个16位的加法器构成,可以自动加0xFFFF(即65535)。
定时器/计数器的输入时钟可以来自系统时钟或外部时钟源。
2. 工作模式:定时模式:当定时器/计数器的输入时钟源驱动加法器不断计数时,可以在达到一定时间后产生中断或产生其他操作。
计数模式:当外部事件(如电平变化)发生时,定时器/计数器的输入引脚可以接收信号,使加法器产生一个增量,从而计数外部事件发生的次数。
3. 定时常数:在定时模式下,定时常数(即定时时间)由预分频器和定时器/计数器的初值共同决定。
例如,如果预分频器设置为1,定时器/计数器的初值为X,那么实际的定时时间 = (65535 - X) 预分频系数输入时钟周期。
在计数模式下,定时常数由外部事件发生的时间间隔决定。
4. 溢出和中断:当加法器达到65535(即0xFFFF)时,会产生溢出,并触发中断或其他操作。
中断处理程序可以用于执行特定的任务或重置定时器/计数器的值。
5. 控制寄存器:定时器/计数器的操作可以通过设置相关的控制寄存器来控制,如启动/停止定时器、设置预分频系数等。
6. 应用:定时器/计数器在许多应用中都很有用,如时间延迟、频率测量、事件计数等。
为了充分利用80C51单片机的定时器/计数器功能,通常需要根据实际应用需求配置和控制相应的寄存器,并编写适当的软件来处理定时器和计数器的操作。
80C51单片机的定时计数器

80C51单片机的定时计数器定时计数器的控制寄存器<>定时器/计数器的工作方式1.定时器/计数器的工作方式0<1)电路逻辑结构当图6-7中的计数器=13位<TH的8位与TL低5位)即得方式0的逻辑电路图。
<2)工作方式0的特点①两个定时器/计数器T0、T1均可在方式0下工作;②是13位的计数结构,其计数器由TH全部8位和TL的低5位构成<高3位不用);③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。
应说明的是,方式0采用13位计数器是为了与早期的产品兼容,计数初值的高8位和低5位的确定比较麻烦,所以在实际应用中常由16位的方式1取代。
2.定时器/计数器的工作方式1<1)电路逻辑结构方式1是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。
其逻辑电路如图6-11所示。
<2)工作方式1的特点①两个定时器/计数器均可在方式1下工作;②是16位的计数结构,其计数器由TH的全部8位和TL的全部8位构成;③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。
<3)计数/定时的范围在方式1下,当为计数工作方式时,由于是16位的计数结构,所以计数范围是:1~65536。
当为定时工作时,其定时时间=<216-计数初值)×机器周期,例如:设单片机的晶振频率f=12MHz,则机器周期为1μs,从而定时范围:1μs~65536μs。
因为80C51单片机的定时计数器是可编程的。
因此,在利用定时/计数器进行定时计数之前,先要通过软件对他进行初始化,初始化一般应进行如下工作:①设置工作方式,即设置TMOD中的各位GATE、C/T、M1M0。
②计算加1计数器的计数初值COUNT,并将计数初值COUNT 送入TH、TL中。
计数方式:计数值 = 2n – COUNT ,计数初值:COUNT= 2n –计数值。
5单片机中断定时器的使用

0 PS 1
0
自
高
然
级
1
优
先
级 中断入口
中断源
自
低
0
然
级
优
先
级 中断入口
中断源
SCON
1、(P3.2)可由IT0(TCON.0)选择其为低电平 有效还是下降沿有效。当CPU检测到P3.2引脚上 出现有效的中断信号时,中断标志IE0(TCON.1) 置1,向CPU申请中断。
第5章 单片机中断及定时计数器控制
第5章 单片机中断及定时计数器控制
而80C52单片机有四个中断优先级,即可实现四级 中断服务嵌套。每个中断源的中断优先级由中断优 先级寄存器IP和IPH中的相应位的状态来规定的 。
▪PX0(IPH.0),外部中断0优先级设定位; ▪PT0(IPH.1),定时/计数器T0优先级设定位; ▪PX1(IPH.2),外部中断0优先级设定位; ▪PT1(IPH.3),定时/计数器T1优先级设定位; ▪PS (IPH.4),串行口优先级设定位; ▪PT2 (IPH.5) ,定时/计数器T2优先级设定位。
第5章 单片机中断及定时计数器控制
2、SCON的中断标志
▪RI(SCON.0),串行口接收中断标志位。当允 许串行口接收数据时,每接收完一个串行帧,由 硬件置位RI。注意,RI必须由软件清除。 ▪TI(SCON.1),串行口发送中断标志位。当 CPU将一个发送数据写入串行口发送缓冲器时, 就启动了发送过程。每发送完一个串行帧,由硬 件置位TI。CPU响应中断时,不能自动清除TI, TI必须由软件清除。
自
低
0
然
级
优
先
级 中断入口
中断源
第5章 单片机中断及定时计数器控制
单片机原理及应用总结

单片机原理及应用第一章绪论1.什么叫单片机?其主要特点有哪些?在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
特点:控制性能和可靠性高、体积小、价格低、易于产品化、具有良好的性价比。
第二章80C51的结构和原理1.80C51的基本结构a.CPU系统●8位CPU,含布尔处理器;●时钟电路;●总线控制逻辑。
b.存储器系统●4K字节的程序存储器(ROM/EPROM/FLASH,可外扩至64KB);●128字节的数据存储器(RAM,可外扩至64KB);●特殊功能寄存器SFR。
c.I/O口和其他功能单元●4个并行I/O口;●2个16位定时/计数器;●1个全双工异步串行口;●中断系统(5个中断源,2个优先级)2.80C51的应用模式a.总线型单片机应用模式◆总线型应用的“三总线”模式;◆非总线型应用的“多I/O”模式3.80C51单片机的封装和引脚a.总线型DIP40引脚封装●RST/V PO:复位信号输入引脚/备用电源输入引脚;●ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚;●EA/V PP:内外存储器选择引脚/片内EPROM编程电压输入引脚;●PSEN:外部程序存储器选通信号输出引脚b.非总线型DIP20封装的引脚●RST:复位信号输入引脚4.80C51的片内存储器增强型单片机片内数据存储器为256字节,地址范围是00H~FFH。
低128字节的配情况与基本型单片机相同。
高128字节一般为RAM,仅能采用寄存器间接寻址方式询问。
注意:与该地址范围重叠的特殊功能寄存器SFR 空间采用直接寻址方式询问。
5.80C51的时钟信号晶振周期为最小的时序单位。
一个时钟周期包含2个晶振周期。
晶振信号12分频后形成机器周期。
即一个机器周期包含12个晶振周期或6个时钟周期。
6.80C51单片机的复位定义:复位是使单片机或系统中的其他部件处于某种确定的初始状态。
单片机中断、定时器的应用

80C51中断的控制 80C51中断的控制
一,中断允许控制
CPU对中断系统所有中断以及某个中断源的开放和屏 CPU对中断系统所有中断以及某个中断源的开放和屏 蔽是由中断允许寄存器IE控制的 控制的. 蔽是由中断允许寄存器IE控制的.
EX0(IE.0),外部中断0允许位; EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; ET0(IE.1),定时/计数器T0中断允许位 中断允许位; EX1(IE.2),外部中断0允许位; EX1(IE.2),外部中断0允许位; ET1(IE.3),定时/计数器T1中断允许位; ET1(IE.3),定时/计数器T1中断允许位 中断允许位; ES(IE.4),串行口中断允许位; ES(IE.4),串行口中断允许位; EA (IE.7), CPU中断允许(总允许)位. (IE.7), CPU中断允许 总允许) 中断允许(
80C51单片机中断处理过程 80C51单片机中断处理过程
3.2.1 中断响应条件和时间
中断响应条件
中断源有中断请求; 中断源有中断请求; 此中断源的中断允许位为1; 此中断源的中断允许位为1 CPU开中断(即EA=1). CPU开中断 开中断( EA=1).
随着计算机技术的应用, 随着计算机技术的应用,人们发现中断技 术不仅解决了快速主机与慢速I/O设备的数 术不仅解决了快速主机与慢速I/O设备的数 据传送问题,而且还具有如下优点: 据传送问题,而且还具有如下优点: 分时操作.CPU可以分时为多个I/O设备 分时操作.CPU可以分时为多个 可以分时为多个I/O设备 服务,提高了计算机的利用率; 服务,提高了计算机的利用率;
2,SCON的中断标志 SCON的中断标志
RI(SCON.0),串行口接收中断标志位.当允 RI(SCON.0),串行口接收中断标志位. ),串行口接收中断标志位
80C51 的中断源和中断控制寄存器_单片机原理与接口技术(第2版)_[共3页]
![80C51 的中断源和中断控制寄存器_单片机原理与接口技术(第2版)_[共3页]](https://img.taocdn.com/s3/m/7068d0fdcfc789eb162dc845.png)
80C51系列单片机的中断系统和定时/计数器116第5章③ 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。
5.1.2 80C51的中断源和中断控制寄存器1.中断源中断源是指向CPU 发出中断请求的信号来源。
中断源可以人为设定,也可以响应突发性随机事件。
80C51系列单片机有5个中断源,其中2个是外部中断源,3个是内部中断源。
① INT0—外部中断0,从P3.2引脚输入的中断请求。
② INT1—外部中断1,从P3.3引脚输入的中断请求。
③ T0—定时/计数器T0,定时器0溢出发出中断请求,计数器0从外部P3.4引脚输入计数脉冲中断请求。
④ T1—定时/计数器T1,定时器1溢出发出中断请求,计数器1从外部P3.5引脚输入计数脉冲中断请求。
⑤ 串行口中断,包括串行接收中断RI 和串行发送中断TI 。
2.中断控制寄存器80C51系列单片机涉及中断控制有中断请求、中断允许和中断优先级控制3个方面4个特殊功能寄存器,按图5-2所示从左到右分别如下。
① 中断请求寄存器:包括定时和外中断控制寄存器(TCON )、串行控制寄存器(SCON )。
② 中断允许控制寄存器IE 。
③中断优先级控制寄存器IP 。
对4个寄存器的理解,要结合图5-2来进行分析,不可单独记忆,现分别予以说明。
(1)定时和外中断控制寄存器(TCON )INT0、INT1、T0、T1中断请求标志放在TCON 中,串行中断请求标志放在SCON 中。
TCON 的结构、位名称、位地址和功能见表5-1。
表5-1 TCON 的结构、位名称、位地址和功能(字节地址88H )① TF1—T1溢出中断请求标志。
当定时/计数器T1计数溢出后,由CPU 内硬件自动置1,表示向CPU 请求中断。
CPU 响应该中断后,片内硬件自动对其清零。
TF1也可由软件程序查询其状态或由软件置位清零。
② TF0—T0溢出中断请求标志。
其意义和功能与TF1相似。
③ IE1—外中断INT1中断请求标志。
定时器中断程序和单片机AT80c51写全亮全灭交替的led灯程序
{
; //主程序在这里就不断自循环,实际应用中,这里是做主要工作
}
}
//定时器0中断
timer0() interrupt 1 // 定时器0中断是1号
{
TH0=0x00; //写入定时器0初始值0x0005
sbit P10 = P1^0; //要控制的LED灯
sbit K1= P3^2; //按键K1
//用定时器中断闪烁LED
void main(void) //主程序
{
TMOD=0x01; //定时器0,16位工作方式
【例1】这是一个简单的定时器程序,由一个循环组成,在点亮接在P1.0 口的LED之后,延时一段时间,再灭掉LED,又延时一段时间,之后循环到前面。按全速运行,可以看到P1.0口上接的LED 灯不断地闪烁。
#include <reg52.h> //包括一个52标准内核的头文件
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
if(tt==100)
{
P0=0x00;
}
if(tt>=200)
{
tt=0;
P0=0xff;
}
}
void init()
{
TMOD=0x01;
sbit P13 = P1^3;
bit ldelay=0; //长定时溢出标记,预置是0
//定时器中断方式的跑马灯
void main(void) //主程序
{
unsigned char code ledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入P1的值
单片机原理及应用选择题答案
第一章习题1.1 单项选择题(1)单片机又称为单片微计算机,最初的英文缩写是____。
答案(D)• A.MCP• B.CPU• C.DPJ• D.SCM(2) Intel公司的MCS-51系列单片机是______的单片机。
答案(C)• A.1位• B.4位• C.8位• D.16位(3)单片机的特点里没有包括在内的是______。
答案(C)• A.集成度高• B.功耗低• C.密封性强• D.性价比高(4)单片机的发展趋势中没有包括的是______。
答案(B)• A.高性能• B.高价格• C.低功耗• D.高性价比(5)十进制数56的二进制数是 ______。
答案(A)• A.00111000B• B.01011100B• C.11000111B• D.01010000B(6)十六进制数93的二进制数是______。
答案(A)• A.10010011B• B.00100011B• C.11000011B• D.01110011B(7)二进制数11000011的十六进制数是______。
答案(B)• A.B3H• B.C3H• C.D3H• D.E3H(8)二进制数11001011的十进制无符号数是______。
答案(B)• A.213• B.203• C.223• D.233(9)二进制数11001011的十进制有符号数是______。
答案(B)• A.73• B.-75• C.-93• D.75(10)十进制数29的8421BCD压缩码是______。
答案(A)• A.00101001B• B.10101001B• C.11100001B• D.10011100B(11)十进制数-36在8位微机中的反码和补码是______。
答案(D)• A. 00100100B、11011100B• B.00100100B、11011011B• C.10100100B、11011011B• D.11011011B、11011100B(12)十进制数+27在8位微机中的反码和补码分别是______。
单片机原理与应用及实验智慧树知到答案章节测试2023年齐鲁师范学院
第一章测试1.将十进制数215转换成对应的二进制数是。
()。
A:11010111B:11101011C:10101101D:10010111答案:A2.在微型计算机中,负数常用()表示。
A:真值B:补码C:反码D:原码答案:B3.-3的补码是()。
A:10000011B:11111110C:11111100D:11111101答案:D4.用8位二进制数表示一个无符号数,它能表示的整数范围是()。
A:0~255B:0~+127C:0~256D:0~+128答案:A5.已知某数的 BCD 码为 0111 0101 0100 0010 则其表示的十进制数值为()A:7542HB:75.42C:75.42HD:7542答案:D第二章测试1.CPU 主要的组成部部分为()A:运算器、寄存器B:运算器、控制器C:运算器、指令译码器D:加法器、寄存器答案:B2.单片机应用程序一般存放在()A:CPUB:寄存器C:RAMD:ROM答案:D3.80C51单片机复位后,PC 与 P0 的值为()A:0000H,FFHB:0003H,FFHC:0800H,00HD:0000H,00H答案:A4.P2口既可以作为 I/O 使用,又可以作地址/数据复用口使用。
()A:对B:错答案:B5.8086的数据总线是_位,地址总线是_位。
答案:第三章测试1.C51编译模式有()A:SMALL 小模式B:COMPACK 紧凑模式C:随机模式D:LARGE 大模式答案:ABD2.sfr P1=0x90;//功能为对P1赋值,使它等于0x90。
()A:对B:错答案:B3.bdata定义的变量存储在_,pdata定义的变量存储在_。
答案:4.C51中断函数不能带有参数,也没有返回值。
()A:对B:错答案:A5.C51函数默认是不可重入的。
()A:错B:对答案:B第四章测试1.数码管中的发光二极管有 ____、____ 两种连接方式。
答案:2.数码管动态显示方式是依据人眼的“视觉暂留”效应实现的,同一时间只有一个数码管被点亮。
单片机原理及应用考试复习知识点
单片机原理及应用考试复习知识点第1章计算机基础知识考试知识点:1、各种进制之间的转换1各种进制转换为十进制数方法:各位按权展开相加即可;2十进制数转换为各种进制方法:整数部分采用“除基取余法”,小数部分采用“乘基取整法”;3二进制数与十六进制数之间的相互转换方法:每四位二进制转换为一位十六进制数;2、带符号数的三种表示方法1原码:机器数的原始表示,最高位为符号位0‘+’1‘-’,其余各位为数值位;2反码:正数的反码与原码相同;负数的反码把原码的最高位不变,其余各位求反;3补码:正数的补码与原码相同;负数的补码为反码加1;原码、反码的表示范围:-127~+127,补码的表示范围:-128~+127;3、计算机中使用的编码1BCD码:每4位二进制数对应1位十进制数;2ASCII码:7位二进制数表示字符;0~9的ASCII码30H~39H,A的ASCII码41H,a的ASCII码61H;第2章 80C51单片机的硬件结构考试知识点:1、80C51单片机的内部逻辑结构单片机是把CPU、存储器、输入输出接口、定时/计数器和时钟电路集成到一块芯片上的微型计算机,主要由以下几个部分组成;1中央处理器CPU包括运算器和控制器;运算电路以ALU为核心,完成算术运算和逻辑运算,运算结果存放于ACC中,运算结果的特征存放于PSW中;控制电路是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作;程序计数器PC是一个16位寄存器,PC的内容为将要执行的下一条指令地址,具有自动加1功能,以实现程序的顺序执行;2存储器分类:随机存取存储器RAM:能读能写,信息在关机后消失;可分为静态RAMSRAM和动态RAMDRAM两种;只读存储器:信息在关机后不会消失;掩膜ROM:信息在出厂时由厂家一次性写入;可编程PROM:信息由用户一次性写入;可擦除可编程EPROM:写入后的内容可由紫外线照射擦除;电可擦除可编程EEPROM:可用电信号进行清除和改写;存储容量:存储容量指存储器可以容纳的二进制信息量,M位地址总线、N位数据总线的存储器容量为2M×N位;80C51单片机的存储器有内部RAM128B,高128B为专用寄存器、外部RAM64KB、内部ROM4KB掩膜ROM、外部ROM64KB;3输入输出接口4个8位并行I/O口P0、P1、P2、P34其它资源一个全双工串行口、5个中断源、2个16位的定时/计数器、时钟电路;2、80C51单片机的信号引脚1电源部分:VCC接+5V、VSS接地;2时钟电路部分:XTAL1和XTAL2接晶振;1个机器周期=6个状态=12个拍节6MHZ的晶体机器周期2us,12MHZ的晶体机器周期1us;3I/O口部分:P0——8位数据总线/地址总线低8位、P1——用户口、P2——地址高8位、P3——第二功能;4控制部分:地址锁存控制信号ALE,用于控制把P0口输出的低8位地址送入锁存器锁存地起来;外部程序存储器读选通信号PSEN,低电平有效,以实现外部ROM单元的读操作;访问程序存储器控制信号EA,低电平时只读外部ROM,高电平时先读内部ROM,再读外部ROM;复位信号RST,当输入的复位信号延续2个机器周期以上高电平时即为有效;复位值:PC=0000H,SP=07H,P0=0FFH;3、内部RAM的基本结构与功能80C51的内部数据存储器低128单元区,称为内部RAM,地址为00~7FH;1寄存器区00~1FH共分为4组,组号依次为0、1、2、3,每组有8个寄存器,在组中按R7~R0编号;由PSW中RS1、RS0位的状态组合来决定哪一组;2位寻址区20H~2FH可对单元中的每一位进行位操作,16个字节单元共128个可寻址位,位地址为00~7FH;位起始地址D0=字节地址-20H83用户RAM区30H~7FH堆栈、缓冲区堆栈是在内部RAM中开辟的,最大特点就是“后进先出”的数据操作原则;两项功能:保护断点和保护现场;两种操作:进栈和出栈;SP堆栈指针,它的内容就是堆栈栈顶单元的地址;4、专用寄存器内部数据存储器高128单元1累加器AACC2寄存器B3程序状态字PSWCY——进位标志位,最高位的进位或借位;AC——半进位标志位,低4位向高4位的进位或借位;OV——溢出标志位,同符号数相加,结果为异符号,有溢出;异符号数相减,结果和减数符号相同,有溢出;P——A中1的个数,奇数个P=1,偶数个P=0;4数据指针DPTR:80C51中惟一一个供用户使用的16位寄存器;高8位DPH,低8位DPL;第3章 80C51单片机指令系统考试知识点:1、寻址方式1立即寻址data,data16例:MOV A,00H2直接寻址direct内部RAM:00~7FH、特殊功能寄存器例:MOV A,00H 3寄存器寻址A、B、Rn、DPTR4寄存器间接寻址Ri、DPTR例:MOVX A,DPTR5变址寻址A+DPTR,A+PC例:MOVC A,A+DPTR6位寻址bit20~2FH:00~7FH、特殊功能寄存器例:MOV C,00H7相对寻址rel例:JZ rel2、数据传送类指令1内部RAM数据传送指令MOV 目的,源;目的→源交换指令:XCH A,direct/Rn/Ri;A和源交换XCHD A,Ri;只换低4位SWAP A;A的高低4位交换注意:A作目的操作数会影响P;PUSH directPOP direct2外部RAM数据传送指令MOVX A,Ri/DPTR;外部地址内容→AMOVXRi/DPTR,A;A→外部地址内容3ROM数据传送指令MOVC A,A+DPTR/A+PC;查表指令3、算术运算指令1加法指令ADD/ADDC A,data/ direct/ Rn/Ri;会影响CY、AC、OV、P INC A/ direct/ Rn/Ri/DPTR;加1,PDA A;十进制调整,大于9加62减法指令SUBB A,data/ direct/ Rn/Ri;会影响CY、AC、OV、PDEC A/ direct/ Rn/Ri;减13乘除指令MUL AB;AB→BA,会影响CY=0,OV,PDIV AB;A/B的商→A,余数→B4、逻辑运算及移动指令1逻辑运算指令ANL/ORL/XRL A,data/ direct/ Rn/RiANL/ORL/XRL direct,A/data与→清0,或→置1,异或→取反CLR/CPL A;清0和取反2移位指令RL/RR/RLC/RRC A注意:每左移一位相当于乘2,每右移一位相当于除2,带进位的移会影响CY和P;5、控制转移类指令1无条件转移指令LJMP addr16;addr16→PC,64KBAJMP addr11;PC+2→PC,addr11→PC10~0,2KBSJMP rel;PC+2+rel→PC,256BJMP A+DPTR;A+DPTR→PC,64KB2条件转移指令累加器A判0转移指令JZ rel;A为0JNZ rel;A不为0比较不相等转移指令CJNE A/Rn/Ri,data,relCJNE A,direct,rel注意:第一操作数和第二操作数不相等,程序转移,若第一大于第二,CY=0,第一小于第二,CY=1;第一操作数和第二操作数相等,程序顺序执行,CY=0;减1不为0转移指令DJNZ Rn/direct,rel;Rn/direct-1不为0,程序转移;3调用和返回指令LCALL addr16;PC+3→PC,先入低8位,再入高8位,addr16→PCACALL addr11;PC+2→PC,先入低8位,再入高8位,addr11→PC10~0 RET;先出高8位,再出低8位6、位操作类指令1位传送指令MOV C,bitMOV bit,C2位赋值指令CLR C/bitSETB C/bit3位逻辑运算指令ANL/ORL C,bit或/bitCPL C/bit注意:实现逻辑表达式4位控制转移指令JC rel;CY=1JNC rel;CY=0JB bit,rel;bit=1JNB bit,rel;bit=0JBC bit,rel;bit=1,转移,清0第4章 80C51单片机汇编语言程序设计考试知识点:1、汇编语言的语句格式标号:操作码操作数;注释标号:语句地址的标志符号;操作码:语句执行的操作内容,用指令助记符表示;操作数:为指令操作提供数据;注释:对语句的解释说明;2、伪指令起始地址ORG、结束END、赋值EQU、字节DB、字DW、空DS、位BIT 3、汇编语言程序的基本结构形式1顺序结构2分支结构3循环结构:数据传送问题、求和问题4、定时程序例:延时100ms的子程序,设晶振频率6MHZ;DELAY:MOV R5,250LOOP2:MOV R4,49LOOP1:NOPNOPDJNZ R4,LOOP1DJNZ R5,LOOP2RET5、查表程序1要查找的数据在表中的位置给A2表的首地址给DPTR 3MOVC A,A+DPTR 4数据表第5章 80C51单片机的中断与定时考试知识点:1、中断源和中断请求标志位2、和中断相关的寄存器的设置1定时器控制寄存器TCONIT0=0,为电平触发方式; 低电平有效;IT0=1,为边沿触发方式; 输入脚上电平由高到低的负跳变有效; IE0=1,说明有中断请求,否则IE0=0; 2中断允许控制寄存器IE0INT 0INTEA: 开放或禁止所有中断;ES:开放或禁止串行通道中断;ET1:开放或禁止定时/计数器T1溢出中断;EX1:开放或禁止外部中断源1;ET0:开放或禁止定时/计数器T0溢出中断;EX0:开放或禁止外部中断源0;3中断优先级控制寄存器IP1为高优先级、0为低优先级;如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应;查询次序为:外部中断0、T0中断、外部中断1、T1中断、串行中断;3、响应中断的必要条件1有中断源发出中断请求;2中断允许寄存器IE相应位置“1”,CPU中断开放EA=1;3无同级或高级中断正在服务;4现行指令执行到最后一个机器周期且已结束;若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且其紧接着的指令也已执行完;中断响应的主要内容是由硬件自动生成一条长调用指令,指令格式为“LCALL addr16”;这里的addr16就是程序存储器中断区中相应中断的入口地址;4、中断程序设计1在0000H处存放一条无条件转移指令转到主程序;2在入口地址处存放一条无条件转移指令转到中断服务子程序;3设置触发方式IT0/IT14设置IE和IP;5设置SP;6原地踏步;7中断服务子程序;最后RETI;5、定时计数的基本原理1定时功能:每个机器周期计数器加1;2计数功能:T0和T1输入计数脉冲,每一来一个脉冲计数器加1;6、用于定时计数的寄存器的设置1定时器控制寄存器TCONTF1、TF0——计数溢出标志位;当计数器产生计数溢出时,由硬件置1;采用查询方式,它是供查询的状态位;采用中断方式,作为中断请求信号;TR1、TR0——计数运行控制位;为1时,启动定时器/计数器工作;为0时,停止定时器/计数器工作;2工作方式控制寄存器TMOD其格式如下:GATE:门控位;当GATE=1时,同时INTx为高电平,且TRx置位时,启动定时器,外部启动;当GATE=0时,每当TRx置位时,就启动定时器,是内部启动方式;C/T:选择定时器功能还是计数器功能;该位置位时选择计数器功能;该位清零时选择定时器功能;M1M0:这两位指定定时/计数器的工作方式,可形成四种编码,对应四种工作方式:7、各种工作方式计数初值计算公式方式0:定时时间T=8192-计数初值×机器周期计数次数C=8192-X方式1:定时时间T=65536-计数初值×机器周期计数次数C=65536-X方式2:定时时间T=256-计数初值×机器周期计数次数C=256-X8、定时器程序设计查询方式:1在0000H处存放一条无条件转移指令,转到主程序;2设置工作方式TMOD;3设置计数初值;4启动定时计数;5等待时间到或计数计满;LOOP:JBC TF0/TF1,LOOP1SJMP LOOP LOOP1:……6重新设置计数初值除方式2,再转第5步; 中断方式:1在0000H 处存放一条无条件转移指令,转到主程序;2在入口地址处存放一条无条件转移指令转到中断服务子程序; 3设置工作方式TMOD; 4设置计数初值; 5启动定时计数; 6设置IE 和IP; 7设置SP; 8原地踏步;9中断服务子程序;重新设置计数初值除方式2,最后RETI;例 选用定时器/计数器T1工作方式0产生500μS 定时,在输出周期为1ms 的方波,设晶振频率=6MHZ;1根据定时器/计数器1的工作方式,对TMOD 进行初始化;按题意可设:GATE=0用TR1位控制定时的启动和停止, =0置定时功能,M1M0=00置方式0,因定时器/计数器T0不用,可将其置为方式0不能置为工作方式3,这样可将TMOD 的低4位置0,所以TMOD =00H;2计算定时初值- X ×2=500将低5位送TL1,高8位送TH1得:TH1=F8H,TL1=06H 3 编制程序查询方式 ORG 0000H LJMP MAIN ORG 0300HMAIN : MOV TMOD,00H ;TMOD 初始化 MOV TH1,0F8H ;设置计数初值T C132MOV TL1,06HSETB TR1 ;启动定时 LOOP : JBC TF1,LOOP1 ;查询计数溢出 AJMP LOOPLOOP1:CPL ;输出取反MOV TL1,06H ;重新置计数初值MOV TH1,0F8HAJMP LOOP ;重复循环 END例 用定时器/计数器T1以工作方式2计数,要求每计满100次进行累加器加1操作;1TMOD 初始化M1M0=10方式2, =1计数功能,GATE=0TR1启动和停止,因此TMOD=60H; 2计算计数初值-100=156D=9CH 所以 TH1=9CH 3编制程序中断方式 ORG 0000HAJMP MAIN ;跳转到主程序ORG 001BH ;定时/计数器1中断服务程序入口地址 AJMP INSERT1 ORG 0030HMAIN :MOV TMOD 60H ;TMOD 初始化 MOV TL1,9CH ;首次计数初值 MOV TH1,9CH ;装入循环计数初值 SETB TR1 ;启动定时/计数器1SETB EA ;开中断SETB ET1SETB PT1 ;T1为高优先级 MOV SP,40HSJMP ﹩ ;等待中断INSERT1:INC A RETITC 82END第6章单片机并行存储器扩展考试知识点:1、单片机并行扩展总线的组成1地址总线:传送地址信号2数据总线:传送数据、状态、指令和命令3控制总线:控制信号2、80C51单片机并行扩展总线1以P0口的8位口线充当低位地址线/数据线2以P2口的口线作高位地址线3控制信号:使用ALE作地址锁存的选通信号,以实现低8位地下锁存;以PSEN信号作为扩展程序存储器的读选通信号;以EA信号作为内外程序存储器的选择信号;以RD和WR作为扩展数据存储器和I/O端口的读/写选通信号;3、单片机并行存储器扩展的方法各种外围接口电路与单片机相连都是利用三总线实现;1地址线的连接将外围芯片的低8位地址线A7~A0经锁存器与P0口相连,高8位地址线A15~A8与P2口相连;如果不足16位则按从低至高的顺序与P0、P2口的各位相连;2数据线的连接外围芯片的数据线D7~D0可直接与P0口相连;3控制线的连接ROM:OE—PSENRAM:OE—RD、WE—WR片选信号CE的连接方法:1接地,适用于扩展一块存储器芯片; 2线选法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.2.1 中断源与中断向量 80C51的中断向量表 中断源 中断向量 外部中断0 0003H 定时器0中断 000BH 外部中断1 0013H 定时器1中断 001BH 串行中断 0023H
|
|
IE0 &EX0 &/PX0 | TF0&ET0 &/PT0 IE1 &EX1 &/PX1 | TF1&ET1 &/PT1 (TI | RI) &ES &/PS )
| |
5.2.3 中断优先级控制
例2 试写出中断向量的逻辑表达式。 解 令 int01= IE0 &EX0 &PX0
int11= TF0&ET0 &PT0
中断响应是有条件的,并不是查询到的中断请求都能立即
响应。当存在下列情况之一时,中断响应将被封锁:
① CPU正处在为一个同级或更高级的中断服务中。
② 查询中断请求的机器周期不是当前指令的最后一个机器 周期。 ③ 当前指令是返回指令(RET,RETI)或访问IE、IP的指令。
5.2.4 中断响应过程 4. 中断响应的快慢
5.2.2 中断控制
4. 中断优先级控制寄存器IP
PX0:外部中断0优先级设定位,=1时为高级。
PT0:定时器0中断优先级设定位,=1时为高级。
PX1:外部中断设定位,=1时为高级。 PS:串口中断优先级设定位,=1时为高级。
如果中断查询的机器周期恰好是指令的最后一个机器周期, 则最快只需3个机器周期就可以转向中断服务程序的入口。 其中查询占1个机器周期,在这个机器周期结束后中断即 被响应,生成 LCALL指令。执行这条长调用指令需要2个
机器周期。
5.2.4 中断响应过程 4. 中断响应的快慢
如果中断查询刚好是开始执行RET、RETI或访问IE、IP的
5.2 80C51单片机的中断系统
5.2.2 中断控制
80C51提供给用户使用的中断控制手段 有4项:中断允许控制、中断请求标志、 中断优先级控制和外中断触发控制。这些
控制内容分布在4个控制寄存器中。
5.2.2 中断控制
1. 中断允许控制寄存器IE
EX0和EX1 :外部中断允许控制位。 ET0和ET1:定时器中断允许控制位。 ES:串行中断允许控制位。 EA:中断允许总控制位。
MOV IE, #81H
MOV IP, #01H MOV SP, #02FH EXINT0:
例4 设高低两个优先级触发器的输出信号分别为PRI_1和PRI_0, 试结合高低级中断请求信号写出中断信号的逻辑表达式。 解 中断= /PRI_1 && (高级中断请求 ||
/PRI_0 && 低级中断请求)
5.2 80C51单片机的中断系统 5.2.4 中断响应过程
80C51的中断响应过程分为三步:
指令,则需把当前指令执行完再继续执行一条指令后,才
能进行中断响应。这些指令中最长执行时间需2个机器周 期。而如果接着再执行的指令恰好是MUL(乘)或DIV(除) 指令,则又需4个机器周期。再加上执行长调用指令 LCALL所需的2个机器周期,从而形成了8个机器周期的响
应时间。如果中断查询刚好是开始执行RET、RETI或访问
5.1 中断概述
中断(Interrupt)是一种被广泛使用的计算机 技术。
中断技术实质上是一种资源共享技术,是解决
资源竞争的有效方法,最终实现多项任务共享一 个资源。在计算机中通常只有一个CPU,任何时 刻它只能进行一项工作,而它所面对的任务却可 能是多个,它就是哪个被竞争共享的资源。
5.1 中断概述
实验
一、实验箱:DICE-598K3 多合一单片机微机 实验仪
实验
一、实验箱:DICE-598K3 多合一单片机微机 实验仪
实验
二、实验指导书 三、软件安装
1、KEIL51 2、USB转串口的驱动程序 3、仿真调试:生成 .HEX文件,并下载 4、集成开发环境
实验
四、实验安排
我们总共做5个实验:3个基本实验(两字节十进 制加法、 跑马灯、计时器),2个综合实验(楼 道照明灯、交通灯、秒表,三选二)。实验按课 表安排、下周开始。 每人一个实验台,独立完成。
2. 中断查询
中断查询是查看是否有中断请求发生并确定是哪一个中断源的 中断请求。
中断查询操作是由CPU检测有无高级或低级中断请求信号实现 的。所有中断请求最终都要反映到这两个信号上。
80C51单片机是在每一个机器周期的最后一个状态S6进行中断
查询,查询按优先级顺序进行。如果查询到有一个中断请求信 号为1,则表明有中断请求发生,接着就从相邻的下一个机器 周期的S1状态开始进行中断响应。
五、要求 实验前必须做好准备:
仔细阅读实验指导书; 编写好程序,画出电路图; 写出实验步骤。
实验
六、实验结果的检查 现场检查 实验报告
实验内容 实验目的 实验设计(包括硬件电路和程序) 实验过程遇到的问题及解决方法 结果和小结
第5 章
80C51单片机的中断与定时
主要内容:
5.1 中断概述 5.2 80C51单片机的中断系统 5.3 80C51单片机的定时器/计数器
5.2.3 中断优先级控制 例3 设80C51中断优先级控制寄存器IP的内
容为11H,试排出中断响应的先后次序。
解
中断响应的先后次序为:外部中断
0、串行中断、定时器0中断、外部中断1、 定时器1中断。
5.2.3 中断优先级控制
3. 中断嵌套
中断优先级的作用不仅体现在中断响应时,而且也体现在
中断服务过程中,即允许把正在进行的中断服务暂停下来, 而转去进行优先级更高的中断服务,这就是中断嵌套。
计算机中的资源竞争,通常是因计算机在运行程序时 会发生一些可预测或不可预测的随机事件引起的。譬如:
与计算机“并行”工作的输入/输出设备发出的中断请 求;
硬件故障、运算错误及程序出错时产生的中断请求;
当对运行中的计算机进行干预时,通过键盘输入的命 令;
来自被控对象的中断请求。
5.2 80C51单片机的中断系统 5.2.1 中断源与中断向量
中断可以多层嵌套。 80C51只有两个优先级,中断嵌套只能一次,其原则是:
高优先级中断请求可以打断低优先级的中断服务,进行中断嵌套; 同优先级的中断不能嵌套; 低优先级中断请求不能对高优先级的中断进行嵌套。
5.2.3 中断优先级控制 3. 中断嵌套 在80C51中,为了实现中断嵌套,除需使用中断优 先级寄存器(IP)定义高、低两个优先等级外,还需要 两个优先级触发器的配合,以指示当前中断服务情况, 并屏蔽同级和低级中断。
5.2.4 中断响应过程
3. 中断响应
中断响应就是对中断源提出中断请求的接受。 在一次中断查询之后,当发现有中断请求时,紧 接着就进行中断响应。
中断响应的主要内容是由硬件自动生成一条长 调用指令(LCALL addr16(中断向量)),接 着执行这条指令。
5.2.4 中断响应过程
3. 中断响应
5.2.3 中断优先级控制
中断向量= {00-0000-0000, EA& ( int41 & /(int01 | int11 | int21 | int31) | /高级中断请求& int40 & /(int00 | int10 | int20 | int30) ), EA& ( (int21 | int31) & /(int01 | int11) | /高级中断请求& (int20 | int30) & /(int00 | int10) ), EA& ( int11 & /int01 | int31 & /(int01 | int11 | int21) ) | /高级中断请求& ( int10 & /int00 | int30 & /(int00 | int10 | int20) ) ), 011}
5.2.2 中断控制
3. 串行口控制寄存器SCON
TI:串行发送中断请求标志位。最后一位数据位被发送完后,
TI由硬件置位,软件查询时TI可作为状态位使用。
RI:串行接收中断请求标志位,接收数据过程中,当采样到最 后一个数据位有效时,RI由硬件置位,软件查询时RI可作为状 态位使用。必须由软件清0。
的中断初始化。
中断初始化的内容包括中断系统总开放、中断允许设置、中断请 求方式设置(只限外部中断)和中断优先级设置等。
5.2 80C51单片机的中断系统 5.2.5 中断服务程序
1.
主程序中的中断初始化
例5 外部中断0的初始化
ORG ORG MAIN: 0000H ;系统复位后转向主程序 ;转向外部中断0服务程序 ;脉冲触发方式 0003H AJMP MAIN AJMP EXINT0 MOV TCON, #01H
1. 外部中断请求采样
只有外部中断请求才有采样问题,只有通过采样才能知道是否
有外部中断请求。
采样是在每个机器周期的S5P2(第5状态第2拍节)对芯片引脚
INT0(P3.2)和INT1(P3.3)进行的,根据采样结果来设置定时器控
制寄存器TCON外部中断标志位IE0和IE1的状态。
5.2.4 中断响应过程
int21= IE1 &EX1 &PX1 int31= TF1&ET1 &PT1
int41= (TI | RI) &ES &PS
int00= IE0 &EX0 &/PX0 int10= TF0&ET0 &/PT0