历史上的今天
今天是:2024年12月13日(星期五)
2018年12月13日 | 51定时器配置PWM的技巧
2018-12-13 来源:eefocus
定时器计数频率 * 周期时长(需要产生频率的分之一) = 计数值,看下面这段关键程序!
void ConfigPWM(u16 fr, u8 dc)//具体用的时候最好再估算一下是否真的可以产生!
{
u32 tmp, high, low;
tmp = 11059200/12/fr;
high = (tmp * dc)/100;
low = tmp - high;
high = 65536 - high;
low = 65536 - low;
HighRH = (u8)(high>>8);
HighRL = (u8)high;
LowRH = (u8)(low>>8);
LowRL = (u8)low;
TMOD &= 0xF0;
TMOD |= 0x01;
TH0 = HighRH;
TL0 = HighRL;
ET0 = 1;
TR0 = 1;
PWMOUT = 1;
}
占空比可调也是可以的,再开一个定时器里面设置一个数组放一些占空比值,然后定时切换。切换无非就是重新赋值HighRH,HighRL, LowRH, LowRL。
上一篇:串口接收实例——空闲中断
下一篇: 8051之汇编ASM
史海拾趣
|
最近我使用IWOW的TR800来做一个无线数传的项目,我在想移动既然分配给模块的ip是内网ip,那是否意味着两个模块连上GPRS网络之后,他们都是获得同一内网里的ip,就像连接到同一路由器里面的两台机器一样? 另外共享一下我觉得不错的技术QQ群 群5 ...… 查看全部问答> |
|
1,请问现在做一个LED驱动(大小功率)安规费用 第一次做个安规完,如果没过,对方提建议,也要收相同费用吗? 有没有过了才收费的; 2,过安规应该包含有电磁兼容项目吧… 查看全部问答> |
|
请问: ATM64中的PB4脚的第二功能是如何开启的? 是不是把T/C0控制寄存器TCCR0中的CS02、CS01、CS00位置0就可以了???(TCCR0=0X00) 大家一定要指点一下啊!!!!… 查看全部问答> |
|
原来用的6416的片子,现在用的2407,想问下怎么能一上电就让dsp芯片运行我的程序?小弟新手希望各位大侠教的详细点,有资料发我邮箱也可以hljlishen0517@gmail.com 多谢各位了… 查看全部问答> |
|
小弟最近遇到个问题: 在vxworks中包含usb mass storage的相关组件,启动目标板后,插入U盘,读写操作都正确,但是拔掉后,再插入,就报告dosFsDevCreate失败,查看错误号,说是设备已存在,使用 hdr = iosDevFind(\"/usb/bd\", 0); iosDevDelet ...… 查看全部问答> |
|
74系列芯片功能大全 这里是常用74系列芯片功能大全很有收藏价值 7400 TTL 2输入端四与非门7401 TTL 集电极开路2输入端四与非门7402 TTL 2输入端四或非门7403 TTL 集电极开路2输入端四与非门7404 TTL 六反相器7405 TTL 集电极开路六反相 ...… 查看全部问答> |
|
这个电路在很多网站都有 对它解释也是相同 “这是一种用于三相三线制电源缺相保护电路,A、B、C缺任何一相,光耦器输出电平低于比较器的反相输入端的基准电压,比较器输出低电平,封锁PWM驱动信号,关闭电源。比较器输入极性稍加变动 ...… 查看全部问答> |
|
TPS5430DDAR芯片过回流焊后无法正常工作,重新焊接上正常工作 如题,TPS5430DDAR芯片经过热风回流焊,峰值温度230℃左右,测试电源无法工作,将两片TPS5430DDAR用烙铁取下,交换下重新焊接上去,电源正常工作,请问这是什么原因??????… 查看全部问答> |




