0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用Proteus和Keil仿真調(diào)試實(shí)現(xiàn)單片機(jī)系統(tǒng)的軟硬件設(shè)計(jì)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-06-27 08:12 ? 次閱讀

1 概述

隨著半導(dǎo)體技術(shù)的飛速發(fā)展,以及移動(dòng)通信、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用,單片機(jī)從4位、8位、16位到32位,其發(fā)展歷程一直受到廣大電子愛好者的極大關(guān)注。單片機(jī)功能越來越強(qiáng)大,價(jià)格卻不斷下降的優(yōu)勢(shì)無疑成為嵌入式系統(tǒng)方案設(shè)計(jì)的首選,同時(shí)單片機(jī)應(yīng)用領(lǐng)域的擴(kuò)大也使得更多人加入到基于單片機(jī)系統(tǒng)的開發(fā)行列中,推動(dòng)著單片機(jī)技術(shù)的創(chuàng)新進(jìn)步。

然而傳統(tǒng)的單片機(jī)系統(tǒng)開發(fā)除了需要購(gòu)置諸如仿真器、編程器、示波器等價(jià)格不菲的電子設(shè)備外,開發(fā)過程也較繁瑣。如圖1所示,用戶程序需要在硬件完成的情況下才能進(jìn)行聯(lián)調(diào),如果在調(diào)試過程中發(fā)現(xiàn)需修改硬件,則要重新制板。因此無論從硬件成本還是開發(fā)周期來看,其高風(fēng)險(xiǎn)、低效率的特性顯露無遺。來自英國(guó)Labcenter Electronics公司Proteus軟件很好地詮釋了利用現(xiàn)代EDA工具方便快捷開發(fā)單片機(jī)系統(tǒng)的優(yōu)勢(shì)。它包括PROTEUS VSM(Virtual System Modelling)、PROTEUS PCB DESIGN兩大組成部分,在PC機(jī)上就能實(shí)現(xiàn)原理圖電路設(shè)計(jì)、電路分析仿真、單片機(jī)代碼級(jí)調(diào)試與仿真、系統(tǒng)測(cè)試與功能驗(yàn)證以及形成PCB文件的完整嵌入式系統(tǒng)設(shè)計(jì)與研發(fā)過程。本文講述PROTEUS VSM單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真功能,圖2為基于PROTEUS仿真軟件的單片機(jī)系統(tǒng)設(shè)計(jì)流程,它極大地簡(jiǎn)化了設(shè)計(jì)工作,得到眾多設(shè)計(jì)師的青睞。

2 基于Proteus的單片機(jī)系統(tǒng)設(shè)計(jì)與仿真

Proteus支持51、PIC、AVR、ARM7等多個(gè)系列的單片機(jī)芯片,集編輯、編譯、仿真調(diào)試于一體。它的界面簡(jiǎn)潔友好,可利用該軟件提供的數(shù)千種數(shù)字/模擬仿真元器件以及豐富的仿真設(shè)備,使得在程序調(diào)試、系統(tǒng)仿真時(shí)不僅能觀察到程序執(zhí)行過程中單片機(jī)寄存器和存儲(chǔ)器等內(nèi)容變化,還可從工程的角度直觀地看到外圍電路工作情況,非常接近工程應(yīng)用。另外Proteus還能與第三方集成開發(fā)環(huán)境(如Keil的μVision)進(jìn)行聯(lián)合仿真調(diào)試,給予開發(fā)人員莫大便利。本設(shè)計(jì)以51單片機(jī)構(gòu)成的99秒馬表為例描述基于Proteus的硬件設(shè)計(jì)、基于Keil C的軟件設(shè)計(jì)以及它們的聯(lián)合仿真調(diào)試過程。

2.1 硬件設(shè)計(jì)

2個(gè)七段數(shù)碼管顯示馬表時(shí)間,用51單片機(jī)的P1口驅(qū)動(dòng);按鍵SP掛在外部中斷0的I/O口上,第1次按下表示開始運(yùn)行,第2次按下為計(jì)時(shí)停止,第3次按下重新歸零;擴(kuò)展程序存儲(chǔ)器27256、數(shù)據(jù)存儲(chǔ)器62256主要是緣于嵌入式操作系統(tǒng)μC/OSII下的應(yīng)用程序設(shè)計(jì),片內(nèi)存儲(chǔ)空間有限,同時(shí)也方便擴(kuò)展。

