色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用PROTEUS對(duì)單片機(jī)進(jìn)行仿真的方法與實(shí)例

          用PROTEUS對(duì)單片機(jī)進(jìn)行仿真的方法與實(shí)例

          作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏

          5.編輯元件的屬性
          右擊選元件后再左擊即可編輯元件的屬性,也可以右擊后在快捷菜單中選擇命令Edit Prorerties。如R1的屬性窗口如圖6。



          在對(duì)AT89C51的屬性進(jìn)行編輯時(shí)要加入仿真文件,在Program File中單擊出現(xiàn)文件瀏覽對(duì)話框,找出LED.hex文件,單擊確定完成添加文件,單擊OK退出。
          6.連線
          在要連線的一個(gè)點(diǎn)左擊,移動(dòng)鼠標(biāo)到到另一個(gè)點(diǎn)再左擊即可畫好一條連線,按 放置導(dǎo)線連接結(jié)點(diǎn),畫好連線的仿真電路圖見圖7。



          AT89C51的VSS、VDD不需要連線,默認(rèn)VSS=0V、VDD=+5V、GND=0V。
          7.仿真
          單擊仿真進(jìn)程控制按鈕中的開始仿真,我們可看到發(fā)光二極管分別按兩個(gè)方向依次點(diǎn)亮。輸出端的小方點(diǎn)紅色代表高點(diǎn)平,藍(lán)色代表低電平,灰色代表不確定電平。
          在仿真時(shí)單片機(jī)的晶振電路和復(fù)位電路可以省略不畫,時(shí)鐘頻率可以在AT89C51的屬性中設(shè)置,默認(rèn)值為12MHz。
          對(duì)于設(shè)計(jì)好的文件可以保存以便下次調(diào)用。
          二、單片機(jī)仿真實(shí)例
          上面通過一個(gè)簡(jiǎn)單的例子介紹了Proteus ISIS的基本使用方法,下面再通過筆者設(shè)計(jì)的幾個(gè)實(shí)例進(jìn)一步介紹Proteus ISIS的使用方法和技巧,同時(shí)也能夠使大家看到幾個(gè)單片機(jī)應(yīng)用的實(shí)例。
          1.電感測(cè)試儀
          電感測(cè)試儀以電感加上電壓后電流增加的規(guī)律作為測(cè)量依據(jù),因?yàn)殡姼屑由想妷汉箅娏髟黾拥乃俣扰c電感量相關(guān),通過測(cè)量電流達(dá)到某一預(yù)定值所花的時(shí)間就能測(cè)量出電感的電感量。單片機(jī)使用AT89C2051,測(cè)量電路如圖8所示,A為



          AT89C2051內(nèi)部構(gòu)造的電壓比較器,利用電壓比較器測(cè)量電感中電流的變化,合上開關(guān)后電源電壓E+ 加在電感LX和電阻R的串聯(lián)回路上,這時(shí)回路中電流IL由零開始逐漸增加,在電阻R兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當(dāng)電阻R兩端電壓一旦超過0.632E+后,P3.6口輸出電平即變?yōu)?。以P3.6口的輸出狀態(tài)為依據(jù),用AT89C2051內(nèi)部的定時(shí)器T0對(duì)時(shí)間進(jìn)行計(jì)數(shù),再將計(jì)數(shù)結(jié)果顯示出來即得出測(cè)量結(jié)果。量程可分為多檔,采用兩位半數(shù)碼管顯示,單位為mH。我們只要仿真其中的一檔即可,這里取×10檔進(jìn)行仿真,即讀數(shù)乘以10為實(shí)際電感量。
          電感測(cè)試儀的源程序如下:
          #include
          unsigned char j,m,n,t,DispBuf[3];
          unsigned int L;
          unsigned char code
          BitTab[3]={0xdf,0xef,0xf7};//位驅(qū)動(dòng)碼
          unsigned char code
          DispTab[11]={0x41,0xcf,0x52,0x46,0xcc,0x64,0x60,0x4f,0x40,0x44,0xff};//字形碼
          sbit P1_2=P1^2;
          sbit P3_6=P3^6;
          void Delay1ms(unsigned int count) //延時(shí)程序
          {
          for(n=0;n for(m=0;m<250;m++);
          }
          void main() //主程序
          { TMOD=0x01;//定時(shí)器T0方式1
          while(1) //無限循環(huán)
          {
          t=BitTab[j];//取位值
          P1=P1|0x38;//P1.3-P1.5送1
          P1=P1&t; //P1.3-P1.5輸出取出的位值
          t=DispBuf[j];//取出待顯示的數(shù)
          t=DispTab[t];//取字形碼
          P3=t; //字型碼由P3輸出顯示
          Delay1ms(5);
          j++; //j作為數(shù)碼管的計(jì)數(shù)器,取值0-2,顯示程序通過它確認(rèn)顯示哪個(gè)數(shù)碼管
          if(j==3)
          j=0;
          TH0=0;
          TL0=0;
          P1_2=0;//測(cè)試開始
          TR0=1; //開定時(shí)器T0
          for(;P3_6==0;);//判斷電阻上的電壓上升到參考電壓否
          TR0=0;//電壓達(dá)到參考電壓,關(guān)定時(shí)器T0
          P1_2=1;
          L=TL0|(TH0<<8);//取定時(shí)器T0中的數(shù)值
          L=L-3;
          if(L>=200)
          {
          DispBuf[2]=10;
          DispBuf[1]=10;
          DispBuf[0]=1; //超量程,百位數(shù)顯示1,個(gè)位、十位不顯示(滅)
          }
          else //不超量程,取各位數(shù)值
          {
          DispBuf[2]=L;//取個(gè)位數(shù)
          L=L/10;
          DispBuf[1]=L;//取十位數(shù)
          DispBuf[0]=L/10;//取百位數(shù)
          }
          }
          }
          用Keil uVision將上述程序編譯生成目標(biāo)文件DGZS.hex。
          電路中所使用的元件見表2。
          表2

          名稱元件種類(Category)子種類(Sub-category)
          單片機(jī)AT89C2051Microprocessor ICs8051 Family
          電阻器RESResistorsGeneric
          可變電阻器POT-LINResistorsVariable
          三極管2N2905TransistorsBipolar
          電感器IND-AIRInductorsGeneric
          4位共陰數(shù)碼管7SEG-MPX4-CAOptoelectronics7-Segment Displays

          繪制好的仿真電路圖如圖9。圖中添加示波器時(shí),先左鍵選擇模型選擇工具



          欄中的 圖標(biāo),再選擇OSCILLOSCOPE,并在原理圖編輯窗口中左擊,這樣示波器就被放置到原理圖中了。
          由于AT89C2051的P1.0和P1.1是復(fù)用端口,除了作I/O口外,還有一個(gè)功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,這里作電壓比較器的輸入端使用,因此在設(shè)置AT89C2051的屬性時(shí)要將其設(shè)置電壓比較器的輸入端,即Ehable Comparator選擇Yes,如圖10。



          被測(cè)電感器的電感量定為1H。單擊開始仿真,可變電阻RP1是用來校準(zhǔn)測(cè)量值的,按動(dòng)RP1的+或-按鈕,調(diào)節(jié)RP1使數(shù)碼管顯示100。仿真結(jié)果見圖10。電阻R2為換擋電阻,改變它的值即可改變擋位。
          2. 充電器
          這是用PIC12F675單片機(jī)做的充電器,能對(duì)兩節(jié)鎳鎘或鎳氫電池充電,充電器采用電壓監(jiān)測(cè)的方法判斷充電是否結(jié)束,充電結(jié)束后能自動(dòng)停止充電。
          圖11是電路圖,圖中PIC12F675的7腳作模擬信號(hào)輸入端AN0使用。單片



          機(jī)使用內(nèi)部時(shí)鐘振蕩器,引腳3作充電控制電壓輸出端GP4使用。S為復(fù)位開關(guān),復(fù)位開關(guān)主要在重新放上電池后使用。


          關(guān)鍵詞: PROTEUS單片機(jī)仿

          評(píng)論


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

          關(guān)閉