标题: PIC10F202单片机制作的双色车灯控制源程序 [打印本页]

作者: 1877363523    时间: 2018-5-3 20:14
标题: PIC10F202单片机制作的双色车灯控制源程序
PIC10F202 制作的双色车灯 GP2用作开关检测,GP0,GP1分别控制二路LED,上电亮GP0正白灯珠,开关掉电一次,切换为GP1暖白灯珠,开关再掉电一次为交替闪烁。

单片机源程序如下:
  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;//按键去抖计数器
  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. }
复制代码

所有资料51hei提供下载:
PIC10F202.rar (47.54 KB, 下载次数: 55)



作者: xianrui1989    时间: 2018-9-18 17:19
谢谢分享,正好需要这个东西




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