新第四章:中断,定时器,串行口
第四章-80C51单片机的功能单元

第四章80C51单片机的功能单元4·1 80C51的四个I/O口在使用上有哪些分工和特点?试比较各分工的特点? 试比较各口的特点?何谓分时复用总线?P3口的第二变异功能有哪些?答:(1)80C51的四个I/O口在使用上的分工和特点①P0口: 可作通用I/O口用,也可作地址/数据线用。
作通用I/O口用时,输出级为开漏极电路,在驱动外部电路时应接上拉电阻;在接有外部存储器时,P0口作地址/数据线用,先输出低8位地址到外部地址锁存器,后输人指令代码或输人/输出数据。
②Pl口: 是一个8位准双向口,作通用I/O口用。
③P2口: 是一个8位准双向口,作通用I/O口用。
当外部接有存储器时,可用于输出高8位地址。
④P3口: 是一个多功能端口。
其基本功能仍然是通用I/O口,使用时与Pl、P2口类似。
其第二功能则是串行口、外部中断线、定时器/计数器的输入及外部数据存储器的选通信号等。
(2)分时复用总线分时复用总线是:在一组总线上,在不同的时间,有时输出地址,有时输人代码或输出/输人数据。
例如,P0口和P2口就组成了一组地址/数据复用总线。
(3)P3口的第二变异功能第一功能第二变异功能串行口:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)中断:P3.2 INT0外部中断0P3.3 INT1外部中断1定时器/计数器(T0、T1):P3.4 T0(定时器/计数器0的外部输入)P3.5 T1(定时器/计数器1的外部输入)数据存储器选通:P3.6 WR(外部存储器写选通,低电平有效,输出)P3.7 RD(外部存储器读选通,低电平有效,输出)4·2 80C51端口P0~P3作通用I/O 口时,在输入引脚数据时,应注意什么?答:p0~p3作通用I/O口在输入引脚数据时,应先用软件向口的输出锁存器写1。
4·3 "读一改一写"指令有何特点? 请至少列出五条不同操作的"读—改一写"指令。
单片机原理及应用作业答案

作业答案0-1绪论1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。
2.什么叫单片机其主要特点有哪些解:将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。
单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。
第1章 MCS-51单片机的结构与原理15. MCS-51系列单片机的引脚中有多少根I/O线它们与单片机对外的地址总线和数据总线之间有什么关系其地址总线和数据总线各有多少位对外可寻址的地址空间有多大解:MCS-51系列单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。
每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。
通常把4个端口称为P0~P3。
在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。
在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。
MCS-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64KB。
25. 开机复位后,CPU使用的是哪组工作寄存器(R0-R n)它们的地址是什么CPU如何确定和改变当前工作寄存器组(R0-R n)解:开机复位后,CPU使用的是第0组工作寄存器。
它们的地址是00H-07H。
CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。
27. MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的当主频为12MHz的时候,一个机器周期是多长时间执行一条最长的指令需要多长时间解:时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。
单片机中的中断与定时器的原理与应用

单片机中的中断与定时器的原理与应用在单片机(Microcontroller)中,中断(Interrupt)和定时器(Timer)是重要的功能模块,广泛应用于各种嵌入式系统和电子设备中。
本文将介绍中断和定时器的基本原理,并探讨它们在单片机中的应用。
一、中断的原理与应用中断是指在程序执行过程中,当发生某个特定事件时,暂停当前任务的执行,转而执行与该事件相关的任务。
这样可以提高系统的响应能力和实时性。
单片机中的中断通常有外部中断和定时中断两种类型。
1. 外部中断外部中断是通过外部触发器(如按钮、传感器等)来触发的中断事件。
当外部触发器发生状态变化时,单片机会响应中断请求,并执行相应的中断服务程序。
外部中断通常用于处理实时性要求较高的事件,如按键检测、紧急报警等。
2. 定时中断定时中断是通过定时器来触发的中断事件。
定时器是一种特殊的计时设备,可以按照设定的时间周期产生中断信号。
当定时器倒计时完成时,单片机会响应中断请求,并执行相应的中断服务程序。
定时中断常用于处理需要精确计时和时序控制的任务,如脉冲计数、PWM波形生成等。
中断的应用具体取决于具体的工程需求,例如在电梯控制系统中,可以使用外部中断来响应紧急停车按钮;在家电控制系统中,可以利用定时中断来实现定时开关机功能。
二、定时器的原理与应用定时器是单片机中的一个重要模块,可以用于计时、延时、频率测量等多种应用。
下面将介绍定时器的工作原理和几种常见的应用场景。
1. 定时器的工作原理定时器是通过内部时钟源来进行计时的。
它通常由一个计数器和若干个控制寄存器组成。
计数器可以递增或递减,当计数值达到设定值时,会产生中断信号或触发其他相关操作。
2. 延时应用延时是定时器最常见的应用之一。
通过设定一个合适的计时器参数,实现程序的精确延时。
例如,在蜂鸣器控制中,可以使用定时器来生成特定频率和持续时间的方波信号,从而产生不同的声音效果。
3. 频率测量应用定时器还可以用于频率测量。
中断及串行口

