51单片机数据串行输入并行输出
at89c51单片机的组成
![at89c51单片机的组成](https://img.taocdn.com/s3/m/c7e2812a11a6f524ccbff121dd36a32d7375c76a.png)
at89c51单片机的组成AT89C51单片机是一种基于MCS-51架构的8位微控制器,由Atmel公司生产。
它是一种高性能、低功耗、易于编程和使用的单片机,广泛应用于各种嵌入式系统中。
AT89C51单片机的组成主要包括以下几个方面:1.中央处理器(CPU):AT89C51单片机采用MCS-51架构的CPU,包括一个8位的累加器、一个16位的程序计数器、8个8位的通用寄存器、一个8位的状态寄存器和一些特殊功能寄存器。
CPU可以执行各种指令,包括算术、逻辑、移位、跳转、循环等指令,以实现各种功能。
2.存储器:AT89C51单片机包括ROM、RAM和EEPROM三种存储器。
ROM用于存储程序代码,RAM用于存储数据和临时变量,EEPROM用于存储非易失性数据。
其中,AT89C51单片机的ROM容量为32KB,RAM容量为1KB,EEPROM容量为128B。
3.定时器/计数器:AT89C51单片机包括两个16位的定时器/计数器,可以用于计时、计数、PWM输出等功能。
其中,定时器0和定时器1可以分别工作在13种不同的模式下,具有较高的灵活性和可编程性。
4.串行通信接口(UART):AT89C51单片机包括一个串行通信接口,可以用于与其他设备进行数据通信。
UART支持多种波特率和数据格式,具有较高的可靠性和稳定性。
5.并行输入/输出口(PIO):AT89C51单片机包括32个并行输入/输出口,可以用于连接各种外设和传感器。
PIO具有较高的驱动能力和灵活性,可以实现多种输入/输出模式。
6.中断控制器:AT89C51单片机包括一个中断控制器,可以用于处理各种中断事件。
中断控制器具有较高的优先级和可编程性,可以实现多种中断处理方式。
总之,AT89C51单片机具有较高的性能、灵活性和可编程性,可以广泛应用于各种嵌入式系统中。
它的组成包括CPU、存储器、定时器/计数器、串行通信接口、并行输入/输出口和中断控制器等部分,每个部分都具有特定的功能和优点。
串行口的四种工作方式标准版文档
![串行口的四种工作方式标准版文档](https://img.taocdn.com/s3/m/aeea482a443610661ed9ad51f01dc281e53a569d.png)
RB8 停止位
RI(中断标志)
接收时,数据从右边移入输入移位寄存器。当位检测逻辑 采样到RXD上的负跳变,便开始接收1帧数据。在接收完第九 位数据后,满足下列条件,才能真正接收到1个字符。
当RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到 的数据装入接收缓冲器SBUF和RB8(接收数据的第9位), 置RI=1,向CPU请求中断。如果条件不满足,则数据丢失, 且不置位RI,继续搜索RXD引脚的负跳变。
❖解:设数据的发送不采用串行口,即用一段程序模拟 串口方式0的操作,选择用P2.1传数据,P2.0传时钟。
DOUT CLK
BIT P2.1 BIT P2.0
DP12: MOV R2, #8 MOV A, @R0
DP13: RLC A MOV DOUT, C CLR CLK SETB CLK DJNZ R2, DP13 RET
先输出低位吗?
能改变吗?
开始 循环次数设置 取显示数据 数据码左移一位 送一位数据至P2.1 输出一个移位脉冲
够8次了? Y
RET
读图练习--实验六的原理图
D
PY
1 a
2
a
b
3
c
f
b
4
g
d
5
ee
c
6 f
d dp
7 g d p
8
2
0
D
PY
1 a
2
a
b
3
c
f
b
4
g
d
5
ee
c
6 f
d dp
7 g d p
方式2和方式3
方式2或方式3时为11位数据的异步通信口。TXD为数据发
MCS-51单片机的并行接口
![MCS-51单片机的并行接口](https://img.taocdn.com/s3/m/36d870a76aec0975f46527d3240c844769eaa09c.png)
1.1 P0口
口结构
P0口
“读-改-写”类指令 先读端口,然后对读入的数据进行修改,最后再写回到端口 不直接读取引脚上的数据而读锁存器Q端内容,是为了消除错
读引脚电平的可能性
P0口
P0既可用作地址/数据总线,又可用作通用I/O端口 用作输出端口时,输出级为开漏电路,在驱动NMOS电路时应
例 某接口电路与单片机使用一条线传送握手信号。双方约定, 单片机先向接口发送一个1和一个0,随后接口电路向单片机回 送一个1
单片机原理与应用
单片机原理与应用
MCS-51单片机的并行接口
MCS-51单片机本身提供了4个8位的并行端口,分别记做P0、 P1、P2和P3,共有32条I/O口线
都是双向端口,每个口包含一个锁存器(即特殊功能寄存器P0、 P1、P2和P3)、一个输出驱动器和输入缓冲器
端口和其中的锁存器都表示为P0、P1、P2、P3 结构不同,功能各异
1.4 P3口
口结构
P3口
作为通用I/O口使用时,工作原理与P1、P2口类似,但第二功 能输出端应保持高电平,使锁存器输出端Q内容能通过与非门
P3口的各位都具有第二功能
P3口
P3口的第二功能输入信号
P3.0——RxD,串行口数据接收 P3.2—— INT0#,外部中断0请求信号输入 P3.3—— INT1#,外部中断1请求信号输入 P3.4——T0,定时器/计数器0外部计数脉冲输入 P3.5——T1,定时器/计数器1外部计数脉冲输入
ORL ANL XRL CPL
P1, #3CH ;将P1中间4位置位
P1, #0C3H ;将P1中间4位清零
P1, #03H ;将P1最低2位取反
P1.5
;取反P1.5
MCS-51单片机并行口的结构与操作
![MCS-51单片机并行口的结构与操作](https://img.taocdn.com/s3/m/9f1f1c12c8d376eeafaa311f.png)
华中科技大学光学与电子信息学院单片机( 2015 -- 2016学年度第一学期)题目:MCS-51单片机并行端口结构与操作院系:光学与电子信息学院班级:学号:学生姓名:指导教师:成绩:日期: 2015年 9月 21日MCS—51单片机并行口的结构与操作一、MCS—51单片机简介MCS—51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MCS—51单片机作为代表进行理论基础学习.MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:8位CPU、4kbytes 程序存储器(ROM)、128bytes的数据存储器(RAM)、32条I/O口线、111条指令,大部分为单字节指令、21个专用寄存器、2个可编程定时/计数器、5个中断源,2个优先级、一个全双工串行通信口、外部数据存储器寻址空间为64kB、外部程序存储器寻址空间为64kB、逻辑操作位寻址功能、双列直插40PinDIP封装、单一+5V电源供电。
如图所示:1。
结构(1)中央处理单元(8位)数据处理、测试位,置位,复位位操作(2)只读存储器(4KB或8KB)永久性存储应用程序,掩模ROM、EPROM、EEPROM(3)随机存取内存(128B、128B SFR)在程序运行时存储工作变量和资料(4)并行输入/输出口(I / O)(32条)作系统总线、扩展外存、I / O接口芯片(5)串行输入/输出口(2条)串行通信、扩展I / O接口芯片(6)定时/计数器(16位、加1计数)计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作(7)时钟电路内振、外振。
(8)中断系统五个中断源、2级优先。
51单片机串口工作方式0和1
![51单片机串口工作方式0和1](https://img.taocdn.com/s3/m/5691f4248bd63186bdebbc33.png)
ACALL DELAY
CLR TI
; 手动清中断标志
RR A ; 循环位移
; 80H、40H、20H、10H、08H …
CLR P1.0
; CD4094 输出并口关闭
MOV SBUF,A ; 数据传出,产生中断
RETI
END
注: 延时子程序 DELAY 未给出
2021/5/15
方式 0 用于扩展并行 I/O口
=
/32
9600bps 1200bps
=
/12/计次/16
计1次 计3次 计3次 计6次 计12次 计24次
9.6kbit/s 实际10.416 = 6MHz/12/计次/16 1
0
2
FDH
1.2kbit/s 实际1.302 = 6MHz/12/计次/32 0
0
2
F4H
时钟振荡频率为6MHz或12 MHz时,产生的比特率偏差较大,
写入SBUF后自动开始发 送
2021/5/15
图5-1
请求中断
CPU响应中断后:CLR TI
5.2 用AT89C51的串行口扩展并行口
5.2.2 用74LS164扩展并行输出口
74LS164:8位串入并出移位寄存器。
图是利用74LS164扩展二个8位并行输出口的接口电路。
每当新数据写入SBUF,即把SBUF中的8位数据以串行移
• 数据区
发送数据区首址 20H,接收数据区首址 40H
• 主频选用
fosc = 6MHz
• T1 设置
,同时RI=0)时,串行口即开始接收数据。RXD为数据输入端
,TXD为移位脉冲信号输出端,也以fosc/12的固定比特率,
单片机实用教程_8 89C51单片机并行输入输出
![单片机实用教程_8 89C51单片机并行输入输出](https://img.taocdn.com/s3/m/f2cd863f31126edb6f1a10d6.png)
P3 口的第二功能
口线 P3.0 P3.1 信号 RXD TXD 功 能 串行口数据输入(接收数据) 串行口数据输出(发3.5
P3.6 P3.7
INT0 INT1 T0 T1
WR RD
外部中断0输入 外部中断1输入 定时器0的外部输入(计数输入) 定时器1的外部输入(计数输入)
外部数据存储器写选通控制输出 外部数据存储器读选通输出控制
8.2 并行输入/输出端口P0、P1、P1和P3 8.2.1 P0端口 ⑴ P0口的结构: P0口有8位, 每一位由一个输出锁存器、两个三态 输入缓冲器和输出驱动电路及控制电路组成。
⑵ P0口作通用的I/O口使用
P0口是漏极开路的8位准双向I/O口. P0口为特殊功能寄存器, 既可以用直接寻址方式对P0口进行字节操作, 也可以按按位寻址方式,进行位操作。
P2端口及其各位的地址
位地址/位定义 A5H P2.5 A4H P2.4 A3H P2.3 A2H P2.2 A1H P2.1 LSB A0H P2.0 字节地址 A0H
P2口作输出时,直接用传送指令进行操作。 例如: MOV P2 ,A P2口作输入时, 要先写“1”, 然后读入(准双向口)。 例如: MOV P2 ,#0FFH MOV A ,P2
表8.1 P0端口及其各位的地址
SFR MSB 位地址/位定义 LSB 字节地址
P0
87H
P0.7
86H
P0.6
85H
P0.5
84H
P0.4
83H
P0.3
82H
P0.2
81H
P0.1
80H
P0.0
80H
P0口作输出时,直接用传送指令进行操作。 例如: MOV P0 ,A P0口作输入时,要先写“1”,然后读入(准双向口)。 例如: MOV P0 ,#0FFH MOV A ,P0
51单片机串行口的工作方式
![51单片机串行口的工作方式](https://img.taocdn.com/s3/m/274b40290c22590103029d33.png)
hgfedcba
a
fg b
e
c
dh
共阳极
累加器 A hgfedcba
0C0H = “0”
0B0H = “3”
例:利用串行口工作方式0扩展出8位并行I/O 口,驱动共阳LED数码管显示0—9。
VCC TxD RxD
☞方式2的波特率 = fosc 2SMOD/64 即: fosc 1/32 或 fosc 1/64 两种
☞奇偶校验是检验串行通信双方传输的数据正确与 否的一个措施,并不能保证通信数据的传输一定正 确。
换言之:如果奇偶校验发生错误,表明数据传输 一定出错了;如果奇偶校验没有出错,绝不等于数 据传输完全正确。
☞ REN:串行口接收允许位。 REN=1 允许接收
☞ TB8,RB8,TI,RI等位由运行中间的情况 决定,可先写成 “0”
三、工作方式2: 9位UART(1+8+1+1位)两种波特率
☞由于波特率固定,常用于单片机间通讯。 数据由8+1位组成,通常附加的一位 (TB8/RB8)用于“奇偶校验”。
☞ 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。
☞ 波特率 =
2SMOD fosc 32 12(2n - X)
其中:X 是定时器初值
☞ 初值 X = 2n -
2SMOD fosc 32 波特率 12
常用波特率和T1初值查表
☞表格有多种, 晶振也不止一种
串口波特率 (方式1,3)
74LS164
hgfedcba
A B
CLK
CLR
74LS164
MCS-51单片机串行通信
![MCS-51单片机串行通信](https://img.taocdn.com/s3/m/0b19562eaf45b307e8719785.png)
9.1 串行通信概述
• ④停止位 表示发送一个数据的结束,用高电平表示,占1 位、1.5 位或2 位。 • 线路空闲时,线路处于逻辑“1”等待状态,即空闲位为1。 空闲位是异步通信特征之一。异步通信中数据传送格式如 图9.1 所示。 • 图9.1 异步通信数据帧格式
图9.1 异步通信数据帧格式
9.1 串行通信概述
9.1 串行通信概述
• 3.波特率 • 波特率是数据传递的速率,指每秒传送二进制数据的位数, 单位为位/秒(bit/s)。 • 例9.1 假设微型打印机最快的传送速率为30 字符/秒,每 个字符为10 位,计算波特率。 • 解: • 波特率=10 b/字符×30字符/s=300 b/s • 每一位代码的传送时间Td 为波特率的倒数: • Td=1/300=3.3 ms • 异步通信的波特率一般在50~19 200 b/s 之间,常用于 计算机到终端机和打印机之间的通信、直通电报以及无线 电通信的数据发送等。
异步10位收发 异步11位收发 异步11位收发
9.2 串行口结构与工作原理
• SM2:多机通信控制位。 • a.用于方式2和方式3。若SM2=1,则允许多机通信。 多机通信协议规定,若第9位数据(RB8)为1,则表明本帧 数据为地址帧。否则,若第9位数据(RB8)为0,则表明本 帧数据为数据帧。 • 当一个8051(主机)与多个8051(从机)进行通信时,令所有 从机的SM2都置1。主机要与某个从机通信,首先发送一 个与该从机相一致的地址帧(每个从机的地址必须惟一), 且第9位为1,所有从机接收到数据后,将第9位送入RB8 中。 • 若RB8=1,说明是地址帧,将数据装入SBUF,且置RI =1,即中断所有从机,若从机判断出该地址帧数据与本 机号(地址)一致,则置SM2=0,准备接收主机发来的数 据。其他从机仍然保持SM2=1。
第6章80C51单片机的串行口
![第6章80C51单片机的串行口](https://img.taocdn.com/s3/m/f54672a0760bf78a6529647d27284b73f24236ec.png)
2(3)
TXD
发送数据(串行输出)
DTE→DCE
3(2)
RXD
接收数据(串行输入)
DTE←DCE
4(7)
RTS
请求发送
DTE→DCE
5(8)
CTS
允许发送
DTE←DCE
6(6)
DSR
DCE就绪(数据建立就绪)
DTE←DCE
7(5)
SGND
信号接地
8(1)
DCD
载波检测
DTE←DCE
RB8
TI
RI
字节地址:98H
SM0
SM1
方 式
说 明
波特率
0
0
0
移位寄存器
fosc/12
0
1
1
10位UART(8位数据)
可变
1
0
2
11位UART(9位数据)
fosc/64或fosc/32
1
1
3
11位UART(9位数据)
可变
SM2:多机通信控制位
SM2=1时,接收机处于地址帧筛选状态。若RB8=1,该地址帧信息可进入SBUF,并使RI为1,进而在中断服务中再进行地址号比较;若RB8=0,该帧不是地址帧,应丢掉,且保持RI=0。
传输距离与传输速率的关系
传输距离随波特率的增加而减小。
6.1.2 串行通信接口标准
RS-232C定义的是DTE与DCE间的接口标准。
机械特性
DB-25(阳头)连接器
DB-9(阳头)连接器
阳头通常用于计算机侧,阴头用于连接线侧
功能特性
插针序号
信号名称
功能
信号方向
单片机实验 串行数据转换为并行数据
![单片机实验 串行数据转换为并行数据](https://img.taocdn.com/s3/m/aafc46d07f1922791688e8f4.png)
实验六串并转换实验一、实验目的1、掌握8051串行口方式0工作方式及编程方法2、利用串行口扩展I/O通道的方法二、实验说明本次实验使用8051串行口和串行输入并行输出移位寄存器74LS164,构成单片机输出接口电路,控制8只LED滚动显示。
单片机工作于串口模式0,即移位寄存器输入/输出模式,串行数据通过RXD输出,TXD则用于输出移位时钟脉冲,这种模式有利于用最少硬件实现接口扩展。
_crol_()函数在inrtins.h文件中声明如下:unsigned char _crol_(unsigned char val, unsigned n);//功能:将变量val二进制位循环左移n位例如:当val=15=0x0f=0000 1111B时,如果要将val的各二进制位循环左移2位,则val=0011 1100B。
该过程可用_crol_(15,2);来实现,_crol_(15,2)返回值是0011 1100B=0x3c=3*16+12=60三、实验线路图四、实验步骤1、先建立文件夹“ex6”,然后建立“ex6”工程项目,最后建立源程序文件“ex6.c”,输入如下源程序;/*串行数据转换为并行数据*/#include<reg51.h> //包含单片机寄存器的头文件#include<intrins.h> //包含对片外存储器地址进行操作的头文件//延时void Delay(unsigned int ucms){unsigned inti;while(--ucms) for(i=0;i<120;i++);}//主程序void main(){unsigned char dat=0x80;SCON=0x00;//串口模式0,即移位寄存器输入/输出模式TI=1;//TI置1while(1){dat=_crol_(dat,1);SBUF=dat;while(TI==0) //等待发送结束TI=0;//TI软件置位Delay(400);}}2、用Proteus软件仿真经过Keil软件编译通过后,可利用Proteus软件仿真。
51单片机串口变并口汇编程序
![51单片机串口变并口汇编程序](https://img.taocdn.com/s3/m/6e5d5420c4da50e2524de518964bcf84b9d52d18.png)
51单片机串口变并口汇编程序一、背景介绍单片机是一种集成了处理器、存储器和输入输出接口的微型计算机系统,广泛应用于各种电子设备中。
其中,51单片机是一种非常常见且功能强大的单片机型号。
而串口和并口是单片机与外部设备进行数据传输的两种常见方式。
本文将探讨如何使用汇编语言编写一个将串口转换为并口的51单片机程序。
二、串口与并口的概念1. 串口串口是指利用一对数据线进行数据传输的通信接口。
串口通信可以实现双向数据传输,常用于计算机与外部设备之间的数据交换。
串口通信的优势在于能够以较低的成本实现较长距离的数据传输,且占用的引脚较少。
2. 并口并口是指利用多条数据线进行数据传输的通信接口。
并口通信一般只能实现单向数据传输,常用于单片机与外围设备之间的数据交换。
并口通信的优势在于能够以较高的速度进行数据传输,但由于占用的引脚较多,因此在设计中需要考虑引脚的分配和接口电路的设计。
三、串口变并口的原理串口与并口的数据传输方式和电气特性不同,因此需要一定的电路转换才能实现串口变并口。
常见的串口变并口电路采用的是移位寄存器,通过串行-并行转换实现数据的传输。
串口变并口的原理如下:1.串口接收到的数据通过串行-并行转换电路和移位寄存器转换为并行数据。
2.并口的数据通过并行-串行转换电路和移位寄存器转换为串行数据,然后通过串口发送出去。
四、51单片机串口变并口汇编程序实现步骤以下是使用51单片机汇编语言编写的串口变并口程序的实现步骤:1.初始化串口:设置串口的波特率、数据位数、停止位、校验位等参数。
2.初始化并口:设置并口的工作模式、数据线的方向等参数。
3.循环接收串口数据:使用串口中断,将接收到的串口数据存储到缓冲区中。
4.将串口数据转换为并口数据:通过移位寄存器和并口接口电路将串口数据转换为并口数据。
5.将并口数据发送出去:将转换后的并口数据通过并口接口电路发送给外部设备。
6.跳转回循环接收串口数据的步骤,完成循环。
51单片机串行口的工作方式解析
![51单片机串行口的工作方式解析](https://img.taocdn.com/s3/m/af90754a4b35eefdc8d333b4.png)
51单片机串行口的工作方式解析方式0是外接串行移位寄存器方式。
工作时,数据从RXD串行地输入/输出,TXD输出移位脉冲,使外部的移位寄存器移位。
波特率固定为fosc/12(即,TXD 每机器周期输出一个同位脉冲时,RXD接收或发送一位数据)。
每当发送或接收完一个字节,硬件置TI=1或RI=1,申请中断,但必须用软件清除中断标志。
实际应用在串行I/O口与并行I/O口之间的转换。
2)方式1方式1是点对点的通信方式。
8位异步串行通信口,TXD为发送端,RXD为接收端。
一帧为10位,1位起始位、8位数据位(先低后高)、1位停止位。
波特率由T1或T2的溢出率确定。
在发送或接收到一帧数据后,硬件置TI=1或RI=1,向CPU申请中断;但必须用软件清除中断标志,否则,下一帧数据无法发送或接收。
(1)发送:CPU执行一条写SBUF指令,启动了串行口发送,同时将1写入输出移位寄存器的第9位。
发送起始位后,在每个移位脉冲的作用下,输出移位寄存器右移一位,左边移入0,在数据最高位移到输出位时,原写入的第9位1的左边全是0,检测电路检测到这一条件后,使控制电路作最后一次移位,/SEND和DATA 无效,发送停止位,一帧结束,置TI=1。
(2)接收:REN=1后,允许接收。
接收器以所选波特率的16倍速率采样RXD端电平,当检测到一个负跳变时,启动接收器,同时把1FFH写入输入移位寄存器(9位)。
由于接、发双方时钟频率有少许误差,为此接收控制器把一位传送时间16等分采样RXD,以其中7、8、9三次采样中至少2次相同的值为接收值。
接收位从移位寄存器右边进入,1左移出,当最左边是起始位0时,说明已接收8位数据,再作最后一次移位,接收停止位。
此后:A、若RI=0、SM2=0,则8位数据装入SBUF,停止位入RB8,置RI=1。
B、若RI=0、SM2=1,则只有停止位为1时,才有上述结果。
C、若RI=0、SM2=1,且停止位为0,则所接数据丢失。
单片机常见输入输出模式
![单片机常见输入输出模式](https://img.taocdn.com/s3/m/1e451d4530b765ce0508763231126edb6f1a76c1.png)
单片机常见输入输出模式单片机(Microcontroller,简称MCU)是一种集成电路,集中了处理器、内存、输入输出接口和定时器等功能模块,广泛应用于各种电子设备中。
输入输出(Input/Output,简称I/O)是单片机与外部环境进行信息交互的重要方式。
本文将介绍单片机常见的几种输入输出模式。
1. 并行输入输出模式并行输入输出模式是最常见的单片机与外设进行数据交互的方式。
在并行输入输出模式下,单片机与外设之间通过多个数据线同时传输多位数据。
这种模式的好处是传输速度快,但需要较多的引脚资源,适用于对传输速度要求较高的应用。
2. 串行输入输出模式串行输入输出模式是一种将数据逐位进行传输的方式。
在串行输入输出模式下,单片机与外设之间通过单个数据线逐位传输数据。
这种模式的好处是占用较少的引脚资源,适用于空间有限且对传输速度要求不高的应用。
3. 通用异步收发器模式通用异步收发器(UART)是一种单片机常用的输入输出模式。
UART内部有一个缓冲区,可以接收和发送数据。
在使用UART进行数据传输时,单片机通过配置相关寄存器的参数来设置波特率、数据位数、停止位等通信参数,然后可以通过读写缓冲区来进行数据的收发。
4. 并行输入捕获/输出比较模式并行输入捕获(Input Capture)和输出比较(Output Compare)是单片机中常用的定时器功能模式。
在这种模式下,单片机可以通过定时器模块捕获外部信号的边沿触发事件,并记录下触发事件的时间戳。
同时,单片机还可以通过定时器模块产生输出信号,并与外部信号进行比较。
这种模式适用于需要对时间进行精确控制的应用,如测量脉冲宽度、频率测量等。
5. 脉冲宽度调制模式脉冲宽度调制(Pulse Width Modulation,简称PWM)是一种将数字信号转化为模拟信号的技术。
在PWM模式下,单片机通过定时器模块产生周期固定的脉冲信号,并通过改变脉冲的占空比来模拟出不同的电平信号。
MCS-51_第07章 MCS-51的串行口
![MCS-51_第07章 MCS-51的串行口](https://img.taocdn.com/s3/m/670e398fec3a87c24028c40b.png)
【例7-1】方式2发送在双机串行通信中的应用
下面的发送中断服务程序,以TB8作为奇偶校验位,偶校验 发送。数据写入SBUF之前,先将数据的偶校验位写入TB8 (设第2组的工作寄存器区的R0作为发送数据区地址指针)。
PIPTI: PUSH PSW PUSH Acc SETB RS1 CLR CLR MOV MOV MOV RS0 TI A,@R0 C,P TB8,C ;发送中断标志清“0” ;取数据 ;校验位送TB8, 采用偶校验 ;P=1,校验位TB8=1,P=0,校验 ;位TB8=0 ;选择第2组工作寄存器区 ;现场保护
MOV SBUF ,A INC R0 POP Acc POP PSW RETI
;A数据发送,同时发TB8 ;数据指针加1 ;恢复现场 ;中断返回
2.方式2接收 SM0、SM1=10,且REN = 1时,以方式2接收数据。 数据由RXD端输入,接收11位信息。当位检测逻辑采样
到RXD的负跳变,判断起始位有效,便开始接收一帧信息。
(RX时钟),它的频率和传送的波特率相同,另一种是位 检测器采样脉冲,频率是RX时钟的16倍。以波特率的16倍 速率采样RXD脚状态。当采样到RXD端从1到0的负跳变时就 启动检测器,接收的值是3次连续采样(第7、8、9个脉冲 时采样)取两次相同的值,以确认起始位(负跳变)的开 始,较好地消除干扰引起的影响。
字节地址为87H,不能位寻址。格式如图7-3所示。
D7 PCON SMOD D6 D5 D4 D3 D2 D1 D0 87H
图7-3
特殊功能寄存器PCON的格式
2SMOD 32
下面介绍PCON中各位功能。仅最高位SMOD与串口有
关。 SMOD:波特率选择位。 例如,方式1的波特率计算公式为
51单片机串行口
![51单片机串行口](https://img.taocdn.com/s3/m/48434a60360cba1aa811daed.png)
异步通信(Asynchronous Communication) 在异步通信中,数据通常是以字符或字节为单位
组成数据帧进行传送的。收、发端各有一套彼此独 立,互不同步的通信机构,由于收发数据的帧格式 相同,因此可以相互识别接收到的数据信息。
异步通信信息帧格式如图7.4所示。
第n-1字符
若这两个条件不同时满足,收到的数据将丢失。
方式1波特率=(2^SMOD/32)×定时器T1的溢出率 SMOD为PCON寄存器的最高位的值(0或1)。
定时器T1(方式2)的溢出时间: (28-初值)×振荡周期(1/Fosc)×12
方式1波特率=(2^SMOD/32)/ ((28-初值)×振荡周期(1/Fosc)×12)
D
图:电源控制寄存器PCON的格式
SMOD:串行口波特率倍增位。在工作方式1~ 工作方式3时,若SMOD=1,则串行口波特率增 加一倍。若SMOD=0,波特率不加倍。系统复位 时,SMOD=0。
六、串行口工作方式
8051串行通信共有4种工作方式,它们分别是 方式0、方式1、方式2和方式3,由串行控制寄存器 SCON中的SM0 SM1决定。
即BaudRate ×(28-初值)/Fosc×12 = 2^SMOD/32
(3) 奇偶校验位: 数据位发送完(接收完)之后,可发送一位用来检
验数据在传送过程中是否出错的奇偶校验位。奇 偶校验是收发双方预先约定好的差错检验方式之 一。有时也可不用奇偶校验。
(4) 停止位: 字符帧格式的最后部分是停止位,逻辑“1”电
平有效,它可占1/2位、1位或2位(在串行通信时 每位的传送时间是固定的)。停止位表示传送一帧 信息的结束,也为发送下一帧信息作好准备。
MCS-51单片机的串行口及串行通信技术
![MCS-51单片机的串行口及串行通信技术](https://img.taocdn.com/s3/m/33f335fbe109581b6bd97f19227916888486b997.png)
MCS-51单⽚机的串⾏⼝及串⾏通信技术数据通信的基本概念串⾏通信有单⼯通信、半双⼯通信和全双⼯通信3种⽅式。
单⼯通信:数据只能单⽅向地从⼀端向另⼀端传送。
例如,⽬前的有线电视节⽬,只能单⽅向传送。
半双⼯通信:数据可以双向传送,但任⼀时刻只能向⼀个⽅向传送。
也就是说,半双⼯通信可以分时双向传送数据。
例如,⽬前的某些对讲机,任⼀时刻只能⼀⽅讲,另⼀⽅听。
全双⼯通信:数据可同时向两个⽅向传送。
全双⼯通信效率最⾼,适⽤于计算机之间的通信。
此外,通信双⽅要正确地进⾏数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。
实现数据同步,通常有两种⽅式,⼀种是异步通信,另⼀种是同步通信。
异步通信在异步通信中,数据⼀帧⼀帧地传送。
每⼀帧由⼀个字符代码组成,⼀个字符代码由起始位、数据位、奇偶校验位和停⽌位4部分组成。
每⼀帧的数据格式如图7-1所⽰。
⼀个串⾏帧的开始是⼀个起始位“0”,然后是5〜8位数据(规定低位数据在前,⾼位数据在后),接着是奇偶校验位(此位可省略),最后是停⽌位“1”。
起始位起始位"0”占⽤⼀位,⽤来通知接收设备,开始接收字符。
通信线在不传送字符时,⼀直保持为“1”。
接收端不断检测线路状态,当测到⼀个“0”电平时,就知道发来⼀个新字符,马上进⾏接收。
起始位还被⽤作同步接收端的时钟,以保证以后的接收能正确进⾏。
数据位数据位是要传送的数据,可以是5位、6位或更多。
当数据位是5位时,数据位为D0〜D4;当数据位是6位时,数据位为D0〜D5;当数据位是8位时,数据位为D0〜D7。
奇偶校验位奇偶校验位只占⼀位,其数据位为D8。
当传送数据不进⾏奇偶校验时,可以省略此位。
此位也可⽤于确定该帧字符所代表的信息类型,“1"表明传送的是地址帧,“0”表明传送的是数据帧。
停⽌位停⽌位⽤来表⽰字符的结束,停⽌位可以是1位、1.5位或2位。
停⽌位必须是⾼电平。
接收端接收到停⽌位后,就知道此字符传送完毕。
51单片机并行口的操作
![51单片机并行口的操作](https://img.taocdn.com/s3/m/f099733f52d380eb63946d25.png)
并行输入/输出端口
•MCS-51系列单片机的输入输出端口设计十分巧妙,熟悉了 这种端口的电路设计,我们不但可以熟练的使用它,而且 还可以作为其它电路的输入输出部分的设计参考。MCS- 51各个端口的设计有相同之处,但又因为各个端口功能不 同又有所差别,各端口的设计各具特点。 •80C51共有四个 8位的并行双向口,计有 32根输入/输出 (I/O)口线。各口的每一位均由锁存器、输出驱动器和输 入缓冲器所组成。因此,CPU数据从并行I/O接口输出时可 以得到锁存,输入时可以得到缓冲。由于它们在结构上的 一些差异,故各口的性质和功能也就有了差异。
使用“MOVX A,@Ri”及“MOVX @Ri ,A”类访问指令时, 高位地址通过程序设定,只利用 P1 、 P3 甚至 P2 口中的某几根口 线送高位地址,从而保留P2口的全部或部分口线作I/O口用。
D、P3口位结构
P3口既可用I/O口,又分别具有第二功能,但二者不 能混用,其第二功能如下表所示。
二、片外三总线结构
1、地址总线(AB)
由P2,P0提供16位地址 2、数据总线(DB) 由P0口提供8位数据 3、控制总线(CB)
由P3口和RST、EA、ALE、PS高8位地址总线。
C、P2口位结构
P2口
P2口是一个多功能的8位口,可以字节访问也可位访 问,其字节访问地址为A0H,位访问地址为A0H~A7H。 ⒈ P2口位结构和工作原理 多路开关的输入口有两个:一个是输出锁存器的输出 端Q;一个是地址寄存器(PC或DPTR)的高位输出端。 多路开关的输出经反相器反相后去控制输出 FET的 Q0。 多路开关的切换由内部控制信号控制。 输出锁存器的输出端是Q而不是Q,多路开关之后需接 反相器。