国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Proteus 和Keil 軟件在單片機(jī)教學(xué)中的應(yīng)用

2019-04-11 05:21唐翠翠
科技與創(chuàng)新 2019年6期
關(guān)鍵詞:子程序霓虹燈本例

唐翠翠

(深圳技師學(xué)院 中德智造學(xué)院,廣東 深圳 518112)

1 引言

單片機(jī)課程是電類(lèi)和自動(dòng)化類(lèi)專(zhuān)業(yè)必修的專(zhuān)業(yè)課程,是一門(mén)實(shí)踐性很強(qiáng)的課程,通過(guò)該課程使學(xué)生掌握單片機(jī)的基本原理與應(yīng)用,掌握指令功能、編程方法、單片機(jī)應(yīng)用系統(tǒng)的硬件組成及軟件開(kāi)發(fā)方法,培養(yǎng)學(xué)生分析、解決實(shí)際問(wèn)題和軟硬件綜合開(kāi)發(fā)的能力。傳統(tǒng)的理論教學(xué)時(shí),要將課堂教學(xué)安排生動(dòng)、有趣,難度比較大;實(shí)踐教學(xué)時(shí),受教學(xué)場(chǎng)地、實(shí)訓(xùn)設(shè)備數(shù)量和市場(chǎng)產(chǎn)品變化快等因素的影響,教學(xué)靈活操作性有限。鑒于這些問(wèn)題,筆者在教學(xué)過(guò)程中引入Proteus軟件和Keil 軟件,可以讓學(xué)生在Proteus 軟件中繪制出硬件電路圖,加深學(xué)生對(duì)單片機(jī)系統(tǒng)硬件結(jié)構(gòu)的理解;在Keil軟件中編寫(xiě)簡(jiǎn)單的指令與Proteus 軟件中繪制好的電路進(jìn)行聯(lián)合仿真,在虛擬的硬件上看到程序運(yùn)行的結(jié)果,加深學(xué)生對(duì)指令功能的理解。在課上和課下,學(xué)生都可以進(jìn)行單片機(jī)系統(tǒng)設(shè)計(jì)并進(jìn)行虛擬仿真驗(yàn)證,為后續(xù)基于實(shí)物的實(shí)訓(xùn)課打下堅(jiān)實(shí)的基礎(chǔ)。Proteus 軟件和Keil 軟件聯(lián)合應(yīng)用可以節(jié)約耗材,縮短產(chǎn)品開(kāi)發(fā)周期,接下來(lái)將以“霓虹燈”設(shè)計(jì)為例,具體闡述Proteus 和Keil 軟件聯(lián)合仿真的應(yīng)用方法。

2 Proteus 軟件和Keil 軟件聯(lián)合仿真的配置

2.1 Proteus 軟件

Proteus 軟件是世界上著名的EDA 工具(仿真軟件),由英國(guó)Lab Center Electronics 公司出版。從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB 設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。它是目前比較好的仿真單片機(jī)及外圍接口器件的工具。

新建Proteus 工程的操作步驟如下:①新建一個(gè)文件夾,以工程的名字命名,用于存放該工程的文件,本例在桌面上新建一個(gè)命名為“霓虹燈”的文件夾;②打開(kāi)Proteus 軟件,在File 菜單下選擇New Project,新建一個(gè)工程,本例工程命名為“霓虹燈.pdsprj”,并保存在“C:UsersstDesktop霓虹燈”;③然后點(diǎn)擊NEXT,選擇“Create Schematic from the selected template”,創(chuàng)建原理圖;④點(diǎn)擊NEXT,選擇“Do not create PCB layout”,不創(chuàng)建PCB;⑤繼續(xù)點(diǎn)擊NEXT,選擇Create Firmware Project,創(chuàng)建仿真工程,并設(shè)置Family(系列)-8051,Controller(控制器)-AT89C51,Compiler(編譯器)-ASEM-51,至此就完成工程的新建。

2.2 Keil 軟件

