標(biāo)題: PIC10F202單片機(jī)制作的雙色車燈控制源程序 [打印本頁]

作者: 1877363523    時(shí)間: 2018-5-3 20:14
標(biāo)題: PIC10F202單片機(jī)制作的雙色車燈控制源程序
PIC10F202 制作的雙色車燈 GP2用作開關(guān)檢測,GP0,GP1分別控制二路LED,上電亮GP0正白燈珠,開關(guān)掉電一次,切換為GP1暖白燈珠,開關(guān)再掉電一次為交替閃爍。

單片機(jī)源程序如下:
  1. #include<pic.h>
  2. __CONFIG(0X010);
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define TIME_MAX 1000
  6. uint key2_time_cnt;//按鍵去抖計(jì)數(shù)器
  7. uchar num;
  8. uchar key_flag;

  9. void Delay_mS(uint n)
  10. {
  11.   uint j;
  12.   uchar k;
  13.     for(j=0;j<n;j++)
  14.       for(k=246;k>0;k--)
  15.        NOP();
  16. }
  17. void key_scan()
  18. {
  19.    if(GP2==0)//按鍵按下
  20.     {
  21.       
  22.        while(key2_time_cnt!=TIME_MAX)
  23.         {      
  24.           key2_time_cnt++;
  25.         }
  26.        key_flag=1;
  27.      }
  28.     else
  29.      {
  30.         key2_time_cnt=0;
  31.         if(key_flag==1)
  32.           {
  33.             key_flag=0;
  34.             num++;
  35.             if(num>2)
  36.              num=0;
  37.           }
  38.      }  
  39. }
  40. void main()
  41. {
  42.    TRISGPIO=0b00000100;
  43.    GP0=1;
  44.    GP1=0;

  45.    while(1)
  46.     {
  47.       key_scan();     
  48.       switch(num)
  49.        {
  50.         case 0:  GP0=1;//白光色亮
  51.                  GP1=0; break;
  52.         case 1:  GP0=0;
  53.                  GP1=1;break;//黃光亮
  54.         case 2:  GP0=0;
  55.                  GP1=1;
  56.                  Delay_mS(5);
  57.                  GP0=1;
  58.                  GP1=0;
  59.                  Delay_mS(5);break; //交替閃爍              
  60.        }
  61.     }
  62. }
復(fù)制代碼

所有資料51hei提供下載:
PIC10F202.rar (47.54 KB, 下載次數(shù): 55)



作者: xianrui1989    時(shí)間: 2018-9-18 17:19
謝謝分享,正好需要這個(gè)東西




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