單片機應(yīng)用產(chǎn)品的PROTEUS設(shè)計與仿真(圖)
本文從單片機應(yīng)用產(chǎn)品研發(fā)實例出發(fā),介紹了如何利用PROTEUS高效、正確地完成單片機應(yīng)用產(chǎn)品的設(shè)計與仿真。
PROTEUS是單片機系統(tǒng)的設(shè)計與仿真平臺
PROTEUS是英國Labcenter electronics公司研發(fā)的多功能EDA軟件,它具有功能很強的ISIS智能原理圖輸入系統(tǒng),有非常友好的人機互動窗口界面;有豐富的操作菜單與工具。在ISIS編輯區(qū)中,能方便地完成單片機系統(tǒng)的硬件設(shè)計、軟件設(shè)計、單片機源代碼級調(diào)試與仿真。
PROTEUS有三十多個元器件庫,擁有數(shù)千種元器件仿真模型;有形象生動的動態(tài)器件庫、外設(shè)庫。特別是有從8051系列8位單片機直至ARM7 32位單片機的多種單片機類型庫。它們是單片機系統(tǒng)設(shè)計與仿真的基礎(chǔ)。
PROTEUS有多達十余種的信號激勵源,十余種虛擬儀器。還有用來精確測量與分析的PROTEUS高級圖表仿真(ASF)。它們構(gòu)成了單片機系統(tǒng)設(shè)計與仿真的完整的虛擬實驗室。
PROTEUS還有使用極方便的印刷電路板高級布線編輯軟件(PCB)。特別指出,PROTEUS庫中數(shù)千種仿真模型是依據(jù)生產(chǎn)企業(yè)提供的數(shù)據(jù)來建模的。因此,PROTEUS設(shè)計與仿真極其接近實際。
目前,PROTEUS已成為流行的單片機系統(tǒng)設(shè)計與仿真平臺,應(yīng)用于各種領(lǐng)域。筆者就利用PROTEUS完成了多種產(chǎn)品的開發(fā),例如:“微電腦(單片機)防盜報警器”、“純水機微電腦控制板”、“LED漢字顯示屏”、“雙單片機控制的萬年歷倒計時牌”等。實踐證明:PROTEUS是單片機應(yīng)用產(chǎn)品研發(fā)的靈活、高效、正確的設(shè)計與仿真平臺,它明顯提高了研發(fā)效率、縮短了研發(fā)周期,節(jié)約了研發(fā)成本。
PROTEUS改革了單片機應(yīng)用產(chǎn)品的研發(fā)過程
單片機系統(tǒng)的傳統(tǒng)開發(fā)過程一般可分為三步:
①單片機系統(tǒng)原理圖設(shè)計,選擇、購買元器件和接插件,安裝和電氣檢測等(簡稱硬件設(shè)計);
②進行單片機系統(tǒng)程序設(shè)計,調(diào)試、匯編編譯等(簡稱軟件設(shè)計);
③單片機系統(tǒng)在線調(diào)試、檢測,實時運行直至完成(簡稱單片機系統(tǒng)綜合調(diào)試)。
PROTEUS促進了單片機產(chǎn)品研發(fā)過程的改革,有PROTEUS參與的單片機系統(tǒng)開發(fā)過程一般分為四步:
①在PROTEUS 平臺上進行單片機系統(tǒng)電路設(shè)計、選擇元器件、接插件、連接電路和電氣檢測等(簡稱PROTEUS 電路設(shè)計);
②在PROTEUS平臺上進行單片機系統(tǒng)源程序設(shè)計、編輯、匯編編譯、調(diào)試,最后生成目標代碼文件(*.hex)(簡稱PROTEUS 軟件設(shè)計);
③在PROTEUS平臺上將目標代碼文件加載到單片機系統(tǒng)中,并實現(xiàn)單片機系統(tǒng)的實時交互、協(xié)同仿真(簡稱PROTEUS 仿真);
④仿真正確后,安裝實際單片機系統(tǒng)電路,并將目標代碼文件(*.hex)下載到實際單片機中運行、調(diào)試。若出現(xiàn)問題,可與PROTEUS設(shè)計與仿真相互配合調(diào)試,直至運行成功(簡稱實際產(chǎn)品安裝、運行與調(diào)試)。筆者的實踐證明:按照PROTEUS仿真通過的設(shè)計來安裝的實際系統(tǒng),只要安裝正確、元器件無誤,焊接牢靠,基本都能順利通過。
下面以筆者研發(fā)的“雙單片機控制的萬年歷倒計時牌”(簡稱“倒計時牌”)為例,論述PROTEUS在單片機應(yīng)用產(chǎn)品研發(fā)中的開發(fā)過程、實際操作。該“倒計時牌”已在部分中學(xué)用來作為高考日期倒計時警示牌。為精減論述,本文省去了農(nóng)歷、時溫等部分。它由兩塊AT89S51、DS1302時鐘芯片、16塊LED數(shù)碼管、3個倒計時初值設(shè)置撥碼盤等構(gòu)成。圖1是它的PROTEUS設(shè)計與實時仿真片斷。右邊為雙單片機控制的電路部分。電路連接除采用直接連線外還采用了PROTEUS提供的網(wǎng)絡(luò)標號連接方法。左上方為顯示部分,左下方分別為設(shè)置倒計時初置的3個撥碼盤、音樂警示喇叭及3個調(diào)整開關(guān)。單片機U1、U6的晶振頻率分別設(shè)置為12MHz、6MHz。該“倒計時牌”調(diào)整方便、性能穩(wěn)定、性價比高。
圖1 “倒計時牌”的PROTEUS設(shè)計與仿真片斷
“倒計時牌”的PROTEUS電路設(shè)計
這是產(chǎn)品研發(fā)過程的第一步。
啟動PROTEUS后,將出現(xiàn)用于設(shè)計與仿真的ISIS窗口。圖2是“倒計時牌”PROTEUS設(shè)計時的ISIS界面情況。采用鼠標操作,非常方便。設(shè)計好圖紙尺寸定義好文件名后,即可按設(shè)計需要從PROTEUS庫中提取設(shè)計所需要的元器件,放置到ISIS編輯區(qū)中,進行電路連接等電路設(shè)計。設(shè)計好電路后可使用PROTEUS提供的電氣檢測工具對電路進行電氣檢測。若電路出現(xiàn)電氣錯誤,會彈出信息報告??筛鶕?jù)報告排除電氣錯誤,直至成功。
圖2 “倒計時牌”PROTEUS設(shè)計時的ISIS界面情況
“倒計時牌”的PROTEUS軟件設(shè)計
這是產(chǎn)品研發(fā)過程的第二步。
PROTEUS設(shè)計好硬件電路后,要進行單片機的軟件設(shè)計。因是雙單片機控制,所以要設(shè)計對應(yīng)U1單片機的軟件和U6單片機的軟件。PROTEUS提供了在ISIS窗口界面中進行編寫源程序、編譯生成目標代碼文件(*.HEX)的手段,可進行編寫、編輯等各種操作??赏ㄟ^在ISIS中點擊菜單項Source的多級子菜單來實現(xiàn)。編寫好源程序后,可左鍵單擊菜單“Source”,在彈出子菜單中左鍵單擊“Build All”選項,則將兩個源程序編譯生成各自的目標代碼文件(WNL01.HEX和 CNTDAF.HEX)。若源程序有錯,則彈出出錯報告,可根據(jù)報告排錯直至生成目標代碼為止。圖3是在ISIS中編輯源程序的現(xiàn)場情況,圖中只顯示出兩個源程序的部分程序條。因篇幅關(guān)系不列完整程序了,若需要,可發(fā)郵件給zlb163com@163.com索取。
圖3 “倒計時牌”的PROTEUS的軟件設(shè)計
“倒計時牌”的PROTEUS仿真
這是產(chǎn)品研發(fā)過程的第三步。
首先要進行目標代碼加載和設(shè)置晶振頻率。將鼠標指向單片機U1,右鍵單擊,再左鍵單擊,則彈出如圖4所示的“Edit Component”對話框,在“Program File”框中輸入它的目標代碼文件“WNL01.HEX”, 在“Clock Frequency”框中輸入晶振頻率12MHz,左鍵單擊“OK”按鈕即完成操作。再將鼠標指向單片機U6,同樣操作可將它的目標代碼文件CNTDAF.HEX加載到單片機U6中。再在“Clock Frequency”框中輸入晶振頻率6MHz。
左鍵單擊仿真按鈕則可實現(xiàn)交互式、實時仿真。仿真片段如圖1所示。
仿真中,可用鼠標分別調(diào)節(jié)三個撥碼盤設(shè)置倒記時初值(圖1中初值設(shè)置為“096”);通過分別調(diào)節(jié)“調(diào)日歷”、“調(diào)時”、“加一”3個按鈕可校正萬年歷。
當?shù)褂洉r值減至0時,則喇叭中發(fā)出警示音樂聲。
“倒計時牌”實際產(chǎn)品的安裝、運行與調(diào)試
這是產(chǎn)品研發(fā)過程的第四步。
“倒計時牌”交互式實時仿真通過后,可轉(zhuǎn)到PROTEUS PCB DESIGN中,根據(jù)設(shè)計要求設(shè)計PCB電路板,設(shè)計中要注意布線的科學(xué)性。購買符合設(shè)計要求的元器件、接插件。細心安裝實際的“倒計時牌”硬件電路。并將目標代碼文件WNL01.hex、CNTDAF.HEX分別下載到實際的單片機U1(AT89S51)和U6(AT89S51)中,實際通電運行。
筆者的實踐證明:只要元器件無誤、安裝正確、焊接牢靠,基本都能順利通過。至此,勝利完成了這一單片機應(yīng)用產(chǎn)品的研發(fā),且省力、省財、省時。
圖4 對U1加載目標代碼文件、設(shè)置晶振頻率
結(jié)論
實踐證明,PROTEUS是單片機應(yīng)用產(chǎn)品靈活、高效、正確的設(shè)計與仿真平臺,改革了單片機應(yīng)用產(chǎn)品的研發(fā)過程,為單片機應(yīng)用產(chǎn)品研發(fā)提供了完整的虛擬實驗室。