新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機產(chǎn)生頻率和輸出電壓可調(diào)的矩形波信號發(fā)生器

        單片機產(chǎn)生頻率和輸出電壓可調(diào)的矩形波信號發(fā)生器

        作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
        #include

        typedef unsigned char uchar;
        sbit signal=P3^0;
        uchar counter;
        void main(void)
        {
        TR0=0; //禁止T0
        TMOD=0x11; //T0和T1均選擇工作方式1,16位定時器
        TH0=-1000/256; //定時時間為50ms
        TL0=-1000%256;
        signal=0; //開始時輸出為低電平
        counter=0; //初始化T1的中斷次數(shù)為0
        EA=1; //使能CPU中斷
        ET0=1; //使能T0溢出中斷
        ET1=1; //使能T1溢出中斷
        TR0=1; //T0開始運行,注意,T1不能現(xiàn)在運行
        while(1) //無限循環(huán)
        {}
        }
        void isr_t0(void) interrupt 1 //T0中斷服務(wù)函數(shù)
        {
        TH0=-50000/256; //裝定時器,定時時間為50ms
        TL0=-50000%256;
        counter++; //中斷次數(shù)
        if(counter==2) //若已中斷兩次,說明已經(jīng)過去100ms
        {
        counter=0; //中斷次數(shù)歸零
        signal=1; //產(chǎn)生矩形波中的高電平
        TR1=1; //開始計數(shù)T1
        }
        }

        本文引用地址:http://www.104case.com/article/201612/325012.htm

        //***********T1中斷函數(shù)******
        void isr_t1(void) interrupt 3

        {
        signal=0; //矩形波中的低adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=7a0d3925e7099c8b&k=%B5%E7%C6%BD&k0=%B5%E7%C6%BD&kdi0=0&luki=1&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=8b9c09e725390d7a&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2Fwww%2E51hei%2Ecom%2Fmcu%2F1968%2Ehtml&urlid=0" id="0_nwl" mpid="0" target="_blank">電平
        TR0=0; //禁止T1計數(shù),等待T0將其喚醒
        TH1=-25000/256; //25ms中斷初值
        TL1=-25000%256;
        }



        評論


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

        關(guān)閉
        主站蜘蛛池模板: 乌兰县| 卓资县| 澄江县| 鹿泉市| 闻喜县| 泾阳县| 昆山市| 株洲市| 康平县| 安岳县| 大厂| 原平市| 来安县| 临澧县| 方城县| 普格县| 腾冲县| 汉阴县| 体育| 汽车| 神木县| 大渡口区| 镇安县| 四会市| 英山县| 平潭县| 金寨县| 峨边| 叶城县| 万宁市| 新沂市| 牙克石市| 芒康县| 天等县| 临漳县| 九江县| 施甸县| 武山县| 满洲里市| 永修县| 佛山市|