单片机定时计数器,用模式1(8位的)产生40KHZ的方波,占空比50%,晶振为12MHZ计数?51单片机用C语言或者汇编程序如何实现定时1秒?如何设定初始值?计算输出方波对外部?
2024-04-05 08:30:35 文章来源 :网络 围观 : 次 评论
后台-系统设置-扩展变量-手机广告位-内容正文顶部 |
单片机定时计数器,用模式1(8位的)产生40KHZ的方波,占空比50%,晶振为12MHZ计数?
#include
void InitTimer0(void)
{
TMOD = 0x01;
TH0 = 0x0FF;
TL0 = 0x0F4; //初值设置为12.5us,80KHZ, 误差0.5us
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main(void)
{
InitTimer0();
while(1);
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x0FF;
TL0 = 0x0F4; //80KHZ, 12.5us
//add your code here!
}
51单片机用C语言或者汇编程序如何实现定时1秒?如何设定初始值?如何计算?如何输出方波?如何对外部?
使用定时器实现1秒定时; 初始值要看单片机配置的晶振频率了,若12M晶振,初始值为TH0=0x3c;TL0=0xb0; 这才是50ms,还要一个单元做计数器,计数20次才是1秒 方波?在定时中断里求反一次。
来源:文章来源于网络,如有侵权请联系我们删除。 |
来源:文章来源于网络,如有侵权请联系我们删除。 |
上一篇:常用的电压比较器有那些型号? 下一篇:返回列表
留言与评论(共有 0 条评论) |