欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

PIC12F508單片機用按鍵控制LED燈C語言程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年11月15日   【字體:
#include<htc.h>
#include "main.h"
__CONFIG(MCLRDIS&WDTDIS&UNPROTECT&INTRC);    //設置配置位(MCLR腳復位禁止,看門狗關,無代碼保護,內部RC振蕩)
uint count=0;
uchar Key_Flag=0;
void Delay_US(uchar delay)
{
   while(delay--);
}
void Delay_Ms(uchar delay)
{
   uchar i;
   while(delay--)
   {
    for(i=0;i<165;i++);
   }
}
void Delay_Sec(uchar delay)
{
 uchar i;
 for(i=0;i<delay;i++)
 {
  Delay_Ms(251);
  Delay_Ms(251);
  Delay_Ms(251);
  Delay_Ms(252);
 }
}

void GPIO_Port_Init(void)     /*********繼電器/傳感器端口初始化函數**********/
{
 TRIS = 0x1c;              //繼電器和LED_RED設為輸出 壓力流量設為輸入
 OPTION = 0x00;            //OPTION復位值為:0xFF                          
}
void Key_Scan(void)           /*********按鍵掃描函數**********/
{
 Key_Flag=0;               //掃描鍵盤之前先將按鍵標志清零
    if(Key==0)
 {
  Delay_Ms(10);         //延時去抖
  if(Key==0)
  {
   while(!Key);      //等待K1鍵釋放
   Key_Flag=1;
  }
 }
}
void main()
{
 Delay_Ms(200);
 GPIO_Port_Init();
 Delay_Sec(2);
 Relay_Out=1;
 
 while(1)
 {
  Key_Scan();
  Red_Led=1;
  
  if(Key_Flag==1)
  {
   while(1)
   {
    Red_Led=0;
       Delay_Ms(200);
       Red_Led=1;
       Delay_Ms(200);
   } 
  }
  
 }
}
 
#ifndef     __MAIN_H__
#define     __MAIN_H__
#define uchar unsigned char
#define uint unsigned int
#define Relay_Out  GP0
#define Red_Led    GP1
#define Fluid_In   GP2
#define Press_In   GP3
#define Key        GP4
void Delay_US(uchar delay);
void Delay_Ms(uchar delay);
void Delay_Sec(uint delay);
void GPIO_Port_Init(void);
void Key_Scan(void);

#endif
關閉窗口

相關文章