1.串行通信和并行通信的区别
2.通信的方式
3.Rs232协议
4.51单片机通信的硬件连接
5.软件编写串口程序
通讯
两个设备之间的交流
通信:并行通信和串行通信
并行通信在同一时刻发送多位数据
串行通信用一根线在不同的时刻发送8位数据并行通信
优点发送速度快
缺点传输距离短资源占用多
串行通信
优点传输距离远占用资源少
缺点发送速度慢
通信的方式
1.单工通信只能接受或者发送收音机遥控器
2.半双工通信在同一时刻只能发送或者接收对讲机
3.全双工通信在同一时刻既能接收又能发送电话
4.协议
数据发送的格式
Rs232协议:
例如:发送8位数据
0x12;
发送数据之前先发送一个开始位
开始位+数据位+奇偶校验位+停止位
开始位1位低电平
数据位5~8位用的最多的是8位
奇偶校验位1位
停止位1~2位1位1.5位2位
奇偶校验
奇校验通过查看数据中1的个数
例如选择奇校验
发送的数据为01011110
1的个数为基数那么奇偶校验位为0
如果发送的数据位10101010
1的个数为偶数那么奇偶校验位为1
发送方通过发送数据中1的个数,如果为奇数,那么奇偶校验位位0否则为1
接收方当接收到数据,通过查看数据中1的个数+奇偶校验位1的个数
如果为奇数,代表数据发送成功,否则失败
停止位1位2位1.5位
数字芯片时间通过时钟脉冲
1位=1个脉冲
2位=2个脉冲
1.5位=1.5个脉冲
3.串口的硬件连接
4.51单片机中的硬件连接图
1.ttl电平
0 0v~1.5v
1 2.5~5v
2.把ttl电平转化为cmos电平
0 5v~12v
1-5v~-12v
通过max232转化ttl电平转化为cmos电平
5.软件控制
51单片机中包含一个串口
1.波特率
例如1s可以发送100帧数据1帧数据包含10位
那么波特率=10*100=1000bit/s
设备1s中发送的位数
单片机的波特率位9600
2.串口控制寄存器scon
SCON 8位寄存器
D7~D6 SM0 SM1
代表的是串口工作模式
00代表的是串口只是一个8位移位寄存器
01代表的是一个一帧信息为10位的串口‘用的最多
10 11 代表的是一个一帧信息为11位的串口
10位包含开始位+8位数据位+一位停止位
D4 ren 代表的是数据接收使能位
1:代表的是可以接受否则不能接受
D0:RI: 接收标志位如果接受到数据那么RI为1 否则为
D1 TI:发送标志位如果发送完数据那么标志位位1
否则为0
01 0 1 0 0 0 0 01010000 0x50
PCON 电源控制寄存器
最高位smod 代表时钟频率是否加倍
产生波特率通过T1定时器来产生
T1工作在方式2下并且Th1=0xfd tl1=0xfd
软件编程
1.初始化串口
1.1设置波特率
1.2启动SCON
1.3启动定时器1
2.回显
1.单片机等待接收数据
2.接收到数据再把数据发送给电脑
作业:
1.串口实现回显功能
2.串口去控制LED灯
发送1 LED1点亮
发送2 LED2 点亮…………….
发送7 LED7点亮
发送$ 全部熄灭
扩展实现流水灯。