電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> EDA開(kāi)發(fā)應(yīng)用 >> Proteus >> 正文

PLD的PROTEUS電路仿真

作者:佚名    文章來(lái)源:網(wǎng)絡(luò)    點(diǎn)擊數(shù):    更新時(shí)間:2008/11/3

1  PROTEUS軟件簡(jiǎn)介
     PROTEUS 是來(lái)自英國(guó)公司的工具軟件,在全球廣泛使用。和其它工具相比,這款軟件的最大特點(diǎn)就在于它能夠模擬單片機(jī)?梢灾苯釉诨谠韴D的虛擬原型EDA上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試。還能看到運(yùn)行后輸入輸出的效果。但是現(xiàn)在大家都只注意到PROTEUS對(duì)單片機(jī)的仿真和如何與Keil進(jìn)行關(guān)聯(lián)調(diào)試,其實(shí) PROTEUS還能夠進(jìn)行PLD的電路仿真。
     PLD(可編程邏輯器件)是一種數(shù)字集成電路的半成品,在其芯片上按一定排列方式集成了大量的門和觸發(fā)器等基本邏輯元件,使用者可利用某種開(kāi)發(fā)工具對(duì)其進(jìn)行加工,即按設(shè)計(jì)要求將這些片內(nèi)的元件連接起來(lái),使之完成某個(gè)邏輯電路或系統(tǒng)的功能,成為一個(gè)可在實(shí)際電子系統(tǒng)中使用的專用集成電路。
     一般的PLD設(shè)計(jì)軟件只能進(jìn)行PLD芯片的時(shí)序邏輯仿真,而PROTEUS能進(jìn)行PLD的電路仿真,可以模擬設(shè)計(jì)的PLD芯片在電路中實(shí)際運(yùn)行的情況。
    我們通過(guò)使用GAL16V8設(shè)計(jì)一個(gè)在單片機(jī)系統(tǒng)里常用的三八譯器,然后在PROTEUS中通過(guò)觀察GAL16V8中三八譯碼器的輸入與輸出的對(duì)應(yīng)關(guān)系來(lái)完成PLD的電路仿真。

2. PLD的設(shè)計(jì)
    首先用Protel 99SE完成PLD的設(shè)計(jì)。
    完成后的PLD原理圖如下所示:
 
圖1   畫好的PLD原理圖
      這是一個(gè)3-8譯碼器的PLD文件。輸入信號(hào)為目標(biāo)元件的2、3、4三個(gè)腳,輸出信號(hào)為目標(biāo)元件的12-19腳,6-8腳為使能控制端。
     Protel 99SE的PLD原理圖的設(shè)計(jì)與普通原理圖相同,但有幾點(diǎn)是需要注意:

  • 生成PLD元理圖后,在原理圖中自動(dòng)加入了兩個(gè)PLD的元件庫(kù)(PLD_Devices.lib、PLD_Symbols.lib),PLD的電路圖繪制必需使用這兩個(gè)庫(kù)中的元件。
  • 繪制PLD原理圖時(shí),必須放置輸入/輸出端口(輸入:IPAD、輸出:OPAD、輸入/輸出:IOPAD)元件,這些元件所指定的引腳代表著目標(biāo)器件的引腳。
  • 在輸入/輸出端口元件放置好后,必須對(duì)其進(jìn)行編號(hào),還要指定該端口元件所對(duì)應(yīng)連接的目標(biāo)器件的引腳號(hào)。

     完成PLD原理圖后,選擇[PLD]/[Compile]進(jìn)行編譯,生成各種格式的文件:
 
圖2  編譯生成的各種文件
     打開(kāi)生成的.jed文件,點(diǎn)擊右鍵,在彈出的窗口中選擇[Export…]項(xiàng),選擇.jed文件的輸出目標(biāo)地址。
     至此就完成了PLD文件的設(shè)計(jì)。

3 Proteus對(duì)PLD的仿真
     啟動(dòng)Proteus,繪制好電路圖。
 
圖3   Proteus仿真電路圖
       電路中LED顯示采用低電平時(shí)LED點(diǎn)亮的顯示方式。電路中I1-I3為GAL16V8輸入端口,端口為高電平時(shí)為1,低電平時(shí)為0, IO0-IO7為輸出端口,輸出端口為:LED燈亮?xí)r端口輸出低電平0,熄滅時(shí)為高電平1。
      為了使PLD元件能仿真,還必須在電路中將編譯的.jed文件加入PLD元件中:將鼠標(biāo)移到U1(16V8)中,右擊,選擇元件,然后左擊,調(diào)出“元件的屬性”對(duì)話框,在屬性對(duì)話框中,在窗口中的“JEDEC Fuse Map File:”中加入.jed文件:
 
圖4  16V8元件屬性
     由前面PLD的設(shè)計(jì)可得3-8譯碼器的真值表:
 輸入信號(hào)  輸出信號(hào)                 
