第6章80C51的中断系统及定时计数器单片机原理及应用(C51编程)-李全利-高教出版社
单片机原理及应用第四版林立第六章选择题答案
![单片机原理及应用第四版林立第六章选择题答案](https://img.taocdn.com/s3/m/bd38d7080b4e767f5acfce91.png)
第六章选择题(1)使80C51定时/计数器T0停止计数的C51命令为______。
A.IT0=0;B.TF0=0;C.IE0=0;D.TR0=0;(2)80C51单片机的定时器T1用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部时钟频率定时,一个时钟周期加1 D.由外部时钟频率定时,一个机器周期加1(3)80C51单片机的定时器T0用作计数方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部计数脉冲计数,一个脉冲加1D.由外部计数脉冲计数,一个机器周期加1(4)80C51的定时器T1用作计数方式时,______。
A.外部计数脉冲由T1(P3.5引脚)输入B.外部计数脉冲由内部时钟频率提供C.外部计数脉冲由T0(P3.4引脚)输入D.外部计数脉冲由P0口任意引脚输入(5)80C51的定时器T0用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1B.由外部计数脉冲计数,一个机器周期加1C.外部计数脉冲由T0(P3.4)输入定时D.由内部时钟频率定时,一个机器周期加1(6)设80C51晶振频率为12MHz,若用定时器T0的工作方式1产生1ms定时,则T0计数初值应为______。
A.0xfc18B.0xf830C.0xf448D.0xf060(7)80C51的定时器T1用作定时方式且选择模式1时,工作方式控制字为______。
A.TCON=0x01;B.TCON=0x0H;C.TMOD=0x10;D.TMOD=0x50; (8)80C51的定时器T1用作定时方式且选择模式2时,工作方式控制字为______。
A.TCON=0x60; B.TCON=0x02; C.TMOD=0x06; D.TMOD=0x20; (9)80C51的定时器T0用作定时方式且选择模式0时,C51初始化编程为______。
单片机原理及接口技术二版李全利主编课后标准答案
![单片机原理及接口技术二版李全利主编课后标准答案](https://img.taocdn.com/s3/m/d8d9742276c66137ee061952.png)
1.第一台计算机的问世有何意义?答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。
与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2.计算机由哪几部分组成?答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.微型计算机由哪几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4.微处理器与微型计算机有何区别?答:微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O 接口电路等。
5.什么叫单片机?其主要特点有哪些?答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。
6.微型计算机有哪些应用形式?各适于什么场合?答:微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。
早期主要用于微型计算机原理的教案及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7.当前单片机的主要产品有哪些?各有何特点?答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。
因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:●ATMEL公司融入Flash存储器技术推出的AT89系列单片机;●Philips公司推出的80C51、80C552系列高性能单片机;●华邦公司推出的W78C51、W77C51系列高速低价单片机;●ADI公司推出的ADμC8xx系列高精度ADC单片机;●LG公司推出的GMS90/97系列低压高速单片机;●Maxim公司推出的DS89C420高速(50MIPS)单片机;●Cygnal公司推出的C8051F系列高速SOC单片机等。
单片机原理及接口技术_李全利_课后答案
![单片机原理及接口技术_李全利_课后答案](https://img.taocdn.com/s3/m/23ae86b569dc5022aaea005c.png)
章1 绪论1.第一台计算机的问世有何意义?答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。
与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2.计算机由哪几部分组成?答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.微型计算机由哪几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4.微处理器与微型计算机有何区别?答:微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。
5.什么叫单片机?其主要特点有哪些?答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。
6.微型计算机有哪些应用形式?各适于什么场合?答:微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。
早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7.当前单片机的主要产品有哪些?各有何特点?答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。
因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:●ATMEL公司融入Flash存储器技术推出的AT89系列单片机;●Philips公司推出的80C51、80C552系列高性能单片机;●华邦公司推出的 W78C51、W77C51系列高速低价单片机;●ADI公司推出的ADμC8xx系列高精度ADC单片机;●LG公司推出的GMS90/97系列低压高速单片机;●Maxim公司推出的DS89C420高速(50MIPS)单片机;●Cygnal公司推出的C8051F系列高速SOC单片机等。
单片机原理及应用教程(C语言版)-第6章 MCS-51单片机的定时器计数器
![单片机原理及应用教程(C语言版)-第6章 MCS-51单片机的定时器计数器](https://img.taocdn.com/s3/m/9c3e4c6725c52cc58bd6be57.png)
6.1.1 单片机定时器/计数器的结构
MCS-51单片机定时器/计数器的原理结构图
T0(P3.4) 定时器0 定时器1 T1(P3.5) 定时器2 T2EX(P1.1)
T2(P1.0)
TH0
溢 出 控 制
TL0
模 式 溢 出
TH1
控 制
TL1
模 式 溢 出
TH2
TL2
重装 捕获
RCAP 2H
RCAP 2L
6.2.2 T0、T1的工作模式
信号源 C/T设为1,为计数器,用P3.4引脚脉冲 C/T设为0,为定时器,用内部脉冲 运行控制 GATE=1,由外部信号控制运行 此时应该设置TR0=1 P3.2引脚为高电平,T0运行 GATE=0, 由内部控制运行 TR0设置为1,T0运行
6.2.2 T0、T1的工作模式
6.2.3 T0、T1的使用方法
例6-1 对89C52单片机编程,使用定时器/计 数器T0以模式1定时,以中断方式实现从P1.0引 脚产生周期为1000µ s的方波。设单片机的振荡频 率为12MHz。 分析与计算 (1)方波产生原理 将T0设为定时器,计算出合适的初值,定 时到了之后对P1.0引脚取反即可。 (2)选择工作模式 计算计数值N
6.2.1 T0、T1的特殊功能寄存器
TR1、TR0:T1、T0启停控制位。 置1,启动定时器; 清0,关闭定时器。
注意: GATE=1 ,TRx与P3.2(P3.3)的配合控制。
IE1、IE0:外部中断1、0请求标志位 IT1、IT0:外部中断1、0触发方式选择位
6.2.2 T0、T1的工作模式
6.2.1 T0、T1的特殊功能寄存器
GATE=0,禁止外部信号控制定时器/计数器。 C/T——定时或计数方式选择位 C/T=0,为定时器;C/T=1,为计数器 计数采样:CPU在每机器周期的S5P2期间,对 计数脉冲输入引脚进行采样。
单片机与接口技术李全利
![单片机与接口技术李全利](https://img.taocdn.com/s3/m/9facf1f1a216147916112873.png)
第一章绪论什么是单片机(MCU)?在一片集成电路芯片上集成中央处理器(CPU)、存储器(ROM/RAM)、I/O接口电路,从而构成了单芯片微型计算机,简称单片机。
➢P14 3、5第二章80C51的结构和原理1、CPUCPU由含运算器(ACC、B、ALU、PSW)、控制器(PC (寻址64KB ROM)、IR、时钟等)及其他寄存器(DPTR、SP)组成。
2、最小系统:电源、时钟(四个周期的概念)、复位电路、存储器设置电路3、存储器4、并行口P1、P2、P3因为内部上拉电阻而被称为“准双向口”。
P0口没有内部上拉电阻,是一个真正的双向口。
➢P47 2、4、5、8第三章80C51的指令系统1、指令格式:操作码 [目的操作数] [,源操作数] [;注释] 2、常用符号:3、寻址方式(7种):4、指令:➢P87 11、13、第四章80C51的汇编语言程序设计1、常用伪指令:2、基本程序结构:顺序、分支、循环、子程序3、一个完整的源程序必备的四个要素:(1)有ORG 0000H,即源程序的机器码从ROM的0000H 单元开始存放。
(2)有END,告知汇编程序,你的源程序结束了。
(3)源程序的主程序框架一定是一个顺序执行的无限循环的程序,运行过程必须构成一个圈。
(4)通常主程序的存放要跳过中断向量区。
实现方法:在0000H单元存放一条转移指令,转向中断向量区后的主程序的真实的入口地址,如START、MAIN等。
4、子程序:现场保护与恢复、参数传递、子程序返回➢P104 例4-5➢P129 6、8、9第五章80C51的中断系统及定时/计数器一、中断系统1、中断响应过程:中断响应→保护现场→中断服务→恢复现场→中断返回2、中断源(5个)、中断优先级(2个)3、中断控制相关寄存器二、定时/计数器1、80C51单片机内设有两个可编程的16位定时器/计数器:T0和T1。
它们既可用以定时,也可用来对外部脉冲计数。
2、相关SFR3、定时/计数器工作方式➢P152 例5-6 例5-7➢P160 1、5、8第六章80C51的串行口1、通信的基本方式可分为并行通信和串行通信2、串行通信依据传输方向和时间的关系分为单工、半双工和全双工的通信方式。
第6章80C51单片机内部资源及应用
![第6章80C51单片机内部资源及应用](https://img.taocdn.com/s3/m/11d4b2c02cc58bd63186bdc6.png)
80C51单片机内部资源及应用
80C51中断号、中断源和中断向量关系如表所示。
中断号n 0 1 2 中 断 源 外部中断0 定时器0 外部中断1 中断向量 0003H 000BH 0013H
3
4
定时器1
串行口
001BH
0023H
当用void 函数名( ) interrupt n [using m]声明一个中断函 数后,C51编译器会在中断号n对应的地址产生一个长 跳转指令,跳到中断服务程序的入口地址。
80C51单片机内部资源及应用
80C51单片机内部资源及应用
1. 中断源 80C5l共有3类5个中断源,分别是2个外部中断源、2 个定时中断源、1个串行口接收/发送中断源。
外部中断是由外部请求信号或掉电等异常事故引起的, 共有2个中断源:外部中断0和1,分别由引脚(P3.2) 和(P3.3)引入。
当中央处理器CPU正在执行某程序时,由于某种原因, 外界向CPU发出了暂停目前工作去处理更重要事件的 请求,程序被打断,CPU响应该请求并转入相应的处 理程序,处理程序完成以后,再返回到原来程序被打 断的位置,继续原来的工作,这一过程称为中断。实 现中断功能的部件称为中断系统。
80C51单片机内部资源及应用
高优先级中断请求可以中断一个正在执行的低优先级 中断服务,除非正在执行的低优先级中断服务程序设 置了禁止某些高优先级的中断。正在执行的中断服务 程序不能被另一个同级或低优先级的中断所中断。
80C51单片机内部资源及应用
4. 中断处理过程 一个完整的中断处理过程包括中断请求、中断响应、 中断服务、中断返回几个部分,前面主要介绍了中断 请求与控制,下面将介绍其他相关内容。
80C51单片机内部资源及应用
单片机原理及应用:第5章 80C51的中断系统及定时计数器
![单片机原理及应用:第5章 80C51的中断系统及定时计数器](https://img.taocdn.com/s3/m/bc4648c22f60ddccda38a0fd.png)
5.2.3 中断返回
RETI的功能: 将压入堆栈的断点地址从栈顶弹回PC 将优先级状态触发器清0
注意: 不能用RET指令代替RETI指令。 中断服务程序中PUSH与POP须成对使用
5.2.4 中断程序举例
例5-1:单外部中断源。系统上电,发光管由左至右依次亮灭, 形成循环,间隔时间为0.5s。按键采用中断方式接入,每按 一次按键K,流水方向改变一次。
低优先级中断服务,能被高优先级中断
有2个优先级状态触发器: 高优先级状态触发器 低优先级状态触发器
5.2 80C51单片机中断处理过程
5.2.1 中断响应条件和时间
中断响应条件 有中断请求; 对应中断允许位为1; 开中断(即EA=1)。 同时满足时,才可能响应中断。
中断服务的进入:
每个周期的S5P2,采样各中断源。采样 值在下一个周期按优先级和内部顺序查询。
受阻未得到响应的中断,若条件消失时该中 断标志已不再有效,该中断将不被响应。
中断响应时间
M1
M2
M3
M4
M5
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
中断 ε 标志
void t0() interrupt 1 {
if(Flag0) Flag0=0; } void Ex1Isr() interrupt 2 {
if(!Flag0) Flag0=1; }
例 5个外部中断源系统
INT0
1 +5V
XI0
INT1
1
XI1
1
XI2
1
XI3
单片机原理及应用李全利主编高等教育出版社
![单片机原理及应用李全利主编高等教育出版社](https://img.taocdn.com/s3/m/95ece0635f0e7cd185253674.png)
2019/12/28
17
§1.4 仿真、仿真器
仿真是单片机开发过程中非常重要的一个环节, 除了一些极简单的任务,一般产品开发过程中都要进 行仿真,仿真的主要目的是进行软件调试,当然借助 仿真器,也能进行一些硬件排错。一块单片机应用电 路板包括单片机部份及为达到使用目的而设计的应用 电路,仿真就是利用仿真器来代替应用电路板(称目 标机)的单片机部份,对应用电路部份进行测试、调 试。
主要内容
第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章
概述 MCS-51单片机的结构和原理 MCS-51单片机的指令系统 MCS-51单片机的程序设计 MCS-51单片机的中断系统 MCS-51单片机的串行接口 MCS-51单片机的系统扩展 MCS-51单片机的测控接口(部分)
2019/12/28
根据近年来国外实地考察,Intel公司的单片机 在市场上占有量为67%,其中MCS—51系列产品又占 54%。在我们国内虽然上述各公司的产品均有引进, 但由于各种原因,至今在我国所应用的单片机仍然 是以MCS—48、MCS—51、MCS—96为主流系列。随着 这一系列的深入开发,其主流系列的地位会不断巩 固下去。因而我们在此主要介绍Intel公司的单片机 系列。
1
第一章 概述 §1.1 微型计算机与单片机
巨
计 算 机
2019/12/28
大
中
小 多片机(PC)
微 单片机
2
★单片机SCMC(Single Chip MicroComputer) ----属于微型机的一种 ----具有一般微机的基本组成和功能
又称为微控制器MCU(MicroController Unit)
2019/12/28
80C51的中断系统及定时计数器
![80C51的中断系统及定时计数器](https://img.taocdn.com/s3/m/c1a911ecc1c708a1294a440f.png)
中断源 外部中断0(INT0) 外部中断1(INT1) T0溢出中断(TF0) T1溢出中断(TF1) 串行口中断(RI或TI)
2019/12/24
8
1、外部中断0(P3.2),可由IT0(TCON.0)选择其 为低电平有效还是下降沿有效。当CPU检测到P3.2 引脚上出现有效的中断信号时,中断标志 IE0(TCON.1)置1,向CPU申请中断。
5个中断源、2个优先级
TCON
IE
INT0 IT0 1
01
T0 INT1 IT1 1
01
T1
RX TX
EX0 1 EA 1 IE0
ET0 1 TF0
EX1 1 IE1
ET1 1 TF1
RI
TI
≥1
SCON
ES 1
2019/12/24
23
IP
PX0 1 0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
编写中断服务程序注意
中断服务程序入口存放指令LJMP或AJMP 现场保护与现场恢复
2019/12/24
26
中断服务子程序: INITT0:PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL POP DPH POP ACC RETI
2019/12/24
2019/12/24
9
4、TF1(TCON.7),片内定时/计数器T1溢出中 断请求标志。当定时/计数器T1发生溢出时,置位 TF1,并向CPU申请中断。
5、RI(SCON.0)或TI(SCON.1),串行口中断请 求标志。当串行口接收完一帧串行数据时置位RI 或当串行口发送完一帧串行数据时置位TI,向CPU 申请中断。
V1.2第6章 80C51的中断系统及定时计数器-宋121025
![V1.2第6章 80C51的中断系统及定时计数器-宋121025](https://img.taocdn.com/s3/m/16635d54be1e650e52ea9970.png)
• (4)中断可用于操作系统对硬件的管理 • 还有一类特殊的中断应用就是软件中断。 • 软件中断是一种通过软件指令产生中断 的方法,主要应用于通用微机系统中,一 些系统功能的调用就是通过软件中断实 现的,比如DOS系统功能调用和BIOS系统 功能调用。
• 3. 中断源的分类 • 从中断执行过程的角度来看,可以分成两 类: • (1)处理器预先考虑的中断 • (2)处理器没有预先考虑而需要扩展的中 断
在中断被响应后,该位由硬件自动清除。 在查询方式下由软件清除。
TF0:定时/计数器0(T0)中断申请标志位。具体 操作同TF1。 • IE1:外部中断1中断标志。
在外部中断设为下降沿触发时,引脚的下降沿 设置该位为 1,中断被响应后,该位自动清零; 在外部中断设为低电平触发时,该位的值与引 脚的电平相反。
处理器响应后,由硬件自动清。
• 2)低电平触发时,引脚变为低电平时,IEx 为1,表示有外部中断申请,并一直保持为1,
直到外部中断引脚变为高电平,中断标志 IEx位才清0。
• 电平触发时,外部中断申请的电平必须保
持外部中断输入引脚为低电平,直到中断 被响应,而且必须在中断被响应后变成高 电平,以撤销中断申请。
来解决此类问题。
• 当然,随着应用的发展,中断的应用不仅 局限于解决突发事件,也用于输入/输出、 系统调用等方面,使得中断成为微机系统
中非常重要的部分。
6.1 中断概述
1. 中断的概念
CPU在正常执行程序过程中,由于一些
突发事件或故障的产生,导致CPU暂时中止 当前操作,而转去执行处理突发事件或故 障的相应程序,并且在该程序执行完成之
80X86:内部中断和非屏蔽中断就是这样执 行的。
• 80C51:预先考虑的中断类型数量较少,处 理器没有为这些中断编号,而是把相应的 中断程序的入口地址固定在程序存储器中, 当中断发生后,80C51处理器会自动地转 到相应的中断程序入口地址去执行中断服 务子程序,从而省略了根据中断号查找中 断入口地址的时间,提高了中断响应的速 度。
《单片机原理及应用技术》(第3版 李全利)习题答案:xt5
![《单片机原理及应用技术》(第3版 李全利)习题答案:xt5](https://img.taocdn.com/s3/m/5ddf1670a32d7375a5178040.png)
章5 80C51的中断系统及定时/计数器1.80C51有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU响应各中断时,其中断入口地址是多少?答:5个中断源,分别为外中断INT0和INT1、T0和T1溢出中断、串口中断。
电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位。
T0和T1,CPU响应中断时,由硬件自动复位。
RI和TI,由硬件置位。
必须由软件复位。
另外,所有能产生中断的标志位均可由软件置位或复位。
各中断入口地址:INT0―0003H,T0—000BH,INT1—0013H,T1—001BH,RI和TI—0023H。
2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。
试编写主程序及中断服务程序(转至相应的入口即可)。
答:将3个中断信号经电阻线或,接INT1。
ORG 0000HLJMP MAINORG 00013HLJMP ZDFZORG 0040HMAIN:SETB EASETB EX1SJMP $0RG 0200HZDFZ:PUSH PSWPUSH ACCJB P1.0,DV0JB P1.1,DV1JB P1.2,DV2INRET:POP ACCPOP PSWRETIORG 2000HDV0:------------JMP INRETORG 2100HDV1:------------JMP INRETORG 2200HDV2:------------JMP INRET3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?答:当IT0=0时,INT0为电平触发方式。
电平触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0。
单片机原理及应用-C51语言李全利
![单片机原理及应用-C51语言李全利](https://img.taocdn.com/s3/m/283b7b444b73f242336c5fb7.png)
4.3.3 LCD1602模块的命令
序号
指令
RS R/W D7 D6 D5 D4 D3 D2 D1 D0
1 清屏 2 光标归位 3 输入模式设置 4 显示与不显示设置
0
0 00000001
0
0 0000001*
0
0 0 0 0 0 0 1 I/D S
0
0 0 0 0 0 1 DCB
5
光标或屏幕内容移位 选择
字型
00000000B 00000001B 00000010B 00000011B
00000100B 00000101B 00000110B 00000111B
字符00H(或08H)
unsigned char code WeekWord[]=
{
}
数据
LoadCgram(WeekWord);
00000100B DispChar(0,1,0); 00000100B
单片机原理及应用-C51语言李全利
按键 键盘 开关
单片机 最小系统 AT89S52
LED 数码管 蜂鸣器 LCD
每根口线最大可吸收10mA的(灌)电流 P0口吸收电流的总和不能超过26mA P1、P2和P3每个口吸收电流的总和限制在15mA 4个口所有口线的吸收电流总和限制在71mA
CGROM 字符发生器,存储不同的点阵字符图形表, 每个字符都有固定的代码。
CGRAM 自定义字符发生器,可定义8个字符图形。
DDRAM 显示缓冲区。
CGROM
例:代码41H显示字符“A”。
CGRAM
可以自定义8个字符: 0—7 或8--15
CGRAM的内容:
CGRAM地址
4.3.2 LCD1602模块的组成
80C51的定时、计数器
![80C51的定时、计数器](https://img.taocdn.com/s3/m/00cf365abe23482fb4da4c1d.png)
工作方式3将 分成为两个独立的 位计数器TL0和TH0 。 分成为两个独立的8位计数器 工作方式 将T0分成为两个独立的 位计数器 和
5.3.4 定时 计数器用于外部中断扩展 定时/计数器用于外部中断扩展
扩展方法是,将定时 计数器设置为计数器方式 计数器设置为计数器方式, 扩展方法是,将定时/计数器设置为计数器方式,计数初值 设定为满程,将待扩展的外部中断源接到定时/计数器的外部 设定为满程,将待扩展的外部中断源接到定时 计数器的外部 计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产 计数引脚。从该引脚输入一个下降沿信号,计数器加 后便产 生定时/计数器溢出中断 计数器溢出中断。 生定时 计数器溢出中断。 例如,利用 扩展一个外部中断源 扩展一个外部中断源。 例如,利用T0扩展一个外部中断源。将T0设置为计数器方 设置为计数器方 按方式2工作 工作, 的初值均为0FFH,T0允许中 式,按方式 工作,TH0、TL0的初值均为 、 的初值均为 , 允许中 开放中断。 断,CPU开放中断。其初始化程序如下: 开放中断 其初始化程序如下: MOV TMOD,#06H 为计数器方式2 , ;置T0为计数器方式 为计数器方式 MOV TL0,#0FFH , ;置计数初值 MOV TH0,#0FFH , SETB TR0 启动T0工作 ;启动 工作 SETB EA ;CPU开中断 开中断 SETB ET0 允许T0中断 ;允许 中断
GATE:门控位。GATE=0时,只要用软件使 :门控位。 = 时 只要用软件使TCON中的 中的 TR0或TR1为1,就可以启动定时 计数器工作;GATA=1时, 计数器工作; 或 为 ,就可以启动定时/计数器工作 = 时 要用软件使TR0或TR1为1,同时外部中断引脚或也为高电 要用软件使 或 为 , 平时,才能启动定时/计数器工作 计数器工作。 平时,才能启动定时 计数器工作。即此时定时器的启动条 加上了或引脚为高电平这一条件。 件,加上了或引脚为高电平这一条件。 :定时 计数模式选择位。 定时/计数模式选择位 为定时模式; 定时 计数模式选择位。 =0为定时模式; =1 为定时模式 C/T C /T C /T 为计数模式。 为计数模式。 M1M0:工作方式设置位。定时 计数器有四种工作方式, 计数器有四种工作方式, :工作方式设置位。定时/计数器有四种工作方式 进行设置。 由M1M0进行设置。 进行设置
单片机原理及接口技术(第二版)李全利课后习题解
![单片机原理及接口技术(第二版)李全利课后习题解](https://img.taocdn.com/s3/m/6ecd6e5401f69e31433294f5.png)
第二章2. 80C51单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点?答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。
4.如果80C51单片机晶振频率分别为6 MHz、11.0592 MHz、12MHz时,机器周期分别为多少?答:机器周期分别为2μs,1.085μs,1μs。
5.80C51单片机复位后的状态如何?复位方法有几种?答:复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF 内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H。
复位方法一种是上电复位,另一种是上电与按键均有效的复位。
7.80C51单片机的PSW寄存器各位标志的意义如何?答:CY:进位、借位标志。
有进位、借位时 CY=1,否则CY=0;AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位);F0:用户标志位,由用户自己定义;RS1、RS0:当前工作寄存器组选择位;OV:溢出标志位。
有溢出时OV=1,否则OV=0;P:奇偶标志位。
存于ACC中的运算结果有奇数个1时P=1,否则P=0。
8. 80C51单片机的当前工作寄存器组如何选择?答:当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0 来决定。
10.80C51单片机的程序存储器低端的几个特殊单元的用途如何?答:0000H:单片机复位入口地址;0003H:外部中断0的中断服务程序入口地址;000BH:定时/计数器0溢出中断服务程序入口地址;0013H:外部中断1的中断服务程序入口地址;001BH:定时/计数器1溢出中断服务程序入口地址;0023H:串行口的中断服务程序入口地址。
单片机原理及应用技术第版李全利习题答案
![单片机原理及应用技术第版李全利习题答案](https://img.taocdn.com/s3/m/baa30ce22dc58bd63186bceb19e8b8f67c1cefa0.png)
章1绪论1.第一台计算机的问世有何意义答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来;与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响;2.计算机由哪几部分组成答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU;3.微型计算机由哪几部分构成答:微型计算机由微处理器、存储器和I/O接口电路构成;各部分通过地址总线AB、数据总线DB和控制总线CB相连;4.微处理器与微型计算机有何区别答:微处理器集成了运算器和控制器即CPU;而微型计算机包含微处理器、存储器和I/O接口电路等;5.什么叫单片机其主要特点有哪些答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机;单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比;;6.微型计算机有哪些应用形式各适于什么场合答:微型计算机有三种应用形式:多板机系统机、单板机和单片机;多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机;单板机,I/O设备简单,软件资源少,使用不方便;早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用;单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势;目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段;7.当前单片机的主要产品有哪些各有何特点答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟;因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:●ATMEL公司融入Flash存储器技术推出的AT89系列单片机;●Philips公司推出的80C51、80C552系列高性能单片机;●华邦公司推出的W78C51、W77C51系列高速低价单片机;●ADI公司推出的ADμC8xx系列高精度ADC单片机;●LG公司推出的GMS90/97系列低压高速单片机;●Maxim公司推出的DS89C420高速50MIPS单片机;●Cygnal公司推出的C8051F系列高速SOC单片机等;8.简述单片机的开发过程;答:系统需求分析,硬件方案设计,软件编程,仿真调试,实际运行;9.单片机应用系统开发方法有哪些新方法答:在系统编程ISP技术,在应用编程IAP技术;章2 80C51的结构和原理1.80C51单片机在功能上、工艺上、程序存储器的配置上有哪些种类答:功能上分为基本型和增强型;工艺上分为HMOS工艺和CHMOS工艺;在片内程序存储器的配置上有掩膜ROM、EPROM和Flash、无片内程序存储器形式;2. 80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR;3.80C51单片机的P0~P3口在结构上有何不同在使用上有何特点答:作为通用I/O口时,P0、P1、P2和P3都是准双向口;P0可以作为地址/数据总线,此时是一个真正的双向口;P2口可以作为地址线的高8位;P3口是双功能口,每条口线还具有不同的第二功能;另外,P0口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载;4.如果80C51单片机晶振频率分别为6 MHz、 MHz、12MHz时,机器周期分别为多少答:机器周期分别为2μs,μs,1μs;5.80C51单片机复位后的状态如何复位方法有几种答:复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H;复位方法一种是上电复位,另一种是上电与按键均有效的复位;6.80C51单片机的片内、片外存储器如何选择答:80C51的EA引脚为访问片内、片外程序存储器的选择端;访问片内、片外数据存储器需要采用不同的指令加以区分;7.80C51单片机的PSW寄存器各位标志的意义如何答:CY:进位、借位标志;有进位、借位时 CY=1,否则CY=0;AC:辅助进位、借位标志高半字节与低半字节间的进位或借位;F0:用户标志位,由用户自己定义;RS1、RS0:当前工作寄存器组选择位;OV:溢出标志位;有溢出时OV=1,否则OV=0;P:奇偶标志位;存于ACC中的运算结果有奇数个1时P=1,否则P=0;8. 80C51单片机的当前工作寄存器组如何选择答:当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0 来决定;9.80C51单片机的控制总线信号有哪些各信号的作用如何答:RST/VPD:复位信号输入引脚/备用电源输入引脚;ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚;EA/VPP:内外存储器选择引脚/片内EPROM或FlashROM编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚;10.80C51单片机的程序存储器低端的几个特殊单元的用途如何答:0000H:单片机复位入口地址;0003H:外部中断0的中断服务程序入口地址;000BH:定时/计数器0溢出中断服务程序入口地址;0013H:外部中断1的中断服务程序入口地址;001BH:定时/计数器1溢出中断服务程序入口地址;0023H:串行口的中断服务程序入口地址;章3 80C51的指令系统1.80C51系列单片机的指令系统有何特点答:执行时间短;1个机器周期指令有64条,2个机器周期指令有45条,而4个机器周期指令仅有2条即乘法和除法指令;指令编码字节少;单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条;位操作指令丰富;这是80C51单片机面向控制特点的重要保证;2.80C51单片机有哪几种寻址方式各寻址方式所对应的寄存器或存储器空间如何答:80C51单片机的寻址方式有七种;即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址;这些寻址方式所对应的寄存器和存储空间如下表所示;3.访问特殊功能寄存器SFR可以采用哪些寻址方式答:直接寻址和位寻址方式;4.访问内部RAM单元可以采用哪些寻址方式答:直接寻址、寄存器间接寻址和位寻址方式;5.访问外部RAM单元可以采用哪些寻址方式答:寄存器间接寻址;6.访问外部程序存储器可以采用哪些寻址方式答:立即寻址、变址寻址和相对寻址方式;7.为什么说布尔处理功能是80C51单片机的重要特点答:单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位bit变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作;在实现位操作时,借用了程序状态标志器PSW中的进位标志Cy作为位操作的“累加器”;8.对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问答:寄存器间接寻址方式;9.试根据指令编码表写出下列指令的机器码;1MOV A,88H----------------74H, 88H2MOV R3,50H----------------ABH,50H3MOV P1,55H----------75H,90H,55H4ADD A,R---------27H5SETB 12H----------------------D2H,12H10.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列;1将R0的内容传送到R1;2内部RAM单元60H的内容传送到寄存器R2;3外部RAM单元1000H的内容传送到内部RAM单元60H;4外部RAM单元1000H的内容传送到寄存器R2;5外部RAM单元1000H的内容传送到外部RAM单元2000H;答:1MOV A,R0MOV R1,A2MOV R2,60H3MOV DPTR,1000HMOVX A,DPTRMOV 60H,A4MOV DPTR,1000HMOVX A,DPTRMOV R2,A5MOV DPTR,1000HMOVX A,DPTRMOV DPTR,2000HMOVX DPTR, A11.若R1=30H,A=40H,30H=60H,40H=08H;试分析执行下列程序段后上述各单元内容的变化;MOV A,R1MOV R1,40HMOV 40H,AMOV R1,7FH答:R1=7FHA=60H30H=08H40H=60H12.若A=E8H,R0=40H,R1=20H,R4=3AH,40H=2CH,20H=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容若该指令影响标志位,试指出CY、AC、和OV的值;1MOV A,R02ANL 40H,0FH3ADD A,R44SWAP A5DEC R16XCHD A,R1答:1A=2CH240H=0CH3A=22H,CY=1,AC=1,OV=04A=8EH520H=0EH,P=16A=EFH,20=08H13.若50H=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中的内容各为多少MOV A,50HMOV R0,AMOV A,00HMOV R0,AMOV A,3BHMOV 41H,AMOV 42H,41H答:A=3BH,R0=40H,40H=00H,41H=3BH,42H=3BH;14.试用位操作指令实现下列逻辑操作;要求不得改变未涉及的位的内容;1使置位;2清除累加器高4位;3清除,,,;答:1SETB2ANL A,0FH3ANL A,87H15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元;答:MOV 2FH,20HMOV 2EH,21HMOV 2DH,22H16.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,30H单元存差的高8位,31H单元存差的低8位;答:CLR CYMOV 30H,7FHMOV 31H,4DHMOV R0, 31HMOV A,R0SUBB A ,4EMOV R0,A ;保存低字节相减结果DEC R0MOV A, R0SUBB A,2BHMOV R0,A ;保存高字节相减结果17.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中;答:MOV A,R2ANL A,0F0HORL R1,A18.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存放高8位,R3中存放低8位;答:MOV A,20HMOV B,21HMUL ABMOV R3,AMOV R2,B19.若CY=1,P1,P3=01101100B;试指出执行下列程序段后,CY、P1口及P3口内容的变化情况;MOV ,CMOV ,CMOV C,MOV ,CMOV C,MOV ,C答:CY=1, P1, P3=00111100B章4 80C51的汇编语言程序设计1.80C51单片机汇编语言有何特点答:汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点;它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片机结构的认知;但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高;2.利用80C51单片机汇编语言进行程序设计的步骤如何答:一、任务分析首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标;然后对系统的运行环境进行调研;这是应用系统程序设计的基础和条件;二、算法设计经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法或模型来描述,进而把一个实际的系统要求转化成由计算机进行处理的算法;并对各种算法进行分析比较,并进行合理的优化;三、流程描述程序的总体构建;先要确定程序结构和数据形式,资源分配和参数计算等;然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上;应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来;流程图可以分为总流程图和局部流程图;总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节;3.常用的程序结构有哪几种特点如何答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;分支程序:可以改变程序的执行顺序;循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务;4.子程序调用时,参数的传递方法有哪几种答:利用累加器或寄存器;利用存储器;利用堆栈;5.什么是伪指令常用的伪指令功能如何答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令;常用的伪指令包括:ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址;END,功能是结束汇编;DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据;DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间;EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名;BIT,功能是将位地址赋给指定的符号名;6.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序采用大端模式存储;答:程序如下:ORG 0000HMOV R0,21HMOV R1,23HMOV A,R0ADD A,R1MOV 25H,ADEC R0DEC R1MOV A,R0ADDC A,R1MOV 24H,ASJMP $END7.编写程序,把外部RAM中1000H~101FH的内容传送到内部RAM的30H~4FH中;答:ORG 0000HMOV DPTR,1000HMOV R0,30HMOV R7,32LOOP:MOVX A,DPTRMOV R0,AINC R0INC DPTRDJNZ R7,LOOPRET8.编写程序,实现双字节无符号数加法运算,要求R0R1+R6R7→60H61H;答:ORG 0000HMOV A,R1ADD A,R7MOV 61H,AMOV A,R0ADDC A,R6MOV 60H,ASJMP $END9.若80C51的晶振频率为6MHz,试计算延时子程序的延时时间;DELAY:MOV R7,0F6HLP:MOV R6,0FAHDJNZ R6,$DJNZ R7,LPRET答:延时时间:2μs{1+1+2250+2246+2+2}=秒含调用指令2个机器周期10.在内部RAM 的30H~37H单元存有一组单字节无符号数;要求找出最大数存入BIG单元;试编写程序实现;答:ORG 0000HBIG DATA 2FHONE DATA 2AHTWO DATA 2BHSTART:MOV R7,7 ;比较次数MOV R0,30HLOOP:MOV A,R0MOV ONE,AINC R0MOV TWO,R0CLR CSUBB A,R0JC NEXT ;ONE小,TWO大继续比下一对数MOV R0,ONE ;ONE大放后面交换DEC R0MOV R0,TWO ;TWO小放前面INC R0 ;NEXT:DJNZ R7,LOOPMOV BIG,37HSJMP $END11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中;答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元;org 0MOV 52H,0MOV 51H,0MOV 50H,0MOV A,0FDhLCALL DCDTHSJMP $DCDTH:MOV R7,8MOV R0,A ;暂存于R0LOOP:CLR CMOV A,R0RLC AMOV R0,AMOV R1,51H;MOV A,R1 ;ADDC A,R1 ;DA A ;MOV R1,A ;DEC R1MOV A,R1ADDC A,R1DA AMOV R1,ADJNZ R7,LOOPINC R1 ;50H已是结果,R1指向51H,51H单元需拆分MOV A,00HXCHD A,R1MOV 52H,AMOV A,R1SWAP AMOV R1,ARETEND12.编写子程序,将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中;答:ORG 0MOV R1,5BHMOV A,R1ANL A,0F0HSWAP AACALL ASCIIMOV R3,AMOV A,R1ANL A, 0FHACALL ASCIIMOV R4, ASJMP $ASCII:PUSH ACCCLR CSUBB A, 0AHPOP ACCJC LOOPADD A, 07HLOOP: ADD A, 30HRETEND13.编写程序,求内部RAM中50H~59H十个单元内容的平均值,并存放在5AH单元;答:ORG 0000HMOV R7,10MOV R0,50HMOV B,10CLR CCLR ALOOP:ADDC A,R0INC R0DJNZ R7,LOOPDIV ABMOV 5AH,ASJMP $END14.如图所示,编制程序实现:上电后显示“P”,有键按下时显示相应的键号“0”~“7”; 答:实现程序如下:TEMP EQU 30HORG 0000HJMP STARTORG 0100HSTART:MOV SP,5FHMOV P0,8CH ;正序显示"P"MOV P3,0FFH ;输入方式CLR CYNOKEY:MOV A,P3CPL AJZ NOKEY ;无键按下MOV TEMP,P3 ;有键按下CALL D10msMOV A,P3CJNE A,TEMP,NOKEY ;去抖动MOV R2,0 ;键号计数器复位MOV A,TEMPLP:RRC AJNC DONEINC R2SJMP LPDONE:MOV A,R2MOV DPTR,CODE_P0MOVC A,A+DPTRMOV P0,AJMP NOKEYD10ms:MOV R5,10 ;10MSD1ms:MOV R4,249DL:NOPNOPDJNZ R4,DLDJNZ R5,D1msRETCODE_P0:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND章5 80C51的中断系统及定时/计数器有几个中断源各中断标志是如何产生的又是如何复位的CPU响应各中断时,其中断入口地址是多少答:5个中断源,分别为外中断INT0和INT1、T0和T1溢出中断、串口中断;电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位;T0和T1,CPU响应中断时,由硬件自动复位;RI和TI,由硬件置位;必须由软件复位;另外,所有能产生中断的标志位均可由软件置位或复位;各中断入口地址:INT0―0003H,T0—000BH,INT1—0013H,T1—001BH,RI和TI—0023H;2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H;试编写主程序及中断服务程序转至相应的入口即可;答:将3个中断信号经电阻线或,接INT1;ORG 0000HLJMP MAINORG 00013HLJMP ZDFZORG 0040HMAIN:SETB EASETB EX1SJMP $0RG 0200HZDFZ:PUSH PSWPUSH ACCJB ,DV0JB ,DV1JB ,DV2INRET:POP ACCPOP PSWRETIORG 2000HDV0:------------JMP INRETORG 2100HDV1:------------JMP INRETORG 2200HDV2:------------JMP INRET3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同怎样设定答:当IT0=0时,INT0为电平触发方式;电平触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0;在电平触发方式下,CPU响应中断时,不能自动清除IE0标志;电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断;该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况;当IT0=1时,INT0为边沿触发方式;边沿触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,如果在连续的两个机器周期检测到INT0引脚由高电平变为低电平,即第一个周期采样到INT0=1,第二个周期采样到INT0=0,则置IE0=1,产生中断请求;在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志;边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1;若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0;另外,为了保证下降沿能够被可靠地采样到,INT0和INT1引脚上的负脉冲宽度至少要保持一个机器周期若晶振频率为12MHz,为1微秒;边沿触发方式适合于以负脉冲形式输入的外部中断请求;4.定时/计数器工作于定时和计数方式时有何异同点答:定时/计数器实质是加1计数器;不同点:设置为定时器模式时,加1计数器是对内部机器周期计数1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12;计数值乘以机器周期就是定时时间;设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器;在每个机器周期的S5P2期间采样T0、T1引脚电平;当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器;相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即方式0:13位计数器;方式1:16位计数器;方式2:具有自动重装初值功能的8位计数器;方式3:T0分为两个独立的8位计数器,T1停止工作;5.定时/计数器的4种工作方式各有何特点答:方式0位13位计数器,由TL0的低5位高3位未用和TH0的8位组成;TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求;计数初值计算的公式为:X=213-N方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器;计数个数与计数初值的关系为:X=216-N方式2为自动重装初值的8位计数方式;TH0为8位初值寄存器;当TL0计满溢出时,由硬件使TF0置1,向CPU发出中断请求,并将TH0中的计数初值自动送入TL0;TL0从初值重新进行加1计数;周而复始,直至TR0=0才会停止;计数个数与计数初值的关系为:X=28-N方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数;方式3时,T0分成为两个独立的8位计数器TL0和TH0,TL0使用T0的所有控制位;当TL0计数溢出时,由硬件使TF0置1,向CPU发出中断请求;而TH0固定为定时方式不能进行外部计数,并且借用了T1的控制位TR1、TF1;因此,TH0的启、停受TR1控制,TH0的溢出将置位TF1;6.要求定时/计数器的运行控制完全由TR1、TR0确定和完全由INT0、INT1高低电平控制时,其初始化编程应作何处理答:TMOD中GATE的值不同:完全由TR1、TR0确定时GATE为0;完全由INT0、INT1高低电平控制时GATE为1;7.当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何种方式下如何控制T1的开启和关闭答:T0用作方式3时,T1可以工作在方式0、1和2;T1的开启由TR1控制,即TR1=1时,T1开始工作;TR1=0时或者定时/计数器工作在方式3时,T1停止工作;8.利用定时/计数器T0从输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz;试设计程序;答:采用定时20ms,然后再计数1、49次的方法实现;a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机器周期Tcy为1μs;N=t/ Tcy =20×10-3/1×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中,20H送入TL1中;c、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 0030HMAIN:MOV TMOD,01H ;设T1工作于方式2MOV TH0, 4EH ;装入循环计数初值MOV TL0,20H ;首次计数值LP0:SETBACALL NT0CLRMOV R7,49 ;计数49次LP1:ACALL NT0DJNZ R7,LP1AJMP LP0NT0:MOV TH0, 4EHMOV TL0,20HSETB TR0JNB TF0,$CLR TR0CLR TF0RETEND9.要求从引脚输出1000Hz方波,晶振频率为12MHz;试设计程序; 答:采用T0实现a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机器周期Tcy为1μs;1/1000=1×10-3N=t/ Tcy =×10-3/1×10-6=500X=216-N=65536-500=65036=FE0CH即应将FEH送入TH0中,0CH送入TL0中;c、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 000BH ;T0的中断入口地址LJMP DVT0ORG 0030HMAIN:MOV TMOD,01H ;设T0工作于方式2MOV TH0, 0FEH ;装入循环计数初值MOV TL0,0CH ;首次计数值SETB ET0 ;T0开中断SETB EA ;CPU开中断SETB TR0 ;启动T0SJMP $ ;等待中断DVT0:CPLMOV TH0, 0FEHMOV TL0, 0CHSETB TR0RETIEND10.试用定时/计数器T1对外部事件计数;要求每计数100,就将T1改成定时方式,控制输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环;设晶振频率为12MHz;答:a、T1工作在计数方式2时,控制字TMOD配置:M1M0=10,GATE=0,C/T=1,可取方式控制字为60H;T1工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字为10H;b、计算初值X:定时10ms时:晶振为12 MHz,所以机器周期Tcy为1μs;N=t/ Tcy =10×10-3/1×10-6=10000X=216-N=65536-10000=55536=D8F0H即应将D8H送入TH1中,F0H送入TL1中;计数100时:N=100X=28-N=256-100=156=9C Hc、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 001BH ;T1的中断入口地址LJMP DVT1ORG 0030HMAIN:MOV TMOD,60H ;T1工作于计数方式2MOV TH1,9CH ;装入计数初值MOV TL1,9CH ;CLRSETB ET1 ;T1开中断SETB EA ;CPU开中断SETB TR1 ;启动T1SJMP $ ;等待中断DVT1:SETBCLR ET1CLR TR1MOV TMOD,10H ;T1工作于定时方式1MOV TH1,0D8H ;装初值MOV TL1,0F0HSETB TR1JNB TF1,$ ;查询等待10msCLR TF1CLR TR1CLRMOV TMOD,60H ;T1工作于计数方式2MOV TH1,9CH ;装初值MOV TL1,9CH ;SETB ET1 ;T1开中断SETB TR1 ;启动T1RETIEND11.利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯;编一个程序,使8个指示灯依次闪动,闪动频率为1次/秒即,亮1秒后熄灭并点亮下一个,-----;答:采用定时20ms,计数50次实现1秒定时;编制1秒延时子程序,由主程序调用;a、T0工作在定时方式1时,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;b、计算计数初值X:晶振为12 MHz,所以机器周期Tcy为1μs;N=t/ Tcy =20×10-3/1×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中,20H送入TL1中;c、实现程序如下:ORG 0000HAJMP MAIN ;跳转到主程序ORG 0030HMAIN:CLR CYMOV A,01HLP0:MOV P1,ACALL D1SECRL AAJMP LP0D1SEC:MOV R7,50 ;计数50次MOV TMOD,01HDL:MOV TH0,4EHMOV TL0,20HSETB TR0JNB TF0,$CLR TR0CLR TF0DJNZ R7,DLRETEND。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C/T:模式选择位。 清0为定时模式,置1为计数方式。 M1M0:工作方式设置位。可设置四种工作方式(见下页)。
2015-1-6
19
M1M0 工作方式 00 方式0
说 13位定时/计数器
明
01
10 11
方式1
方式2 方式3
16位定时/计数器
8位自动重装定时/计数器 T0分成两个独立的8位定时/计数器; T1此方式停止计数
2015-1-6
21
6.3.3
定时/计数器的工作方式
T0有方式0、1、2、3;T1有方式0、1、2。以T0为例说明。
方式0:13位方式
TCON TF1 申请 中断 TR1 TF0 TR0 D7 溢出 TH0 8位 TL0 5位 &
≥1
TMOD T0引脚 1 1 0 0 0 M0 M1 C/T 机器周期 GATE M0 1 D0 INT0引脚 M1 C/T GATE D7 D0
2015-1-6 11
中断响应时间
M1 M2 M3 M4 M5 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
中断 ε 标志 锁存 有效
排序选择
保护断点,长调用至入口
PT1:T1中断优先级 PS :串口中断优先级
同一优先级的自然顺序: 自高至低:INT0、TO、INT1、T1、串口。
9
2015-1-6
中断优先级遵循的原则 几个中断同时申请,先响应高级的中断 正进行的中断服务,同级或低级中断不能对其 中断,但可以被高级中断所中断。 为此,中断系统内设有对应高、低2个优先级状 态触发器(用户不能寻址)。 状态触发器的复位由中断返回指令RETI控制。
2015-1-6 24
方式1:16位方式
TCON TF1 申请 中断 TR1 TF0 TR0 D7 溢出 1 TH0 8位 TL0 8位 &
≥1
TMOD T0引脚 1 0 M0 M1 C/T 0 机器周期 GATE M0 1 D0 INT0引脚 M1 C/T GATE D7 D0
X=216-N=65536-N
IE
EA 1
IP
PX0 1 0 PT0 1
硬件查询
高 优 先 级
INT0 T0 INT1 T1 RX TX
中断申请
中断入口
中断入口
SCON
2015-1-6 3
6.1.2 80C51的中断源 中断源 外部中断0(INT0) 外部中断1(INT1) T0溢出中断(TF0) T1溢出中断(TF1) 串行口中断(RI或TI)
RI:串口接收中断标志,响应中断时不能自动清除 TI:串口发送中断标志,响应中断时不能自动清除
7
2015-1-6
6.1.3 80C51中断的控制 中断允许控制
中断源的开放和屏蔽由IE控制(1,开放;0,禁止)
7 IE EA 6 5 4 ES 3 2 1 0 ET1 EX1 ET0 EX0 字节地址:A8H
第6章 80C51的中断系统及定时/计数器
6.1
80C51单片机的中断系统
6.2
80C51单片机的中断处理过程
6.3
80C51单片机的定时/计数器 80C52的定时/计数器2
6.4
2015-1-6
1
6.1 80C51单片机的中断系统
6.1.1 80C51中断系统的结构
中断的概念
CPU进行工作A时发生了事件B,请求CPU马上处理 CPU暂时中断当前工作A,转去处理事件B 事件B处理完后,回到工作A被中断的地方继续处理A工作
void Ex0Isr() interrupt 0 { if(Flag0==0)Flag0=1; Flag1 = 0; } void Ex1Isr() interrupt 2 { if(Flag1==0)Flag1=1; Flag0 = 0; }
2015-1-6 16
+5V 100Ω
P2.7 P2.6 P2.5 P2.4 P2.3 INT0 P3.2 P2.2 P2.1 P3.3 P2.0 INT1
注意:TMOD不能进行位寻址
2015-1-6
20
控制寄存器TCON
7 TCON 6 5 4 3 2 1 0 字节地址:88H TF1 TR1 TF0 TR0
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。 TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
2015-1-6
22
初值计算:
公式法 C/T=1时,则为计数模式,有: 13 X=2 -N=8192-N C/T=0时,则为定时模式,有: X=213-N=8192-N,N=t/Tcy 求补法 :X=对N求补
【例5-3】若计数个数N为2,求计数初值。 公式法计算:X=8192-2=8190=1FFEH 求补法计算:对0 0000 0000 0010B取反加1为: 1 1111 1111 1110B(1FFEH)
【例6-1】单外部中断源示例
VCC
P2.7 P2.6 P2.5 P2.4
S
P3.2 INT0
P2.3 P2.2 P2.1 P2.0
89S51
2015-1-6
15
【例6-2】如图所示,编写程序实现:系统上电后,数码管 显示“P”。按下S0键则数码管进行加计数,S1键则数码管进 行减计数。计数值显示在数码管上。
计数范围:1~65536
计数初值要分成2个字节分别送入TH0、TL0
2015-1-6 25
【例6-4】若要求定时器T0工作于方式1,定时时间为1ms, 当晶振为6 MHz时,求送入TH0和TL0的计数初值各为多少? 应怎样送入TH0和TL0?
由于晶振为6 MHz,所以机器周期Tcy为2µ S,因此: N=t/Tcy=1×10-3/2×10-6=500 X=216-N=65536-500=65036=FE0CH 分别将FEH送入TH0中,0CH送入TL0中即可。
2015-1-6
5
两种触发方式比较:
电平方式时, INTx低电平必须保持到响应时,否则就会 漏掉;在中断服务结束前,INTx低电平必须撤除,否则中断 返回之后将再次产生中断。 例,8255的中断请求线在接受读或写操作后即被复位,因 此以其去请求电平触发方式的中断比较方便。 边沿方式时,采样到有效下降沿后,在IEx中将锁存一个1。 若CPU暂时不能响应,申请标志也不会丢失,直到响应时才 清0。 例,ADC0809的转换结束信号EOC为正脉冲,经反相后就可 以作为80C51的INTx信号 。
内部总线
GATE TF1 TR1 TF0 TR0 C/T C/T M1 M0 M1 M0
TCON
TMOD
TH1、TL1 TH0、TL0 TCON TMOD
GATE
外部中断相关位
T1方式
17
T0方式
2015-1-6
工作原理
---实质是16位加1计数器
定时器模式时,对内部机器周期计数。 定时时间=计数值*机器周期 计数器模式时,是对外部脉冲计数。脉冲由 T0( P3.4 ) 或T1(P3.5)引脚输入。 注意:(若计数值为N,计数初值为X) •溢出信号使TF0或TF1置1,并发出中断请求,16位时有: X=65536-N •12MHz晶振时,计数频率低于0.5MHz
也可以利用以下2条语句完成: TH0 = (65536-500)/256 ; 商为计数初值的高字节 TL0 = (65536-500)%256 ; 余数为计数初值的低字节
2015-1-6
18
2015-1-6
6.3.2 定时/计数器的控制
工作方式寄存器TMOD
7 TMOD 6 5 M1 4 M0 3 2 1 M1 0 M0 字节地址:89H GATE C/T GATE C/T
GATE :门控位。 GATE = 0 时,只要 TRx 为 1 ,就可启动计 数器工作; GATA = 1 时,定时器的启动还要加上 INTx 引脚 为高电平这一条件。
中断服务
中断响应至少需要3个完整的机器周期(3~8个)! 受阻时要附加3~5个机器周期(无同级或高级中断正进行) 排序周期不是指令的最后机器周期(如MUL,5个) 排序周期恰逢RETI类指令(要再跟指令,若是MUL,8个)
2015-1-6
12
6.2.2 中断响应过程 CPU响应中断过程
将相应优先级状态触发器置1(阻断后来同级或低级中断 ) 执行硬件LCALL指令(PC入栈,中断服务程序入口址送PC ) 执行中断服务程序
2015-1-6 6
溢出中断标志TF1、TF0(用TFx表示) 溢出中断请求标志TFx ,Tx启动后就开始由初值进行加 1计数,直至最高位产生溢出使TFx=1向CPU请求中断。CPU 响应中断后TFx自动清0。
SCON的中断标志
7 SCON 6 5 4 3 2 1 TI 0 RI 字节地址:98H
EX0:外中断0允许 ET0:T0中断允许 EX1:外中断1允许
ET1:T1中断允许 ES :串口中断允许 EA :CPU中断允许
2015-1-6
8
中断优先级控制
中断优先级由IP控制(1,高级;0,低级)
7 IP 6 5 4 PS 3 2 1 0 PT1 PX1 PT0 PX0 字节地址:B8H
PX0:外中断0优先级 PT0:T0中断优先级 PX1:外中断1优先级
S0
a b c d e f g
dp
com
S1
89S51
共阳极
6.3 80C51单片机的定时/计数器