新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機程序——定時器控制蜂鳴器

        51單片機程序——定時器控制蜂鳴器

        作者: 時間:2016-11-23 來源:網絡 收藏
        #include
        #define uint unsigned int
        sbit bb=P3^5; //位定義蜂鳴器接口
        sbit led1=P0^0; //位定義LED接口
        unsigned int i=0;
        void delay(uint z); //延遲函數聲明
        void main()
        {
        TMOD=0x01; //TMOD賦值,以確定T0和T1的工作方式
        TH0=(65536-50000)/256; //計算初值,并將其寫入TH0、TL0或TH1、TL1
        TL0=(65536-50000)%6;
        EA=1; //打開總中斷
        ET0=1; //打開定時器0中斷
        TR0=1; //啟動定時器0
        while(1)
        {
        if(i==20) //定時器計數時間20*50MS=1S
        {
        i=0; //清除標志位
        led1=0;
        bb=0;
        delay(500);
        led1=1;
        bb=1;
        delay(500);
        }
        }
        }
        void exter0() interrupt 1 //定時器0中斷函數
        {
        TH0=(65536-50000)/256; //中斷函數中也需要賦定時器初值
        TL0=(65536-50000)%6;
        i++; //定時器每50MS就使i加一
        }
        void delay(uint z) //延遲函數
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=20;y>0;y--);
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 惠东县| 青铜峡市| 太原市| 奉化市| 东海县| 金坛市| 九龙坡区| 阜阳市| 资源县| 松桃| 肃宁县| 大同市| 寿宁县| 铅山县| 龙川县| 邵武市| 孝感市| 望城县| 芜湖县| 融水| 密云县| 册亨县| 金堂县| 澄江县| 东阿县| 澜沧| 什邡市| 浙江省| 洛川县| 广德县| 庄浪县| 金华市| 江华| 乡宁县| 镇平县| 和政县| 油尖旺区| 泰安市| 清丰县| 汝城县| 文登市|