找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2084|回复: 2
打印 上一主题 下一主题
收起左侧

单片机流水灯计时器

[复制链接]
跳转到指定楼层
楼主
基于单片机的流水灯计时器,程序附件里。


单片机源程序如下:
  1. #include<reg52.h>
  2. #include"delay.h"
  3. //**************数组定义*******************
  4. /************************端口定义**************************/
  5. sbit k1=P2^5;         //       
  6. sbit k2=P2^6;         //       
  7. sbit k3=P2^7;         //       

  8. //**************变量定义*******************
  9. uchar temp,miao;
  10. uchar flag;
  11. uchar flag1;
  12. uchar flag2;

  13. /*******************定时器T0初始化********************/
  14. void T0_init()
  15. {
  16.           TMOD=0x01;                   //设T0为方式1
  17.           TH0=(65535-50000)/256;       //计数50000个
  18.           TL0=(65535-50000)%256;
  19.           EA=1;                        //开启总中断         
  20.           ET0=1;                       //允许T0中断
  21.           TR0=1;                       //启动
  22. }

  23. /************************按键*************************/
  24. void key()
  25. {       
  26.               if(k1==0)
  27.                    {
  28.                      delayxms(5);
  29.                      while(k1==0);
  30.                      delayxms(5);

  31.                      flag=!flag;


  32.                    }

  33.                    if(k2==0)
  34.                    {
  35.                      delayxms(5);
  36.                      while(k2==0);
  37.                      delayxms(5);

  38.                          flag1=1;
  39.                    }

  40.                    if(k3==0)
  41.                    {
  42.                      delayxms(5);
  43.                      while(k3==0);
  44.                      delayxms(5);

  45.                          flag2=!flag2;
  46.                    }
  47. }
  48.                                   


  49. /**************************主函数*************************************/
  50. void main()
  51. {
  52.          T0_init();
  53.          
  54.          while(1)
  55.          {       
  56.             key();

  57.                 P1=miao;

  58.                  if(flag1==1)
  59.                 {
  60.                    miao=0;
  61.                    flag1=0;
  62.                 }

  63.                 if(flag==0)
  64.                 {
  65.                          TR0=1;
  66.                 }

  67.                 if(flag==1)
  68.                 {
  69.                          TR0=0;
  70.                 }
  71.          }
  72. }
  73. /***************************************************
  74.         函数功能:T0
  75. ***************************************************/
  76. void T0_time() interrupt 1   
  77. {

  78.       TH0=(65535-50000)/256;       //计数50000个
  79.           TL0=(65535-50000)%256;

  80.           temp++;
  81.           
  82.                   if(temp==20)
  83.                    {
  84.                       temp=0;

  85.                           if(flag2==0)
  86.                           {
  87.                                   miao++;
  88.        
  89.                                   if(miao==64)
  90.                                    {
  91.                                               miao=0;
  92.                                    }
  93.                           }

  94.                           if(flag2==1)
  95.                           {
  96.                                   miao--;
  97.        
  98.                                   if(miao==0)
  99.                                    {
  100.                                               miao=63;
  101.                                    }
  102.                           }

  103.                    }

  104.                   
  105. }
复制代码

所有资料51hei提供下载:
10-流水灯.rar (114.52 KB, 下载次数: 12)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:333090 发表于 2018-5-18 17:39 | 只看该作者
请问需要哪些元器件
回复

使用道具 举报

板凳
ID:333090 发表于 2018-5-18 18:08 | 只看该作者
请问需要哪些元器件
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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