基于Proteus軟件的單片機仿真與PCB設(shè)計
1.引言
單片機是將CPU芯片,存儲器芯片,I/O接口芯片和簡單的I/O設(shè)備裝配在一塊印刷電路板上,再配上存儲在ROM中的監(jiān)控程序,這便構(gòu)成了一臺單板微型計算機。傳統(tǒng)的單片機開發(fā)都是采用硬件實驗箱或?qū)嶒灠宸绞?,硬件投資成本相對較高;這種定式的環(huán)境很容易將開發(fā)者的思維禁錮在小小的實驗箱里,不利于創(chuàng)新思維實現(xiàn),對于初學(xué)者還會造成認知上的誤區(qū),即所謂的單片機就是在一個箱子里穿針引線,這極不利于后續(xù)的開發(fā)。
目前,具有電路仿真功能的軟件比較多,性能比較好的有Multisim、Protel、O r C A D等,但這些對單片機的仿真無能為力。到目前為止,只有Proteus軟件能夠提供完善的單片機芯片及嵌入式系統(tǒng)的仿真。
2.單片機仿真所需實驗配置
2.1 選用Proteus軟件作為單片機仿真軟件
Proteus軟件是英國Lab Center Electronics公司開發(fā)的EDA工具軟件。它不僅是模擬電路、數(shù)字電路、模/數(shù)混合電路的設(shè)計平臺,更是目前世界上最先進,最完整的多種型號微處理器系統(tǒng)的設(shè)計與仿真平臺,真正實現(xiàn)了在計算機上完成原理圖設(shè)計,電路分析與仿真,微處理器程序設(shè)計與仿真,系統(tǒng)測試與功能驗證,到形成PCB的完整電子設(shè)計、研發(fā)過程。
Proteus軟件由ISIS和ARES兩個軟件構(gòu)成,其中ISIS是一款智能原理圖輸入系統(tǒng)軟件,可作為電子系統(tǒng)仿真平臺,ARES是一款高級布線編輯軟件,用于設(shè)計PCB.
2.2 選用Keil uVision2軟件對程序進行編譯和調(diào)試
Proteus仿真中的單片機芯片,與單片機硬件的 試驗臺中單片機芯片一樣,需要下載編譯好的機器語言文件,這樣就需要匯編語言和C語言的編譯器。KeiluVision2是51系列兼容單片機C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)C語言的語法來開發(fā),它還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入,同時可移植性強,使程序達到接近于匯編的工作效率。此外,Keil uVision2軟件還支持眾多不同公司的單片機芯片,集編輯、編譯和程序調(diào)試于一體,之后將生成的。HEX文件,下載到單片機芯片里,這就完成了程序的固化。
3.基于Proteus軟件含有AT80C51芯片的流水燈仿真與PCB制作
3.1 Proteus單片機仿與PCB制作的實驗流程(如圖1所示)
3.2 用ISIS軟件繪制含有AT80C51單片機芯片的原理圖
1)打開ISIS Professional 軟件,執(zhí)行“File”→“New Design”,在彈出窗口中選擇默認模板“DEFAULT”,點擊“OK”,然后保存,命名為“liushuideng.DSN”.
2)“System”→“Set Sheet Sizes…”,彈出“Sheet Size Configuration”對話框,設(shè)定圖紙為A4,單擊“OK”.
3)添加元器件。
具體數(shù)值見圖3.在工具欄中執(zhí)行菜單命令“Library”→“Pick Device/Symbol…”,彈出對話框在“Keywords”欄里輸入所需元器件,右側(cè)欄將顯示,此時只需選擇自己需要的元器件,點擊“OK”,然后在列表中選中元器件(所用元件如下表1所示),在原理圖編輯窗口合適位置單擊鼠標(biāo)完成放置,按此方法將列表中的所有元器件添加進去。
4)放置電源和地:單擊左側(cè)工具箱中圖標(biāo),在對象選擇器中單擊“POWER”,使其出現(xiàn)藍色條,再在原理圖編輯窗口合適位置單擊鼠標(biāo),就將“電源”放置在原理圖中;單擊“GROUND”,用同樣方法,將“地”放置在原理圖中。
5)布線:在ISIS原理圖編輯窗口中沒有專門的布線按鈕,但系統(tǒng)默認自動布線有效,因此,可直接畫線,布線如圖2所示。
4.C語言編程
4.1 建立工程文件
1 )打開K e i l u V i s i o n 2軟件,點擊“Project”→“New Project”,命名為“liushuideng”,然后保存,在彈出的對話框“Data base”欄中選擇“Atmel”→“89C51”→“確定”;然后點擊“File”
→“New File”.
2)點擊“Save”→文件命名為“liushuideng.
c”→“保存”,本程序利用C語言編程后綴必須是“.c”.
3)點擊“Target 1”→“Sour Group1”
→“Add Files to Group”Sour Group 1“”,在彈出的對話框中選擇剛建的文件,然后點擊“Add”,添加完成后點擊“Close”;到此工程建立完畢。
4.2 利用C語言編寫流水燈的程序源代碼
#include
#define uint unsigned int
#define uchar unsigned char
uchar temp;void delay(uint);
void main()
{temp=0xfe;P0=temp;while(1)
{temp=_crol_(temp,1);delay(600);
P0=temp;} }
void delay(uint z)
{ u i n t x , y ; f o r ( x = 1 0 0 ; x > 0 ; x - - )
for(y=z;y>0;y-);}
4.3 調(diào)試程序
經(jīng)調(diào)試本程序,下邊狀態(tài)欄顯示“0Errors,0 Warning”,表示“0”錯誤,“0”警告。
4.4 生成。HEX目標(biāo)文件
選中“Target 1”單擊右鍵→“Optionfor Target 'Target 1‘”,在彈出的對話框中,單擊“Output”→“Create HEX File”打鉤,再次運行程序即可生成。HEX目標(biāo)文件。
5.原理圖仿真
(1)在Proteus ISIS中,雙擊AT89C51單片機芯片,在彈出的“Edit Component”
對話框的“ P r o g r a m F i l e ” 欄中選擇“liushuideng.hex”,然后點擊“OK”.
(2)在Proteus ISIS編輯窗口左下方點擊播放按鈕,或者在“Debug”菜單下選擇“Execute”,可以看到,首先P0.0點亮LED燈,等待一秒后熄滅,同時P0.1點亮另一只LED燈,同樣等待一秒后熄滅,P0.2點亮LED燈┄┄當(dāng)P0.7點亮LED燈等待一秒后熄滅后,P0.0點亮LED燈┄┄如此循環(huán),間隔時間可在delay函數(shù)中自行設(shè)定,在運行結(jié)果如圖2所示。[!--empirenews.page--]
LED燈左側(cè)的點呈現(xiàn)藍色時,表示點亮狀態(tài),紅色時,表示熄滅狀態(tài)。
6.PCB的制作
6.1 統(tǒng)計電路原理圖中使用的元器件
在ISIS中執(zhí)行菜單命令“Tools”→“Billof Materials”→“2 ASCII Output”,生成元器件清單,如圖3所示:
6.2 導(dǎo)入網(wǎng)絡(luò)表
在I S I S中,雙擊開關(guān)“K”,會彈出“Edit Component”對話框,將“Excludefrom PCB Layout”前的“√ ”去掉,點擊“OK”;執(zhí)行菜單命令“Tools”→“Netlistto ARES”,系統(tǒng)自動打開ARES軟件。在ISIS中有些元器件沒有指定封裝形式,因此系統(tǒng)會自動彈出“Package Selector”對話框,在“Package”欄中輸入相應(yīng)的封裝形式,對于發(fā)光二極管的封裝形式為“LED”,按鈕“K”的封裝形式為“SW-PUSH1”.
6.3 放置元器件
完成元器件封裝后,進入A R E S操作界面,先要點擊主工具箱中圖標(biāo),此為2DGroaphics框體模式,在左下角下拉框中選擇當(dāng)前板層為“Board Edge”(黃色),在工作區(qū)內(nèi)單擊不放,拉出來個黃框,按需要設(shè)定大小,那就是PCB編輯板層。在元器件不多的情況下,為了達到自己想要的設(shè)計效果,采用手動布置元器件的方法,在主工具箱中單擊元件模式圖標(biāo),在元器件列表中選擇某個元器件,然后在編輯區(qū)中合適位置單擊鼠標(biāo)左鍵,即可放置好該元器件;如果元器件比較多,采用自動布置元器件和手動布置元器件相結(jié)合的方法,可以大大提高制板效率。元器件放置完畢后,且右下角顯示“No DRC errors”,無設(shè)計規(guī)則錯誤。
6.4 布線
ARES提供了交互手工布線和自動布線兩種方式,通常結(jié)合使用以提高效率,并使PCB具有更好的電氣特性,也更加美觀。執(zhí)行菜單命令“Tools”→“Auto Router”,彈出“Shape Based Auto Router”對話框,按需要自行設(shè)定各參數(shù),然后點擊“OK”,開始自動布線,然后進行手工調(diào)整,結(jié)果如圖4所示:
6.5 規(guī)則檢查
CRC檢查:點擊“Tools”→“ConnectivityChecker”,系統(tǒng)進行連接性檢查,下邊狀態(tài)框提示“0 CRC violationsfound”,表示無CRC錯誤且無DRC錯誤。
6.6 敷銅
1)頂層敷銅:點擊“Tools”→“PowerPlane Generator”,彈出“Power PlaneG e n e r a t o r ” 對話框, 在此對話框中的“Net”欄中選擇“GND=POWRE”,“Layer”
欄中選擇“Top Copper”,“Boundary”欄中選擇“T10”,設(shè)置好后,點擊“OK”,進行頂層敷銅。
2)底層敷銅:只需在“Layer”欄中選擇“Bottom Copper”,其它操作同頂層敷銅。
6.7 3D效果顯示
點擊“Output”→“3D Visualizati o n ” , 顯示3 D 效果如圖5 所示, 通過“View”的下拉菜單可以顯示不同的3D效果。
6.8 輸出光繪文件
點擊“Output”→“IDF ManufacturingOutput”,按PCB生產(chǎn)要求設(shè)置參數(shù),點擊“Generate”,生成相應(yīng)的光繪文件。將導(dǎo)出的光繪文件和相應(yīng)鉆孔文件,發(fā)送到PCB廠家就可以進行制板了。也可以自己購買原材料,動手制作一塊流水燈的PCB板,這樣更能加深對單片機開發(fā)過程和工作原理的理解。
7.結(jié)束語
本論文以Proteus軟件為仿真工具,Keil uVision2軟件為程序編輯器,相對完整的論述了單片機的仿真和制作PCB的流程,同時流水燈的制作也是單片機入門典型實例;這將讓廣大單片機初學(xué)者對其開發(fā)流程有大致了解。利用Proteus軟件進行單片機仿真實驗,不僅減少了原材料的損耗,還彌補了實驗儀器和元器件缺乏帶來的不足。初學(xué)者通過仿真實驗,可以了解單片機系統(tǒng)的開發(fā)方法,這非常有助于培養(yǎng)其綜合分析能力、排除故障能力和開發(fā)、創(chuàng)新能力。