新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC12F508單片機用按鍵控制LED燈C語言程序

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

        作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
        #include
        #include "main.h"
        __CONFIG(MCLRDIS&WDTDIS&UNPROTECT&INTRC); //設(shè)置配置位(MCLR腳復(fù)位禁止,看門狗關(guān),無代碼保護,內(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; //掃描鍵盤之前先將按鍵標志清零
        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


        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 两当县| 宁化县| 青铜峡市| 阳泉市| 绥棱县| 棋牌| 噶尔县| 房山区| 渝中区| 分宜县| 儋州市| 南皮县| 太和县| 盐边县| 东丽区| 安国市| 东乌珠穆沁旗| 海南省| 珠海市| 桐庐县| 许昌市| 昌邑市| 定襄县| 和顺县| 黔南| 孟州市| 华亭县| 清原| 廊坊市| 南澳县| 蒙自县| 南充市| 荆门市| 图木舒克市| 伊宁市| 城固县| 攀枝花市| 兖州市| 昭通市| 紫云| 静宁县|