单片机第6章
单片机原理及应用第6章80C51单片机的串行口

单片机原理及应用第6章80C51单片机的串行口80C51单片机是一种基于哈佛架构的8位单片机,具有强大的串行口功能。
串行口是一种通信接口,可以通过单根线传输数据。
本章将介绍80C51单片机的串行口原理及其应用。
一、80C51单片机的串行口原理80C51单片机的串行口包含两个寄存器,分别是SBUF(串行缓冲器)和SCON(串行控制寄存器)。
SBUF寄存器用来存储待发送或接收到的数据,SCON寄存器用来配置和控制串行口的工作模式。
80C51单片机的串行口有两种工作模式:串行异步通信模式和串行同步通信模式。
1.串行异步通信模式串行异步通信是指通信双方的时钟频率不同步,通信的数据按照字符为单位进行传输,字符之间有起始位、数据位、校验位和停止位组成。
80C51单片机的串行口支持标准的RS-232通信协议和非标准通信协议。
在串行异步通信模式下,SCON寄存器需要配置为相应的工作模式。
首先,需要选择串行口的工作模式。
80C51单片机支持第9位,即扩展模式,可以用来检测通信错误。
其次,需要设置波特率。
波特率是指数据每秒传输的位数,用波特率发生器(Baud Rate Generator,BRGR)来控制。
然后,需要设置起始位、数据位和停止位的配置,包括数据长度(5位、6位、7位或8位)、停止位的个数(1位或2位)。
在发送数据时,将待发送的数据通过MOV指令传送到SBUF寄存器,单片机会自动将数据发送出去。
在接收数据时,需要检测RI(接收中断)标志位,如果RI为1,表示接收到数据,可以通过MOV指令将接收到的数据读取到用户定义的变量中。
2.串行同步通信模式串行同步通信是指通信双方的时钟频率同步,在数据传输时需要时钟信号同步。
80C51单片机的串行同步通信支持SPI(串行外设接口)和I2C(串行总线接口)两种协议。
在串行同步通信模式下,SCON寄存器需要配置为相应的工作模式。
首先,需要选择串行口的工作模式。
80C51单片机支持主从模式,可以作为主设备发送数据,也可以作为从设备接收数据。
单片机原理及应用 第06章定时计数器

20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。
单片机第六章定时器

这种方式下,计数寄存器由13位组成,即THx高八位(作计数器)
和TLx的低5位构成。TLx的高3位未用。
计数时,TLx的低5位溢出后向THx进位,THx溢出后 将TFx置位,并向CPU申请中断。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0(TCON.5)——T0的溢出标志。
TR0(TCON.4)——T0的运行控制位。
用软件控制,置1时,启动T0;清 0时,停止 T0。
• IE1(TCON.3)——外部中断1中断请求标志位。
• IE0(TCON.1)——外部中断0中断请求标志位。
器之外,还可用作串行接口的波特率发生器。
6.2
定时器/计数器T0、T1
T0、T1 的内部结构简图示于图6-1中。从图中 可以看出,T0、T1由以下几部分组成:
• 计数器TH0、TL0和TH1、TL1;
•
•
特殊功能寄存器TMOD、TCON;
时钟分频器;
•
输入引脚T0、T1。
6.2.1 与定时器/计数器T0、T1有关的 特殊功能寄存器
⑵定时器/计数器T1
T0方式3时,T1可以工作在方式0、1、2三种方式 T1的结构如图6–6所示。 由于T0占用了原来T1的启动位TR1和溢出标志TF1, 所以此时T1溢出时不能置位溢出标志,不能申请中断, 其溢出信号送给串行口,此时T1作为波特率发生器。
T1的启停由写入方式字控制,当写入方式0/1/2 时,T1立即启动,写入方式3 时,立即停止工作。
分析:设置T0工作在方式2,计数功能,每记满100个外 部脉冲,从P1.0输出一个低电平脉冲信号(简化的打包 操作)。
第06章 MCS-51单片机定时计数器

