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