1.引言
單片機是將CPU芯片,存儲器芯片,I/O接口芯片和簡單的I/O設備裝配在一塊印刷電路板上,再配上存儲在ROM中的監控程序,這便構成了一臺單板微型計算機。傳統的單片機開發都是采用硬件實驗箱或實驗板方式,硬件投資成本相對較高;這種定式的環境很容易將開發者的思維禁錮在小小的實驗箱里,不利于創新思維實現,對于初學者還會造成認知上的誤區,即所謂的單片機就是在一個箱子里穿針引線,這極不利于后續的開發。
目前,具有電路仿真功能的軟件比較多,性能比較好的有Multisim、Protel、O r C A D等,但這些對單片機的仿真無能為力。到目前為止,只有Proteus軟件能夠提供完善的單片機芯片及嵌入式系統的仿真。
2.單片機仿真所需實驗配置
2.1 選用Proteus軟件作為單片機仿真軟件
Proteus軟件是英國Lab Center Electronics公司開發的EDA工具軟件。它不僅是模擬電路、數字電路、模/數混合電路的設計平臺,更是目前世界上最先進,最完整的多種型號微處理器系統的設計與仿真平臺,真正實現了在計算機上完成原理圖設計,電路分析與仿真,微處理器程序設計與仿真,系統測試與功能驗證,到形成PCB的完整電子設計、研發過程。
Proteus軟件由ISIS和ARES兩個軟件構成,其中ISIS是一款智能原理圖輸入系統軟件,可作為電子系統仿真平臺,ARES是一款高級布線編輯軟件,用于設計PCB.
2.2 選用Keil uVision2軟件對程序進行編譯和調試
Proteus仿真中的單片機芯片,與單片機硬件的 試驗臺中單片機芯片一樣,需要下載編譯好的機器語言文件,這樣就需要匯編語言和C語言的編譯器。KeiluVision2是51系列兼容單片機C語言軟件開發系統,使用接近于傳統C語言的語法來開發,它還能嵌入匯編,您可以在關鍵的位置嵌入,同時可移植性強,使程序達到接近于匯編的工作效率。此外,Keil uVision2軟件還支持眾多不同公司的單片機芯片,集編輯、編譯和程序調試于一體,之后將生成的。HEX文件,下載到單片機芯片里,這就完成了程序的固化。
3.基于Proteus軟件含有AT80C51芯片的流水燈仿真與PCB制作
3.1 Proteus單片機仿與PCB制作的實驗流程(如圖1所示)
3.2 用ISIS軟件繪制含有AT80C51單片機芯片的原理圖
1)打開ISIS Professional 軟件,執行“File”→“New Design”,在彈出窗口中選擇默認模板“DEFAULT”,點擊“OK”,然后保存,命名為“liushuideng.DSN”.
2)“System”→“Set Sheet Sizes…”,彈出“Sheet Size Configuration”對話框,設定圖紙為A4,單擊“OK”.
3)添加元器件。
具體數值見圖3.在工具欄中執行菜單命令“Library”→“Pick Device/Symbol…”,彈出對話框在“Keywords”欄里輸入所需元器件,右側欄將顯示,此時只需選擇自己需要的元器件,點擊“OK”,然后在列表中選中元器件(所用元件如下表1所示),在原理圖編輯窗口合適位置單擊鼠標完成放置,按此方法將列表中的所有元器件添加進去。
4)放置電源和地:單擊左側工具箱中圖標,在對象選擇器中單擊“POWER”,使其出現藍色條,再在原理圖編輯窗口合適位置單擊鼠標,就將“電源”放置在原理圖中;單擊“GROUND”,用同樣方法,將“地”放置在原理圖中。
5)布線:在ISIS原理圖編輯窗口中沒有專門的布線按鈕,但系統默認自動布線有效,因此,可直接畫線,布線如圖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 #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 調試程序
經調試本程序,下邊狀態欄顯示“0Errors,0 Warning”,表示“0”錯誤,“0”警告。
4.4 生成。HEX目標文件
選中“Target 1”單擊右鍵→“Optionfor Target 'Target 1‘”,在彈出的對話框中,單擊“Output”→“Create HEX File”打鉤,再次運行程序即可生成。HEX目標文件。
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燈┄┄當P0.7點亮LED燈等待一秒后熄滅后,P0.0點亮LED燈┄┄如此循環,間隔時間可在delay函數中自行設定,在運行結果如圖2所示。
LED燈左側的點呈現藍色時,表示點亮狀態,紅色時,表示熄滅狀態。
6.PCB的制作
6.1 統計電路原理圖中使用的元器件
在ISIS中執行菜單命令“Tools”→“Billof Materials”→“2 ASCII Output”,生成元器件清單,如圖3所示:
6.2 導入網絡表
在I S I S中,雙擊開關“K”,會彈出“Edit Component”對話框,將“Excludefrom PCB Layout”前的“√ ”去掉,點擊“OK”;執行菜單命令“Tools”→“Netlistto ARES”,系統自動打開ARES軟件。在ISIS中有些元器件沒有指定封裝形式,因此系統會自動彈出“Package Selector”對話框,在“Package”欄中輸入相應的封裝形式,對于發光二極管的封裝形式為“LED”,按鈕“K”的封裝形式為“SW-PUSH1”.
6.3 放置元器件
完成元器件封裝后,進入A R E S操作界面,先要點擊主工具箱中圖標,此為2DGroaphics框體模式,在左下角下拉框中選擇當前板層為“Board Edge”(黃色),在工作區內單擊不放,拉出來個黃框,按需要設定大小,那就是PCB編輯板層。在元器件不多的情況下,為了達到自己想要的設計效果,采用手動布置元器件的方法,在主工具箱中單擊元件模式圖標,在元器件列表中選擇某個元器件,然后在編輯區中合適位置單擊鼠標左鍵,即可放置好該元器件;如果元器件比較多,采用自動布置元器件和手動布置元器件相結合的方法,可以大大提高制板效率。元器件放置完畢后,且右下角顯示“No DRC errors”,無設計規則錯誤。
6.4 布線
ARES提供了交互手工布線和自動布線兩種方式,通常結合使用以提高效率,并使PCB具有更好的電氣特性,也更加美觀。執行菜單命令“Tools”→“Auto Router”,彈出“Shape Based Auto Router”對話框,按需要自行設定各參數,然后點擊“OK”,開始自動布線,然后進行手工調整,結果如圖4所示:
6.5 規則檢查
CRC檢查:點擊“Tools”→“ConnectivityChecker”,系統進行連接性檢查,下邊狀態框提示“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”,設置好后,點擊“OK”,進行頂層敷銅。
2)底層敷銅:只需在“Layer”欄中選擇“Bottom Copper”,其它操作同頂層敷銅。
6.7 3D效果顯示
點擊“Output”→“3D Visualizati o n ” , 顯示3 D 效果如圖5 所示, 通過“View”的下拉菜單可以顯示不同的3D效果。
6.8 輸出光繪文件
點擊“Output”→“IDF ManufacturingOutput”,按PCB生產要求設置參數,點擊“Generate”,生成相應的光繪文件。將導出的光繪文件和相應鉆孔文件,發送到PCB廠家就可以進行制板了。也可以自己購買原材料,動手制作一塊流水燈的PCB板,這樣更能加深對單片機開發過程和工作原理的理解。
7.結束語
本論文以Proteus軟件為仿真工具,Keil uVision2軟件為程序編輯器,相對完整的論述了單片機的仿真和制作PCB的流程,同時流水燈的制作也是單片機入門典型實例;這將讓廣大單片機初學者對其開發流程有大致了解。利用Proteus軟件進行單片機仿真實驗,不僅減少了原材料的損耗,還彌補了實驗儀器和元器件缺乏帶來的不足。初學者通過仿真實驗,可以了解單片機系統的開發方法,這非常有助于培養其綜合分析能力、排除故障能力和開發、創新能力。
-
pcb
+關注
關注
4319文章
23105瀏覽量
398087 -
仿真
+關注
關注
50文章
4087瀏覽量
133644 -
編輯器
+關注
關注
1文章
806瀏覽量
31183
發布評論請先 登錄
相關推薦
評論