
摘 要:針對高等院校傳統(tǒng)單片機實驗系統(tǒng)中存在的硬件成本偏高及仿真難以實現(xiàn)等問題,研究了一種基于新型嵌入式系統(tǒng)仿真軟件Proteus+Keil C的仿真平臺。
關(guān)鍵詞:單片機; 嵌入式虛擬實驗平臺; Proteus; Keil; 溫度報警器
中圖分類號: 文獻標(biāo)志碼:A 文章編號:1006-3315(2015)04-177-002
隨著嵌入式系統(tǒng)和物聯(lián)網(wǎng)技術(shù)的誕生與發(fā)展,單片機作為典型的嵌入式微處理器(MCU),在工業(yè)控制及人類生活中得到廣泛應(yīng)用,如手機、電話、各種家用電器等電子產(chǎn)品中都集成有單片機,汽車上一般會集成40多片,工業(yè)控制當(dāng)中甚至?xí)袛?shù)百單片機在同時工作。單片機的應(yīng)用要遠遠大于PC機。
Proteus仿真環(huán)境是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA軟件仿真模擬電路和數(shù)字電路的功能,還能仿真以軟件為核心的單片機及外圍器件。Proteus是目前最好的單片機及外圍器件仿真軟件,受到單片機愛好者、教師、嵌入式開發(fā)工作者的青睞。Proteus實現(xiàn)了從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計,是迄今為止世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯環(huán)境。
1.系統(tǒng)結(jié)構(gòu)設(shè)計
(1)系統(tǒng)總體設(shè)計概述
總體設(shè)計方案采用AT89C52單片機作控制器,溫度傳感器選用DS18B20來設(shè)計數(shù)字溫度計,系統(tǒng)由5個模塊組成:主控制器、測溫電路、顯示電路、控制電路、報警及指示電路。主控制器由單片機AT89C52實現(xiàn),測溫電路由DS18B20溫度傳感器實現(xiàn),顯示電路由1602LCD直讀顯示,報警指示電路由蜂鳴器和發(fā)光二級管構(gòu)成,控制電路由按鍵構(gòu)成。本設(shè)計所使用的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確等特點,其輸出溫度采用數(shù)字顯示,主要用于對溫度的精度要求較高的場所,或科研實驗室使用,并且加有報警裝置,超過限制溫度可發(fā)出報警信號,還可以調(diào)整報警上下限溫度。該設(shè)計控制器使用單片機AT89C52,測溫傳感器使用DS18B20,用1602LCD實現(xiàn)溫度顯示,能準(zhǔn)確達到以上要求。
(2)硬件設(shè)計
本系統(tǒng)設(shè)計由5個模塊組成:主控制器(單片機)、溫度采集模塊、溫度顯示模塊、控制電路模塊、報警及指示模塊。主控制器由單片機AT89C52實現(xiàn),測溫電路由DS18B20溫度傳感器實現(xiàn),顯示電路1602LCD直讀顯示,報警指示電路由蜂鳴器和發(fā)光二級管構(gòu)成,控制電路由按鍵構(gòu)成。硬件結(jié)構(gòu)如圖1所示。
(3)軟件設(shè)計
軟件部分設(shè)計分為以下幾個部分:采集數(shù)據(jù)、顯示數(shù)據(jù)、數(shù)值比較、LCD顯示等,用Keil C編譯。其中軟件設(shè)計關(guān)鍵部分為ds18b20數(shù)據(jù)采集。讀取溫度關(guān)鍵代碼如下:
DS18B20的讀操作:①將數(shù)據(jù)線拉高“1”。②延時2us。③將數(shù)據(jù)線拉低“0”。④延時15us。⑤將數(shù)據(jù)線拉高“1”。⑥延時15us。⑦讀數(shù)據(jù)線的狀態(tài)得到1個狀態(tài)位,并進行數(shù)據(jù)處理。⑧延時30us。
讀操作程序代碼如下:
uchar ds_read(void)
{
uchar i;
uchar value=0;
for(i=8;i>0;i--)
{
DQ=1;_nop_();
_nop_();
value>>=1;
DQ=0;
_nop_();
_nop_();
_nop_();
_nop_();
DQ=1;
_nop_();
_nop_();
_nop_();
_nop_();
if(DQ)value|=0x80;
delay(6);
}
DQ=1;
return(value);
}
2.Proteus仿真結(jié)果
將以上關(guān)鍵程序利用Keil C編譯生成.Hex文件,在Proteus原理圖界面雙擊單片機,在彈出的編輯窗口編輯晶振頻率(11.0592MHz),點擊“Program File”選中在Keil C里生成的.Hex文件確定即可。點擊仿真按鈕,進行仿真。仿真效果如圖1所示。
3、結(jié)論
研究了在嵌入式虛擬實訓(xùn)平臺下的AT89C52單片機利用DS18B20溫度傳感器模塊和1602LCD顯示模塊進行溫度報警器的仿真,軟件部分和現(xiàn)實設(shè)計中一樣,采用Keil C編程,仿真結(jié)果表明成功可靠。與傳統(tǒng)硬件仿真器仿真相比,由Proteus+Keil C組成的嵌入式虛擬實驗平臺方便設(shè)計者修改元件參數(shù)來優(yōu)化設(shè)計,效率高、成本低、效果好。
利用嵌入式虛擬仿真環(huán)境進行嵌入式系統(tǒng)的設(shè)計開發(fā)具有一定的推廣意義。經(jīng)實驗驗證具有通用性,可以運用于其他相關(guān)型器件與微處理器中,具有高等院校教學(xué)和社會實際應(yīng)用很高的參考價值。
基金項目支持:項目名稱:面向高校的嵌入式技術(shù)虛擬實訓(xùn)平臺的應(yīng)用研究,項目類別:保定市科學(xué)技術(shù)研究與發(fā)展指導(dǎo)計劃項目,保定市科技攻關(guān)項目,項目編號:14ZG025。
參考文獻:
[1]鄭賢標(biāo),姜偉,周見行等.基于Proteus 的單片機數(shù)據(jù)采集系統(tǒng)仿真[J]機電工程,2010.27(1):31-33,37
[2]丁明亮,唐前輝.51單片機應(yīng)用設(shè)計與仿真——基于Keil C與Proteus[M]北京:北京航空航天大學(xué)出版社,2009:90-96
[3]寧成軍,張江霞.基于Proteus和Keil C接口的單片機外圍電路仿真[J].現(xiàn)代電子技術(shù),2006,29(18):142-143