新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 鍵控可調的PWM輸出

        鍵控可調的PWM輸出

        作者: 時間:2016-11-18 來源:網絡 收藏
        #include
        #define uint unsigned int
        #define uchar unsigned char
        sbit k1=P3^2;
        sbit k2=P3^3;
        sbit bee=P1^2;
        uchar PWM,num;
        void delay(uchar z)
        {
        uchar i;
        while(z--)
        {
        for(i=120;i>0;i--);
        }
        }
        void spk()
        {
        bee=0;
        delay(100);
        bee=1;
        delay(100);
        }
        void init_t0()
        {
        TMOD=0X01;
        TH0=255;
        TL0=256-PWM;
        EA=1;
        ET0=1;
        TR0=1;
        }
        void key_scan()
        {
        while(k1==0)
        {
        if(PWM!=0XFF)
        {
        PWM++;
        delay(10);
        }
        else
        spk();
        }
        while(k2==0)
        {
        if(PWM!=0X01)
        {
        PWM--;
        delay(10);
        }
        else
        spk();
        }
        }
        void main()
        {
        PWM=0X7f;
        P2=0XFF;
        init_t0();
        while(1)
        key_scan();
        }
        void t0() interrupt 1
        {
        num++;
        TR0=0;
        if(num%2==1)
        {
        P2=0;
        TH0=0XFF;
        TL0=256-PWM;
        TR0=1;
        }
        if(num%2==0)
        {
        P2=0XFF;
        TH0=0XFF;
        TL0=PWM;
        TR0=1;
        }
        }


        關鍵詞: 鍵控可調PWM輸

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 赞皇县| 南和县| 黄浦区| 西青区| 马尔康县| 新密市| 灵武市| 东海县| 潮安县| 镶黄旗| 社旗县| 威信县| 新竹县| 乌恰县| 津南区| 木里| 商洛市| 谢通门县| 卓尼县| 通海县| 巴塘县| 孟州市| 社旗县| 金秀| 梅州市| 喀喇沁旗| 武胜县| 嫩江县| 雷波县| 盖州市| 涟源市| 阿拉善盟| 浠水县| 巴塘县| 朝阳市| 常山县| 柳州市| 宜章县| 盐津县| 六盘水市| 墨竹工卡县|