硬件开发(3)—单片机(3)

1.串口通信

1.常见收发器UART

通用异步收发器,2个串口(1个串口被用于ISP下载程序,1个串口被用于和主机之间的通信),RXD(接收信号线) TXD(发送信号线)

2.通信方式
1.  单工

(1)发送方和接收方是固定的,数据只能从发送方发给接收方

(2)数据传输是通过一根信号线实现,数据传输的方向是固定的

2.  半双工(I2C)

(1)通信双方既可以作为发送方也可以作为接收方

(2)数据传输是通过一根信号线实现,数据传输的方向可以是双向的

(3)同一时刻,数据传输的方向呈现单一性(A给B发的时候,B不能给A发,B只能去接收数据)

3.  全双工 (UART)

(1)通信双方既可以作为发送方也可以作为接收方

(2)数据传输是通过两根信号线实现,数据传输在任意时刻都是双向的(收发可以同时进行)

3.数据传输的顺序

Uart在传输数据时,遵循LSB优先原则(低位先行),先发低位数据

4.数据传输的形式

串行:通过一根信号线传输数据,按照先后次序逐个bit逐个bit去发送数据

并行:同多多根信号线同时去传输数据

5.串行传输和并行传输的区别
1.串行(UART)

(1)传输速率慢(只能通过一根线逐个bit去传输)

(2)硬件成本低,实现简单

(3)传输距离远,抗干扰性好(RS485 差分)

2.并行

(1)传输速率快(可以通过多根线同时传输多个bit)

(2)硬件成本高,实现复杂

(3)传输距离近,抗干扰性差(30米以内 距离增加后多根信号新存在信号偏移,会电磁波干扰,会造成误差和干扰)

6.串口通信时序

1. 串口通信时,空闲状态为高电平

2. 当由高电平变为低电平(发送一个低电平信号),代表发送了一个起始位,准备开始通信

3. 发送数据(通常是8bit,遵循先发数据低位LSB原则)

4. 再发送一个bit的校验位(奇偶校验)

5. 再发送一个bit的停止位,代表这一次串口通信结束

奇偶校验

奇校验:校验位为'1',若数据位中'1'的个数加上校验位中的'1',保持'1'的个数为奇数个,则代表校验通过

偶校验:校验位为'0',若数据位中'1'的个数加上校验位中的'0',保持'1'的个数为偶数个,则代表校验通过

问题:无法检测偶数个bit出错

7.串口通信参数

波特率:bps(bit per second),每秒钟传输bit的数量,常见的波特率:2400,4800, 9600,115200

数据位:8,串口传输通常8bit数据位传输

停止位:1,1bit停止位

校验位:None,N,无校验

Even,E,偶校验

Odd,O,奇校验

例:9600, 8,N,1

       2400, 8,E,1

       115200, 8,O,1

8.同步通信、异步通信

I2C:SCL 时钟线

SPI:SCLK 时钟线

UART:无时钟线 异步

同步:通信的双方有一根共享的时钟线来约定通信的频率(同步发送数据/接收数据)

异步:通信双方没有时钟线进行同步,如Uart:可以通过设置波特率来实现同步(发:2400bps  收:2400bps)

9.串口寄存器配置

串口的波特率发生器依赖于定时器1(Timer1)

1.SCON/PCON串口控制寄存器

PCON寄存器中的bit6 置0代表通过SCON寄存器中SM0和SM1两位指定串口工作方式:

①将SCON寄存器中的bit6和bit7清0

②将SCON寄存器中的SM1 bit6置1,SM0 bit7清0,代表串口工作8位UART模式

③将SCON寄存器中REN bit4置1,代表允许串口接收数据

④SCON寄存器中bit1 TI位,代表串口8位数据发送完毕硬件自动置1,但需要软件清0(查询)

⑤SCON寄存器bit0 RI位,代表串口8位数据接收完毕硬件自动置1,但需要软件清0(查询)

⑥PCON寄存器SMOD bit7位置1,代表波特率加倍

2.定时器寄存器相关配置

TMOD 定时器模式选择寄存器

①将TMOD寄存器中的高四位清0(定时器1)

②将TMOD寄存器中的bit5置1,bit4清0,代表定时器1工作在8位自动重装载模式

③将定时器初值写入到TL1和TH1

④将TCON寄存器中的bit6置1,代表允许定时器1开始计数

3.中断寄存器相关配置

IE中断控制寄存器

①将IE寄存器中的bit7 EA位置1,代表CPU能够响应所有中断

②将IE寄存器中的bit3 ET1位置1,代表允许定时器1产生中断

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值