源码:基于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 = LowRL;PWMOUT = 0;}else              //当前输出为低电平时,装载高电平值并输出高电平{TH0 = HighRH;TL0 = HighRL;PWMOUT = 1;}
}

2、矩阵按键检测
使用行列反转扫描法

/*------------------------------------------------
按键值处理函数,返回扫键值
------------------------------------------------*/
unsigned int KeyPro(void)
{switch(KeyScan()){case 0x7e:return 0;break;//0 按下相应的键显示相对应的码值case 0x7d:return 1;break;//1case 0x7b:return 2;break;//2case 0x77:return 3;break;//3case 0xbe:return 4;break;//4case 0xbd:return 5;break;//5case 0xbb:return 6;break;//6case 0xb7:return 7;break;//7case 0xde:return 8;break;//8case 0xdd:return 9;break;//9case 0xdb:return 10;break;//acase 0xd7:return 11;break;//bcase 0xee:return 12;break;//ccase 0xed:return 13;break;//dcase 0xeb:return 14;break;//ecase 0xe7:return 15;break;//fdefault:return 16;break;}
}

四、实物图

基于51单片机可调PWM发生器相关推荐

  1. 104、基于51单片机智能风扇pwm调速红外遥控无线遥控风扇温控风扇系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.Protues仿真 六.流程图 七.程序源码 八.资料包括 摘要 随着气温的逐渐上升, ...

  2. c语言写51单片机可调pwm,AT89C52单片机输出可调PWM波的方法设计

    PWM 是"脉冲宽度调制"的意思. PWM 实际上是在单片机的某个引脚输出一系列的矩形波,其周期一般是固定的:而其高电平.低电平所占用的时间,是可以受控调整的. 高电平.低电平所占 ...

  3. 基于51单片机智能台灯pwm调光强光控方案原理图设计

    硬件电路的设计 (末尾附文件) 系统的功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52单片机电路+光照检测电路(光敏电阻)+AD0832转换电路+4位高亮LED灯电路+按键电路 ...

  4. 51单片机c语言dac0832产生波形,基于51单片机的DAC0832波形发生器设计

    波形发生器是一种常用的信号源,广泛的应用于电子电路.自动控制系统和教学实验等领域,是现代测试领域内应用最为广泛的通用仪器之一.在研制.生产.测试和维修各种电子元件.部件以及整机设备时,都需要有信号源. ...

  5. 基于51单片机STC12C5A60S2的PWM软硬件配置

    目录 1.PWM简介 2.PWM的软硬件配置 2.1PWM在STC12C5A60S2中的硬件配置 2.2PWM在STC12C5A60S2中的软件配置 1.输出可调频率.固定占空比PWM 2.输出呼吸灯 ...

  6. 基于51单片机的DAC0832波形发生器

    输出1HZ正弦波.三角波.方波.锯齿波 使用LCD1602显示 DAC0832的D0~D7数据输入口,IOUT1.IOUT2互补输出口,RFB反馈端口. VREF基准电压值(一般是5V).用定时器控制 ...

  7. 51单片机的直流电机PWM调速控制系统(附Proteus仿真+C程序等全套资料)

    设计思路 直流电机PWM控制系统的主要功能包括:很实现对直流电机的加速.减速以及电机的正转.反转和急停,并且可以调整电机的转速,能够方便的实现电机的智能控制. 主体电路:即直流电机PWM控制模块.这部 ...

  8. 51单片机声控语音PWM风扇可自动温控定时调速风扇转速显示

    实践制作DIY- GC0017-声控语音PWM风扇 一.功能说明: 基于51单片机设计-声控语音PWM风扇 功能介绍: 1.基于51(AT89C52.STC89C52)单片机,DS18B20温度传感器 ...

  9. 基于51单片机直流电机PWM调速设计

    具体实现功能 系统由STC89C52单片机.LCD1602液晶显示屏.霍尔测速传感器.3V直流电机.按键模块构成. 具体功能: 1.采用霍尔传感器非接触式测电机转速: 2.LCD1602液晶显示当前的 ...

最新文章

  1. 计算机网络知识点2——数据交换、码分多路复用
  2. [原创]敏捷管理实践看板思维导图
  3. 使用pyspider爬取巨量淘宝MM图片
  4. JavaScript实现combine Without Repetitions不重复地结合算法(附完整源码)
  5. 浅谈RTS游戏网络同步:3种同步机制模式的实现
  6. 使用Quick BI连接AnalyticDB for PostgreSQL数据源
  7. 互联网晚报 | 11月7日 星期日 | EDG夺得《英雄联盟》S11总冠军;拼多多推出“超拼夜”系列;VMware与戴尔完成分拆...
  8. 信息学奥赛一本通 2018:【例4.3】输出奇偶数之和
  9. mkdir: 无法创建目录“/home/lj/.tldr“: 文件已存在
  10. LeetCode Week 5:第 41 ~ 50 题
  11. qstring如何初始化_qstringlist 初始化
  12. 跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类
  13. 记一篇IT培训日记050-嗯嗯,差距不大
  14. 微信提现显示服务器异常,微信零钱提现为什么显示提示交易异常 解决办法是什么...
  15. Geoffrey Hinton——Godfather of Deep Learning
  16. 设置zoom后,导致级联下拉不跟随输入框
  17. 仿58同城的伪静态写法
  18. Java 获取 n个 工作日【前】或【后】的日期
  19. 5V升压12.6V电路图芯片,给三节锂电池充电
  20. 汉字转拼音c/c++源码,支持gb2312和utf8

热门文章

  1. jQuery-w3school(2020.2.16)【二、jQuery教程】
  2. 构建高效的整车系统级别评估平台,百度安全自动驾驶风险安全研究亮相NDSS2022AutoSec...
  3. 三年级上册计算机计划书,三年级新学期学习计划书范文
  4. 第一次试试自己搭tz
  5. 英特奇android刷机,英特奇E83 (小S)刷机教程,一键刷入各种OS
  6. Puppeteer之Pyppeteer-百度页面输入关键词,随机点击某新闻(7)
  7. 怎样发量暴增_如何快速增加发量,明星的这些方法太实用了
  8. 手机APP和PC站点接入中国银联支付
  9. 台达变频器调试软件 软件可通过电脑调试台达各系列变频器
  10. 六、华为云数据库GaussDB(for openGauss)