IP Bቤተ መጻሕፍቲ ባይዱH PT2 PS
D0 PT1 PX1 PT0 PX0
PX0:外部中断0中断优先级控制位。 PT0:定时计数器T0的中断优先级控制位。
PX1:外部中断1中断优先级控制位。
PT1:定时计数器T1的中断优先级控制位。 PS :串行口中断优先级控制位 PT2:定时计数器T2的中断优先级控制位。 各个中断优先级控制位设置为1,表示设置为高优先级;设置 为0,表示设置为低优先级。
2、定时器中断
8051内部有两个16位的定时器/计数器,对内部定时脉冲(主 脉冲经12分频后)或T0/T1引脚上输入的外部脉冲进行计数。 定时器T0/T1在计数脉冲作用下从全“1”变为全“0”时自动 向CPU提出溢出中断请求,以表明定时器T0或T1的定时时间已 到或计数器已溢出。当 CPU响应定时器中断并转入中断服务程 序时由硬件清0中断标志。不使用中断方式时可由软件清0中断 标志。 已知宽度脉冲
服务 中断响应 结束
撤除
适用于外部中断输入为低电平,且中断服务程序中能够清除该中断 源申请信号的情况。
ITx=1,边沿触发。在INTx端连续采样到一个T 的高电平和紧接着一个T的低电平则IEx=1,由该位 申请中断,既使CPU不能立即响应,中断标志仍保留 等待响应,一旦进入中断程序, IEx被CPU自动清除。 此情况适用于以负脉冲形式输入的外部中断请求。
CPU在每个机器周期中采样中断标志,在 下一个机器周期中按先后顺序查询中断标志。 在查询到某一中断标志为1时,则在下一个机 器周期S1期间按优先级别进行中断处理。中断 系统通过硬件生成长调用指令LCALL,将程序 转移到中断入口地址单元,执行相应的中断服 务程序
响应中断时,CPU先置位优先级状态触发 器,接着再执行由硬件产生的长调用指令 LCALL。该指令将程序计数器PC的内容压入堆 栈保护起来。
DSP 第四章 DMA

(6)DMA 传输计数方式:Bit 10
TC=0,计数器减为0,不停止DMA传输;为1,停止DMA传输 (7)DMA 传输计数中断:Bit 11
TCINT=0,传输结束后,DMA中断无效;为1,传输结束后, 启动DMA中断
4.3.3
DMA寄存器—源地址寄存器
1) 24位寄存器 2)通过全局控制寄存器中的DECSRC,INCSRC实现地 址修改以选通相应固定地址的通信信道 3)只能对该寄存器进行读操作
4.3.4
DMA初始化和重构—同步机制
① 清除DMA的全局控制寄存器START位,使DMA处于保持状态。 ② 配置DMA全局控制寄存器(START=00)以及DMA源、目的寄存器和 传输计数器; ③ 启动DMA。
注意: ① 启动DMA之前应重新配置寄存器; ② DMA和CPU优先级关系,合理分配存储器; ③ 当应用中断同步时,必须确保每一个中断被接收,否则DMA将 无法完成一个数据块的传输; ④ 当执行串行口写/读数据时,需要读、写同步,以保证数据的 有效性; ⑤ DMA完成一组数据的传输后,设置DMA控制寄存器的TCINT位, IF寄存器的EDINT位必须置为1。
4.3.3
DMA寄存器—全局控制寄存器
DMA通道控制寄存器 全局控制寄存器控制DMA的操作并反映DMA在每一个周期 内的变化状态。通过对全局控制器的特殊位的操作能够使得 源地址和目的地址增加、减少或者同步。系统复位时,DMA 控制寄存器的所有位都置0。
位 0-1 2-3 4 5 6 7 8-9 10 11 12-31
(3) DMA的字传输 读操作,DMA通道从源地址寄存器中读取一个字,把它写入DMA 通道的临时寄存器中。读操作后,源地址寄存器是否增加、减少或 保持不变取决于DMA全局控制寄存器的INCSRC或DECSRC位的设置。 写操作,DMA将临时寄存器中的值写入到目的地址寄存器指向的 目的地址。写操作后,目的地址寄存器增加减少或保持不变取决于 DMA全局控制寄存器的INCDRC或DECDRC位的设置。
单片机原理及接口技术期末复习资料

