




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、2022/9/3可編輯1本章導讀本章介紹單片機控制實驗與實訓的內(nèi)容。在實驗中介紹了單片機與新熱敏微打接口設計等實用性的內(nèi)容;在實訓中加強了工具軟件的使用,通過Keil Vision3開發(fā)單片機C語言程序?qū)嵗?讓讀者掌握單片機C程序的開發(fā)過程;通過項目化實例介紹了用proteus ISIS進行單片機實驗的虛擬仿真的方法;通過威龍VP-ISP1編程器進行ISP編程,介紹了對傳統(tǒng)編程技術的一大革新的ISP技術。這些項目化內(nèi)容還適用于維修電工等工種技師、高級技師的單片機技術培訓的應會項目。第10章 單片機的實驗與實訓2022/9/3可編輯210.1.1 關于單片機控制實驗與實訓1硬件要求(1)微機一臺
2、,目前市售的微機均能滿足要求。(2)通用編程器一臺。(3)用戶板??刹捎檬惺鄣耐ㄓ糜∷⒕€路板,或用Protell99SE自制,按實驗電路自行布局、焊接與調(diào)試,更接近生產(chǎn)實際;也可利用現(xiàn)有的各類用戶板,相關實驗程序必要時可以稍作修改,但在硬件上受益不如前者。用戶板5V穩(wěn)壓電源一個。(4)有條件的話,可以有一臺仿真器,將會使編程調(diào)試更方便。10.1 單片機應用系統(tǒng)實驗2022/9/3可編輯32軟件要求(1)一個好的采用Windows平臺的MCU開發(fā)軟件是必須的。例如,Keil Software公司的Keil C51中的Keil Vision3是值得首選的。Keil C51軟件的安裝與使用,請分別參
3、見2.22.3節(jié);用Keil Vision3開發(fā)C語言程序?qū)嵗齾⒁?0.2.1小節(jié)。(2)如果上述硬件要求中,只有一臺微機,為彌補相應硬件的不足,不妨用protues軟件建立單片機仿真虛擬實驗室。proteus7_1sp2的安裝, 以及與Keil C51集成調(diào)試項目實例請參見10.2.3小節(jié)。3實驗內(nèi)容的說明(1)在學習指令與程序設計時,本著邊學邊上機實驗10.1.1 關于單片機控制實驗與實訓 2 2022/9/3可編輯4練習的原則,在相應章節(jié)的例題中已經(jīng)要求讀者用Keil Vision3進行上機驗證,并給出了程序的運行結果。這樣,本章不再安排此類實驗。其中: MCS-51的指令系統(tǒng)實驗,請按
4、第4章例4.4例4.13、例4.15、例4.16、例4.18和例4.19中的要求進行。 MCS-51匯編程序設計實驗,請按第5章例5.1、例5.2、例5.4、例5.7、例5.9例5.13、例5.15、例5.16中的要求進行。(2)本章主要安排單片機片內(nèi)集成功能部件以及接口應用的實驗。1. 實驗目的與功能要求(1)熟悉MCS-51并行口的結構和基本應用;掌握并10.1.2實驗1 I/O口控制流水燈掃描 1 2022/9/3可編輯5口編程技巧和軟件延時方法。(2)編制源程序,控制用戶板上8個LED按如下方式掃描:先是亮燈從低向高逐位掃描,再從高向低逐位掃描,循環(huán)3次;接著,全亮全暗3次;此后,暗燈
5、從低向高逐位掃描,再從高向低逐位掃描,循環(huán)3次。此后重新循環(huán)。 2. 實驗電路與程序(1)設計原理圖用89C2051控制的,可參照圖2.2,在P1口接上8組LED與限流電阻串聯(lián)組合;用89S51或89C51,可用圖10.8電路。 (2)編制源程序匯編源程序lsd10_1. asm見教材P.221P.222。3. 實驗步驟10.1.2實驗1 I/O口控制流水燈掃描 2 2022/9/3可編輯6(1)按設計的原理圖,制作用戶板,并排除硬件上的問題。利用現(xiàn)成用戶板, 要注意是否要修改源程序。(2)用MedWinV3開發(fā)本項目(或用Keil Vision3)按9.3介紹方法創(chuàng)建新項目lsd10_1,編
6、輯上述源程序lsd10_1.asm并導入到該項目中。匯編、連接該項目,通過反復糾錯,直至把程序調(diào)試出來。按9.4介紹的方法分別進行用戶系統(tǒng)的模擬仿真。用單步執(zhí)行程序,觀察對應R3值的P1口值的變化規(guī)律應如表10.1所示。也可用ME-52HU進行硬件仿真,觀察LED燈隨程序 運行掃描變化是否正確。在仿真中,如果發(fā)現(xiàn)錯誤,要重新進行源程序的編輯、匯編和連接,直至正確為止。10.1.2實驗1 I/O口控制流水燈掃描 3 2022/9/3可編輯7(3)將十六進制代碼固化到芯片用WH-500APU編程器的,見2.5節(jié)說明進行;用西爾特SUPERPRO/280U編程器的,見10.2.1節(jié)第(5)中進行。(
7、4)脫離仿真器,在用戶板上運行將固化好的單片機芯片插入用戶板的芯片座上,并給用戶板加上電源,觀察流水燈掃描的實際效果。10.1.2實驗1 I/O口控制流水燈掃描 4 2022/9/3可編輯84. 思考題(1)修改源程序,設計新的掃描模式。(2)計算D01S子程序中的延時時間。1. 實驗目的與功能要求(1)掌握用定時器產(chǎn)生音頻方波的方法,掌握定時器中斷程序的設計方法。(2)熟悉單片機音樂報警硬件電路設計與樂曲演奏程序編程技巧,編制匯編源程序,演奏 “鈴兒響叮當”。2. 實驗電路與程序(1)設計原理圖只要在實驗1的電路基礎上,在P3.7加接一個9012三極管去驅(qū)動蜂鳴器的電路,如圖10.1所示。1
8、0.1.3 實驗2控制蜂鳴器音樂發(fā)聲-鈴兒響叮當 1 2022/9/3可編輯9(2)單片機音樂發(fā)聲原理單片機演奏音樂時,要確定實現(xiàn)音調(diào)和節(jié)拍的算法。音調(diào)表示一個音符唱多高的頻率。節(jié)拍表示一個音符唱多長的時間。10.1.3 實驗2控制蜂鳴器音樂發(fā)聲-鈴兒響叮當 2 2022/9/3可編輯10在圖10.1中可通過定時器產(chǎn)生不同頻率的音符方波,經(jīng)P3.7去控制9012導通與截止,從而使蜂鳴器發(fā)出不同的音調(diào),并通過延時來控制音調(diào)的節(jié)拍,就可以使蜂鳴器演奏樂曲了。 音調(diào)算法曲調(diào)中各音符頻率是已知的,如表10.2(見教材P.224)給出了三個八度音的頻率。按頻率的倒數(shù)算出其周期,半周期時間由定時器在模式1
9、下定時產(chǎn)生,而計數(shù)初值C0的計算已在6.7節(jié)中推出為:C0 = 2k t fosc /12定時器模式1時k=16;再將音符頻率f半周期時間作為定10.1.3 實驗2控制蜂鳴器音樂發(fā)聲-鈴兒響叮當 3 2022/9/3可編輯11時時間t,即t= 1/(2f ),代入上式有: C0=216 t fosc/(24f )按此算法,求出各音符的計數(shù)初值,如表10.2中第3和第6列。每當定時器定時時間到,就使P3.7反相,再重新定時輸出,直至此音符的節(jié)拍完。 節(jié)拍的算法音符的節(jié)拍采用軟件延時來實現(xiàn)。確定一個基本時長(1/4拍)延時程序, 則對于1/4拍時長,只需一次延時,對于2/4拍時長,則需二次延時,依
10、次類推。各曲調(diào)的1/4和1/8拍時長設定參見表10.3 (教材P.225)。3. 實驗步驟(1)按音調(diào)節(jié)拍算法處理“鈴兒響叮當”樂譜建立表10.4(見教材P.225)對應音符頻率的計數(shù)初10.1.3 實驗2控制蜂鳴器音樂發(fā)聲-鈴兒響叮當 4 2022/9/3可編輯12值表將圖10.2 所示樂譜中的每個音符的簡譜,按從低到高的音調(diào),在表10.4的第1列中排列。第2列是對應簡譜的編號,便于在程序中對簡譜處理。第3、4列分別是對應的頻率和10.1.3 實驗2控制蜂鳴器音樂發(fā)聲-鈴兒響叮當 5 2022/9/3可編輯13定時器的計數(shù)初值。在源程序中也將按此順序建立決定音調(diào)的定時器計數(shù)初值表TAB1。
11、建立樂譜的音調(diào)節(jié)拍碼表按“鈴兒響叮當”樂譜的順序,把每一個簡譜的音調(diào)及節(jié)拍,變換成一個字節(jié)的數(shù)據(jù),其中音調(diào)碼為高4位,節(jié)拍碼為低4位,如此樂譜中第一個簡譜的音調(diào)節(jié)拍碼為12H。在源程序中也將按此建立樂譜的音調(diào)節(jié)拍碼表TAB,表的最后用00H來表示樂曲結束。程序執(zhí)行時將依次取出音符的音調(diào)節(jié)拍碼,根據(jù)高4位音調(diào)碼來查初值表TAB1,以決定音符播放的音調(diào);根據(jù)低4位節(jié)拍碼來控制執(zhí)行基本時長的延時程序的次數(shù),以實現(xiàn)音符播放的節(jié)拍。一個音符唱完后,接著,取出10.1.3 實驗2控制蜂鳴器音樂發(fā)聲-鈴兒響叮當 6 2022/9/3可編輯14下一個音符,直至播放完最后一個音符。(2)編制源程序。匯編源程序J
12、Bells10_2.asm見教材P.226P.228。(3)按原理圖制作用戶板,并排除硬件上的問題。(4)用MedWinV3開發(fā)本項目創(chuàng)建新項目JBells10_2,編輯上述JBells10_2.asm源程序并導入到該項目中。匯編、連接該項目。進行用戶系統(tǒng)的模擬仿真,也可以用ME-52HU進行硬件仿真。(5)脫離仿真器,在用戶板上運行將十六進制代碼固化到單片機芯片,并插入用戶板的芯片座上,并給用戶板加上電源。聆聽單片機演奏“鈴10.1.3 實驗2控制蜂鳴器音樂發(fā)聲-鈴兒響叮當 7 2022/9/3可編輯15兒響叮當”樂譜的實際效果。4. 思考題編一個不同樂譜的演奏程序,控制單片機演奏此樂曲。1
13、. 實驗目的與功能要求(1)掌握中斷控制初始化編程和中斷服務程序編程。(2)實驗電路如圖6.9所示,實現(xiàn)例6.2所述功能要求。2. 實驗電路與程序(1)設計原理圖:原理圖如圖6.9所示。(2)編制源程序:匯編源程序見例6.2的int10_3.asm。3. 實驗步驟(1)按設計原理圖,制作用戶板,并排除硬件上的問題。(2)用MedWinV3開發(fā)本項目10.1.4 實驗3外部中斷控制實驗 1 2022/9/3可編輯1610.1.4 實驗3外部中斷控制實驗 2 創(chuàng)建新項目int10_3,編輯源程序int10_3.asm并導入到該項目中。匯編、連接該項目, 把程序調(diào)試出來。用ME-52HU進行硬件仿真
14、。(5)脫離仿真器,在用戶板上運行 將十六進制代碼固化到芯片并將芯片插入用戶板芯片座上,設置開關為全合狀態(tài),并給用戶板加上電源。 開關K來回拔動一次產(chǎn)生一個下降沿,通過引腳向單片機請求中斷。CPU響應中斷,執(zhí)行中斷服務程序,4個發(fā)光二極管將根據(jù)對應按鈕狀態(tài)刷新為全亮。 將開關SB4和SB3閉合,SB2和SB1打開,重新運行程序,注意記錄對應開關狀態(tài),LED燈D4和D3是否點亮。4. 思考題2022/9/3可編輯1710.1.5 實驗4定時器輸出控制實驗 1 (1)在中斷服務程序中,為什么在讀入P1口按鈕狀態(tài)MOV A,P1指令前,要按排一條MOV P1,#0FFH指令?(2)在本實驗的電路中使
15、用的R-S觸發(fā)器去抖開關,能改用軟件消除抖動嗎?1. 實驗目的與功能要求(1)掌握定時/計數(shù)器在不同方式下的初始化編程和中斷服務程序的編程。(2)熟悉當定時器的定時時間超過某一模式下的最大定時時間時的處理方法。(3)實驗電路如圖2.2所示,實現(xiàn)例6.5的功能要求,用定時器T0來定時0.1秒延時。2. 實驗電路與程序(1)設計原理圖:原理圖如圖2.2所示。(2)編制源程序:匯編源程序見例6.5 的tlsd10_4.asm 。2022/9/3可編輯1810.1.5 實驗4定時器輸出控制實驗 2 3. 實驗步驟(1)本實驗可以采用圖2.2已制作的用戶板。 (2)用MedWinV3開發(fā)本項目創(chuàng)建新項目
16、tlsd10_4,編輯源程序tlsd10_4.asm并導入到該項目中。匯編、連接該項目,直至把程序調(diào)試出來。用ME-52HU進行硬件仿真。(3)脫離仿真器,在用戶板上運行將十六進制代碼固化到芯片,將固化好的單片機芯片插入用戶板的芯片座上,觀察單燈閃爍的實際效果。4. 思考題(1)定時器T0在模式0下的最大定時時間僅8.192ms,而要求延時的時間是100 ms,已超過了模式0下的最大定時時間,試問本實驗程序中是如何處理的?2022/9/3可編輯1910.1.6 實驗5 串口自收自發(fā)通信實驗 1(2)改用查詢方式定時100 ms, 參照例6.4重做本實驗。1. 實驗目的與功能要求(1)掌握串行口
17、收發(fā)程序的編程技巧和調(diào)試方法。(2)設計一個自收自發(fā)程序。先用數(shù)據(jù)F0H填充片內(nèi)RAM單元30H3FH,并將每個數(shù)據(jù)送P1口驅(qū)動LED顯示,間隔為0.1S。再將每個數(shù)據(jù)通過TXD串行發(fā)送出去,又通過RXD串行接收回來,并將每個數(shù)據(jù)高低4位自交換成0FH后,送到片內(nèi)RAM單元40H4FH單元,同時送P1口驅(qū)動LED顯示,間隔也為0.1S。2. 實驗電路與程序(1)設計原理圖采用實驗1中的原理圖,但要將單片機的TXD引腳和RXD引腳連接起來。(2)編制源程序2022/9/3可編輯2010.1.6 實驗5 串口自收自發(fā)通信實驗 2自收自發(fā)通信是調(diào)試通信程序和通信接口電路的常用方法,它和雙機通信程序的
18、設計方法相似。程序初始化串行口工作在方式2 ,TB8作奇偶校驗位。發(fā)送和接收都采用查詢方式,串行口每發(fā)送或接收完一幀串行數(shù)據(jù),就清零TI和RI。程序正常運行時,發(fā)送的數(shù)據(jù)為F0H,將驅(qū)動P1口低4位LED閃亮;接收的數(shù)據(jù)自交換后變?yōu)?FH,將驅(qū)動P1口高4位LED閃亮。匯編源程序stiri10_5.asm見教材P.230P.231。3. 實驗步驟(1)可采用實驗1中已制作的用戶板,但要在印刷板上單片機的TXD和RXD引腳旁焊接引出兩個插針,并用跳線帽將兩插針短路。(2)用MedWinV3開發(fā)本項目2022/9/3可編輯2110.1.7實驗6并行A/D轉(zhuǎn)換實驗 1創(chuàng)建新項目stiri10_5,編
19、輯源程序stiri10_5.asm并導入到該項目中。匯編、連接該項目,直至把程序調(diào)試出來。用ME-52HU進行硬件仿真。(3)脫離仿真器,在用戶板上運行將十六進制代碼固化到芯片,將固化好的單片機芯片插入用戶板的芯片座上,并給用戶板加上電源。注意是否觀察到:先是P1口LED燈的低4位閃爍,其后是P1口LED燈的高4位閃爍。4. 思考題(1)實驗中LED燈高、低4位先后閃爍,說明了什么?(2)改用中斷方式編程,重做本實驗。1. 實驗目的與功能要求(1)熟悉ADC0809的轉(zhuǎn)換性能和編程方法;掌握單片2022/9/3可編輯2210.1.7實驗6并行A/D轉(zhuǎn)換實驗 2機與ADC0809的連接;了解單片
20、機進行數(shù)據(jù)采集方法。(2)采用圖8.29A/D轉(zhuǎn)換電路,將一路模擬量經(jīng)ADC 0809的0通道輸入,轉(zhuǎn)換成二進制數(shù)字量,輸出到P1口驅(qū)動LED顯示。2. 實驗電路與程序(1)設計原理圖A/D轉(zhuǎn)換原理圖如圖8.29所示,通過W1分壓給ADC0809的0通道輸入模擬量;P1口LED顯示電路、復位及晶振電路可參照圖10.8的接法。(2)編制源程序匯編源程序ad10_6.asm見教材P.232P.233。3. 實驗步驟(1)制作用戶板2022/9/3可編輯2310.1.7實驗6并行A/D轉(zhuǎn)換實驗 3按原理圖提示制作用戶板。(2)用MedWinV3開發(fā)本項目創(chuàng)建新項目ad10_6,編輯源程序ad10_6
21、.asm并導入到該項目中。匯編、連接該項目,直至把程序調(diào)試出來。用ME-52HU進行硬件仿真。(3)脫離仿真器,在用戶板上運行將十六進制代碼固化到芯片,將固化好的單片機芯片插入用戶板的芯片座上,并給用戶板加上電源。旋動電位器W1,使輸入IN0的電壓分別如表10.5(見教材P.233)第3列所示,注意記錄P1口LED燈的狀態(tài)。4. 思考題(1)改用查詢方式重做本實驗。(2)修改實驗,對一路模擬量連續(xù)采樣4次并取其2022/9/3可編輯2410.1.8實驗7并行D/A轉(zhuǎn)換實驗 1值,結果存放在30H單元。1. 實驗目的與功能要求(1)掌握DAC0832與單片機的連接,學會利用0832產(chǎn)生波形的編程
22、方法。(2)用DAC0832接口電路作為波形發(fā)生器,試編程,從Vo端輸出三角波波形。2. 實驗電路與程序(1)設計原理圖,供參考的D/A轉(zhuǎn)換原理圖如圖8.32。(2)編制源程序, 三角波波形發(fā)生匯編源程序見例8.11的da10_7.asm程序。3. 實驗步驟(1)制作用戶板參照圖8.32所示D/A轉(zhuǎn)換電路,制作用戶板。2022/9/3可編輯2510.1.8實驗7并行D/A轉(zhuǎn)換實驗 2(2)用MedWinV3開發(fā)本項目創(chuàng)建新項目da10_7,編輯源程序da10_7.asm并導入到該項目中。匯編、連接該項目,直至把程序調(diào)試出來。用ME-52HU進行硬件仿真,D/A轉(zhuǎn)換的輸出Vo接示波器探頭。仿真正
23、確后,送數(shù)字量00H到0832時,調(diào)節(jié)運放的調(diào)零電位器W2,使Vo = 0;送數(shù)字量0FFH到0832時,調(diào)節(jié)運放的反饋電位器W1,使?jié)M量程VO = -5V。反復調(diào)整零點和滿量程。(3)脫離仿真器,在用戶板上運行將十六進制代碼固化到芯片,將固化好的單片機芯片插入用戶板的芯片座上,D/A轉(zhuǎn)換的輸出Vo接示波器探頭,并給用戶板加上電源。用示波器觀察Vo波形,測量Vo周期和幅度,并記錄。2022/9/3可編輯2610.1.9實驗8單片機與新熱敏微打接口設計實驗 1在無示波器時,可以在Vo端接5V直流小電機,觀察小電機的轉(zhuǎn)速變化。4. 思考題(1)編程實現(xiàn)輸出波形為方波。(2)在無示波器時,可對本實驗
24、進行proteus虛擬仿真,proteus仿真方法請參看10.2.3 節(jié)。本項目proteus原理圖如圖10.3,該圖也是運行時的電路情形。在圖10.3中用到的元件有:AT89C51、DAC 0832、uA741、RES和POT-LIN(電位器)。在圖10.3中用到的虛擬儀器有:OSCILLOSCOPE(示波器)和DC AMMETER(直流電壓表)。1. 實驗目的與功能要求(1)熟悉輸出設備新熱敏微打接口設計的軟硬件技術。2022/9/3可編輯2710.1.9實驗8單片機與新熱敏微打接口設計實驗 2(2)用單片機控制A61R10-20E525串口熱敏微打打印漢字與西文。(3)由讀者進行并口熱敏
25、微打接口設計,控制WH-A62R10-21E8PA打印漢字與西文。2. 實驗電路與程序(1)WH-A6系列新熱敏微打性能與接口引腳定義WH-A6系列熱敏微打串口使用IDE 10針插座,RS-232電平,其引腳如圖10.4(b)所示。并口使用IDE 26針插座,TTL電平,其引腳如圖10.6所示。(2)設計原理圖單片機與微打A61R10-20E525接口電原理圖如圖10.5。單片機與微打采用10芯扁平電纜連接。(3)編制源程序2022/9/3可編輯2810.1.9實驗8單片機與新熱敏微打接口設計實驗 3單片機控制WH-A6微打匯編源程序spint10_8.asm見教材P.236P.237。3.
26、實驗步驟(1)制作用戶板可參照圖10.5所示電路制作。(2)用MedWinV3開發(fā)本項目2022/9/3可編輯2910.2.1 實訓1 用Keil Vision3開發(fā)單片機C語言程序 1創(chuàng)建新項目spint10_8,編輯源程序spint10_8.asm并導入到項目中。匯編、連接該項目,直至把程序調(diào)試出來。用ME-52HU進行硬件仿真。(3)脫離仿真器,在用戶板上運行將固化好的單片機芯片插入用戶板的芯片座上,給用戶板和微打加上電源,按下打印按鈕,觀察打印的結果。4. 思考題請讀者完成用單片機控制WH-A62R10-21E8PA并口熱敏微打的接口設計。1實訓目的(1)掌握用Keil Vision3
27、開發(fā)單片機C語言程序過程。(2)以AT89S51控制的流水燈C程序8_0ledc.c項目為例,用Keil Vision3進行編輯、編譯和模擬調(diào)試;要求會2022/9/3可編輯3010.2.1 實訓1 用Keil Vision3開發(fā)單片機C語言程序 1作相應的設置,產(chǎn)生十六進制文件,并用編程器將其固化到AT89S51芯片中,以便能在用戶板上運行。2實訓知識(1)AT89S51控制的流水燈用戶板可按圖10.8電原理圖制作。AT89S51引腳與8051兼容,但支持ISP編程。(2)編制相應的C控制源程序,控制板上8個LED按如下方式掃描:先是從低向高逐2022/9/3可編輯3110.2.1 實訓1
28、用Keil Vision3開發(fā)單片機C語言程序 2位掃描點亮,再從高向低逐位掃描點亮,最后全亮全暗3次,如此不斷循環(huán)。C源程序8_0ledc.c及相關說明見教材P.239P.241。3實訓步驟硬件方面按圖10.8制作用戶板,軟件方面請參照2.32.4節(jié)中匯編源程序的開發(fā)步驟,下面只簡要列出運行Keil Vision3后操作要點。(1)創(chuàng)建新工程使用菜單命令“工程_新建工程”,操作過程參看圖2.52.7,操作結果把流水燈工程文件8_0ledc.Uv2存放在用戶指定的文件夾下,比如:d:workkeil 8_0ledc。選擇CPU廠家和型號在彈出如圖2.8所示選擇CPU廠家和型號的對話框時,應20
29、22/9/3可編輯3210.2.1 實訓1 用Keil Vision3開發(fā)單片機C語言程序 3選擇Atmel 公司的89S51。復制啟動代碼到工程在彈出如圖2.9所示對話框,詢問是否將CPU特殊啟動代碼拷貝到工程中時,可選擇“是(Y)”,工程創(chuàng)建完成。(2)創(chuàng)建C源文件使用菜單命令“文件_新建”,操作過程見圖2.10,操作結果把流水燈C源程序8_0ledc.c存放在同一工程文件夾。(3)將源文件添加到工程輸入完C源程序后,操作過程參看圖2.112.13,操作結果把流水燈C源程序8_0ledc.c添加到本工程,如圖10.9。(4)編譯連接工程按2.4.3節(jié)方法,操作過程參看圖2.182.19,操
30、作結果使創(chuàng)建HEX文件有效,即編譯后就能得到十六進制文件。2022/9/3可編輯3310.2.1 實訓1 用Keil Vision3開發(fā)單片機C語言程序 4使用菜單命令“工程_創(chuàng)建目標”,對源文件進行編譯連接。按前面介紹方法, 編譯源文件,完成后注意觀察輸出窗口的編譯信息,HEX文件已經(jīng)創(chuàng)建到指定的路徑中了,如圖10.9。(5)模擬仿真按2.4.2節(jié)方法,進行模擬仿真,來調(diào)2022/9/3可編輯3410.2.1 實訓1 用Keil Vision3開發(fā)單片機C語言程序 5試運行程序,觀察運行的結果。用快捷鍵Ctrl+F5進入調(diào)試模式使用菜單命令:“外圍設備_I/O-Ports_Port 1”,出
31、現(xiàn)P1口的調(diào)試窗口如圖2.15所示。 用F10進行單步運行在運行第一個for 循環(huán)時,注意觀察P1口調(diào)試窗中,燈從低向高逐位掃描點亮規(guī)律應與表10.8中“P1口燈狀態(tài)”相符。在運行第二個for 循環(huán)時,注意觀察P1口調(diào)試窗中,燈從高向低逐位掃描點亮規(guī)律應與表10.8中“P1口燈狀態(tài)”水平對稱。在運行第三個for 循環(huán)時,注意觀察P1口調(diào)試窗中,8燈應全亮全暗3次。2022/9/3可編輯3510.2.2 實訓2 用VP-ISP1編程器進行ISP編程 1 用F5進行全速運行在源程序窗口中,用F9在程序的第7、11、13、14、18、20、21、23和25行處設置斷點,成功的標志是在行號后將出現(xiàn)小紅
32、方塊,如圖10.9所示。不斷按F5,注意觀察P1口調(diào)試窗出現(xiàn)情形應與單步運行時的相同。(5)用SUPERPRO/280U將十六進制代碼固化到芯片見教材P.243P.244。(6)在用戶板上運行程序?qū)⒐袒玫腁T89S51芯片插入用戶板的芯片座子上,加上電源后,就可以看到流水燈實驗的實際效果了。1實訓目的(1)了解對傳統(tǒng)編程技術的一大革新的ISP編程技術。(2)掌握用威龍VP-ISP1編程器將上一實訓中產(chǎn)生的2022/9/3可編輯3610.2.2 實訓2 用VP-ISP1編程器進行ISP編程 2十六進制文件8_0ledc.hex寫入到威龍WL-ISPBOARD-2板上的AT89S51芯片中,或者
33、下載到自制的帶有ISP接口的流水燈用戶板上AT89S51芯片中。2實訓知識(1)什么是ISP?ISP是In-System Programming的縮寫,意為“在系統(tǒng)編程”。ISP技術是對傳統(tǒng)編程技術的一大革新。利用ISP技術設計電路板時要求預留一個標準的ISP下載線接口,要求使用支持ISP技術的單片機,如AT89S51和AT89S52等。(2)AT89S51支持ISP編程引腳AT89S51單片機提供了一個SPI串行接口,讓用戶能對內(nèi)部Flash存儲器串行下載,引腳P1.5P1.7新增用于ISP2022/9/3可編輯3710.2.2 實訓2 用VP-ISP1編程器進行ISP編程 3編程的第二功能
34、見表10.9,實現(xiàn)ISP編程要用到的引腳連接如圖10.15所示。如果是自做用戶板,應將這些ISP編程要用到的引腳用跳線針引出,在圖10.8中則是作為測試點標出的。(3)VP-ISP1編程器與WL-ISPBOARD-2板的連接編程器通過10芯下載頭WL-ISP-U1與用戶板下2022/9/3可編輯3810.2.2 實訓2 用VP-ISP1編程器進行ISP編程 4載線接口連接,連接后的情形如圖10.16(b)。圖10.16(b)中使用的WL-ISPBOARD-2是與VP-ISP1配套的用戶板,此板上有一個40芯的緊松插座,用以放入待編程的芯片,緊松插座的40芯引腳分別依次引出與兩旁的跳線針連接,以
35、方便下載頭的跳線帽的插2022/9/3可編輯3910.2.2 實訓2 用VP-ISP1編程器進行ISP編程 5入連接。兩者連接時要注意以下幾點: 10芯下載頭WL-ISP-U1插入編程器時,白紅藍棕灰線要在上面,信號線顏色如圖10.17所示。下載頭的另一端的7個跳線帽要按圖10.16(a)所示,正確插入WL-ISPBOARD-2上的插針中。采用自制的用戶板,也要按圖10.16(a)所示連接。如使用用戶板的電源,GND這根線必需插,Vcc不要插。3實訓步驟(1)VP-ISP1驅(qū)動程序與編程軟件安裝見教材P.247P.248(2)運行Willon系列通用編程測試軟件 用USB通訊電纜將計算機與編程
36、器連接好,指示燈亮。2022/9/3可編輯4010.2.2 實訓2 用VP-ISP1編程器進行ISP編程 6雙擊執(zhí)行圖標 ,啟動wellon編程器軟件,出現(xiàn)如圖10.19窗口(見教材P.248 ),顯示編程器初始化成功。(3)選擇芯片型號用菜單命令“芯片選擇_芯片選擇”,出現(xiàn)如圖10.20 (見教材P.249 )所示芯片選擇對話框:在“芯片廠家”列表框中選擇生產(chǎn)廠家ATMEL,在“芯片型號”列表框中選擇AT89S51(ISP),單擊“確定”按鈕。(4)檢查插線、放入芯片自動出現(xiàn)適配器資料對話框,再次仔細核對WL-ISP-U1上跳線帽是否按圖10.16(a)所示正確插入用戶板上的相應插針中。 確
37、認無誤后,單擊“確定”按鈕。將待編程的芯片放入緊松插座上,推平鎖緊扳手。(5)芯片編程2022/9/3可編輯4110.2.3 實訓3 LED與LCD顯示的proteus仿真 1用菜單命令:“文件_打開”,在出現(xiàn)的打開文件對話框中選擇“8_0ledc.hex”文件,單擊“打開”按鈕后,出現(xiàn)如圖10.21 (見教材P.249 )所示“讀文件緩沖區(qū)”對話框,確認無誤后,單擊“確定” 按鈕。文件被讀入到緩沖區(qū),如有必要,可以用“編輯_緩沖區(qū)編輯”來修改。 用菜單命令:“芯片讀寫_自動編程”, 自動完成芯片擦除和芯片編程。窗口如圖10.22 (見教材P.250 )所示。1實訓目的(1)掌握用proteu
38、s與keil連調(diào)進行虛擬仿真的方法。(2)會對圖8.34所示LED動態(tài)掃描電路按例8.7要求,用proteus進行仿真。(3)會對圖10.41所示LCD顯示電路按實訓練習(2)中要求,用proteus進行仿真。2022/9/3可編輯4210.2.3 實訓3 LED與LCD顯示的proteus仿真 22實訓知識(1)Proteus(海神)簡介 Proteus是一款集單片機和SPICE仿真于一身的EDA工具軟件,其中ISIS可直接在原理圖的虛擬原型上進行主流MCU和外圍電路編程,與Keil連接調(diào)試。 (2)6位LED動態(tài)掃描電路如圖8.34,相關說明見例8.7。(3)下面只給出主程序, 功能是將十
39、六進制數(shù)05依次存放到7AH7FH顯示緩沖區(qū),被調(diào)用的6位LED動態(tài)掃描顯示子程序DDIR見例8.7。把此主程序和DDIR子程序組成的匯編源程序存放在名為sdir.asm文件中。ORG0000H AJMPSTARTORG0030H2022/9/3可編輯4310.2.3 實訓3 LED與LCD顯示的proteus仿真 3START:MOVR1,#06H;顯示數(shù)據(jù)個數(shù)送R1MOV R0,#7AH;顯示緩沖區(qū)首址送R0MOV A,#00H;向顯示緩沖區(qū)預置數(shù)據(jù)05IN:MOV R0,AINCAINCR0DJNZR1,INACALL DDIR;6位LED動態(tài)掃描顯示子程序DDIRSJMPSTART;見
40、例8.73實訓步驟(1)安裝Proteus軟件(見教材P.251 )(2)用proteus繪制圖8.34原理圖雙擊Proteus ISIS 7執(zhí)行圖標 出現(xiàn)如圖10.23所示ISIS 7 Professional集成開發(fā)環(huán)境窗口。圖中標出了窗口中2022/9/3可編輯4410.2.3 實訓3 LED與LCD顯示的proteus仿真 4各部分的組成。在圖形編輯窗中的藍色方框內(nèi)可以繪制原理圖, 這個窗沒有滾動條,要用預覽窗來改變其可視范圍。預覽窗作用有: 當鼠標點擊原理圖編輯窗時,會顯示整張原理圖的縮略圖;這時調(diào)節(jié)綠色方框位置,框內(nèi)的縮略圖部分就是2022/9/3可編輯4510.2.3 實訓3 L
41、ED與LCD顯示的proteus仿真 5當前原理圖窗口中顯示的內(nèi)容; 當一個元件在對象選擇窗中被選中時,會顯示該元件的預覽圖,可用對象選擇窗下部旋轉(zhuǎn)鈕改變元件的方向。Proteus的鼠標操作:右鍵單擊選擇元件,右鍵雙擊刪除元件;左鍵單擊放置元件;先右鍵后左鍵編輯元件屬性;中輪滾動縮放原理圖。繪制圖8.34原理圖方法如下: 將元件加入到對象選擇窗要用到的元件如表10.10,單擊對象選擇按鈕“P”,出現(xiàn)如圖10.24所示“Pick Devices” 對話框;“在Keywords”欄中輸入“AT89C51”,系統(tǒng)會自動搜索對象庫,并把搜索到的結果顯示在“Results”欄中;在“Results”欄中
42、選中第一個元件“AT89C51”,單擊“OK”按鈕,AT89C51就被加入到2022/9/3可編輯4610.2.3 實訓3 LED與LCD顯示的proteus仿真 62022/9/3可編輯4710.2.3 實訓3 LED與LCD顯示的proteus仿真 7對象選擇窗中了。依此方法把表10.10中的其余元件都加入到對象選擇窗中,如圖10.25所示。放置元件到原理圖編輯窗在對象選擇窗中選中AT89C51,在原理圖編輯窗的合適位置處單擊左鍵,AT89C51就被放到原理圖編輯窗中了。依此方法,在原理圖編輯窗的合適位置處放置其余元件。對于表10.10中最后兩行的多個相同元件,如電阻R1R8,也可以用塊復
43、制方法。放置好R1后,右鍵單擊將其選中,再單擊塊復制按鈕 ,移動鼠標后單擊左鍵,將R1復制到新位置,重復操作至放置好所有電阻,單擊鼠標右鍵退出。添加電源到原理圖編輯窗 單擊工具箱中Terminals Mode圖標,出現(xiàn)如圖10.26所示2022/9/3可編輯4810.2.3 實訓3 LED與LCD顯示的proteus仿真 8終端模式選擇框,選中“POWER”,再在原理圖編輯窗中合適位置處單擊左鍵,電源就被放置到此窗口中了。 連線 Proteus許多器件的VCC、VDD、GND之類引腳都被隱藏了,在畫原理圖時不需連接,其它元件之間可按圖8.34進行連接。以圖10.27中U1的1腳與U3A的1腳的
44、連接來說明:先檢查Proteus自動路徑功能是否打開,此功能可用Tools菜單中的“Wire Auto Router”命令來打開或關閉。當鼠標指針靠近U1的1腳時,指針變成筆狀,同時出現(xiàn)一個紅色的小方塊,表明找到了連接點,單擊鼠標左鍵;之后,向U3A的1腳移動鼠標指針(不用拖拉)時,走線會自動變成了90的折線;鼠標指針到達U3A的1腳連接點時,指針也會變成筆狀,同時出現(xiàn)一個紅色的小方塊,單2022/9/3可編輯4910.2.3 實訓3 LED與LCD顯示的proteus仿真 9擊鼠標左鍵,連線就完成了。同樣地完成其余的連線。在連接時可以按ESC鍵或者單擊鼠標右鍵來放棄畫線。 標注導線標號圖10
45、.27中電阻R1R8下面8個引腳與U2的相應引腳的相連,也可以標注相同導線標號得到連接。下面以圖10.27中R1的下面引腳與U2的13腳的連接來進行說明。鼠標指針在R1下面引腳處單擊,引出一條短線后再單擊,得到一個連接點,用同樣方法在U2的13腳處引出一條短線和連接點。單擊工具箱中的“Wire Label Mode”圖標 ,鼠標指針指向R1下面的引線處,出現(xiàn)“”號時,單擊鼠標左鍵,出現(xiàn)“Edit Wire Label”對話框時,在“String”欄中輸入標號名稱“a”;用同樣方法在U2的13腳處標注導線標號“a”。這樣,相同標號的兩點就連通了。同樣地標注2022/9/3可編輯5010.2.3
46、實訓3 LED與LCD顯示的proteus仿真 10其余的導線標號。不同的連接點,要用不同的標號,本圖中的8個連接點采用的標號是ah。至此, 原理圖已完成,如圖10.27,該圖也是運行時情形。將此設計以sdir7404.DSN存盤。(3)Keil Vision3與Proteus7連調(diào)仿真參照2.32.4節(jié)中匯編源程序的開發(fā)步驟,在2022/9/3可編輯5110.2.3 實訓3 LED與LCD顯示的proteus仿真 11Keil Vision3中如下操作:創(chuàng)建新工程sdir.Uv2,選擇CPU廠家和型號為Atmel 公司的AT89C51,該工程存放在用戶指定的文件夾下,比如:d:workkei
47、l sdir。將sdir.asm文件添加到該工程中。設置Keil Vision3與Proteus7連調(diào)。按2.4.3節(jié)方法,在打開圖2.19所示“Options for Target Target 1”選項設置窗時,單擊“調(diào)試”標簽,在出現(xiàn)的“調(diào)試”標簽頁對話框的右欄上部的下拉列表中選中“Proteus VSM Simulator”,并且要選中“使用”前面的單選按鈕,使之出現(xiàn)小圓點,如圖10.28所示。再單擊“設置”按鈕,出現(xiàn)如圖10.29所示設置通信對話框,在“Host”欄中輸入本機地址“127.0.0.1”,如果Proteus安裝在網(wǎng)絡上2022/9/3可編輯5210.2.3 實訓3 LE
48、D與LCD顯示的proteus仿真 12另外一臺電腦,則要輸入另一臺電腦的IP地址;在“Port”欄中輸入口地址“8000”,設置好后,單擊“OK”按鈕。按2.4.3節(jié)方法,編譯連接該工程, 創(chuàng)建文件sdir.hex。Proteus ISIS 7中的設置。打開sdir7404.DSN,在Proteus ISIS 7窗口中,打開“Debug”菜單,選中“Use Remote Debug Monitor”。這樣Keil Vision3與Proteus7連調(diào)設置就完成了。2022/9/3可編輯5310.2.3 實訓3 LED與LCD顯示的proteus仿真 13在Keil Vision3中,用各類運
49、行按鈕調(diào)試運行程序時,就會在Proteus ISIS 7窗口中看到運行的結果。(4)Proteus的單獨虛擬仿真連調(diào)正確后,對原理圖中的AT899C51先右鍵單擊,再左鍵單擊,出現(xiàn)如圖10.30所示的“Edit Component”對話框,單擊“Program File”欄的瀏覽按鈕,找到并加入上面創(chuàng)建的HEX文件sdir.hex; 然后單擊“OK”按鈕。至此,就可以在Proteus ISIS 7窗口本身,運行模擬仿真了。單擊仿真運行按鈕 ,6位LED將動態(tài)顯示“012345”,同時能清楚地觀察到每一個引腳的電平2022/9/3可編輯5410.2.4 實訓4數(shù)字電子鐘控制 1變化,紅色代表高電
50、平,藍色代表低電平,如圖10.27所示。4. 實訓練習練習1:改用圖8.20電路,重做本實訓,匯編源程序中的延時采用R6 = 4,R7 = 248,觀察顯示的不同效果。 練習2:在LM032L的LCD顯示屏上向右滾動顯示如下兩行文字:“! VSM LCD DEMO !”和“A virtual LM032L.”,如圖10.31 (見教材P.256)所示。1實訓目的(1)熟悉LED動態(tài)顯示、獨立式按鍵識別和電子鐘的時、分、秒數(shù)據(jù)處理方法。(2)設計一個6位LED顯示數(shù)字電子鐘,要求時、分和秒可調(diào),在Proteus的虛擬仿真通過后,移植到用戶板上。2022/9/3可編輯5510.2.4 實訓4數(shù)字電
51、子鐘控制 22實訓知識(1)數(shù)字電子鐘原理圖如圖10.32, 圖中采用6位LED共陰顯示器,動態(tài)顯示時、分和秒,AT89C51的P0口輸出七段碼,P2口輸出位選碼;接于P3.0P3.2的三個按鍵用于秒、分和時的調(diào)整。(2)匯編源程序2022/9/3可編輯5610.2.4 實訓4數(shù)字電子鐘控制 3DTSZ.ASM 見教材P.259 P.2616 ,對存儲分配和編程算法說明如下。 存儲分配與時、分、秒數(shù)據(jù)處理秒、分、時的時間數(shù)分別存放在70H72H單元中,73H單元為秒計數(shù)用,即對定時器0的50ms溢出中斷進行計數(shù),20次中斷為1秒時間到,給秒單元70H加1。秒、分單元進位逢60進1,時單元逢24
52、溢出,此時,秒、分、時單元全部清零,重新開始新一天的計時。對70H72H單元中秒、分、時數(shù)據(jù),分別進行拆字,把得到的秒、分、時的個位和十位分別存入7AH7FH顯示緩沖區(qū)中。 編程算法程序采用查詢算法對三個獨立鍵狀態(tài)進行循環(huán)查詢,同時調(diào)用動態(tài)掃描子程序,保持顯示器同時是亮的。定時2022/9/3可編輯5710.2.5 實訓5交通燈控制 1器0以中斷方式工作,進行1秒計數(shù)。3實訓步驟(1)按實訓3介紹的方法,完成數(shù)字電子鐘項目的Proteus的虛擬仿真。本項目用到的元件為:AT89C51、7SEG-MPX6-CC-BLUE、74LS07、RESPACK-8和BUTTON。(2)在Proteus的虛
53、擬仿真通過后,把此項目移植到用戶板上。按9.4介紹的方法用ME-52HU進行硬件仿真。1實訓目的(1)熟悉單片機進行邏輯控制和定時控制的基本方法,模擬交通燈控制的工作過程。(2)功能要求:上電后,南北紅燈與東西綠燈同時亮。南北紅燈亮將維持13s;東西綠燈亮10s,接著黃燈閃爍,亮2022/9/3可編輯5810.2.5 實訓5交通燈控制 2暗間隔為0.5s,閃爍3次后熄滅;變?yōu)闁|西紅燈亮,南北綠燈亮。同樣,東西紅燈亮13s;南北綠燈亮10s,接著黃燈閃爍,亮暗間隔為0.5s,閃爍3次后熄滅;此后,恢復為南北紅燈亮與東西綠燈同時亮,如此周而復始的循環(huán)。當閉合緊急開關時,南北紅燈與東西紅燈同時亮,以利特種車輛通過。2實訓知識(1)交通燈控制原理圖如圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院安裝合同范本
- 基于學習興趣培養(yǎng)的小學數(shù)學教學策略創(chuàng)新芻議
- 某地級市醫(yī)院醫(yī)務人員對艾滋病相關知識知曉情況和職業(yè)態(tài)度調(diào)查研究
- 大學體育課堂教學質(zhì)量評價標準化改革及實踐研究
- 思政教育與校園文化建設融合發(fā)展路徑研究
- ST EA M 理念下趣味實驗在中學物理教學中的應用
- 不簽就業(yè)合同范本
- 北京最近勞動合同范本
- 環(huán)形掩膜版連續(xù)光場調(diào)制賦能單像素成像:原理、優(yōu)勢與應用
- 深度融入與多維滲透:高中數(shù)學思想方法教學的創(chuàng)新探索
- 全套教學課件《管理學基礎》
- “兩區(qū)三廠”專項施工方案
- (完整版)新標準大學英語視聽說教程3第二版整本書答案
- 第五章肺孢子菌病課件
- 【5A】雅思寫作課程課件
- Intercultural-Communica教學講解課件
- 青島版小學數(shù)學五年級上冊《用數(shù)對確定位置》課件
- 氨氮去除技術完美課課件
- 2023年鄭州衛(wèi)生健康職業(yè)學院單招職業(yè)適應性測試筆試模擬試題及答案解析
- 2023年湖南水利水電職業(yè)技術學院單招職業(yè)適應性測試筆試題庫及答案解析
- 六年級下冊 第2單元 第2課 《成數(shù)》課件
評論
0/150
提交評論