C51单片机——串口和中断系统
来源:互联网 发布:淘宝看数据软件 编辑:程序博客网 时间:2024/05/16 14:28
串口SCON,串口控制器
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0 SM1 工作方式 功能描述 波特率
0 0 方式0 8位移位寄存器 Fosc/12
0 1 方式1 10位UART 可变
1 0 方式2 11位UART Fosc/64或fosc/32
1 1 方式3 11位UART 可变
其中fosc为晶振频率
SM2:多机通讯控制位。
在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。
在方式2或方式3当(SM2)=1且接收到的第九位数据RB8=0时,RI才置1。
REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。
TB8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。
例如,可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。
RB8:接收到的数据的第9位。在方式0中不使用RB8。
在方式1中,若(SM2)=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。
TI: 发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。
TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。
TI必须用软件清0。
RI: 接收中断标志位。
在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。
RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。
中断应用
实现中断功能的硬件系统和软件系统称为中断系统。中断系统基本问题:
中断源,中断响应与返回,优先级控制。
MCS51有5个中断源,2个中断优先级(可实现两级中断嵌套)。
中断允许寄存器IE,中断优先寄存器IP
中断请求源
中断源 中断向量 中断请求标志
--------------------------------------------------------------
上电复位 0000H
外部中断 0 0003H IE0
定时器 T0 溢出 000BH TF0
外部中断 1 0013H IE1
定时器 T1 溢出 001BH TF1
串行口中断 0023H T1或R1
TCON:定时器控制寄存器
寄存器地址88H,位寻址8FH~88H。
D7 D6 D5 D4 D3 D2 D1 D0
--------------------------------
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
位地址 8F 8E 8D 8C 8B 8A 89 88
TF0(TF1)———计数溢出标志位,当计数器计数溢出时,该位置1。
TR0(TR1)——定时器运行控制位
当TR0(TR1)=0,停止定时器/计数器工作
当TR0(TR1)=1,启动定时器/计数器工作
IE0(IE1)——外中断请求标志位
当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。
IT0(IT1)——外中断请求信号方式控制位
当IT0(IT1)=1 脉冲方式(后沿负跳有效)
当IT0(IT1)=0 电平方式(低电平有效)此位由软件置1或清0。
TF0(TF1)——计数溢出标志位
当计数器产生计数溢出时,此位由硬件置1。当转向中断服务时,再有硬件自动清0。
计数溢出的标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。
IE:中断允许寄存器
寄存器地址
D7 D6 D5 D4 D3 D2 D1 D0
---------------------------------------------
位符号 EA - - ES ET1 EX1 ET0 EX0
位地址 AFH ACH ABH AAH A9H A8H
EA:中断总允许位。EA=1,CPU允许中断;EA=0,CPU禁止所有的中断请求。
ES:串行中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。
ET1:定时器/计数器T1中断控制位。ET1=1,允许T1中断;ET1=0,禁止T1中断
EX1:T0溢出中断允许位。ET0=1,允许T0中断; ET0=0, 禁止T0中断。
ET0:定时器/计数器T0中断控制位。ET0=1,允许T0中断;ET0=0,禁止T0中断
EX0:外部中断允许位。 EX0=1,允许外部中断0中断; EX0=0,禁止外部中断0中断。
8051系统复位后,IE中各位均被清0,即禁止所有中断。
IP:中断优先寄存器
寄存器地址
位地址 BCH BBH BAH B9H B8H
PS: 串行中断优先控制位。PS=1,设定串行口为高优先级中断;PS=0,为低优先级。
PT1:T1中断优先控制位。PT1=1,设定定时器T1为高优先级中断;PT=0,为低优先级。
TX1:外部中断1中断优先级控制位。PX1=1设定外部中断1为高优先级中断;PC1=0,为低优先级。 INT1
PT0:T0中断优先控制位。PT1=1,设定定时器T0为高优先级中断;PT0=0,为低优先级。
PX0:外部中断0中断优先级控制位。PX0=1,设定外部中断0为高优先级。PX0=0,为低优先级。 INT0
8051复位后,IP低五位全部清0,将所有中断源设置为低优级中断。
如果几个同优先级的中断源同时向CPU申请中断,哪一个申请得到服务,取决于它们在CPU内部动登记排队的序号。
CPU通过内部硬件查询登记号,按自然优先级决定优先响应哪个中断请求。
自然优先级按从高到低的顺序依次为:外中断0,定时器0,外中断1,定时器1,串行中断。
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0 SM1 工作方式 功能描述 波特率
0 0 方式0 8位移位寄存器 Fosc/12
0 1 方式1 10位UART 可变
1 0 方式2 11位UART Fosc/64或fosc/32
1 1 方式3 11位UART 可变
其中fosc为晶振频率
SM2:多机通讯控制位。
在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。
在方式2或方式3当(SM2)=1且接收到的第九位数据RB8=0时,RI才置1。
REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。
TB8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。
例如,可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。
RB8:接收到的数据的第9位。在方式0中不使用RB8。
在方式1中,若(SM2)=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。
TI: 发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。
TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。
TI必须用软件清0。
RI: 接收中断标志位。
在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。
RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。
中断应用
实现中断功能的硬件系统和软件系统称为中断系统。中断系统基本问题:
中断源,中断响应与返回,优先级控制。
MCS51有5个中断源,2个中断优先级(可实现两级中断嵌套)。
中断允许寄存器IE,中断优先寄存器IP
中断请求源
中断源 中断向量 中断请求标志
--------------------------------------------------------------
上电复位 0000H
外部中断 0 0003H IE0
定时器 T0 溢出 000BH TF0
外部中断 1 0013H IE1
定时器 T1 溢出 001BH TF1
串行口中断 0023H T1或R1
TCON:定时器控制寄存器
寄存器地址88H,位寻址8FH~88H。
D7 D6 D5 D4 D3 D2 D1 D0
--------------------------------
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
位地址 8F 8E 8D 8C 8B 8A 89 88
TF0(TF1)———计数溢出标志位,当计数器计数溢出时,该位置1。
TR0(TR1)——定时器运行控制位
当TR0(TR1)=0,停止定时器/计数器工作
当TR0(TR1)=1,启动定时器/计数器工作
IE0(IE1)——外中断请求标志位
当CPU采样到P3.2(P3.3)出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。
IT0(IT1)——外中断请求信号方式控制位
当IT0(IT1)=1 脉冲方式(后沿负跳有效)
当IT0(IT1)=0 电平方式(低电平有效)此位由软件置1或清0。
TF0(TF1)——计数溢出标志位
当计数器产生计数溢出时,此位由硬件置1。当转向中断服务时,再有硬件自动清0。
计数溢出的标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。
IE:中断允许寄存器
寄存器地址
D7 D6 D5 D4 D3 D2 D1 D0
---------------------------------------------
位符号 EA - - ES ET1 EX1 ET0 EX0
位地址 AFH ACH ABH AAH A9H A8H
EA:中断总允许位。EA=1,CPU允许中断;EA=0,CPU禁止所有的中断请求。
ES:串行中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。
ET1:定时器/计数器T1中断控制位。ET1=1,允许T1中断;ET1=0,禁止T1中断
EX1:T0溢出中断允许位。ET0=1,允许T0中断; ET0=0, 禁止T0中断。
ET0:定时器/计数器T0中断控制位。ET0=1,允许T0中断;ET0=0,禁止T0中断
EX0:外部中断允许位。 EX0=1,允许外部中断0中断; EX0=0,禁止外部中断0中断。
8051系统复位后,IE中各位均被清0,即禁止所有中断。
IP:中断优先寄存器
寄存器地址
D7 D6 D5 D4 D3 D2 D1 D0
--------------------------------位符号 - - - PS PT1 PX1 PT0 PX0
位地址 BCH BBH BAH B9H B8H
PS: 串行中断优先控制位。PS=1,设定串行口为高优先级中断;PS=0,为低优先级。
PT1:T1中断优先控制位。PT1=1,设定定时器T1为高优先级中断;PT=0,为低优先级。
TX1:外部中断1中断优先级控制位。PX1=1设定外部中断1为高优先级中断;PC1=0,为低优先级。 INT1
PT0:T0中断优先控制位。PT1=1,设定定时器T0为高优先级中断;PT0=0,为低优先级。
PX0:外部中断0中断优先级控制位。PX0=1,设定外部中断0为高优先级。PX0=0,为低优先级。 INT0
8051复位后,IP低五位全部清0,将所有中断源设置为低优级中断。
如果几个同优先级的中断源同时向CPU申请中断,哪一个申请得到服务,取决于它们在CPU内部动登记排队的序号。
CPU通过内部硬件查询登记号,按自然优先级决定优先响应哪个中断请求。
自然优先级按从高到低的顺序依次为:外中断0,定时器0,外中断1,定时器1,串行中断。
- C51单片机——串口和中断系统
- C51 单片机 串口通讯总结——查询方式与中断方式
- C51单片机学习(二):中断系统和定时器
- 单片机——串口中断
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
- 这是一个单片机C51串口接收(中断)和发送例程
- 基于80C51单片机——中断小结
- C51串口中断接收和发送程序
- C51单片机中断定义
- C51单片机 波特率选择 和 串口的工作方式
- C51串口中断接收和发送测试例程
- C51:串口接收和发送,查询与中断方法
- C51:串口接收和发送,查询与中断方法
- 89c51单片机的简单应用2——中断、定时器
- C51中interrupt和using的用法——单片机
- C51中interrupt和using的用法——单片机
- String,创建对象问题
- MyEclise安装汉化包和svn插件
- 基于B-S结构的订餐管理系统的设计与实现
- GotoDlgCtrl
- windows 下最底层的模拟键盘
- C51单片机——串口和中断系统
- 串口回写
- 背景图片上链接失效
- 【linux服务器】 NFS + 防火墙配置
- 从父页面读取和操作iframe中内容方法
- Infragistics RibbonBar 加入 TrackBar
- Maven入门
- fopen,fgetc读取文件的用法
- linux下怎么安装nginx