设为首页收藏本站帮助中心
查看: 31|回复: 0
收起左侧

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

[复制链接]
发表于 2022-5-10 18:02:25 | 显示全部楼层 |阅读模式

孩子辍学不想上学打工咋办?
来我这免费学:易语言、51单片机、FPGA(IC设计)、PHP Dsicuz! 程序修改、MASM汇编,包教包会,学废为止。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
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. }
复制代码

相关帖子

本站源码使用前请注意检查,如有问题请点击右下角举报,将在24小时内得到答复。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则