《微控制器技術(shù)與應(yīng)用》學習情景五 模擬廣告流水燈的設(shè)計與調(diào)試_第1頁
《微控制器技術(shù)與應(yīng)用》學習情景五 模擬廣告流水燈的設(shè)計與調(diào)試_第2頁
《微控制器技術(shù)與應(yīng)用》學習情景五 模擬廣告流水燈的設(shè)計與調(diào)試_第3頁
《微控制器技術(shù)與應(yīng)用》學習情景五 模擬廣告流水燈的設(shè)計與調(diào)試_第4頁
《微控制器技術(shù)與應(yīng)用》學習情景五 模擬廣告流水燈的設(shè)計與調(diào)試_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

學習情景五模擬廣告流水燈的設(shè)計與調(diào)試5.1任務(wù)1單LED發(fā)光控制5.2任務(wù)2單LED閃爍5.3任務(wù)3單LED發(fā)光亮度控制5.4任務(wù)4單LED流水閃爍5.5任務(wù)5可控模擬廣告流水燈5.6情景評價5.7情景總結(jié)返回5.1任務(wù)1單LED惹光控制5.1.1任務(wù)內(nèi)容利用C51語言編程,實現(xiàn)微控制器89C51的P2口驅(qū)動發(fā)光二極管D1點亮控制。在KeilC51軟件環(huán)境下進行編譯、調(diào)試,學會利用單步、跟蹤等調(diào)試方法解決調(diào)試過程中的問題。利用Proteus軟件進行仿真,驗證結(jié)果的正確性。5.1.2任務(wù)實施

1.硬件電路設(shè)計根據(jù)任務(wù)要求,首先要了解微控制器和發(fā)光二極管工作原理,依據(jù)二極管的單向?qū)щ娦詠碓O(shè)計電路,確定主要元件參數(shù)。下一頁返回5.1任務(wù)1單LED惹光控制微控制器的P2.0連接到發(fā)光二極管D1的陰極,發(fā)光二極管D1的陽極通過限流電阻接到正電源(相當于高電平)。當微控制器的P2.0輸出低電平(接近零電位,相當于電源)時,發(fā)光二極管D1的陽極電位高于陰極電位,在電路參數(shù)選擇合適的情況下,D1就會導通點亮;相反,當微控制器的P2.0輸出高電平,發(fā)光二極管就會截止,D1不亮。一般的發(fā)光二極管在導通狀態(tài)下其管壓降U約為1.8一2.2V,計算時常取2V,流過二極管的電流I約為20mA,已知電源電壓竹、:為SV,要保證發(fā)光二極管正常工作,必須在電路中串聯(lián)限流電阻,其計算公式為:限流電阻上一頁下一頁返回5.1任務(wù)1單LED惹光控制因為這里U,I為估算值,因此為了保證其可靠工作,這里取200SL,此種計算方法也可推廣到其他場合。由于微控制器P2口的8個引腳可以同時或分別輸出不同的電平,所以可以控制不同的發(fā)光二極管D1一D8亮滅,請思考一下如何實現(xiàn)。按圖5.1所示,在Proteus軟件中連接電路,做好仿真準備,待仿真成功后,可下載Hex文件,實際搭接電路進行調(diào)試。元件清單如表5一1所示。上一頁下一頁返回5.1任務(wù)1單LED惹光控制

2.軟件設(shè)計(1)知識鞏固與提高C語言程序開始部分通常是預處理命令,例如:#include<reg51.h>,其中#include<>為預處理命令,reg51.h為頭文件。此命令要求編譯器在對程序進行編譯時將頭文件一起編譯,頭文件包含了很多編譯時一些必要信息,如定義了微控制器中特殊功能寄存器地址以及端口地址等,可以幫助我們使用C51芯片內(nèi)部資源,需要時直接調(diào)用即可,不必另行編寫。我們可以通過shit定義位變量,表示微控制器的一個位地址或者一個二進制的位變量,其值只能是0或者1,變量的標識符命名時可以使用字母、數(shù)字和下劃線,大小寫的書寫嚴格區(qū)分,不能與關(guān)鍵詞同名,例如不能使用shitint=P2∧0上一頁下一頁返回5.1任務(wù)1單LED惹光控制