Keil 軟件是德國(guó)開(kāi)發(fā)的,目前最流行開(kāi)發(fā)51 系列單片機(jī)的軟件,支持C 語(yǔ)言和匯編語(yǔ)言。它具有方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具,它能夠不接硬件電路直接進(jìn)行用戶(hù)程序仿真,或利用硬件仿真器進(jìn)行實(shí)時(shí)仿真調(diào)試。新建Keil 工程的操作步驟如下:①新建一個(gè)文件夾,以工程的名字命名,用于存放該工程的文件,本例在桌面上新建一個(gè)命名為“霓虹燈K”的文件夾;②打開(kāi)Keil 軟件,單擊菜單欄“Project”選項(xiàng)中“New uVision Project”,新建工程,本例工程命名為“霓虹燈K”,保存路徑為“C:UsersstDesktop霓虹燈K”;單片機(jī)型號(hào)選擇Atmel 的AT89C51;③建立程序代碼文件,單擊菜單欄“File”選項(xiàng)中“New”,新建文件,本例文件命名為“霓虹燈K.asm”;④添加代碼文件到工程中,單擊Keil 軟件界面左框中“Target 1”前面的+號(hào),然后在“Source Group 1”選項(xiàng)上右鍵單擊,選擇“Add Files to Group Source Group 1”,將“霓虹燈K.asm”文件添加到工程中,至此就完成了工程的建立。

2.3 聯(lián)合仿真的配置

聯(lián)合仿真的配置步驟如下:①將Proteus 安裝目錄下的/MODELSVDM51.dll 文件復(fù)制到Keil 安裝目錄下的C51BIN 中,如果沒(méi)有VDM51.dll 文件,則從網(wǎng)上下載,分別放到Proteus 和Keil 軟件的對(duì)應(yīng)位置;②用記事本打開(kāi)Keil 安裝目錄下的TOOLS.INI,然后在“c51”后面加上TDRV5=BINVDM51.DLL(Proteus VSM Monitor-51 Driver),這里的“5”要根據(jù)實(shí)際情況修改,只要和之前的不重復(fù),就可以;③打開(kāi)Keil 軟件,新建工程,完成代碼編寫(xiě)后,在“Project”菜單中選中“目標(biāo)Target1 屬性配置”,在Debug 選項(xiàng)欄下單擊右上角Use 選項(xiàng)前面的方框,并在它右邊的下拉框中,選中Proteus VSM Monitor-51 Driver[1],其他設(shè)置保持默認(rèn)狀態(tài),然后點(diǎn)擊ok;④打開(kāi)Proteus 軟件,繪制出電路圖,在Proteus的debug 菜單中選中use remote debug monitor。

3 實(shí)驗(yàn)教學(xué)實(shí)例

本文通過(guò)“霓虹燈控制”教學(xué)實(shí)例,講述Proteus 軟件和Keil 軟件在單片機(jī)教學(xué)中的應(yīng)用。

3.1 實(shí)驗(yàn)要求

按下啟動(dòng)鍵,實(shí)現(xiàn)8 個(gè)發(fā)光二極管先從中間向兩邊依次點(diǎn)亮,然后從高位向低位逐個(gè)點(diǎn)亮來(lái)模擬霓虹燈效果,循環(huán)3 次后全部熄滅,期間任何時(shí)候按下停止鍵,燈全部熄滅。

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

打開(kāi)Proteus 軟件,按照前面提到的新建工程的操作步驟,進(jìn)行原理圖繪制,繪制好的電路如圖1 所示。

圖1 “霓虹燈控制”電路圖

圖1 中的元器件有AT89C51 芯片、12 MHz 石英晶振、22 pF 陶瓷電容、15 uF 的電解電容、10 kΩ電阻、220 Ω電阻、發(fā)光二極管、按鍵。硬件設(shè)計(jì)采用單片機(jī)內(nèi)部時(shí)鐘電路和按鍵復(fù)位電路,發(fā)光二極管采用共陽(yáng)連接方式。通過(guò)采集P1.6和P1.7 的信號(hào)來(lái)判斷啟動(dòng)和停止鍵是否有按下,當(dāng)按下啟動(dòng)或停止按鍵時(shí),P1.6 或P1.7 會(huì)采集到“0”即低電平信號(hào),否則采集到“1”即高電位信號(hào)。

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

本系統(tǒng)為較復(fù)雜的霓虹燈控制方式,采用查表方法將亮燈數(shù)據(jù)存放在一個(gè)數(shù)據(jù)表中,通過(guò)修改數(shù)據(jù)索引值不斷取出亮燈數(shù)據(jù)。采用主程序調(diào)用子程序的模塊化結(jié)構(gòu),主要由主程序、延時(shí)子程序、消抖子程序等部分組成。