I3 I2 I1 IO7 IO6 IO5 IO4 IO3 IO2 IO1 IO0
0 0 0 1 1 1 1 1 1 1 0
0 0 1 1 1 1 1 1 1 0 1
0 1 0 1 1 1 1 1 0 1 1
0 1 1 1 1 1 1 0 1 1 1
1 0 0 1 1 1 0 1 1  1
1 0 1 1 1 0 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1

 表1   3-8譯碼器真值表
    為了觀察16V8的輸入與輸出的對(duì)應(yīng)關(guān)系,我們?cè)贏T89C52的程序(程序見(jiàn)附錄)中將與I3、I2、I1相連的P2_2、P2_1、P2_0三個(gè)端口按真值表中的順序依次改變,觀察LED燈是否由IO0至IO7依附點(diǎn)亮。
    將單片機(jī)的程序加入AT89C52后,在Proteus中點(diǎn)擊Play鍵觀看電路仿真結(jié)果:當(dāng)輸入端的I1、I2、I3值按程序設(shè)定按真值表中的000— 111依附改變時(shí),輸出端對(duì)應(yīng)LED燈按真值表中的對(duì)應(yīng)關(guān)系由IO0至IO7依次點(diǎn)亮,如下圖。說(shuō)明PLD器件16V8設(shè)計(jì)的三八譯碼器譯碼正確。
 
圖5  譯碼電路對(duì)應(yīng)輸入/輸出截圖

4.  結(jié)語(yǔ)
     單片機(jī)與PLD的結(jié)合是當(dāng)前嵌入式設(shè)計(jì)經(jīng)常采用一的種方式。 但如果要進(jìn)行硬件電路測(cè)試和系統(tǒng)調(diào)試則比較麻煩, 因?yàn)橐M(jìn)行這兩個(gè)過(guò)程必須在電路板制作完成、元器件焊接完畢之后進(jìn)行。而電路板的制作、元器件的安裝、焊接是費(fèi)時(shí)費(fèi)力的, 如果采用作為單片機(jī)系統(tǒng)的仿真工具PROTEUS 進(jìn)行單片機(jī)和PLD的仿真, 則不用制作具體的電路板也能夠完成以上工作。在使用PROTEUS 運(yùn)行系統(tǒng)虛擬開(kāi)發(fā)成功之后再進(jìn)行實(shí)際制作, 可以直觀得觀察電路的運(yùn)行情況,提前發(fā)現(xiàn)設(shè)計(jì)的錯(cuò)誤,可以極大的提高開(kāi)發(fā)效率、降低開(kāi)發(fā)成本、提高開(kāi)發(fā)速度。
 
 程序附錄:
 
 #include<reg51.h>
 #include<stdio.h>
 sbit P2_0=P2^0;
 sbit P2_1=P2^1;
 sbit P2_2=P2^2;
 
 void delaytime(int count);
 void main(void)
 {
 while(1)
  {
 P2_2=0;
 P2_1=0;
 P2_0=0;
 delaytime(500);
 P2_2=0;
 P2_1=0;
 P2_0=1;
 delaytime(500);
 P2_2=0;
 P2_1=1;
 P2_0=0;
 delaytime(500);
 P2_2=0;
 P2_1=1;
 P2_0=1;
 delaytime(500);
 P2_2=1;
 P2_1=0;
 P2_0=0;
 delaytime(500);
 P2_2=1;
 P2_1=0;
 P2_0=1;
 delaytime(500);
 P2_2=1;
 P2_1=1;
 P2_0=0;
 delaytime(500);
 P2_2=1;
 P2_1=1;
 P2_0=1;
 delaytime(500);
 
 }
  }
 
 void delaytime(int count)
 {
   int j,k;
   while(count-- !=0)
   {
     for(j=0;j<10;j++)
        for(k=0;k<72;k++)
        ;
       }
 }

Tags:PROTEUS,電路仿真,教程  
責(zé)任編輯:admin
相關(guān)文章列表
沒(méi)有相關(guān)文章
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
黄色免费短视频| 56prom在线精品国产| 天堂资源bt在线官网| 中文字幕一区二区三区视频在线| 日韩精品在线观看视频| 亚洲中文字幕av在天堂| 日韩精品无码一本二本三本| 亚洲AV无码一区东京热| 欧美一级免费看| 亚洲综合精品伊人久久| 欧美熟妇VDEOSLISA18| 免费观看午夜在线欧差毛片| 狠狠躁天天躁中文字幕| 国产亚洲精品aa片在线观看网站| 色欲AV无码一区二区三区| 国产亚洲美女精品久久久久| 美女扒开尿口给男人看的让| 国产在线观a免费观看| 18videosex日本vesvvnn| 国产韩国精品一区二区三区久久| 一级做a爰片久久免费| 天天做天天爱天天爽综合网| aaa毛片免费观看| 大战孕妇12p| 99久久精品免费观看国产| 国产精品乱子乱xxxx| 韩国xxxx69| 国产午夜无码片在线观看影院| 美女免费精品高清毛片在线视 | 正在播放国产美人| 免费a级毛片在线播放| 真正全免费视频a毛片| 佐藤遥希在线播放一二区| 欧美成人乱妇在线播放| 亚洲另类春色国产精品| 日本阿v视频在线观看| 久久99精品福利久久久| 天天操天天干天天干| 97精品伊人久久大香线蕉| 国产欧美日韩专区| 股间白浊失禁跪趴老师|