• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的模擬開關(guān)時序設(shè)計(jì)與仿真

    基于單片機(jī)的模擬開關(guān)時序設(shè)計(jì)與仿真

    作者: 時間:2013-02-16 來源:網(wǎng)絡(luò) 收藏

    對開關(guān)S1與S2的電荷注入效應(yīng)。由圖3可知S2關(guān)斷時間晚于S3,S1關(guān)斷時間晚于S2。S2斷開時的電荷注入效應(yīng)引起V1點(diǎn)較小的波形失真,關(guān)閉S1,盡管有S2的電荷注入效應(yīng),但V1被置為輸入電壓Vin,因此,被測電容Cx上的電壓不受S2的電荷注入效應(yīng)影響;S1斷開時的注入電荷,會沿著已閉合的開關(guān)S2流向地,S1不會對被測電容Cx產(chǎn)生影響。所以,S1和S2對輸出基本不產(chǎn)生影響。
     對開關(guān)S4與S5的電荷注入效應(yīng)。S4與S5在斷開時,產(chǎn)生的電荷注入效應(yīng)會使A2和A3的輸出波形有微小失真,但相對于輸出值較小,可以忽略,而且A4采用差動式結(jié)構(gòu)輸入會使S4與S5的電荷注入效應(yīng)相互抵消,故S4與S5的電荷注入效應(yīng)不會對最終的輸出Vo產(chǎn)生影響。
    由以上分析可知,通過合理設(shè)計(jì)模擬開關(guān)控制時序,解決了其關(guān)斷時引入的電荷注入效應(yīng)。
    3 實(shí)現(xiàn)開關(guān)時序的相關(guān)軟件
    3.1 Keil C51簡介
     Keil是德國Keil公司開發(fā)的編譯器。Keil C51是目前最流行的51開發(fā)工具,現(xiàn)在Keil公司的編譯器有支持經(jīng)典80C51和80C51派生產(chǎn)品的版本。新版本mu;Vision2把μVision1用的模擬調(diào)試器dScope與集成開發(fā)環(huán)境無縫地結(jié)合起來,界面更友好,使用更方便,支持的品質(zhì)更多。對于使用C語言進(jìn)行單片機(jī)開發(fā)的用戶,Keil C51已成為必備的開發(fā)工具。
    Keil C51軟件是眾多單片機(jī)應(yīng)用開發(fā)的優(yōu)秀軟件之一,Keil C51提供了一個集成開發(fā)環(huán)境IDE(Intergrated Development Environment)?滋Vision,包括C51編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器,支持匯編、PLM語言和C語言的程序設(shè)計(jì),界面友好,易學(xué)易用。在開發(fā)應(yīng)用軟件的過程中,編輯、編譯、匯編、連接、調(diào)試等各階段都集成在一個環(huán)境中,先用編輯器編寫程序,再調(diào)用編譯器進(jìn)行編譯,連接后即可直接運(yùn)行[5,6]。
    本軟件采用Keil C51進(jìn)行開發(fā),程序可讀性強(qiáng)。
    3.2 Proteus簡介
    Proteus嵌入式系統(tǒng)仿真與開發(fā)平臺是由英國Labcenter Electronics公司開發(fā)的,是目前世界上最先進(jìn)、最完整的嵌入式系統(tǒng)設(shè)計(jì)與仿真平臺,是目前唯一能夠?qū)Ω鞣N微處理器進(jìn)行實(shí)時仿真、調(diào)試與測試的EDA工具。Proteus除了具有和其他EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,最大的特點(diǎn)在于其電路仿真是互動的,針對微處理器的應(yīng)用還可以直接在基于原理圖的虛擬原型上編程,真正實(shí)現(xiàn)了沒有硬件目標(biāo)原形的情況下對系統(tǒng)的調(diào)試、測試、驗(yàn)證,并實(shí)現(xiàn)軟件源碼級的實(shí)時調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,建立了一個完備的電子設(shè)計(jì)開發(fā)環(huán)境。Proteus產(chǎn)品系列可以對基于微控制器的設(shè)計(jì)連同所有的外圍電子器件儀器仿真,用戶甚至可以實(shí)時采用諸如LED/LCD、鍵盤、RS232終端等動態(tài)外設(shè)模型來對設(shè)計(jì)進(jìn)行交互仿真。
    Proteus是一款電路分析與實(shí)物仿真軟件,運(yùn)行于Windows操作系統(tǒng)上,具有實(shí)驗(yàn)資源豐富、實(shí)驗(yàn)周期短、硬件投入少、實(shí)驗(yàn)過程損耗小、與實(shí)際設(shè)計(jì)接近程度大等特點(diǎn)[7-9]。
    4 開關(guān)時序的設(shè)計(jì)與仿真
    開關(guān)時序設(shè)計(jì)原理圖如圖4所示,圖中采用80C51芯片,其中管腳XTAL1、XTAL2接時鐘控制器,RST端上電,5個輸出管腳P1.0~P1.4分別控制開關(guān)S1、S2、S3、S4和S5,電源VCC為+5 V的直流電源。

    4.1 程序設(shè)計(jì)
    在Keil平臺進(jìn)行如圖5所示的程序編譯。
    程序代碼如下:
    #includelt;reg51.h>
    #define uchar unsigned char
    #define uint unsigned int
    sbit s1=P1^0; //控制開關(guān)1
    sbit s2=P1^1; //控制開關(guān)2
    sbit s3=P1^2; //控制開關(guān)3
    sbit s4=P1^3; //控制開關(guān)4
    sbit s5=P1^4; //控制開關(guān)5
    bit flag,flag1,flag2,flag3;
    uchar ds,ds1,ds2,ds3;
    uint jishi;
    void Initialization() //初始化函數(shù)
    {
    EA=1;
    ET0=1;
    TMOD=0X02; //定時器工作方式為2
    TH0=0x06; //定時250 ?滋s
    TL0=0x06;
    TR0=1;
    s1=0;
    s2=1;
    s3=1;
    s4=1;
    s5=1;
    flag1=1;flag2=0;flag3=0;
    }
    void inte() interrupt 1 using 3 //1s中斷處理函數(shù)
    {
      if(++jishi==40) //時間間隔4000×250 ?滋s=1 s
    {
    jishi=0;
    if(flag1){ds1++;}
    if(flag2){ds2++;}
    if(flag3){ds3++;}
    }
    }
    void main ()
    {
    Initialization();
    while(1)
    {
       if(flag1)
    {
    if(ds1==4){s3=0;}
    if(ds1==11){s5=0;}
    if(ds1==12){s2=0;}
    if(ds1==13){s1=1;}
    if(ds1==20){s4=0;flag1=0;flag2=1;}
    }
      if(flag2)
    {
    if(ds2==1){s3=1;}
    if(ds2==2){s5=1;}
    if(ds2==9){s2=1;}
    if(ds2==10){s1=0;}
    if(ds2==17){s4=1;flag2=0;flag3=1;ds2=0;}
    }
       if(flag3)
    {
    if(ds3==7){s3=0;}
    if(ds3==14){s5=0;}
    if(ds3==15){s2=0;}
    if(ds3==16){s1=1;}
    if(ds3==23){s4=0;flag2=1;flag3=0;ds3=0;}
    }
    }
      }



    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 长武县| 建瓯市| 泰安市| 西昌市| 宜阳县| 赣榆县| 安顺市| 正镶白旗| 托里县| 宾川县| 格尔木市| 建宁县| 荆门市| 高陵县| 齐齐哈尔市| 绵阳市| 安庆市| 环江| 五常市| 那坡县| 莲花县| 九龙坡区| 遂宁市| 广元市| 皮山县| 泾阳县| 邵阳市| 泾源县| 盘山县| 新巴尔虎左旗| 大冶市| 潍坊市| 雅安市| 卢湾区| 于都县| 涿州市| 肥城市| 安阳县| 东乡县| 普兰店市| 娱乐|