设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 912|回复: 0
收起左侧

C51/STC 单片机 1ms/1毫秒12T定时器0中断实现输出1HZ方波输出并控制LED闪烁 程序源码

[复制链接]
发表于 2022-5-10 18:02:25 | 显示全部楼层 |阅读模式
LED.png
  1. #include <STC15F104E.h>                                        //单片机型号:STC任意 (根据型号更改对应的头文件)
  2. #define feed_dog()        WDT_CONTR |= 0x10        //看门狗喂狗 (严禁在中断内、被中断调用的函数喂狗)
  3. #define T1ms 0xFC18                                                //12Mhz 1ms 12T定时器初值 (根据晶振频率修改)
  4. sbit hz1 = P3 ^ 3;
  5. void InitTimer0(){
  6.     TMOD = 0x01;
  7.     TH0 = T1ms >> 8;
  8.     TL0 = T1ms;
  9.     EA = 1;
  10.     ET0 = 1;
  11.     TR0 = 1;
  12. }

  13. void main(){
  14.         WDT_CONTR = 0x27;        //开看门狗
  15.     InitTimer0();
  16.         while (1) {
  17.                 feed_dog();
  18.         }
  19. }

  20. void Timer0Interrupt() interrupt 1{                //1ms定时器中断
  21.         static unsigned int ms = 0;
  22.         TH0 = T1ms >> 8;
  23.         TL0 = T1ms;
  24.         if(++ms >= 500){
  25.                 ms = 0;
  26.                 hz1 = !hz1;
  27.         }
  28. }
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-26 18:17 , Processed in 0.971056 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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