社区
单片机/工控
帖子详情
STC12C5A60S2的PWM输出频率
yangjinCK
2010-10-18 09:09:59
让这个单片机4秒一次不停的输出一个频率f=0.125Hz
这个该怎么做呢
小弟刚刚才学
不懂啊
这个用其他型号的单片机来做是不是一样的啊
请大侠们指教啊
...全文
1655
11
打赏
收藏
STC12C5A60S2的PWM输出频率
让这个单片机4秒一次不停的输出一个频率f=0.125Hz 这个该怎么做呢 小弟刚刚才学 不懂啊 这个用其他型号的单片机来做是不是一样的啊 请大侠们指教啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LabVIEW解题
2010-11-14
打赏
举报
回复
/*STC89C52RC 12M晶振。
让STC89C52的P1口8路输出多路的PWM脉冲输出
程序采集快速循环方式,频率200-300hz,占空比0-100%。把200到300分为10个等级步进,如210hz.占空比为1%步进。
要根据频率与占空比计算出P1某个引脚的高电平时间和低电平时间。
一秒300个脉冲,每个脉冲是用了3mS. 在单片机中整个程序是100uS转一圈
可是最终的仿真结果是330uS左右转一圈,PWM频率只有30多hz.失败。
*/
#include <reg52.h>
char code SST516[3] _at_ 0x003b; //仿真器使用
unsigned int clock,delay; //delay and counter
//定义一路PWM输出所须要的变量
unsigned int frequency1,dutycycle1,cycle100us1,remained1,dutyover1,starttime1;
bit cyclestart1; //开始标致位
sbit output1=P1^7; //输出引脚
//定义第二路PWM输出所须要的变量
unsigned int frequency2,dutycycle2,cycle100us2,remained2,dutyover2,starttime2;
bit cyclestart2; //开始标致位
sbit output2=P1^6; //输出引脚
void outputpwm1 (void)
{
///*
frequency1=200;
dutycycle1=10;
//*/
cycle100us1=10000/frequency1;
if (clock%cycle100us1==0) //一个脉冲的开始
{
output1=0; //0,开始输出
starttime1=clock; //开始初值
}
else
{
if (clock>(dutycycle1*cycle100us1/100+starttime1))
{
output1=1; //1,输出停止
}
}
}
void outputpwm2 (void)
{
///*
frequency2=300;
dutycycle2=70;
//*/
cycle100us2=10000/frequency2;
if (clock%cycle100us2==0) //一个脉冲的开始
{
output2=0; //0,开始输出
starttime2=clock; //开始初值
}
else
{
if (clock>(dutycycle2*cycle100us2/100+starttime2))
{
output2=1; //1,输出停止
}
}
}
void main()
{
//WDT_CONTR = 0x3c; //STC看门狗
while(1)
{
//for(delay=10;delay>0;delay--); //实现100us延时 delay的原始值为50,为了调试方便,加长到50000.
clock++; //实现计数
outputpwm1 ();
outputpwm2 ();
//WDT_CONTR = 0x3c; //STC看门狗
}
}
liuweixiaocainiao
2010-10-20
打赏
举报
回复
4s定时中断一下,执行中断操作咯
yangjinCK
2010-10-18
打赏
举报
回复
[Quote=引用 3 楼 a691662 的回复:]
看你用什么单片机了啊
51就用代码写
像那种高级一点例如飞思卡尔16位的都用脉宽调制系统的 操作一下寄存器即可 具体请看相应Datasheet
[/Quote]
我用的STC89C58RD+
请教哈怎么写这个程序啊
a691662
2010-10-18
打赏
举报
回复
看你用什么单片机了啊
51就用代码写
像那种高级一点例如飞思卡尔16位的都用脉宽调制系统的 操作一下寄存器即可 具体请看相应Datasheet
klplgh
2010-10-18
打赏
举报
回复
在程序中用个循环啊,计时效果
yangjinCK
2010-10-18
打赏
举报
回复
.....来个指定指点的啊
yangminghua6
2010-10-18
打赏
举报
回复
STC12C5A60S2这种单片机有专门脚输出频率,改变内部寄存器设置就行了。
a691662
2010-10-18
打赏
举报
回复
用定时器实现
a691662
2010-10-18
打赏
举报
回复
51单片机 pwm代码
自己搜一下吧
yangjinCK
2010-10-18
打赏
举报
回复
好清静啊
来两个人顶啊
STC12C5A60S2
STC12C5204AD单片机软件DEMO例程源码36例合集.zip
STC12C5A60S2
STC12C5204AD单片机软件DEMO例程源码36例合集 5个唤醒源唤醒MCU BRT-Timer0-Timer1-同时编程脉冲
输出
BRT编程脉冲
输出
-Timer0中断取反IO
输出
INT0-INT1-外中断测试 IO口推挽
输出
测试 P44-P45-P46-应用例子 STC-1T-用for循环测脉宽 STC11F-掉电定时器唤醒 STC12C5204-所有IO推挽
输出
100HZ方波测试 STC12C5204AD-ADC STC12C5204AD-ADC-3路 STC12C5204AD-Timer0-Timer1-
输出
编程时钟 STC12C5204AD-两路
PWM
测试 STC12C5204AD-两路
PWM
测试-Timer0做时钟
STC12C5A60S2
-ADC
STC12C5A60S2
-ADC-3路
STC12C5A60S2
-ADC-8路
STC12C5A60S2
-ADC-中断读ADC
STC12C5A60S2
-PCA-同步触发可控硅
STC12C5A60S2
-PCA-软件
PWM
1
STC12C5A60S2
-PCA-软件定时
STC12C5A60S2
-PCA-
输出
方波
STC12C5A60S2
-PCA捕捉
STC12C5A60S2
-SPI-主机查询发送-从机中断接收
STC12C5A60S2
-SPI主机查询发送
STC12C5A60S2
-两路
PWM
测试
STC12C5A60S2
-两路
PWM
调制
输出
STC12C5A60S2
-串口1-串口2-测试程序
STC12C5A60S2
-串口1-串口2-测试程序asm
STC12C5A60S2
-串口1测试(BRT-500Kbps)
STC12C5A60S2
-串口1测试(Timer1波特率)
STC12C5A60S2
-串口1读ID
STC12C5A60S2
-串口测试(BRT波特率)
STC12C5A60S2
-使用外中断INT0-INT1-测
频率
STC12C5A60S2
-测试读写xdata不影响IO
STC12C5A60S2
_掉电保存 串口1原样返回-Timer0中断取反IO 前后台操作双字节变量 掉电保存 软件定时器
STC12C5A60S2
内部
PWM
应用
STC12C5A60S2
内部
PWM
应用
单片机有很多种-1.3.第1季第3部分
本课程是《朱有鹏老师单片机完全学习系列课程》第1季第3个课程,主要讲了单片机的发展史,各种主流单片机的各自特点,STC51单片机的各系列的特点以及项目中如何选型主控单片机。
stc12c5a60s2
的
PWM
占空比可调
stc12c5a60s2
的
PWM
占空比可调的程序
stc12c5a60s2
PWM
模块程序
stc12c5a60s2
PWM
模块程序
单片机/工控
27,374
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章