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