基于Proteus的ARM虛擬開(kāi)發(fā)
這里主要說(shuō)明“main.c”的編寫(xiě),要實(shí)現(xiàn)的功能是用LPC2124控制器、LP297、L298組成的步進(jìn)電機(jī)控制 器,控制步進(jìn)電機(jī)的運(yùn)轉(zhuǎn),原理圖中可以看到各元器件引腳的連接,圖中還設(shè)置了七個(gè)電壓探針,用數(shù)字圖表顯示各電壓節(jié)點(diǎn)的電平隨時(shí)間變化的曲線。KEY鍵控制電機(jī)的正反轉(zhuǎn)(KEY鍵按下則電機(jī)反轉(zhuǎn))。程序流程圖如圖3所示。根據(jù)程序流程圖編寫(xiě)好執(zhí)行代碼文件“main.c”。
本文引用地址:http://2s4d.com/article/85214.htm圖3 程序流程圖
圖4 ADS編譯環(huán)境窗口
2.3 仿真
文中采用ADS集成開(kāi)發(fā)環(huán)境進(jìn)行程序的編譯連接設(shè)置,ADS集成開(kāi)發(fā)環(huán)境是ARM公司推出的ARM核微控制器集成開(kāi)發(fā)工具,英文全稱為ARM Developer Suite,成熟版本為ADS1.2。ADS1.2支持ARM10以前的所有ARM系列微控制器,支持軟件調(diào)試,支持匯編、C和C++源程序,具有編譯效率高、系統(tǒng)庫(kù)功能強(qiáng)等特點(diǎn)。
打開(kāi)ADS1.2集成開(kāi)發(fā)環(huán)境CodeWarrior IDE,點(diǎn)擊Project→New Project建立一個(gè)新的工程lcd.mcp,把以上編好的代碼文件全部添加進(jìn)工程,如圖4所示。進(jìn)行相關(guān)設(shè)置后,選擇Project→Make命令,編譯并連接工程,生成stepper.hex文件。
在原理圖中右擊微控制器LPC2124,再單擊,出現(xiàn)一屬性設(shè)置窗口Edit Component,如圖5。在其中的Program File中添加上面生成的stepper.hex文件的路徑,單擊OK完成設(shè)置。
點(diǎn)擊原理圖左下角
中的運(yùn)行按鈕
,即開(kāi)始仿真運(yùn)行。仿真結(jié)果如圖6所示。數(shù)字圖表顯示各電壓節(jié)點(diǎn)的電平值隨時(shí)間變化的曲線,步進(jìn)電機(jī)按要求運(yùn)行,按下KEY鍵電機(jī)反轉(zhuǎn)。仿真結(jié)果完全符合設(shè)計(jì)要求。
圖5 器件編輯窗口
圖6 仿真結(jié)果圖
3 結(jié)語(yǔ)
通過(guò)以上簡(jiǎn)單的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)過(guò)程可以看出,用Proteus軟件進(jìn)行ARM虛擬開(kāi)發(fā)的優(yōu)勢(shì)所在。使用Proteus進(jìn)行ARM的虛擬開(kāi)發(fā),不僅可以減少實(shí)驗(yàn)硬件資本的投入,還突破了實(shí)際開(kāi)發(fā)板中實(shí)驗(yàn)內(nèi)容的局限性,使開(kāi)發(fā)者能夠充分發(fā)揮自身的主動(dòng)性。使用Proteus仿真,大大降低了開(kāi)發(fā)成本,提高了開(kāi)發(fā)效率。筆者相信隨著電子技術(shù)的不斷發(fā)展、完善,基于軟件的硬件虛擬開(kāi)發(fā)的應(yīng)用將會(huì)發(fā)揮越來(lái)越重要的作用。
參考文獻(xiàn)
[1]基于L297/L298芯片步進(jìn)電機(jī)的單片機(jī)控制[J].微計(jì)算機(jī)信息,200,12-2:134-135.
[2] PHILIPS公司.LPC2214/2124/2212/2214 User Manual. PHILIPS公司,2004.
[3]周潤(rùn)景等.基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真[M].北京:北京航空航天大學(xué)出版社,2006.
[4]周立功等.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M]. 北京:北京航空航天大學(xué)出版社,2005.
[5]趙星寒等.ARM開(kāi)發(fā)工具ADS原理與應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2006
電氣符號(hào)相關(guān)文章:電氣符號(hào)大全
評(píng)論