3.3.1 主程序

主程序主要完成按鍵是否按下判斷、初始化、查表、循環(huán)結(jié)束判斷、調(diào)用延時(shí)子程序、調(diào)用消抖子程序等功能。主程序的代碼如表1 所示。

3.3.2 延時(shí)子程序

延時(shí)子程序如表2 所示。本系統(tǒng)中有2 個(gè)延時(shí)子程序,標(biāo)號(hào)為DELAY 的大約延時(shí)1 s,是相鄰亮燈數(shù)據(jù)的間隔時(shí)間。標(biāo)號(hào)為DELAY1 的延時(shí)子程序,實(shí)現(xiàn)約12 ms 的延時(shí),用于按鍵消抖,按下按鍵后,延時(shí)12 ms,再次檢測(cè)按鍵狀態(tài),如果仍為按下?tīng)顟B(tài),則判斷按鍵有效按下,否則無(wú)效。通常按鍵去抖動(dòng)有硬件和軟件兩種方法,為了使電路設(shè)計(jì)簡(jiǎn)化,通常采用軟件去抖動(dòng)。

延時(shí)程序的延時(shí)時(shí)間估算方法是:第一重循環(huán)執(zhí)行一次的機(jī)器周期總數(shù)×第一重循環(huán)的總次數(shù)×第二重循環(huán)的總次數(shù)×…×第n 重循環(huán)的總次數(shù)×1 個(gè)機(jī)器周期[2],如本例1 s 延時(shí)子程序,為3 重循環(huán)結(jié)構(gòu),晶振頻率為12 MHz,1 個(gè)機(jī)器周期是1 us,則t=(1+1+2)×250×250×4×1 us=1 s。

表1 主程序的代碼

表2 延時(shí)子程序

3.4 聯(lián)合仿真調(diào)試

在Proteus 軟件建立好硬件電路,Keil 軟件中編寫(xiě)好程序代碼并編譯通過(guò)后,再按照前面提到過(guò)的聯(lián)合仿真時(shí)這兩個(gè)軟件的參數(shù)配置進(jìn)行設(shè)置之后,在Keil 軟件中進(jìn)入仿真調(diào)試讓程序開(kāi)始工作;然后在Proteus 軟件的硬件電路上,按下啟動(dòng)按鍵,觀(guān)察燈的顯示情況,期間任何時(shí)候按下停止鍵,觀(guān)察燈的顯示情況,以此來(lái)驗(yàn)證程序的可行性。如果出現(xiàn)結(jié)果不符合要求時(shí),可以在Keil 軟件中進(jìn)行單步、跟蹤、設(shè)置斷點(diǎn)等方式進(jìn)行調(diào)試,分析、找出問(wèn)題并解決。在完成本例任務(wù)要求的基礎(chǔ)上,可以讓學(xué)生進(jìn)行拓展,自由設(shè)計(jì)硬件電路和軟件程序,實(shí)現(xiàn)對(duì)燈的更豐富的顯示花樣控制。

4 結(jié)語(yǔ)

本文通過(guò)介紹Proteus 軟件和Keil 軟件新建工程的步驟和聯(lián)合仿真的配置方法,并結(jié)合實(shí)例,向?qū)W生展示了單片機(jī)系統(tǒng)軟硬件綜合設(shè)計(jì)的整個(gè)開(kāi)發(fā)過(guò)程,有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生對(duì)單片機(jī)系統(tǒng)的硬件和軟件的理解能力、創(chuàng)新及綜合應(yīng)用能力,教學(xué)效果明顯得到提高。

猜你喜歡
子程序霓虹燈本例
夜釣
霓虹燈博物館,一處斑斕的廢墟
數(shù)控加工中數(shù)控程序的簡(jiǎn)化
《思考心電圖之176》答案
子程序在數(shù)控車(chē)編程中的創(chuàng)新應(yīng)用
霓虹夢(mèng)
在數(shù)控車(chē)床上加工軟軸零件
都是忽視“O和1”的錯(cuò)
《霓虹燈下的哨兵》民間隱形結(jié)構(gòu)解析
繞組重繞數(shù)據(jù)的索取