单片机定时计数器,用模式1(8位的)产生40KHZ的方波,占空比50%,晶振为12MHZ计数?51单片机用C语言或者汇编程序如何实现定时1秒?如何设定初始值?计算输出方波对外部?

2024-04-05 08:30:35 文章来源 :网络 围观 : 评论
后台-系统设置-扩展变量-手机广告位-内容正文顶部

  

单片机定时计数器,用模式1(8位的)产生40KHZ的方波,占空比50%,晶振为12MHZ计数?51单片机用C语言或者汇编程序如何实现定时1秒?如何设定初始值?计算输出方波对外部?

  

单片机定时计数器,用模式1(8位的)产生40KHZ的方波,占空比50%,晶振为12MHZ计数?51单片机用C语言或者汇编程序如何实现定时1秒?如何设定初始值?计算输出方波对外部?

  单片机定时计数器,用模式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 条评论)
   
验证码:
推荐文章