標(biāo)題: 單片機(jī)流水燈計(jì)時(shí)器 [打印本頁(yè)]

作者: 塔索爽    時(shí)間: 2018-5-11 21:15
標(biāo)題: 單片機(jī)流水燈計(jì)時(shí)器
基于單片機(jī)的流水燈計(jì)時(shí)器,程序附件里。


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include"delay.h"
  3. //**************數(shù)組定義*******************
  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. /*******************定時(shí)器T0初始化********************/
  14. void T0_init()
  15. {
  16.           TMOD=0x01;                   //設(shè)T0為方式1
  17.           TH0=(65535-50000)/256;       //計(jì)數(shù)50000個(gè)
  18.           TL0=(65535-50000)%256;
  19.           EA=1;                        //開(kāi)啟總中斷         
  20.           ET0=1;                       //允許T0中斷
  21.           TR0=1;                       //啟動(dòng)
  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. /**************************主函數(shù)*************************************/
  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.         函數(shù)功能:T0
  75. ***************************************************/
  76. void T0_time() interrupt 1   
  77. {

  78.       TH0=(65535-50000)/256;       //計(jì)數(shù)50000個(gè)
  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. }
復(fù)制代碼

所有資料51hei提供下載:
10-流水燈.rar (114.52 KB, 下載次數(shù): 12)



作者: 520hhh    時(shí)間: 2018-5-18 17:39
請(qǐng)問(wèn)需要哪些元器件
作者: 520hhh    時(shí)間: 2018-5-18 18:08
請(qǐng)問(wèn)需要哪些元器件




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1