采用Proteus和Keil仿真調(diào)試實(shí)現(xiàn)單片機(jī)系統(tǒng)的軟硬件設(shè)計(jì)

采用Proteus和Keil仿真調(diào)試實(shí)現(xiàn)單片機(jī)系統(tǒng)的軟硬件設(shè)計(jì)

圖3 基于Proteus的馬表系統(tǒng)原理圖

根據(jù)以上分析,選取的元器件有:AT89C51、4位7段譯碼顯示器、74LS373、27256、62256、按鍵及電阻電容等。Proteus繪制原理圖和Protel軟件相似,先從元件庫(kù)中取出所需的元件并在繪圖區(qū)布局好,設(shè)置元器件屬性,接著進(jìn)行連線,添加必要的網(wǎng)絡(luò)標(biāo)示等,最后完成電氣檢測(cè)。圖3為馬表電路原理圖。

采用Proteus和Keil仿真調(diào)試實(shí)現(xiàn)單片機(jī)系統(tǒng)的軟硬件設(shè)計(jì)

圖4 程序流程圖

2.2 軟件設(shè)計(jì)

隨著嵌入式系統(tǒng)應(yīng)用不斷擴(kuò)大,功能不斷增強(qiáng),為了對(duì)整個(gè)系統(tǒng)及其所操作的部件、裝置等資源進(jìn)行統(tǒng)一協(xié)調(diào)、指揮和有效控制,使開發(fā)人員只專注于應(yīng)用程序設(shè)計(jì),在嵌入式系統(tǒng)中引入操作系統(tǒng)是非常必要的。μC/OSII是源碼公開的實(shí)時(shí)多任務(wù)操作系統(tǒng),具備足夠的穩(wěn)定性和安全性,特別適合用于中小型嵌入式系統(tǒng)中。

Keil公司的Keil μVision3,是目前使用最為廣泛的開發(fā)環(huán)境之一。這里介紹在Keil μVision3環(huán)境下基于μC/OSII嵌入式操作系統(tǒng)的用戶程序設(shè)計(jì)。根據(jù)馬表系統(tǒng)功能,設(shè)計(jì)兩個(gè)任務(wù): 任務(wù)1為數(shù)碼管顯示,調(diào)用系統(tǒng)延時(shí)函數(shù)實(shí)現(xiàn)馬表的運(yùn)行;任務(wù)2為按鍵判斷,屬于中斷級(jí)任務(wù),通過按鍵啟動(dòng)/停止/重置馬表。數(shù)碼管顯示和按鍵判斷任務(wù)之間用信號(hào)量實(shí)現(xiàn)通信;其中按鍵任務(wù)發(fā)出信號(hào)量,數(shù)碼管顯示任務(wù)負(fù)責(zé)接收信號(hào)量。程序流程如圖4所示。部分程序清單如下:

主程序

main() {

……

8051init();/*CPU初始化*/

OSInit();/*操作系統(tǒng)初始化*/

OSTaskCreate();/*創(chuàng)建任務(wù)*/

OSSemCreate();/*創(chuàng)建信號(hào)量*/

OSStart();/*多任務(wù)啟動(dòng)*/

……

}

任務(wù)1

Task1() {

for(;;) {

……

Display(0);/*顯示0*/

OSSemPend();/*等待信號(hào)量*/

for(;;){

……

Run_Display();/*馬表運(yùn)行*/

OSSemPend();/*等待信號(hào)量*/

……

}

for(;;){

……

Stop_Display();/*馬表停止*/

OSSemPend();/*等待信號(hào)量*/

……

}

}

}

任務(wù)2

Int0() interrupt 0 {

EX0=0;/*關(guān)中斷*/

OSSemPost();/*發(fā)出信號(hào)量*/

EX0=1;/*開中斷*/

}

2.3 系統(tǒng)聯(lián)調(diào)

