数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 6031|回复: 42

[C51] 用8脚的STC8G1K08A输出占空比可调的方波

[复制链接]
发表于 2024-1-9 09:09:46 | 显示全部楼层
请教一下,你是如何生成带标号的整个文档的?我采用直接复制粘贴得到的不带标号,且左右对齐格式也大乱。
回复 支持 反对

使用道具 举报

发表于 2024-1-9 11:24:41 | 显示全部楼层
慕名而来 发表于 2024-1-9 09:26
别人教我的转分享给你吧,发帖时上侧工具条里有一个标签,按它就可以出现一个下拉框,将你的程序贴上在发 ...

谢谢指点!刚才试了试,已经很整齐,但没有真正发出,以后有代码需发布时再试试。
回复 支持 反对

使用道具 举报

发表于 2024-1-14 21:13:10 | 显示全部楼层
本帖最后由 刘佑红 于 2024-1-15 07:17 编辑

          使用STC8G1K08A实现电压对应占空比的方法还可以使用ADC采集电位器电压,然后计算占空比,根据占空比去控制PCA产生PWM的方法。因为STC8G1K08A不仅有ADC可以测量电位器中心点电压,其PCA模块还可以产生PWM(最高10位)。大致方法如下:
    电位器上端接电源,就是楼主图中的4V,电位器下端接地。启动ADC,读取电位器中心点电压转换数值E(=dat*256+dat1,最大1024),占空比D=(E/1024)*100=E*100/1024(%)。   
    根据占空比D的数值,先判断D的数值,在0<D<100时计算PCA模块需要的CCAP2H和CCAP2L数值,其数值=D*1024/100=E(式中1024是按10位PWM模式),即将ADC读取的转换数值(dat*256+dat1)装载入PCA模块的CCPA2H和CCPA2L,就会输出相应的占空比脉冲。判断在D<1(即D=0),设置PWM输出固定高或者低电平让灯熄灭,判断在D>99(即D=100),设置PWM输出固定高或者低电平让灯直亮。
       使用PCA模块产生PWM的方式,得到的占空比比使用定时器的要精确,也较少占用单片机的系统资源,且定时器中断法在PWM频率较高时最低占空比受到定时器中断延时的影响很明显。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-9 15:38 , Processed in 0.140400 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表