欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機產生頻率和輸出電壓可調的矩形波信號發生器

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年06月15日   【字體:

#include <reg51.h>
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的中斷次數為0
    EA=1;                    //使能CPU中斷
    ET0=1;                   //使能T0溢出中斷
    ET1=1;                   //使能T1溢出中斷
    TR0=1;                   //T0開始運行,注意,T1不能現在運行
    while(1)                 //無限循環
    {}
}
void isr_t0(void) interrupt 1   //T0中斷服務函數
{   
    TH0=-50000/256;          //裝定時器,定時時間為50ms
    TL0=-50000%256;
    counter++;               //中斷次數
    if(counter==2)           //若已中斷兩次,說明已經過去100ms
    {
        counter=0;           //中斷次數歸零
        signal=1;            //產生矩形波中的高電平
        TR1=1;               //開始計數T1
    }
}

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

{   
    signal=0;                //矩形波中的低電平
    TR0=0;                   //禁止T1計數,等待T0將其喚醒
    TH1=-25000/256;          //25ms中斷初值
    TL1=-25000%256;

 

關閉窗口

相關文章