新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC12F508單片機用按鍵控制LED燈C語言程序

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

        作者: 時間:2016-11-29 來源:網絡 收藏
        #include
        #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_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


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 广汉市| 胶南市| 青阳县| 延津县| 花莲市| 台湾省| 德化县| 龙岩市| 丽江市| 万宁市| 太康县| 讷河市| 西乌| 开封市| 顺平县| 榆中县| 莱阳市| 和顺县| 伊通| 沂南县| 台南市| 兰西县| 甘谷县| 平原县| 读书| 朝阳市| 赤壁市| 日照市| 英山县| 通许县| 兴山县| 彭泽县| 卢氏县| 福州市| 衡山县| 玉环县| 邯郸县| 大荔县| 余江县| 武乡县| 长宁县|