基于51单片机可调PWM发生器

本文介绍了基于51单片机的可调PWM发生器的设计,包括硬件设计中如何利用定时器实现不同频率和占空比控制,以及矩阵键盘和LCD1602屏幕的应用。软件部分详细阐述了定时器中断服务程序和键盘按键检测函数。

源码:基于51单片机可调PWM发生器
一、设计任务

  1. PWM信号频率范围为20Hz ~ 100kHz
  2. 占空比为5%~95%
  3. 键盘设置PWM频率和占空比
  4. 液晶模块显示输出频率和占空比

二、硬件设计
1、硬件总体框图
原理:采用8位的51单片机做控制器,程序采用C语言编程。利用定时器定时中断控制输出不同频率、占空比的PWM。采用矩阵键盘设置任意的频率和占空比。LCD1602屏幕显示当前的PWM。
在这里插入图片描述2.单片机最小系统
最小系统由复位电路、晶振电路组成
在这里插入图片描述

3.LCD1602屏幕

在这里插入图片描述

4.矩阵键盘

在这里插入图片描述

总电路

在这里插入图片描述三、软件设计
1、定时器输出PWM
采用定时器定时中断输出PWM。开始时计算一个PWM周期所需的计数值,然后通过占空比计算出高电平计数值和低电平计数值。进入中断服务后,当为输出高电平时装载低电平值并输出低电平,当输出低电平时,装载高电平值并输出高电平。

void InterruptTimer0() interrupt 1
{
   
   
    if (PWMOUT == 1)  //当前输出为高电平时,装载低电平值并输出低电平
    {
   
   
        TH0 = LowRH;
        TL0 = L
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炼金怪z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值