10
2 8位计数初值自动重装,TL(7 ~ 0)
TH(7 ~ 0)
11
3 T0运行,而T1停止工作,8位定时/计数。
▪ 2.定时/计数器控制寄存器(TCON)
位
D7 D6 D5 D4 D3 D2 D1 D0
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR0:定时 / 计数器0运行控制位。软件置位,软件复位。与GATE有关, 分两种情况:
GATE = 0 时:若TR0 = 1,开启T0计数工作;若TR0 = 0,停止T0计 数。
GATE = 1 时:若TR0 = 1 且/INT0 = 1时,开启T0计数; 若TR0 = 1 但 /INT0 = 0,则不能开启T0计数。 若TR0 = 0, 停止T0计数。
TR1:定时 / 计数器1运行控制位。用法与TR0类似。
▪ (1)计算计数初值。欲产生周期为1000μs的等宽方波脉冲, 只需在P1.7端交替输出500μs的高低电平即可,因此定时 时间应为500μs。设计数初值为X,则有:
▪ (216-X)×1×10-6=500×10-6
▪ X=65536-500=65036=FE0CH
▪ 将X的低8位0CH写入TL1,将X的高8位FEH写入TH1。
;清TCON,定时器中断标志清
▪
MOV TMOD,#10H
;工作方式1设定
▪
MOV TH1,#0FEH
;计数1初值设定
▪
MOV TL1,#0CH
▪
MOV IE,#00H
;关中断
▪
SETB TR1
;启动计数器1
▪ LOOP0:JBC TF1,LOOP1 ;查询是否溢出
▪
《单片机原理及应用》第6章 51单片机中断系统应用基础

• 姜志海 王蕾 姜沛勋 编著
• 电子工业出版社
第6章 51单片机中断系统应用基础
• 本章主要介绍中断系统的应用。 • 包括:
6.1 中断结构与控制 6.2 中断优先级与中断子程序 6.3 外部中断应用举例 6.4 实验与设计
6.1 中断结构与控制
5个中断源
• 外部中断:外部中断0 /INT0
6.2 中断优先级与中断子程序
• 优先级排列如下(从高到低): 外部中断0 定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断
6.3 外部中断应用示例
• 51单片机提供了2个外部中断源 : • 外部中断0请求,占用P3.2引脚,其中断请求号为0 • 外部中断1请求,占用P3.3引脚,其中断请求号为2 • 外部中断源的初始化时通过设置相应的特殊功能寄
注意:
和例题5-6的区别
修改:
(1)按3下S0,P1口的发光状态发生反转 (2)按一下,灯变为闪烁,按一下,灯全亮。
【例6-2】当S0动作时,P1.0端口的电平反向,当外S1 动作,P1.7端口的电平反向
• 修改:
• (1)S0控制P1.0—P1.3的灯,S1控制P1.4—P1.7的灯 。
• (2)按下S0后,点亮8只LED;按下S1后,变为闪烁状 态。
(3)IE寄存器中的EA、EX0、EX1位
• EA为中断允许总控制位;EX0、EX1为外 部中断0中断和外部中断1中断的中断允 许位。如:
• SETB EA;开放总的中断控制 • SETB EX0;允许外部中断0中断 • CLR EX1;禁止外部中断1中断
【例6-1】初始状态时低4位灯亮,高4位的灯灭,编程 实现按一下S0,P1口的发光状态发生反转。
单片机教程 第6章-中断系统

TCON位功能:
TF0/TF1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。
③ IE1 —— 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 ④ IE0 —— 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1
IE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请。
=1:在INT0/INT1端申请中断的信号负跳变有效.
6.2
51单片机的中断系统
3、串行口中断设定
串行控制寄存器SCON控制字,字节地址:98H
SCON 位名称 位地址 功能 D7 D6 — — — — — — D5 — — — D4 — — — D3 — — — D2 — — — D1 TI 99H 串行发送 中断标志 D0 RI 98H 串行接收 中断标志
6.1
中断的概念
6.1.3 中断的分类 可分为三类: * 可屏蔽中断:由CPU的可屏蔽中断引脚INT引起的 中断。 * 非屏蔽中断:由CPU的非屏蔽中断引脚NMI引起的 中断(8086CPU)。 * 软件中断:由中断指令引起的中断(8086CPU)。 • 51单片机的中断可以分为:
①外部中断,由外部可屏蔽中断和外部计数器中断组成; ②内部中断,由内部定时器、串口传输中断等组成。
输入引脚。允许用户设定外部中断源以低电平或 者是负跳变方式触发。
6.2
51单片机的中断系统
②定时器溢出中断源:内部中断,51内部有两
个16位定时/计数器,它们由内部定时脉冲(主脉 冲12分频)或外部引脚T0、T1输入的外部计数脉 冲计数。当计数值溢出时,产生中断请求。这两 个16位定时/计数器的初值可由用户设定。
第06章-单片机串行通信系统-习题解答