在Proteus硬件電路圖和Keil C程序設(shè)計(jì)完成之后,接著進(jìn)行聯(lián)合仿真。此時(shí)需要對(duì)Proteus和Keil兩個(gè)軟件進(jìn)行簡(jiǎn)單的配置。同時(shí)打開電路仿真圖和C工程文件,在Keil中啟動(dòng)調(diào)試“DebugStart/Stop Debug Session”,并運(yùn)行DebugGo,此時(shí)Proteus仿真被Keil啟動(dòng),在Keil和Proteus中都可以觀察運(yùn)行狀態(tài)。程序運(yùn)行后,可看到數(shù)碼管顯示情況,當(dāng)按下按鍵,數(shù)碼管顯示作相應(yīng)切換。

結(jié)語(yǔ)

基于Proteus電路設(shè)計(jì)、Keil程序設(shè)計(jì)以及它們聯(lián)合仿真調(diào)試的方法,建立了單片機(jī)系統(tǒng)硬件設(shè)計(jì)、軟件設(shè)計(jì)以及調(diào)試的全虛擬環(huán)境,使得全部的設(shè)計(jì)工作基于PC就能完成,顯著提高了設(shè)計(jì)開發(fā)效率,降低開發(fā)風(fēng)險(xiǎn),這對(duì)嵌入式方案設(shè)計(jì)無疑是一個(gè)很好的思路。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44500

    瀏覽量

    632175
  • 示波器
    +關(guān)注

    關(guān)注

    113

    文章

    6173

    瀏覽量

    184357
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4028

    瀏覽量

    133344
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32單片機(jī)到底是如何實(shí)現(xiàn)軟硬件結(jié)合?

    本文分析 STM32 單片機(jī)到底是如何實(shí)現(xiàn)軟硬件結(jié)合的,接著分析單片機(jī)程序如何編譯、運(yùn)行。
    發(fā)表于 05-16 09:54 ?1064次閱讀
    STM32<b class='flag-5'>單片機(jī)</b>到底是如何<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>軟硬件</b>結(jié)合?

    單片機(jī)軟硬件聯(lián)合仿真解決方案

    單片機(jī)開發(fā)環(huán)境Keil uVision2的一個(gè)插件,ISS51具有連接Keil硬件仿真環(huán)境MODELsim的接口,可以
    發(fā)表于 07-17 08:56

    如何使用KEIL進(jìn)行軟硬件仿真

    如何使用KEIL進(jìn)行軟硬件仿真
    發(fā)表于 08-20 14:14

    使用ProteusKeil聯(lián)合仿真來學(xué)習(xí)單片機(jī)

    ,便可以自己設(shè)計(jì)單片機(jī)應(yīng)用電路;其次就是Proteus的靈活性,可以根據(jù)需要來設(shè)計(jì)電路,不像學(xué)習(xí)板的硬件是固定死的。本文詳細(xì)介紹如何將Proteus
    發(fā)表于 02-23 07:14

    單片機(jī)測(cè)控系統(tǒng)軟硬件平臺(tái)技術(shù)

    本文探討了一種用于工業(yè)測(cè)控系統(tǒng)單片機(jī)軟硬件綜合設(shè)計(jì)方法——軟硬件平臺(tái)技術(shù),重點(diǎn)闡述了其基本原理、設(shè)計(jì)思想、實(shí)現(xiàn)方法,并給出了一個(gè)
    發(fā)表于 08-13 09:38 ?12次下載

    PROTEUS VSM在單片機(jī)系統(tǒng)仿真中的應(yīng)用

    PROTEUS VSM在單片機(jī)系統(tǒng)仿真中的應(yīng)用::介紹了單片機(jī)系統(tǒng)
    發(fā)表于 03-20 16:39 ?52次下載

    基于PROTEUS單片機(jī)與PC機(jī)的通訊仿真設(shè)計(jì)

    介紹了PROTEUS 軟件的特點(diǎn),及其在單片機(jī)與PC 機(jī)的通訊仿真中的應(yīng)用, PROTEUS 軟件的引入能夠彌補(bǔ)傳統(tǒng)教學(xué)方法、傳統(tǒng)
    發(fā)表于 10-18 16:25 ?91次下載

    Proteus軟件仿真Keil單片機(jī)系統(tǒng)設(shè)計(jì)方案

    Proteus軟件仿真Keil單片機(jī)系統(tǒng)設(shè)計(jì)方案   隨著半導(dǎo)體技術(shù)的飛速發(fā)展,以及移動(dòng)通信、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)在嵌入式
    發(fā)表于 03-29 15:07 ?2134次閱讀
    <b class='flag-5'>Proteus</b>軟件<b class='flag-5'>仿真</b>與<b class='flag-5'>Keil</b>的<b class='flag-5'>單片機(jī)</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)方案

    單片機(jī)開發(fā)Keil C51與Proteus仿真聯(lián)合應(yīng)用研究

    軟硬件聯(lián)合仿真系統(tǒng)由一個(gè)硬件執(zhí)行環(huán)境和一個(gè)軟件執(zhí)行環(huán)境組成,通常軟件環(huán)境和硬件環(huán)境都有自己的除錯(cuò)和控制界面,
    發(fā)表于 09-23 15:18 ?111次下載
    <b class='flag-5'>單片機(jī)</b>開發(fā)<b class='flag-5'>Keil</b> C51與<b class='flag-5'>Proteus</b><b class='flag-5'>仿真</b>聯(lián)合應(yīng)用研究

    單片機(jī)系統(tǒng)軟硬件調(diào)試及維修技術(shù)

    單片機(jī)系統(tǒng)軟硬件調(diào)試及維修技術(shù),快來下載吧
    發(fā)表于 09-01 18:17 ?0次下載

    使用單片機(jī)實(shí)現(xiàn)控制循環(huán)輸出彩燈的proteus仿真Keil程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)實(shí)現(xiàn)控制循環(huán)輸出彩燈的proteus仿真Keil程序免費(fèi)下載。
    發(fā)表于 07-01 08:00 ?8次下載
    使用<b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)現(xiàn)</b>控制循環(huán)輸出彩燈的<b class='flag-5'>proteus</b><b class='flag-5'>仿真</b>和<b class='flag-5'>Keil</b>程序免費(fèi)下載

    基于單片機(jī)的智能溫室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)Proteus仿真

    基于單片機(jī)的智能溫室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)Proteus仿真
    發(fā)表于 12-23 09:09 ?49次下載

    C語(yǔ)言單片機(jī)等待詢問_教你如何使用KeilProteus聯(lián)合仿真調(diào)試單片機(jī)程序

    ,便可以自己設(shè)計(jì)單片機(jī)應(yīng)用電路;其次就是Proteus的靈活性,可以根據(jù)需要來設(shè)計(jì)電路,不像學(xué)習(xí)板的硬件是固定死的。本文詳細(xì)介紹如何將Proteus
    發(fā)表于 12-29 19:51 ?4次下載
    C語(yǔ)言<b class='flag-5'>單片機(jī)</b>等待詢問_教你如何使用<b class='flag-5'>Keil</b>與<b class='flag-5'>Proteus</b>聯(lián)合<b class='flag-5'>仿真</b><b class='flag-5'>調(diào)試</b><b class='flag-5'>單片機(jī)</b>程序

    深度:單片機(jī)到底是如何軟硬件結(jié)合的?

    分析單片機(jī)到底是如何軟硬件結(jié)合的。并通過一個(gè)基本的程序,分析單片機(jī)程序的編譯,運(yùn)行。
    發(fā)表于 02-08 16:29 ?2次下載
    深度:<b class='flag-5'>單片機(jī)</b>到底是如何<b class='flag-5'>軟硬件</b>結(jié)合的?

    深度:單片機(jī)到底是如何軟硬件結(jié)合的?

    本文我們將分析單片機(jī)到底是如何軟硬件結(jié)合的,并通過一個(gè)基本的程序,分析單片機(jī)程序的編譯,運(yùn)行。
    發(fā)表于 02-08 16:53 ?7次下載
    深度:<b class='flag-5'>單片機(jī)</b>到底是如何<b class='flag-5'>軟硬件</b>結(jié)合的?