第一章微机基础知识1、微处理器:又称中央处理单元CPU,是小型计算机或微型计算机的控制和处理部分。
2、微型计算机:简称微机C,是具有完整运算及控制功能的计算机。
包括:微处理器(CPU)、存储器、接口适配器(输入输出接口电路)、输入/输出(I/O)设备。
3、单片机:是将微处理器、一定容量RAM和ROM以及I/O口、定时器等电路集成在一块芯片上,构成单片微型计算机。
4、单片微型计算机包括:微处理器、RAM、ROM、I/O口、定时器5、微处理器(机)的组成:运算器&控制器㈠运算器的组成:算术逻辑单元(简称ALU)、累加器、寄存器ALU的作用:是把传送到微处理器的数据进行运算或逻辑运算。
运算器的两个主要功能:(1)执行各种算术运算。
(2)执行各种逻辑运算,并进行逻辑测试。
如零值测试或两个值的比较。
㈡控制器的组成:程序计数器、指令寄存器、指令译码器、时序发生器、操作控制器6、CPU中的主要寄存器:累加器(A)、数据寄存器(DR)、指令寄存器(IR)和指令译码器(ID)、程序计数器(PC)、地址寄存器(AR)7、BCD码:用二进制对十进制0-9进行编码——BCD码。
用四位二进制数0000-1001表示0-9。
例如:13 D=0001 0011 BCD例如:1001 0111 BCD=97 D第二章89C51单片机的结构和原理1、运算器包括:ALU(算术运算和逻辑运算单元)TMP(8位的暂存器)ACC(累加器)B(寄存器)PSW(程序状态寄存器)2、存储器包括:程序存储器(ROM)、数据存储器(RAM)3、CPU访问片内、片外ROM指令用MOVC。
访问片外RAM指令用MOVX。
访问片内RAM指令用MOV。
4、高128字节RAM——特殊功能寄存器(SFR):有21个;地址:80H~FFH5、堆栈的两种操作:数据压入(PUSH)数据弹出(POP)6、每条指令由一个或若干个字节组成。
有单字节指令,双字节指令,…多字节指令等。
单片机原理及接口技术,习题答案第四版李朝青
单片机原理及接口技术课后习题答案(第四版)李朝青、、、、、、、、、、、、、、、、前两章略、、、、、、、、、、、、、、、、第三章1、指令:CPU根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言5、SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址6、MOV A,40H ;直接寻址(40H)→AMOV R0,A ;寄存器寻址(A)→R0MOV P1,#0F0H ;立即数寻址0F0→P1MOV @R0,30H ;直接寻址(30H)→(R0)MOV DPTR,#3848H ;立即数寻址3848H→DPTRMOV 40H,38H ;直接寻址(38H)→40HMOV R0,30H ;直接寻址(30H)→R0MOV P0,R0 ;寄存器寻址(R0)→P0MOV 18H,#30H ;立即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址((R0))→AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:→左边是内容,右边是单元7、用直接寻址,位寻址,寄存器寻址8、MOV A,DATA ;直接寻址2字节1周期MOV A,#DATA ;立即数寻址2字节1周期MOV DATA1,DATA2 ;直接寻址3字节2周期MOV 74H,#78H ;立即数寻址3字节2周期如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录A9、MOV A,@R0 ;((R0))=80H→AMOV @R0,40H ;(40H)=08H→(R0)MOV 40H,A ;(A)=80→40HMOV R0,#35H ;35H→R0最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H10、用直接寻址,位寻址,寄存器寻址11、只能采用寄存器间接寻址(用MOVX指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)高128字节:直接寻址,位寻址,寄存器寻址13、采用变址寻址(用MOVC指令)14、压缩BCD码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。
单片机原理及其接口技术王敏课后作业答案
第二章作业(P40)2-4 MCS-51单片机中执行程序的地址放在哪?由几个位组成?最大寻址范围是多少?答:放在程序计数器PC中,16位,64KB。
2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义?答: 0000H 复位后,PC=0000H,开始执行程序的地址0003H 外部中断0 (INT0)入口地址000BH 定时器0中断(TF0)入口地址0013H 外部中断1(INT1)入口地址001BH 定时器1中断( TF1)入口地址0023H 串行口中断TI/RI入口地址2-10 开机复位以后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器?答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。
第三章作业(P75)3-7 指出指令中的50H或66H个代表什么?解:① MOV A, #50H 立即数MOV A, 50H 直接地址MOV 50H, #20H 直接地址MOV C, 50H 位地址MOV 50H, 20H 直接地址② MOV @R0, #66H 立即数MOV R6, #66H 立即数MOV 66H, #45H 直接地址MOV 66H, C 位地址MOV 66H, R1 直接地址3-9 写出能完成下列数据传送的指令:解:① R1中内容传送到R0;MOV A, R1MOV R0,A②内部RAM 20H单元中的内容送到30H单元;MOV 30H, 20H③外部RAM 20H单元中的内容送到内部RAM 20H单元; MOV R0, #20HMOVX A, @R0MOV 20H, A④外部RAM 2000H单元中的内容送到内部RAM 20H单元; MOV DPTR, #2000HMOVX A, @DPTRMOV 20H, A⑤外部ROM 2000H单元中的内容送到内部RAM 20H单元; MOV DPTR, #2000HMOV A, #00HMOVC A, @A+DPTRMOV 20H, A⑥外部2000H单元中的内容送到外部RAM 3000H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV DPTR, #3000HMOVX @DPTR, A3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少?① MOV SP, #70H ② MOV SP, #60HPUSH 20H PUSH 22HPUSH 21H PUSH 21HPUSH 22H PUSH 20H解:(73H)=Z;(72H)=Y;(71H)=X;(63H)=X;(62H)=Y;(61H)=Z;3-20 试编出能完成如下操作的程序:解:①使20H单元中数的高两位变“0”,其余位不变;ANL 20H, #3FH②使20H单元中数的高两位变“1”,其余位不变;0RL 20H, #0C0H③使20H单元中数的高两位变反,其余位不变;XRL 20H, #0C0H④使20H单元中数的高四位变“1”,低四位变“0”;MOV 20H, #0F0H⑤使20H单元中数的所有位变反。
外部中断,定时器与串行口综合实验
硬件实验八外部中断,定时器与串行口综合实验一.实验目的1.进一步巩固外部中断,定时计数器和串行口的原理2.进一步巩固外部中断,定时计数器使用和编程方法3.进一步巩固串行口与PC机通信的实现方法二.实验内容独立按键按下后,单片机每隔3s将内部的RAM60H开始的存储单元中的数据发送到串行口,并在PC上的串行调试助手上显示。
再次按下,则停止传送。
若继续按下,则继续传送。
以此类推。
三.实验连线用杜邦线将P3.0口和独立按键连接起来四.实验说明本实验结合外部中断,定时计数器和串行口的知识,实现数据定式传输。
独立按键的按下将产生从高到低的电平变化,可作为外部中断的输入信号。
主程序中,应首先对外部中断,定时计数器和串行口进行初始化。
在外部中断程序中判断是发送还是停止发送,若需要发送数据则开启定时器,若停止发送数据则关闭定时器。
在定时器中断服务程序中发送数据。
五.实验代码及其现象程序代码:#include<reg52.h>#define uchar unsigned char#define uint unsigned intchar code table[]="communication engineering kingsam 1006052150"; char *p;uint i;int k=0;char overtime,flag;void init() //初始化函数{TMOD=0x21; //置工作方式TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=0xfd;TL1=0xfd;EA=1;EX0=1;ET0=1;IT0=1;ES=1;TR1=1; //启动定时器R1SCON=0x40;p=0x60;p=table;}void int0() interrupt 0 //外部中断子函数{if(flag==0){flag=1;TR0=1;}else{flag=0;TR0=0;}}void T0_interrupt() interrupt 1 //定时器T0中断函数{TH0=(65536-50000)/256;TL0=(65536-50000)%256;i++;if(i==60) //定时3秒{i=0;overtime=1;}}void main() //主函数{init();while(1){if(overtime==1){*p=table[k++];SBUF=*p;p++;while(TI==0);TI=0;overtime=0;if(k==42){k=0;}}}}实验思路:本实验要求实现按下独立按键之后,单片机每隔3s将内部RAM60H开始的存储单元中的数据发送到串行口,并在PC上的串口调试助手上显示。
单片机第四章答案
第四章习题与思考答案4-3外设端口有哪两种编址方法?各有什么特点?答:微型计算机对 I/O 端口进行编址的方式有两种:单独编址和统一编址。
1.外设端口单独编址特点:(1) 需要专用 I/O 指令,实现 CPU 和外设间数据传送。
(2)I/O端口地址的独立。
2.外设端口与存储器统一编址特点: (1) 无需专用 I/O 指令(2)I/O端口地址是内存地址中的一部分。
4-4 I/O 数据有哪四种传送方式?各有什么特点?CPU 与外设之间的数据传送方式有无条件传输方式、查询方式、中断方式和 DMA 方式。
1.无条件传输方式无条件传送又称为同步传送或直接传送方式。
CPU 在与外设进行数据交换时,外设随时处于准备好的状态,这样 CPU 不必查询外设的状态,也不必等待,而是直接进行数据的输入输出。
2.查询传输方式查询传输方式也称为异步传输、条件传输方式。
采用查询方式时, CPU 每次与外设进行数据传输前,都要先读取状态端口的信息,查询外设是否准备就绪,只有在外设处于“就绪”状态时,才能向外设的数据端口发送数据或从其中读取数据,如果外设未就绪,就需要 CPU 原地循环等待外设完成准备工作,所以 CPU 的工作效率不高。
3.中断传输方式在中断传输方式中,以外设为主动方,每次外设准备好就可以向 CPU 发出一次中断请求,使 CPU 暂停当前正在执行的程序,转去与外设进行一次数据传输工作,当完成了本次数据的输入或输出后,再回到原先被打断的地方继续执行原来的程序。
中断方式可以大大提高 CPU 的效率和系统的实时性。
4. DMA 方式DMA 方式即直接存储器存取方式,是一种在DMA控制器的控制下实现的外设与存储器之间的直接数据传输方式。
在整个DMA 传输过程中,是不需要 CPU 参与的,完全是通过硬件逻辑电路用固定的顺序发地址和读写信号来实现的,数据不需要经过 CPU 而是在外设和存储器之间高速传输。
4-5 8051 内部的并行I/O 口有哪些?各有什么功能?1.P0 口P0 口的第一功能是作为通用I/O 口使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.中断请求 ………….. 2.中断响应 …………... (含断点入栈) 3.中断服务 中断源i请求中断的目的是得到CPU的服务, 这种服务体现在CPU执行中断服务程序。 4.中断返回 中断服务程序最后一条指令必是中断返回指 令,见下图。该指令的执行会将栈顶数据(即断 点) 弹入PC。
中断优先级与中断嵌套
裸机的全部程序如图示共有n+1段程序。 由中断技术将它们组织起来: ①平时CPU执行主程序; ②接口i数据就绪,向CPU发中断请求; ③CPU响应中断,转而执行接口i输入/输 出程序;此程序执行结束,返回①。
为了实现中断概念,微机系统必须三方面配合:一是各接口能发出中断请求; 二是微机系统有中断控制机构;三是CPU具有中断功能。
TCON
IE0
◆ ◆
IE
◆ ◆ ◆
IP
1
◆
EX0
◆ ◆ ◆ ◆
PX0
◆
0 1 0 1 0 1 0 1 0
◆ ◆
1
TF0 IE1 TF1
自 然 优 先 级
高级中断
ET0
◆ ◆ ◆ ◆
PT0
◆
◆ ◆
矢量地址
PC
EX1
◆ ◆ ◆ ◆
PX1
◆
◆ ◆
ET1 TI
RI
◆ ◆ ◆ ◆
PT1
◆
◆
◆
+
ES
EA
PS
◆
SCON 中断 标识
1、TCON中的中断标识
TCON
(88H)
D7 D6 D5 D4 TF1 TR1 TF0 TR0
D3 D2 IE1 IT1
D1 IE0
D0 IT0
》标识位
TF1:定时器/计数器1溢出中断请求标识,定时器/计数器1溢出 时置1,向CPU发出中断请求,响应后自动清0 TF0:定时器/计数器0溢出中断请求标识,含义同TF1 。 IE1:外部中断1的中断请求标志,外部有中断请求信号时置 1,向CPU发出中断请求,响应后自动清0。 IE0:外部中断0的中断请求标志,含义同IE1 。 》控制位 IT1:外部中断1的触发方式控制位: IT1=0:低电平触发: IT1=1:下降沿触发。 IT0:外部中断0的触发方式控制位,含义同IT1
2.程序查询式I/O控制 在这种I/O控制方式中,接口i与CPU之 间的数据传送完全由CPU通过程序查询来实 现。CPU通过反复查询接口i外设的状态, 了解是否就绪,需要服务,然后转入接口i 输入/输出程序;如果外设未就绪,不需要 服务,CPU则继续查询。
软件组织:接口i的输入/输出程序加上 条件判断之后的程序段见图,这样的段可 以根据需要放到主程序任何地方。
MCS-51单片机内部资源
CPU
中 断 机 构
T0
T1
串行口
IT0=0 INT0 IT0=1 T0 IT1=0 INT1 IT1=1 T1 TX
1
TCON
IE0
◆ ◆
IE
◆ ◆ ◆
IP
1
◆
EX0
◆ ◆ ◆ ◆
PX0
◆
0 1
0 1 0 1 0 1 0
◆ ◆
1
TF0 IE1 TF1 TI
自 然 优 先 级
源 允 许
总 允 许
自 然 优 先 级
低级中断
优先级 硬件查询
矢量地址 PC
中断源的中断请求中断请求标识(供CPU第III步查询) 中断请求标识分布在定时器控制寄存器TCON和串行口控制寄 存器SCON中
4.1.2 MCS-51单片机的中断机构
IT0=0 INT0 IT0=1 T0 IT1=0 INT1 IT1=1 T1 TX RX 1
为了保证数据输入输出的正确可靠,必须有一个严格的 工作顺序: 先有接口i的数据就绪,后有CPU执行接口i的输入/输出 程序。 这就是在裸机上组织软件系统的原则。 遵循这种顺序,诞生三种I/O控制方式:直接传输式、程 序查询式、中断驱动式等。 1.直接I/O传输方式 外部设备i若为始终就绪外设,则任何时候CPU都可以执行接口i的输入/输出 程序。在这种条件下,接口i输入/输出程序可放在主程序的任何地方
TCON
IE0
◆ ◆
IE
◆ ◆ ◆
IP
1
◆
EX0
◆ ◆ ◆ ◆
PX0
◆
0 1 0 1 0 1 0 1 0
◆ ◆
1
TF0 IE1 TF1
自 然 优 先 级
高级中断
ET0
◆ ◆ ◆ ◆
PT0
◆
◆ ◆
矢量地址
PC
EX1
◆ ◆ ◆ ◆
PX1
◆
◆ ◆
ET1 TI
RI
◆ ◆ ◆ ◆
PT1
◆
◆
◆
+
ES
EA
PS
◆
SCON 中断 标识
2、SCON中的中断标志(2个)
SCON (98H) D7 SM0 D6 SM1 D5 SM2 D4 REN D3 TB8 D2 RB8 D1 TI D0 RI
TI:串行口“发送中断请求”标识,串行口发送完一帧数据后 置 1,向CPU发出中断请求,CPU响应中断后不自动清0,需软件编程 清0。 RI:串行口“接收中断请求”标识,串行口接收到一帧数据后 置 1,向CPU发出中断请求, CPU响应中断后不自动清0,需软件编 程清0。
3.中断驱动式I/O控制 接口i与CPU之间的数据传送过程: ①外设与接口i交换数据,接口i数据就绪后向CPU发出的 中断请求i; ②CPU响应中断请求,执行接口i输入/输出程序。 这种控制方式的特点:CPU和接口i的关系是CPU被动,接口i主动,即I/O操 作是由接口i引发的。如果CPU没收到接口i中断请求,则埋头干自己正在干的事 情,根本不理睬接口。 中断概念: CPU在收到中断请求后,中断原来执行的程序,转去执行一个相 应的中断服务程序(即接口i输入/输出程序),为相应外设服务;中断服务程序执行 完毕后,返回原来被中断的程序继续执行。
高级中断
ET0
◆ ◆ ◆ ◆
PT0
◆
◆ ◆
矢量地址
EX1
◆ ◆ ◆ ◆
PX1
◆
◆ ◆
ET1
◆ ◆ ◆ ◆
PT1
◆
◆
◆
RX
RI
+
ES
EA
PS
◆
SCON 中断 标识
源 允 许
总 允 许
自 然 优 先 级
低级中断
优先级
矢量地址 硬件查询
4.1.2 MCS-51单片机的中断机构
IT0=0 INT0 IT0=1 T0 IT1=0 INT1 IT1=1 T1 TX RX 1
1.中断请求 中断源i发出给中断控制器。中断控制器向 CPU上传中断请求,并且经总线为Ⅳ提供中断服 务程序的入口地址信息。 下右图5中断请求强调发生的时刻。
1.中断请求 …………….. 2.中断响应 中断响应对应上右图Ⅳ步。图中只列了修改 PC的工作,这将改变程序的运行方向:随后将执 行中断服务程序。 其实中断响应的重要工作至少还有两个: 一是保护断点。断点是“被中断指令”在存储 器中的地址。保护的方法是断点入栈。保护断点 的目的是为中断返回做准备。 二是撤销中断请求标识,避免一次中断请求的 重复响应。
程序查询式I/O控制一种天然的同步控 制机构,由于总是CPU主动,所有I/O传送 都与程序的执行严格同步,所以能很好地 协调CPU与外设之间的工作,数据传送可靠。 此外,它的接口简单,硬件电路不多,查 询程序也不复杂。 其主要缺点是CPU必须循环等待,以检 测接口状态,直到接口准备就绪以后才能 传送数据。这样,为了传送一个数据,软 件开销很大,CPU把绝大部分时间都花在循 环等待上,而真正为接口i服务的时间却很 少,使CPU的使用效率低。这是查询方式最 大的缺点。
若接口i是可编程接口(i=1,2,……,n)。则 与接口i相关的程序见右图。 设微机系统为裸机,它上面加载的程序主 要有一段主程序和与接口i相关的程序。则微 机的整个软件系统共有2n+1段程序。我们要讨 论的是如何将这些程序组织起来。
接口i的初始化程序比较好办,可以并入主程序的系统初始化部分,剩下的问 题在于如何将接口i的输入/输出程序组织起来(i=1,2,……,n) 。
1、TCON中的中断标识
TCON
Байду номын сангаас(88H)
D7 D6 D5 D4 TF1 TR1 TF0 TR0
D3 D2 IE1 IT1
D1 IE0
D0 IT0
》标识位
TF1:定时器/计数器1溢出中断请求标识,定时器/计数器1溢出 时置1,向CPU发出中断请求,响应后自动清0 TF0:定时器/计数器0溢出中断请求标识,含义同TF1 。 IE1:外部中断1的中断请求标志,外部有中断请求信号时置 1,向CPU发出中断请求,响应后自动清0。 IE0:外部中断0的中断请求标志,含义同IE1 。 》控制位 IT1:外部中断1的触发方式控制位: IT1=0:低电平触发: IT1=1:下降沿触发。 IT0:外部中断0的触发方式控制位,含义同IT1
源 允 许
总 允 许
自 然 优 先 级
低级中断
优先级 硬件查询
矢量地址 PC
中断源的中断请求中断请求标识(供CPU第III步查询) 中断请求标识分布在定时器控制寄存器TCON和串行口控制寄 存器SCON中
1、TCON中的中断标识
TCON
(88H)
D7 D6 D5 D4 TF1 TR1 TF0 TR0
D3 D2 IE1 IT1
D1 IE0
D0 IT0
》标识位
TF1:定时器/计数器1溢出中断请求标识,定时器/计数器1溢出 时置1,向CPU发出中断请求,响应后自动清0 TF0:定时器/计数器0溢出中断请求标识,含义同TF1 。 IE1:外部中断1的中断请求标志,外部有中断请求信号时置 1,向CPU发出中断请求,响应后自动清0。 IE0:外部中断0的中断请求标志,含义同IE1 。 》控制位 IT1:外部中断1的触发方式控制位: IT1=0:低电平触发: IT1=1:下降沿触发。 IT0:外部中断0的触发方式控制位,含义同IT1