PIC12F508單片機(jī)用按鍵控制LED燈C語(yǔ)言程序
#include "main.h"
__CONFIG(MCLRDIS&WDTDIS&UNPROTECT&INTRC); //設(shè)置配置位(MCLR腳復(fù)位禁止,看門狗關(guān),無(wú)代碼保護(hù),內(nèi)部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_Ms(251);
Delay_Ms(251);
Delay_Ms(251);
Delay_Ms(252);
}
}
void GPIO_Port_Init(void) /*********繼電器/傳感器端口初始化函數(shù)**********/
{
TRIS = 0x1c; //繼電器和LED_RED設(shè)為輸出 壓力流量設(shè)為輸入
OPTION = 0x00; //OPTION復(fù)位值為:0xFF
}
void Key_Scan(void) /*********按鍵掃描函數(shù)**********/
{
Key_Flag=0; //掃描鍵盤之前先將按鍵標(biāo)志清零
if(Key==0)
{
Delay_Ms(10); //延時(shí)去抖
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
關(guān)鍵詞:
PIC12F508單片機(jī)按鍵控制LED
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論