定时器‘PWM和串口通信(20250317)
定时器
时钟源与分频
51 单片机的定时器工作需要一个时钟源,通常由外部晶振提供。当晶振频率为 11.0592(12)MHz 时,它会产生稳定的高频脉冲信号。
这个高频脉冲信号经过单片机内部的时钟电路进行分频,得到适合定时器工作的时钟信号。通过对 11.0592MHz 的晶振信号进行 12 分频后,得到 921.6kHz 的时钟信号,作为定时器的计数脉冲。
计数与定时
定时器本质上是一个加法计数器,它在每个计数脉冲的下降沿对计数值进行加 1 操作。
当定时器被设置为定时模式时,用户可以通过设置定时器的初值来确定定时时间。例如,要实现 1ms 的定时,已知计数脉冲频率为 921.6kHz,那么在 1ms 内计数器需要计数的次数为 921.6 次(近似值)。通过计算可以得到定时器的初值,将这个初值写入定时器寄存器中,定时器就会从这个初值开始向上计数。
当计数器的值达到设定的溢出值(通常是定时器寄存器的最大值,如对于 8 位定时器是 255)时,就会产生溢出中断。单片机可以通过检测这个中断来知道定时时间已到,从而执行相应的定时任务。
工作模式
51 单片机的定时器通常有多种工作模式,如模式 0 为 13 位定时器、模式 1 为 16 位定时器、模式 2 为自动重装初值的 8 位定时器等。不同的工作模式适用于不同的应用场景,用户可以根据实际需求通过设置定时器的控制寄存器来选择合适的工作模式。以模式 1 为例,它是 16 位定时器,可提供较大的定时范围,能满足较长时间的定时需求。
PWM(Pulse Width Modulation)
脉冲宽度调制,通过对宽度的调制,获得想要的波形
占空比
应用
改变 PWM 信号的频率可以改变蜂鸣器发声的音调。频率越高,音调越高;频率越低,音调越低
通过 PWM 信号控制电机的平均电压,从而调节电机的转速和转矩,广泛应用于直流电机、步进电机等的控制。
蜂鸣器
分为有源蜂鸣器和无源蜂鸣器,区别是有无震荡源
串口通信
- 并行通信:同一时刻,通信1bit以上
- 串行通信:同一时刻,只传输1bit
关于并行通信
- 优点:效率高
- 缺点:耗费硬件资源,占用大量的GPIO General-Purpose Input/Output)即通用输入输出端口
串口通信是串行通信的一种,不是所有的串行通信都是串口通信
串口通信是一种全双工通信方式
51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机的串口通信。
TXD表示发送端,RXD表示接收端
电平不一致时,需加装电平转换芯片
通讯标准
TTL:芯片引脚的电压(5V为逻辑高电平1,0V为逻辑低电平0)
传输距离:1-2米
RS232标准:逻辑高电平1(3到15V),逻辑低电平0(-1到-15V)
传输距离:不超过15米
RS485标准:在RS232的基础上增强抗干扰能力,提升传输距离,由压差识别逻辑电平高低,但是由于传输信息时,需要使用两根信号线,因此是一种半双工通信。
串口通信在单个信号线上的时序图
- 空闲时为高电平
- 发送一个低电平表示起始位
- 发送数据时,遵循低位先行原则
- 校验分为奇校验、偶校验和无校验
奇(偶)校验:’数据位+校验位中1‘的数量为奇(偶)数
波特率
每秒传输比特的速率
常见波特率:2400、4800、9600、14400、19200、38400、57600、115200
串行通信模式 2 波特率:
SMOD 被称为波特率加倍位,模式 2 的波特率基本固定,主要取决于系统工作时钟频率和 SMOD 位的设置。