C語言程序由函數(shù)構(gòu)成,其中main()為程序的主函數(shù),是每個程序執(zhí)行的起始點。使用注釋可以提高程序可讀性,是一種良好的編程習慣,建議今后編程多用注釋以提高程序的可讀性。例如使用“/**/”進行多行注釋,或者使用“//”對當前行注釋。注釋內(nèi)容應(yīng)簡練、清楚、明了,一口了然的語句不加注釋。在程序的書寫中,我們多用TAB鍵將每一部分的語句對齊,使編寫的程序呈階梯形,這樣可以幫助我們分清不同的程序體,便于閱讀和調(diào)試。while(1);為一個死循環(huán),可以理解為程序?qū)⒃诖颂庍M入空閑和等待狀態(tài)。(2)流程圖和示例程序流程圖如圖5.2所示上一頁下一頁返回5.1任務(wù)1單LED惹光控制

3.調(diào)試與仿真①運行KeilNVersion2軟件,新建工程文件“單LED點亮.}.,v2"o②對基本的工作參數(shù)進行設(shè)置。③在該工程文件下,新建C源程序文件“單LED點亮.r.④輸入編制好的程序,并進行編譯、調(diào)試,注意使用復位、全速運行、停止、單步運行等工具。⑤處理和解決調(diào)試過程中出現(xiàn)的問題。⑥最后通過編譯并生成“單LED點亮.hex”文件。⑦運行Proteus軟件進行仿真并觀察仿真結(jié)果,必要時要對程序進行修改。上一頁下一頁返回5.1任務(wù)1單LED惹光控制

4.結(jié)果測試在仿真正確的情況下,在Proteus軟件中,利用模擬測量工具對二極管端電壓隊流過二極管的電流I等參數(shù)進行測量,注意選用的工具和測量方法,并與理論值對比并分析其原因。5.1.3任務(wù)擴展①根據(jù)原電路如何實現(xiàn)D2的點亮?②如何實現(xiàn)D2,D4、D民D8四只LED同時點亮?③如何實現(xiàn)全部的LED同時點亮?④如何實現(xiàn)某只LED的閃爍?⑤根據(jù)原理圖,如果把二極管極性對調(diào)安裝,二極管陰極接CND,是否能實現(xiàn)點亮,結(jié)果會如何?上一頁返回5.2任務(wù)2單LED閃爍5.2.1任務(wù)內(nèi)容利用C51語言編程,實現(xiàn)對微控制器89C51的P2口驅(qū)動發(fā)光二極管D1閃爍控制,閃爍間隔時間為2s,即亮1S,滅1S。在KeilC51軟件環(huán)境下進行編譯并調(diào)試,并利用PT'OtPL1S軟件進行仿真,驗證其功能。5.2.2任務(wù)實施1.硬件電路設(shè)計根據(jù)任務(wù)要求,設(shè)計硬件電路,電路原理如圖5.1所示,以D1為例,元器件清單同表5一1所示下一頁返回5.2任務(wù)2單LED閃爍

2.軟件設(shè)計(1)知識鞏固與提高程序設(shè)計分析:若要實現(xiàn)發(fā)光二極管交替閃爍,必須使二極管一段時間亮、一段時間滅,根據(jù)任務(wù)要求,這里的時間間隔正是is,不斷往復的過程。為實現(xiàn)這一時間間隔,通常用軟件延時來實現(xiàn)。眾所周知:微控制器指令的執(zhí)行是有一定時間的,MCS一51系列微控制器一條指令執(zhí)行時間一般為1~nμs不等。因此,若需要延時,只要讓微控制器執(zhí)行一段“無用程序”消耗一定的時間即可,其時間的長短可通過執(zhí)行代碼的多少來實現(xiàn),這里為了優(yōu)化程序,采用了循環(huán)結(jié)構(gòu),即通過設(shè)置循環(huán)次數(shù)決定延時長短。上一頁下一頁返回5.2任務(wù)2單LED閃爍

C51程序是由函數(shù)構(gòu)成,函數(shù)是一個自我包含的完成一定功能的代碼段,編譯器通常會自帶一些標準的庫函數(shù),但有時不能完全滿足開發(fā)者的需要,因此,有時必須自行編制函數(shù),函數(shù)調(diào)用前必須先定義。函數(shù)類型實際上是說明函數(shù)返回值的類型,所謂返回值實際上就是一個變量,按變量類型定義即可。通常用“void”表示函數(shù)沒有返回值,如voiddelay()。在函數(shù)中通常會用到變量,如“t”,所謂變量就是在程序執(zhí)行過程中會變化的量。變量使用前需要定義其類型,并且要用標示符為其命名,其命名遵循標識符命名原則。通常使用unsignedint、unsignedchar等類型進行定義。注意:變量如果定義在函數(shù)的外面,成為全局變量,可以為整個程序使用;變量如果定義在函數(shù)體內(nèi),稱之為局部變量,則只能在函數(shù)內(nèi)部使用。上一頁下一頁返回5.2任務(wù)2單LED閃爍

