我要成为嵌入式高手之4月8日51单片机第三天!!
————————————————————————————
PWM
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
有源蜂鸣器:有震荡源
无源蜂鸣器:没有震荡源
通信
概念
主机:
参与通信的设备(无论哪种主机都是数字电路)
单工模式:
(Simplex Communication)主机间通信时如果一方固定为发送端另外一方固定为接收端,通过一根总线实现数据通信,只能单向传递信息。
串行通信:
指将数据拆分成一个个比特,按照先后次序在一根总线上进行发送,串行通信有着系统占用资源少,结构简单等优点,是主机间通信的常用方式
并行通信:
指多个比特同时通过并行线进行传输,这种方式的传输速率较高,但会占用大量的芯片资源
全双工通信:
(Full-Duplex Communication)是一种通信方式,其中数据传输可以同时在两个方向进行,允许通信双方同时发送和接收数据,实现双向通信。
半双工通信:
(Half-Duplex Communication)是一种通信方式,其中数据传输可以在两个方向之间交替进行,但不能同时进行。(通信双方既可以发送数据又可以接收数据,但是不能同时发送数据或者接收数据)半双工通信常用于对话式交流和一些简单的通信场景中
串口通信
①属于串行通信的异步方式之一
②收发双方波特率必须事先约好,否则数据传输就会出现混乱
异步通信:
为了保证每个比特占用数据线的时间,发送放和接收放需要按照各自的系统计时且双方之间的误差不能太大(不能超过6%)。这种双方各自“计时”的方式称为异步(打字速度因人而异,没有规定打字时间要等多久,只要保证接收端能够正确识别并解析即可)
同步通信:
同步通信设备之间除了有数据线以外还有一条时钟线(SDA 和 SCL)其中SCL就是时钟线(serial clock)发送方负责控制时钟线的变化,每发送一个比特,都需要将始终线按规则进行改变。(例如合唱团的人员都遵从指挥员的指挥节奏)这种通信方式就称为同步通信,譬如IIC SPI等。
串口通信在不同主机间的数据格式:
UART:
统一的异步的接收器和发送器,为了将数据间通信的0 1落实到硬件上
TTL(Transistion-Transistion Logic)
通常指芯片引脚产生的电压,这个电压值跟选择的芯片有关,在51单片机系统下是5V;在2440下是3.3V等等。5V TTL通信距离通常被限制在10~20米之间(距离太短,怎么边长?)
IEEE(Institute of Electrical and Electronics Engineers)为了解决传输距离短的问题,颁布了两个标准:
RS232标准:
逻辑低(0):-3V ~ -15V
逻辑高(1):+3V ~ +15V
收、发主机之间有三根线,分别是收、发和地,因此RS232是全双工的。
理论上能够传输20~30米
RS485标准:
使用两根信号线(A和B)来传输数据,通过比较A和B之间的电压差来识别信息,这种差分信号传输方式提高了抗干扰能力。由于采用的是压差,RS485在传输数据的某一时刻,两根线都要用到,所以他是半双工的。
使得通信距离到达1200米
注:RS232 RS485是通过TTL变换的
51单片机串口通信
两个缓冲器统称为串行通信特殊功能寄存器SBUF
通信方式有四种
对应的硬件管脚是P3.0/RxD(收) 和 P3.1/TxD(发)
在此用方式1
SM2:多机控制,在此用不到,清0;
REN:允许接收,置1;
TB8:发送时第9位数据为奇偶校验位,在此没有,清0;
RB8:收到时第9位数据为奇偶校验位,在此没有,清0;
TI、RI:发送中断请求标志位,是用来查询的(必须用软件复位)
SMOD:波特率是否翻倍,置1翻倍
定时器初值的计算公式
2^8-2^smod * focs / 32 / bps / 12(2^8说明是8位自动重装定时器)
其中smod表示PCON的B7,根据实际情况带入,不是0就是1;
focs晶振频率,我们这是12M;
bps目标波特率我们这是1200
28 这里的8来自定时器的工作方式,因为我们使用的是8位自动重装方式,所以是8
按照我们的要求1200bps,smod=1时,该公式计算结果为:203.99。有小数表明有误差,取整得203。