标题: 单片机定时器/计数器实现跑马灯Proteus仿真 [打印本页]

作者: zhangli0126    时间: 2021-6-3 14:56
标题: 单片机定时器/计数器实现跑马灯Proteus仿真
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uint i;
  5. void main()
  6. {
  7.         i=0;
  8.         EA=1;                                 //打开总中断
  9.         TMOD=0x01;                            //使用定时器T0的工作方式1(<font color="#ff0000">TMOD是不可以进行位操作</font>)
  10.         ET0=1;                                //定时器T0中断允许
  11.         TH0=(65536-50000)/256;                //给定时器T0的高8位赋值
  12.         TL0=(65536-50000)%256;                //给定时器T0的低8位赋值
  13.         TR0=1;                                //启动定时器T0
  14.         P2=0xff;
  15.         while(1);                             //无限循环等待中断
  16. }
  17. void Time0(void) interrupt 1                  //"interrupt"声明函数为中断服务函数,1表示定时器T0的中断编号
  18. {
  19.    
  20.         i++;
  21.         if(i==40)
  22.         {
  23.                 P2=~P2;                       
  24.                 i=0;
  25.         }
  26.         TH0=(65536-50000)/256;
  27.         TL0=(65536-50000)%256;
  28. }
复制代码


1.png (47.45 KB, 下载次数: 77)

1.png

作者: 无心法师III    时间: 2021-6-8 17:28
我实验了一下这个程序,它的效果就是让8个灯同时亮几秒再灭,这样一直循环




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1