单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1535|回复: 3
收起左侧

用STC15F104E的单片机做的定时器

[复制链接]
us1024 发表于 2017-9-16 13:39 | 显示全部楼层 |阅读模式
上电就开始计时,继电器吸合,LED每秒闪一次,8小时后继电器断开,LED熄灭
搜狗截图20170916133942.png

单片机源程序如下:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit led = P3^4;
  5. sbit out =P3^5;
  6. uchar aa,num,time,time1;
  7. void delay(uint z)
  8. {
  9.     uint x,y;
  10.     for(x=z;x>0;x--)
  11.         for(y=110;y>0;y--);
  12. }
  13. void init()
  14. {
  15.     TMOD=0x01;
  16.     TH0=(65536-50000)/256;
  17.     TL0=(65536-50000)%256;
  18.     EA=1;
  19.     ET0=1;
  20.     TR0=1;
  21.     aa=0;
  22.     num=0;
  23.     time=0;
  24.     time1=0;
  25.     out=0;
  26. }
  27. void main()
  28. {
  29.     init();
  30.     while(1)
  31.     {
  32.         if(aa==20) //如果到了1S
  33.             {
  34.                 aa=0; //清零aa
  35.                 num++; //秒数累加
  36.                 led=~led; //闪灯
  37.             }
  38.         if(num==60) //如果到了1min
  39.             {
  40.                 num=0; //清零秒数
  41.                 time++; //累加分钟
  42.             }
  43.         if(time==60) //如果到了60min(1h)
  44.             {
  45.                 time=0; //清零分钟
  46.                 time1++;//累加小时
  47.             }
  48.         if(time1==8) //如果到了8h
  49.             {
  50.                 time1=0; //小时清零
  51.                 out=1; //关输出
  52.                 TR0=0; //关掉定时器
  53.                 while(1); //停在这里死循环,其实可以把单片机挂到掉电模式,如果喜欢自己写吧
  54.             }
  55.     }
  56. }
  57. void timer0() interrupt 1
  58. {
  59.     TH0=(65536-50000)/256; //每50MS产生一次中断,给寄存器装初值并累加aa
  60.     TL0=(65536-50000)%256;
  61.     aa++;
  62. }
复制代码



回复

使用道具 举报

houjue 发表于 2018-10-11 15:46 | 显示全部楼层
若再加个开关作为启动键就更完美了!不过可以自己添加。
回复

使用道具 举报

irico58 发表于 2019-5-16 08:43 | 显示全部楼层
翻译出错
回复

使用道具 举报

zqy181818 发表于 2019-5-16 12:47 | 显示全部楼层

请问是那个地方?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛5群 联系QQ:125739409;技术交流QQ群174280738

Powered by 单片机教程网

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