第6章单片机串行通信系统习题解答一、填空题1.在串行通信中,把每秒中传送的二进制数的位数叫波特率。
2.当SCON中的M0M1=10时,表示串口工作于方式 2 ,波特率为 fosc/32或fosc/64 。
3.SCON中的REN=1表示允许接收。
4.PCON 中的SMOD=1表示波特率翻倍。
5.SCON中的TI=1表示串行口发送中断请求。
6.MCS-51单片机串行通信时,先发送低位,后发送高位。
7.MCS-51单片机方式2串行通信时,一帧信息位数为 11 位。
8.设T1工作于定时方式2,作波特率发生器,时钟频率为11.0592MHz,SMOD=0,波特率为2.4K时,T1的初值为 FAH 。
9.MCS-51单片机串行通信时,通常用指令 MOV SBUF,A 启动串行发送。
10.MCS-51单片机串行方式0通信时,数据从 P3.0 引脚发送/接收。
二、简答题1.串行口设有几个控制寄存器?它们的作用是什么?答:串行口设有2个控制寄存器,串行控制寄存器SCON和电源控制寄存器PCON。
其中PCON 中只有PCON.7的SMOD与串行口的波特率有关。
在SCON中各位的作用见下表:2.MCS-51单片机串行口有几种工作方式?各自的特点是什么?答:有4种工作方式。
各自的特点为:3.MCS-51单片机串行口各种工作方式的波特率如何设置,怎样计算定时器的初值? 答:串行口各种工作方式的波特率设置:工作方式O :波特率固定不变,它与系统的振荡频率fosc 的大小有关,其值为fosc/12。
工作方式1和方式3:波特率是可变的,波特率=(2SMOD/32)×定时器T1的溢出率 工作方式2:波特率有两种固定值。
当SM0D=1时,波特率=(2SM0D/64)×fosc=fosc/32当SM0D=0时,波特率=(2SM0D/64)×fosc=fosc/64计算定时器的初值计算:4.若fosc = 6MHz ,波特率为2400波特,设SMOD =1,则定时/计数器T1的计数初值为多少?并进行初始化编程。
单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术
T/C方式2的逻辑结构图
1
TH1/TH0
T8
T7
T6
T5
T4
T3
T2
T1
寄存器 计数器
束
TL1/TL0
T8
T7
T6
T5
T4
T3
T2
T1
主目录
上一页
下一页
结
单片机原理及其接口技术
4、方式3 M1M0=11 T0和T1有不同的工作方式
C/T0:
TH0和TL0被拆成2个独立的8位计数器。
28),向CPU申请中断,标志位TF1自动置位,若中
断是开放的,则CPU响应定时器中断。当CPU响应
中断转向中断服务程序时,由硬件自动将该位清0。
&
加1计数器 & 1
主目录
上一页
下一页
结
束
EA
ET1
单片机原理及其接口技术
2个模拟的位开关,前者决定了T/C的工作状态:当1单片机有2个特殊功能寄存器TCON和TMOD: TCON:用于控制定时器的启动与停止,中断标志。 TMOD:用于设置T/C的工作方式。
主目录
上一页
下一页
结
束
单片机原理及其接口技术
1.定时器控制寄存器TCON
88H TCON
位地址
D7
D6
D5
D4
D3
D2
D1
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B.关中断,保护现场,保护断点,开中断,中断服务,恢复现场,中断返回
C.关中断,保护现场,保护中断,中断服务,恢复断点,开中断,中断返回
D.关中断,保护断点,保护现场,中断服务,关中断,恢复现场,开中断,中断返回
17.51 单片机共有 5 个中断入口,在同一级别里,5 个中断源同时发出中断请求时,程序计数器 PC 的
(1)总中断允许开关接通,即 IE 寄存器中的中断总允许位 EA=1。
(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。
(3)该中断源的中断允许位=1,即该中断被允许。
(4)无同级或更高级中断正在被服务。
6. Proteus 虚拟仿真 AT89S51 单片机 P1 口接有 1 个 7 段 LED 数码管,初始显示 0。外部中断输入引脚 INT 0 接有 1 个按钮 开关,该脚平时为高电平。每当按钮开关按下 1 次时,则产生 1 个负跳变的外中断请求,并使数码管显示 增 1,当按下第 10 次时,数码管从 9 再变为 0。 答:利用单片机片内定时器/计数器 T0 的计数器模式,对 T0 引脚(P3.4 脚)上的按键开关按下的次数进 行计数。原理电路如图所示。
参考程序如下: #include "reg51.h" #include "intrins.h" #define uchar unsigned char #define uint unsigned int #define out P0 uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x01};
void main(void) { TMOD=0X05;
TH0=0; TL0=0; TR0=1; while(1) { out=seg[TL0%10]; } }
//主函数
一、填空题
1.51 单片机有 5 个中断源。上电复位时,同级中断的自然优先级从高至低依次为 外中断 0、定时
器/计数器 0、外中断 1、定时器/计数器 1、串行口 。
8:8051 单片机有三大类中断,( 5 )中断源,( 2 )个中断优先级,6 个中断标志。
1.51 系列单片机提供了三类中断源,即 外部中断源 、 串行中断源 和 定时中断源 。
3.51 单片机 5 个中断源的中断入口地址为: 0003H、000BH、0013H、001BH、0023H 。
5-4:外部中断 1 所对应的中断入口地址为( )H。答:0013H
11、在中断子程序使用累加器、工作寄存器等资源时,要先将其原来的内容保存起来,这一过程叫
做
。当中断子程序执行完毕,在返回主程序之前,要将这些内容再取出,送还到累加器、工作寄存器
等原单元中,这一过程称为
。答案:3、 保护现场 , 恢复现场
13、系统在复位后,能不能响应中断申请? 答: 不能
二、选择题
1.单片机的外部中断源 INT0 由( C )来实现。
。C
A.TR1 和 TR0
B.IE1 和 IE0
C.IT1 和 IT0
D.TF1 和 TF0
13.51 单片机定时器 T1 的溢出标志 TF1,若计满数产生溢出时,如不用中断方式而用查询方式,则
应
。B
A.由硬件清零
B.由软件清零
C.由软件置于
D.可不处理
14. 51 单片机定时器 T0 的溢出标志 TF0,若计满数产生溢出时,其值为
。C
A.00H
B.FFH
C.1
D.计数值
15.51 单片机定时器 T0 的溢出标志 TF0,若计满数在 CPU 响应中断后
。A
A.由硬件清零
B.由软件清零
C.A 和 B 都可以
D.随机状态
16.8051 响应中断后,中断的一般处理过程是
。A
A.关中断,保护现场,开中断,中断服务,关中断,恢复现场,开中断,中断返回
。C
A.需用软件将 IE0 清 0
B.需用软件将 IE0 置 1
C.硬件自动将 IE0 清 0
D. INT 0 (P3—2 管脚)为高电平时自动将 IE0 清 0
27.51 单片机共有
中断源。B
A.4
B.5
C.6
D.7
28.对定时器控制寄存器 TCON 中的 IT1 和 IT0 位清 0 后,则外部中断请求信号方式为 A 。
9、若(IP)=00010101B,则优先级最高者为 ,最低者为 。(IP:— — — PS PT1 PX1 PT0 PX0)
答案:2、 外部中断 0 ,定时器 1 溢出
10、若(IP)=00010001B,则优先级最高者为
,最低者为
。
(IP:— — — PS PT1 PX1 PT0 PX0)答案:2、外部中断 0 , 串行口中断 。
(D)条件传递
34、下列说法正确的是(C D)
(A)同一级别的中断请求按时间的先后顺序顺序响应。
(B)同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
(C)低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求
(D)同级中断不能嵌套。
19.51 单片机响应中断的过程是
。D
A.断点 PC 自动压栈,对应中断矢量地址装入 PC B.关中断,程序转到中断服务程序
C.断点压栈,PC 指向中断服务程序地址
D.断点 PC 自动压栈,对应中断矢量地址装入 PC,程序转到该矢量地址,再转至中断服务程序首地址
22.当 TCON 的 IT0 为 1,且 CPU 响应外部中断 0, INT 0 的中断请求后,
A.P3.0
B.P3.1 C.P3.2
D.P3.3
2.以下哪个中断标志不会自动清零( A )。
A.RI
B.TF0 C.TF1
D.IE0
2.当 CPU 响应外部中断 0 INT0 的中断请求后,程序计数器 PC 的内容是
。A
A.0003H
B.000BH
C.00013H
D.001BH
8.外部中断 0 INTO 的入口地址是
中断处理。
18、当定时器 T0 发生中断时,程序将自动跳到_______________地址去执行。0BH
4.当置 ES=0
时,禁止串行口中断;当置 ES=1
时,允许串行口中断。
5.PX1 是外部中断 1 优先级设置位。当置 PX1=0 时,该中断源被定义为低优先级;当置 PX1=1
时,该中断源被定义为高优先级。
B.ES=1;
C.EA=0;
D.EX0=1;
10.51 单片机外部中断 0 开中断的指令是
。B
A.ETO=1;
B.EXO=1;
C.ETO=0;
D.ET1=1;
11.51 单片机定时器溢出标志是
。D
A.TR1 和 TR0
B.IE1 和 IE0
C.IT1 和 IT0
D.TF1 和 TF0
12.51 单片机定时器外部中断 1 和外部中断 0 的触发方式选择位是
4.下列说法正确的是
。答:C、D
A.同一级别的中断请求按时间的先后顺序响应
B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应
C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求
D.同级中断不能嵌套
5.一个中断源的中断请求要得到响应,需要满足哪些条件?
答:一个中断源的中断请求被响应,必须满足以下必要条件:
A.低电平有效
B.高电平有效
C.脉冲上跳沿有效 D.脉冲后沿负跳有效
31.要使 51 单片机能够响应定时器 T1 中断、串行接口中断,则中断允许寄存器 IE 的内容应是( B )
(A)98H
(B)84H
(C)42
(D)22H
33.下面哪一种传送方式适用于处理外部事件( C
)
(A)DMA (B)无条件传递进 (C)中断
图 利用定时器对按键开关的按下次数计数
ቤተ መጻሕፍቲ ባይዱ
按一下按键开关产生一个计数脉冲,将脉冲个数(10 个以内)在 P1 口驱动的 LED 数码管上显示出来。 例如按第 1 下,LED 数码管显示 1;按第 2 下,显示 2……按第 10 下时则显示 0。
本题涉及定时器的计数工作模式和 4 种工作方式的设置。如何来对定时器/计数器进行初始化以及计数与 显示的编程。T0 引脚作为外部计数脉冲的输入。
2.单片机外部中断源,分别为 外部中断 0
和 外部中断 1
。
2.外部中断请求有 低电平 触发和 下降沿 触发两种触发方式。
4.当定时器/计数器 1 申请中断时,TF1 为 1 ,当中断响应后,TF1 为 0 。当串口完成一帧字符
接收时,RI 为 1 ,当中断响应后,RI 为 1 ,需要 软件 清零。
。D
A.0003H
B.000BH
C.00013H
D.001BH
4.51 单片机在同一级别里除串行口外,级别最低的中断源是
。B
A.外部中断 1
B.定时器 T0
C.定时器 T1
D.串行口
5.51 单片机在同一级别里除 INT0 外,级别最高的中断源是
。C
A.外部中断 1
B.定时器 T0
C.定时器 T1
D.外部中断 0
14、CPU 在响应/INT0 中断申请之后,(PC)= 0003H 。
17、51 单片机外部中断请求信号的输入引脚是
和
;外部中断请求信号可设置为
触发方式和
触发方式。p3.2 p3.3 电平 边沿
1、中断处理的全过程分为以下 4 个段:中断请求、中断响应、中断服务、中断返回。