while(條件表達式){循環(huán)體},表示當條件表達式的值為真(非o>時,就執(zhí)行循環(huán)體,否則退出,其特點是先判斷再執(zhí)行。而do{循環(huán)體}while(條件表達式)循環(huán)結(jié)構(gòu)與其相反,是先執(zhí)行再判斷。for(<初始化>;<條件表達式>;<增量>){循環(huán)體},初始化一般是一個賦值語句,它用來給循環(huán)控制變量賦初值,條件表達式是一個關(guān)系表達式,它決定什么時候退出循環(huán),增量定義循環(huán)控制變量每循環(huán)一次后按什么方式變化。延時程序可以用一個子函數(shù)實現(xiàn),一般用delay作為函數(shù)名,例如定義延時函數(shù)voiddelay()或delay(unsignedintt),其區(qū)別是前者沒有返回值,后者有且是無符號整型。若微控制器系統(tǒng)中晶振為12MHz,其相應(yīng)的1個機器周期為1μs,通過驗證,for(j=0;j<125;j++)循環(huán)語句執(zhí)行一個循環(huán)約持續(xù)1ms。并以此為基本時間單位,利用for循環(huán)嵌套方法實現(xiàn)特定時間的延時。上一頁下一頁返回5.2任務(wù)2單LED閃爍“一”運算符功能是按位取反,其使用形式為一表達式。(2)流程圖和源程序程序流程圖如圖5.3所示。

3.調(diào)試與仿真①運行KeilNVersion2軟件,新建工程文件“單LED閃爍.μv2②對該工程文件的基本工作參數(shù)進行設(shè)置。③在該工程項目文件下,新建C源程序文件“單LED閃爍.C”。④輸入編制好的程序,并進行編譯、調(diào)試,注意使用復位、全速運行、停止、單步運行等工具。⑤處理和解決調(diào)試過程中出現(xiàn)的問題。⑥最后通過編譯并生成“單LED閃爍.hex”文件。上一頁下一頁返回5.2任務(wù)2單LED閃爍⑦運行Proteus軟件進行仿真并觀察仿真結(jié)果,必要時要對程序進行修改。4.結(jié)果測試在正確實現(xiàn)其功能的前提下,測試單只發(fā)光二極管閃爍的間隔時間,看是否準確并思考如何調(diào)整。注意選用的工具和測量方法。上一頁下一頁返回5.2任務(wù)2單LED閃爍5.2.3任務(wù)擴展①試編寫程序使P2.0和P2.1口所接發(fā)光二極管D1和D2同時閃爍,每1秒1次。②試編寫程序使P2口所接所有發(fā)光二極管D1~D8同時以上述時間間隔閃爍。③試編寫程序使P2口的低四位即D1~D4和高四位即D5~D8以上述時間間隔交替閃爍。④試編寫程序使P2口所接發(fā)光二極管D1~D8由低位到高位以上述時間間隔循環(huán)閃爍。上一頁返回5.3任務(wù)3單LED惹光亮度控制5.3.1任務(wù)內(nèi)容利用C51語言編程,產(chǎn)生PWM驅(qū)動脈沖,實現(xiàn)微控制器89C51的P2口驅(qū)動發(fā)光二極1點亮,并通過外部的“+”、“-”按鍵實現(xiàn)0%~100%的亮度調(diào)節(jié)。在此基礎(chǔ)上擴充PUM調(diào)光的應(yīng)用。在KeilC51軟件環(huán)境下進行編譯、調(diào)試,利用Proteus軟件進行仿真,下一頁返回5.3任務(wù)3單LED惹光亮度控制5.3.2任務(wù)實施1.硬件電路設(shè)計根據(jù)任務(wù)要求,微控制器驅(qū)動發(fā)光二極管部分原理與前述一致,電路結(jié)構(gòu)及元件參數(shù)不再闡述。根據(jù)鍵盤工作原理可知,在按鍵操作時,在微控制器口線上需有電平的變化,為防止外部“干擾”或鍵的“抖動”,往往還要利用硬件或軟件的方法進行鍵盤去抖設(shè)計(本任務(wù)中暫不設(shè)計硬件防抖電路)。因此,采用按鍵與上拉電阻串聯(lián)的結(jié)構(gòu)實現(xiàn),根據(jù)經(jīng)驗一般取上拉電阻為10kΩ電路如圖5.4所示。元件清單如表5-2所示。上一頁下一頁返回5.3任務(wù)3單LED惹光亮度控制

2.軟件設(shè)計(1)知識鞏固與提高占空比的定義:就是PWM脈沖中,高電平保持的時間與該PWM的時鐘周期的時間之比。LED亮度的調(diào)節(jié)原理:它是把脈沖寬度均相等的脈沖序列作PWM波形,通過改變脈沖的寬度或占空比可以調(diào)壓,而達到控制電流的口的。簡單地說,就是計算一段時間內(nèi)的平均電源或電流,占空比越大,平均電壓或電流越大,當占空比為“0”時電壓(或電流)為零,反之亦然。例如,把1s分成1000份,每一份就是1ms。然后通過控制芯片,讓LED點亮7ms,熄滅3ms,這樣在is的時間內(nèi)它只工作了0.7s,但是由于閃爍間隔很短,肉眼分辨LED的閃爍,只會認為LED亮度變暗,是原來的0.7倍,這樣就達到了調(diào)光的效果。上一頁下一頁返回5.3任務(wù)3單LED惹光亮度控制同理,我們可以調(diào)節(jié)LED亮度從0%~100%的任何亮度。這種調(diào)光方法之所以不會使LED發(fā)生偏色的現(xiàn)象也是利用了人眼的“視覺暫留效應(yīng)”。應(yīng)用時,PWM頻率盡量不要在200~20KHz范圍,因為此頻段是音頻范圍,工作時會產(chǎn)生噪聲。根據(jù)上述原理,在軟件設(shè)計時可在一個循環(huán)周期內(nèi),通過控制LED“連續(xù)”點亮的時間和“連續(xù)”熄滅的時間,通過它們的比值來實現(xiàn)PWM脈沖的占空比調(diào)整,實現(xiàn)調(diào)光。鍵盤防抖是控制系統(tǒng)應(yīng)用時一項重要的技術(shù),主要是為防止信號的干擾使輸入端產(chǎn)生“誤動作”而采取的一種措施,主要分為硬件防抖和軟件防抖,這里主要討論軟件防抖。根據(jù)經(jīng)驗一個干擾持續(xù)時間一般不會超過10ms,因此,在軟件設(shè)計時通常在讀鍵值時采用延時10ms的方法,即第一次讀取有效鍵值后,延時10ms,再次讀取鍵值,當此鍵值仍存在時,此次讀取有效,認為此按鍵進行了一次動作。上一頁下一頁返回5.3任務(wù)3單LED惹光亮度控制否則,認為是干擾,不予處理。取模運算“%”即求余:例a%b,表示a除以b的余數(shù)。模運算在數(shù)論和程序設(shè)計中都有著廣泛的應(yīng)用,從奇偶數(shù)的判別到素數(shù)的判別,從模冪運算到最大公約數(shù)的求法等,本任務(wù)中主要是對“+”、“-”數(shù)值的判斷,控制溢出。(2)流程圖和源程序程序流程圖如所示。3.調(diào)試與仿真圖5.5①運行KeilNVersion2軟件,新建工程文件“單LED發(fā)光亮度控制.μv3。②對基本的工作參數(shù)進行設(shè)置。③在該工程文件下,新建C源程序文件“單LED發(fā)光亮度控制.C”。上一頁下一頁返回5.3任務(wù)3單LED惹光亮度控制④輸入編制好的程序,并進行編譯、調(diào)試。⑤注意處理和解決調(diào)試過程中易出現(xiàn)的邏輯和嵌套問題。⑥最后通過編譯并生成“單LED發(fā)光亮度控制.hex”文件。⑦運行Proteus軟件進行仿真并觀察仿真結(jié)果,必要時要對程序進行修改。4.結(jié)果測試在Proteus軟件中仿真,驗證結(jié)果的正確性,觀察亮度變化,必要時可實際搭接電路進行觀察,體會并分析其工作原理,思考在其他領(lǐng)域的應(yīng)用。上一頁下一頁返回5.3任務(wù)3單LED惹光亮度控制5.3.3任務(wù)擴展①查閱有關(guān)調(diào)光資料,了解關(guān)于調(diào)光的其他方法和原理,對比分析優(yōu)缺點。②對比分析,調(diào)光原理與單LED閃爍的不同。③根據(jù)原程序,試調(diào)節(jié)延時時間,如10ms,試編寫程序,觀察結(jié)果并理解調(diào)光比的概念。④若用一個按鍵,如SW1實現(xiàn)對D1發(fā)光亮度的循環(huán)調(diào)節(jié),試編寫程序。上一頁返回5.4任務(wù)4單LED流水閃爍5.4.1任務(wù)內(nèi)容用C51語言編程,實現(xiàn)對微控制器89C51的P2口驅(qū)動單發(fā)光二極管D1由低位到高位流水閃爍,間隔500ms。在KeilC51軟件環(huán)境下進行編譯并調(diào)試,調(diào)試過程中注意單步、跟蹤等方法的使用,注意觀察相關(guān)寄存器數(shù)值的變化。并利用Proteus軟件進行仿真,驗證其功能。5.4.2任務(wù)實施1.硬件電路設(shè)計根據(jù)任務(wù)要求,設(shè)計硬件電路,電路原理同圖5.1,元器件清單同表5一1。下一頁返回5.4任務(wù)4單LED流水閃爍

2.軟件設(shè)計(1)知識鞏固與提高程序設(shè)計分析:按任務(wù)要求,要實現(xiàn)P2口的8只發(fā)光二極管實現(xiàn)單LED流水閃爍,只要同一時刻P2口只有1位為低電平,其他位為高電平,且使此低電平依次循環(huán)即可,根據(jù)數(shù)制的知識可知,只要使P2口初值為OFEH(即1111,11108),再對其進行循環(huán)移位即可實現(xiàn)。為了滿足閃爍時間間隔要求,每循環(huán)一次調(diào)用一次延時函數(shù)。利用C51程序中的循環(huán)移位函數(shù)即可實現(xiàn)。循環(huán)移位函數(shù):在C51頭文件intrins.h中有循環(huán)移位函數(shù),crol(a,b表示將一個無符號字符變量a循環(huán)左移b次,同理,cror(a,b表示將一個無符號字符變量a循環(huán)右移b次,其應(yīng)用形式為:a=crol(a,b)。在使用該函數(shù)前,請在程序開始聲明:#include<intrins.h>。上一頁下一頁返回5.4任務(wù)4單LED流水閃爍

3.調(diào)試與仿真①運行KeilNVersion2軟件,新建工程文件“單LED流水閃爍.μv2②對該項目工程文件的基本工作參數(shù)進行設(shè)置。③在該工程文件下,新建C源程序文件“單LED流水閃爍.r.④輸入編制好的程序,并進行編譯、調(diào)試,注意使用復位、全速運行、停止、單步運行等工具。⑤處理和解決調(diào)試過程中出現(xiàn)的問題。⑥最后通過編譯并生成“單LED流水閃爍.hex”文件。⑦運行Proteus軟件進行仿真并觀察仿真結(jié)果,必要時要對程序進行修改。

4.結(jié)果測試在正確實現(xiàn)其功能的前提下,測試發(fā)光二極管閃爍的間隔時間,驗證是否準確并思考如何調(diào)整。上一頁下一頁返回5.4任務(wù)4單LED流水閃爍5.4.3任務(wù)擴展①試編寫程序?qū)崿F(xiàn)P2口所接發(fā)光二極管單LED由高位到低位的流水閃爍間隔時間為500ms。②試用其他方法實現(xiàn)單LED流水閃爍,如C51中的位左移或位右移運算符“《”或“》”、數(shù)組的方法。并比較幾種方法的優(yōu)缺點。③觀察模擬戶外廣告裝飾燈的閃爍模式,試思考如何實現(xiàn)多種閃爍模式的交替實現(xiàn)。④思考如何利用外部的按鈕開關(guān)實現(xiàn)對流水燈閃爍頻率、模式的控制。上一頁返回5.5任務(wù)5可控模擬廣告流水燈5.5.1任務(wù)內(nèi)容用C51語言編程,實現(xiàn)對微控制器89C51的P2口驅(qū)動發(fā)光二極管實現(xiàn)模擬廣告流水燈的控制。利用外部按鍵循環(huán)設(shè)置流水燈的閃爍頻率和模式。兩種閃爍時間間隔分別是500ms,15。兩種閃爍模式分別是單LED由低到高流水閃爍、單號LED和雙號LED交錯閃爍。初始狀態(tài)為單LED由低到高流水閃爍,閃爍間隔500ms在KeilC51軟件環(huán)境下進行編譯并調(diào)試,由于程序較復雜,調(diào)試時要多利用單步、跟蹤的方法,以方便改正程序的邏輯錯誤。利用Proteus軟件進行仿真驗證,實現(xiàn)模擬廣告流水燈的顯示效果和設(shè)置下一頁返回5.5任務(wù)5可控模擬廣告流水燈5.5.2任務(wù)實施1.硬件電路設(shè)計根據(jù)要求,要設(shè)計兩個按鍵,實現(xiàn)閃爍模式和時間間隔的設(shè)置,采用中斷方式實現(xiàn),即當微控制器P3.2()和P3.3()兩引腳出現(xiàn)下跳沿或低電平時,系統(tǒng)提出相應(yīng)的中斷請求,完成上述設(shè)置。根據(jù)以上分析,在圖5.1的基礎(chǔ)上,設(shè)計按鍵電路,產(chǎn)生下跳沿信號。正常情況下,P3.2和P3.3引腳為高電平,由電阻R10和R11接從:、:實現(xiàn)上拉;當按鍵SW2和SW3按下時,電路接通,P3.2和P3.3引腳電平由高變低。硬件電路圖如圖5.4所示,元器件清單如表5一2所示。上一頁下一頁返回5.5任務(wù)5可控模擬廣告流水燈

2.軟件設(shè)計(1)知識鞏固與提高程序設(shè)計分析:一般的模擬廣告流水燈是固定形式、固定閃爍時間,使用起來不夠靈活,而通過外部的按鍵或開關(guān)可以隨時控制流水燈閃爍形式及時間,具有靈活、方便等特點。按鍵信息的輸入有兩種形式,一種是中斷方式,一種是查詢方式中斷方式具有響應(yīng)速度快、不占用CPU資源等優(yōu)點;查詢方式是通過定期對端口進行查詢,當滿足一定條件時,開始執(zhí)行響應(yīng)程序,該方式占用一定的CPU資源,效率較低,主要應(yīng)用在外部按鍵較少的場合,該方法可以推廣應(yīng)用到很多場合。本任務(wù)中采用了中斷方式,當外部有鍵按下時,微控制器立即響應(yīng)中斷程序,分別完成對閃爍模式、閃爍頻率的設(shè)定。上一頁下一頁返回5.5任務(wù)5可控模擬廣告流水燈所謂中斷是指微控制器在正常執(zhí)行程序的過程中,由于內(nèi)部或外部突發(fā)事件的影響,微控制器暫停執(zhí)行當前程序,轉(zhuǎn)而處理突發(fā)事件,即執(zhí)行突發(fā)事件的中斷服務(wù)程序,待事件處理完成后,再返回程序斷點處繼續(xù)執(zhí)行原程序。采用中斷方式可以提高程序的執(zhí)行效率,實現(xiàn)分時操作和實時處理。中斷有優(yōu)先級的區(qū)別,根據(jù)中斷源的不同可分為內(nèi)部中斷和外部中斷。中斷系統(tǒng)涉及TCON,SCON,IE,IP四個特殊功能寄存器,在編程時要對它們進行相應(yīng)的設(shè)置。中斷函數(shù)的定義:函數(shù)的返回值函數(shù)名([參數(shù)])interruptn}usingm{函數(shù)體;}。上一頁下一頁返回5.5任務(wù)5可控模擬廣告流水燈中斷函數(shù)說明:中斷程序的返回值和參數(shù)一般是void;interruptn中n的取值為0~31的常數(shù),不能用表達式,表示中斷向量的編號;usingm中m的取值為0~3的常數(shù),不能是表達式,表示內(nèi)部RAM中的第m組工作寄存器。在調(diào)用中斷函數(shù)時,要求中斷過程調(diào)用的函數(shù)所使用的寄存器組必須與其一致。由于發(fā)光二極管閃爍間隔時間有兩組,因此,如用二個延時程序就會使程序冗長。為解決此問題,本任務(wù)中采用了帶返回值的延時程序即:voiddelay(unsignedintt),通過設(shè)置t就可以改變延時的長短。掌握位運算符如“&”、“一”等的使用。goto語句的一般形式為“goto語句標號;”,常用于嵌套程序的退出,避免過多使用。(2)流程圖和源程序程序流程圖如圖5.7所示。上一頁下一頁返回5.5任務(wù)5可控模擬廣告流水燈

3.調(diào)試與仿真①運行KeilNVersion2軟件,新建工程文件“可控模擬廣告流水燈.μv2"②對該項目工程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論