51單片機實驗指導書_第1頁
51單片機實驗指導書_第2頁
51單片機實驗指導書_第3頁
51單片機實驗指導書_第4頁
51單片機實驗指導書_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、51系列單片機原理與應(yīng)用實驗華南師范大學物理與工程工程學院微機教研室20010年9月21實驗須知實驗一實驗二實驗三實驗四實驗五實驗六實驗七實驗八實驗九實驗十實驗十一附錄一附錄二目錄數(shù)字量輸入輸出實驗 4交通燈控制實驗 6定時與中斷實驗 8串行通信實驗 11串行A/D轉(zhuǎn)換實驗 13現(xiàn)實人體視覺暫留特性測試實驗 14實時時鐘制作實驗 17簡易電子琴制作實驗 18EEPROM用一數(shù)字密碼鎖 20綜合實驗:教學板自檢程序設(shè)計 25數(shù)據(jù)采集一火災(zāi)報警裝置的軟硬件設(shè)計 26實驗教學板 27實驗用軟件使用說明28實驗須 知1、 預習要求1 實驗前認真閱讀實驗指導書的相關(guān)內(nèi)容,明確實驗?zāi)康暮蛯嶒炄蝿?wù)。2 實驗

2、前應(yīng)做好預習報告,在報告中,要求畫出所設(shè)計的實驗電路原理圖、程序流程圖,編寫好程序,并對程序加以注釋,還要擬訂好實驗步驟。2、 實驗要求1 按實驗中心安排的時間到指定實驗室上實驗課,不要遲到、缺席。有特殊原因不能在原安排時間來實驗時,須提前一天通知實驗中心負責教師。2 認真完成每次實驗的各項任務(wù),實驗結(jié)果要請指導教師檢查。教師對實驗內(nèi)容提問,并對 完成者進行記錄。3 愛護設(shè)備,保持清潔,不得在實驗室內(nèi)大聲喧嘩,不要將食物帶入實驗室,不擅自更換設(shè) 備。4 在實驗箱(板)通電狀態(tài)下,不要用手隨意觸摸電路板上除按鍵和開關(guān)以外的芯片等其它元器件。 ,嚴禁帶電操作,即所有接線、改線和拆線操作均應(yīng)在不帶電

3、的狀態(tài)下進行。5 實驗中若發(fā)生異常情況應(yīng)立即切斷電源,并向指導教師報告,檢查原因,避免再次發(fā)生類 似情況。6 實驗完畢,請整理好實驗設(shè)備后再離開實驗室。3、 實驗報告要求實驗報告必須使用實驗報告專用紙,書寫要工整、清楚,并在下一次實驗時交給指導教師。實驗報告應(yīng)包括以下內(nèi)容:1 實驗名稱、實驗人姓名、學號、班級、同組人姓名。2 實驗?zāi)康摹⑷蝿?wù)(內(nèi)容)。3 各任務(wù)程序流程圖、自編程序清單,對程序須給出適量注釋(例如:變量和某些寄存器的作用,關(guān)鍵程序段的功能等)。4 應(yīng)畫出所設(shè)計的完整實驗電路圖。5 記錄和分析實驗調(diào)試過程中遇到的問題并給以合理的解釋,簡述是如何解決的。記錄實驗結(jié)果,6 解答思考題。

4、實驗一 數(shù)字量輸入輸出實驗1、 實驗?zāi)康? 熟悉教學板電路及其結(jié)構(gòu)。2 掌握利用科Vision C51軟件編輯、調(diào)試(包括仿真調(diào)試、單步調(diào)試)、運行單片機程序的步驟和方法,掌握利用STC-ISP V39 軟件和下載線將程序?qū)懭雴纹瑱C的方法。3 通過實驗熟悉51 單片機的并行I/O 口,并掌握它們的應(yīng)用。4 掌握矩陣鍵盤、LED 動態(tài)顯示的工作原理。2、 實驗設(shè)備PC機一臺、實驗教學板一塊。3、 實驗準備1 .閱讀實驗講義附錄一、實驗教學板電路圖和附錄二、科Vision軟件使用說明2 按實驗題目要求設(shè)計好硬件電路,畫出電路原理圖,設(shè)計出相應(yīng)程序,并給程序加上較 詳細的注釋。4、 實驗內(nèi)容1. 1

5、. 實驗線路如附圖所示,51 單片機的P0 口輸出接8 個發(fā)光二極管的陰極,P2.4 經(jīng) NPN三極管 9011 控制發(fā)光管的陽極。P3 口支持一個8 位行列式鍵盤,其中P3.4P3.7 供鍵盤掃描輸出,P3.2、P3.3作鍵盤掃描輸入。2. 實驗要求:編程實現(xiàn)鍵盤對發(fā)光二極管的控制,每按一個按鍵,使對應(yīng)的二極管點亮。2. 51單片機P0 口輸出同時接4個數(shù)碼管的陰極,P2.0P2.3,經(jīng)NPN三極管9011接數(shù) 碼管的陽極,該端口用于分別控制相應(yīng)數(shù)碼管的導通。實驗要求:編程實現(xiàn)對任意按鍵動作的次數(shù)進行計數(shù)(最大99 次) ,同時將計數(shù)值實時顯示。五、實驗步驟1 .將實驗板與 PC機通過COM

6、R連接。啟動 PC機,進入科Vision軟件環(huán)境,選擇建立新工 程文件,即可開始輸入源程序。2完成匯編、編譯、連接,若有錯誤,則修改源程序,直至編譯、連接通過為止。3接上實驗板上的電源。3 .運行“STC-ISP V39.EXE",將程序代碼下載到實驗板的單片機中。操作的順序是:1)選擇單片機(MCU TYPE型號。如:“ STC89C51RC要與實驗板上所裝單片機的型號一至。2)打開文件(Open File ) 。即把要下載到單片機的程序文件(已通過編譯了的機器碼文件二進制( .Bin )或十六進制(.Hex)的)調(diào)到“文件緩沖區(qū)”,這時可看到右邊的“文件緩沖區(qū)”有數(shù)字變化。3)選

7、擇串行通信口。選對時,軟件上的小燈會變綠。否則小燈是灰色。且在左下窗口提示“出錯信息”。4)下載:按“Download/ 下載”按鍵下載。5)把實驗板上的供電的直流電源拔掉或關(guān)掉3 秒鐘再插入或打開電源(為單片機上電復位)。注意:4)和5)順序不能反!4 .觀察單片機運行情況,驗證程序是否能完成題目給出的控制要求,若不能達到要求,分析原因、查找錯誤,修改源程序,再次匯編、連接,重新下載、運行,直至達到題目的控制要求。6、 參考程序流程圖鍵盤處理程序流程圖7、 思考題1 . 在調(diào)試程序過長中,你是如何發(fā)現(xiàn)程序中的錯誤?2 .按鍵程序為什么要有去抖動功能,如何去抖動?3 .在顯示時,為彳f么要延時

8、 1ms,這個時間過長或過短,會出現(xiàn)什么現(xiàn)象?實驗二交通燈控制實驗1、 實驗?zāi)康耐ㄟ^實驗熟悉51 單片機的并行I/O 口,并掌握它們的應(yīng)用。實驗設(shè)備PC機一臺、實驗教學板一塊。實驗內(nèi)容及原理模擬實現(xiàn)一個路口交通燈管理在路口當中,一條為“干線”,另一條為“支線”。兩個方向上各設(shè)有紅、黃、綠3 盞交通燈。一般情況下(初始狀態(tài)),干線亮綠燈,支線亮紅燈。當支線上有三輛車到達路口(用按鍵按下模擬一輛車到達),則 6 秒后,干線亮黃燈,持續(xù)3 秒后,轉(zhuǎn)為干線亮紅燈,支線亮綠燈,過24秒后,支線轉(zhuǎn)黃燈亮,3 秒后,回到初始狀態(tài)。2、 思考題如何仿真和調(diào)試單片機應(yīng)用程序?附:交通燈實驗程序ORG 0000H

9、STA: MOV P0,#11011011B;干線亮綠燈,支線亮紅燈MOV P2,#0001000B;選通LEDMOV P3,#11101111B ;K1 列線置 0MOV R7,#3STA1: JB P3.3,$;無按鍵等待LCALL DELAY30MS;去抖動JB P3.3,STA1; 等鍵釋放; 延時30MS; 延時6 秒; 干線亮黃燈,支線亮紅燈; 延時3 秒; 干線亮紅燈,支線亮綠燈;延時24 秒; 干線亮綠燈,支線亮黃燈; 延時3 秒JNBDJNZMOVSTA2: LCALLDJNZMOVMoVSTA3: LCALLDJNZMOVMOVSTA4: MOVSTA5: LCALLDJN

10、ZDJNZMOVMOVSTA6: LCALLDJNZLJMPP3.3,$R7,STA1R6,#200DELAY30MSR6,STA2P0,#10111011BR6,#100DELAY30MSR6,STA3P0,#01111110BR5,#4R6,#200DELAY30MSR6,STA5R5,STA4 P0,#01111101BR6,#100DELAY30MSR6,STA6STADELAY30MS:MOV R4,#55DELAY:MOV R3,#250;1.085us (指令周期)*2*250+2=547.5usDJNZ R3,$DJNZ R4,DELAYRET實驗三定時與中斷實驗實驗?zāi)康膱D2-

11、11 .通過實驗掌握51單片機的定時/計數(shù)器的應(yīng)用。2 .掌握51單片機的中斷原理及應(yīng)用。3 .進一步學習系統(tǒng)應(yīng)用程序的設(shè)計和調(diào)試方法四、實驗設(shè)備PC機一臺、實驗教學板一塊。實驗內(nèi)容實驗線路如圖2-1,通過定時器的定時,產(chǎn)生一定頻率的波形信號,經(jīng) P2.5輸出,驅(qū)動蜂 鳴器,便可發(fā)出某一頻率的音調(diào),若按樂曲的音調(diào)連續(xù)發(fā)出,并使其按節(jié)拍變化,便可演奏 一首樂曲。實驗要求:編程實現(xiàn)演奏一首樂曲C調(diào)常用音頻及其對應(yīng)頻率如下表:音符頻率T值音符頻率T值7 SI494646035 So784649481 DO523646546 La880650122 Re587647517 Si987650693 Mi

12、659648371 DO1046650954 Fa698648752 RE117465143定時器初值計算方法:由于軟件是通過定時器溢出后對P2.5取反產(chǎn)生方波,故定時器溢出時間為1/2f,則計數(shù)器計數(shù)初值為:X = 65536 n = 65536 (1/2f)/12/fosc = 65536 fosc/24f電路板上的晶振頻率為11.0593MHZ ,根據(jù)不同音調(diào)的頻率值,就可以計算出上表的初值。用樂曲最短的1/4拍為一個基本節(jié)拍時間,定為0.5秒,基本節(jié)拍時間由另一個定時器產(chǎn)生,設(shè)此定時器定時時間為50ms,定時時間常數(shù)(計數(shù)器初值)=65536 (50000*12/11.0593)=02

13、C13H ,可以分別通過該定時中斷10、20、40、80次滿足1/4拍、1/2拍、1拍、2拍的定時要求。軟件編程時,要先將樂譜轉(zhuǎn)換成包含有音符和音長信息的代碼,然后,以查表方式通過樂譜代碼控制喇叭演奏出樂曲。具體方法如下:(1)樂譜代碼用字節(jié)結(jié)構(gòu),字節(jié)高4位代表音符,從 SI到RE分別用0到9表示;字節(jié)低4位代表該音符的節(jié)拍,用1、2、3、8分別表示1/4拍、1/2拍、1拍、4拍,按照這樣的規(guī)則,將整段音樂變換成相應(yīng)的代碼數(shù)據(jù)表,最后一個字節(jié)內(nèi)容為00H ,代表數(shù)據(jù)表的結(jié)束。( 2) 在程序執(zhí)行時按順序查表,從字節(jié)數(shù)據(jù)中取出音符代碼和節(jié)拍代碼,查頻率表得該音符對應(yīng)頻率的定時初值,再根據(jù)節(jié)拍代碼

14、控制音長,啟動兩個定時器后,即可發(fā)出要求的音,這樣就控制演奏出完整的樂曲。四、實驗參考匯編主程序:ORG0000HRESET:AJMPMAINORG000BH;定時器0中斷入口AJMPTT0PORG001BH;定時器1 中斷入口AJMPTT1P0RG0020HMAIN:MOVSP,#70H;設(shè)堆棧區(qū)CLRP2.5;關(guān)聲音MOVIE,#*H;開中斷(參數(shù)自己填寫)MOVR1,#0H;樂譜數(shù)據(jù)表偏移量ACALLPTOM2;調(diào)樂曲輸出子程序CLRTR0;停止定時器的工作CLRTR1CLRP2.5;關(guān)聲音HERR:AJMPHERR;程序結(jié)束PTOM:MOVTMOD,#*H;設(shè)定時器的工作方式(參數(shù)自己

15、填寫)PTOM1:MOVDPTR,#MUCI;樂曲數(shù)據(jù)表首地址送DPTRMOVA,R1MOVCA,A+DPTR;取樂譜數(shù)據(jù)JNZPTOM2RET;數(shù)據(jù)為00 時結(jié)束PTOM2:MOVR2,A;暫存ANLA,#0F0H;保留音符數(shù)據(jù)SWAPARLA;乘2(每個音符要2 個字節(jié)的定時值)MOVR3,AMOVDPTR,#TABL;頻率表MOVCA,A+DPTR;查表得定時高8 位MOVTH0,AMOVA,R3INCAMOVCA,A+DPTR;查表得定時值低8 位MOVTL0,AMOVA,R2ANLA,#0FH;保留節(jié)拍數(shù)據(jù)MOVB,#8MULAB;乘8 得定時中斷次數(shù)MOVR0,AMOVTH1,#2

16、CH; 50ms 定時的初值MOVTL1,#13HSETBTR1;啟動定時器SETBTR0HERE:CJNER0,#0H,HERE;當前的節(jié)拍時間完成了?INCR1;是,準備取下一個數(shù)據(jù)AJMPPTOM1TT0P: 自編定時器0 中斷服務(wù)程序 TT1P: 自編定時器1 中斷服務(wù)程序TABL: DW 64603,64654,64751,64837 ;樂曲“送別”的數(shù)據(jù)表MUCI: DB 54H,32H,52H,88H,64H,82H,62H,58H,54H,12H,22H,34HDB 22H,12H,2CH,54H,32H,52H,86H,72H,64H,84H,58H,54HDB 22H,32

17、H,46H,02H,1CH,64H,84H,88H,74H,62H,72H,88HDB62H 72H,82H,62H,62H,52H,32H,12H,28H,28H,54H,32HDB52H 84H 72H,64H,86H,58H,54H,22H,32H,46H,02H,1CHDB 00H五、思考題1總結(jié)程序調(diào)試的方法。2根據(jù)實驗板,設(shè)計一個任意樂曲的音樂盒子,并給出程序流程圖。實驗四串行通信實驗、實驗?zāi)康? . 了解51單片機串行口的結(jié)構(gòu)、串行通訊的原理。2 .掌握51單片機與PC機之間通訊的方法。3 .學習系統(tǒng)應(yīng)用程序的設(shè)計和調(diào)試、實驗設(shè)備PC機一臺、實驗教學板一塊。三、實驗原理51單片機

18、的串行接口是全雙工的,它能做異步接收器 /發(fā)送器(UART),也能做同步移位 寄存器使用。在做 UART使用時,相關(guān)的寄存器有 SBUF、SCON、和PCON中的波特率倍增 位 SMOD。SBUF是數(shù)據(jù)發(fā)送緩沖器和接收緩沖器,邏輯上用同一個地址,物理上是分開的,用讀寫 操作來選擇。SCON是串行口控制寄存器,用于設(shè)定串行口的工作方式;保存方式2和方式3的第9位數(shù)據(jù);存放發(fā)送、接收的中斷標志。在串行通訊的方式1和方式3中,通信的波特率是可以設(shè)置的,滿足下式:SMOD波特率=2 M (定日器/計數(shù)器1的溢出率)32PC機的串行通訊口是借助通用異步接收發(fā)送器8250 (或16C550等)實現(xiàn)的,可使

19、用comdebug.exe等提供了有關(guān)串行口的收、發(fā)操作窗口的軟件實現(xiàn)通訊。PC機的串行通訊采用RS232電平,因此要求單片機的實驗板也要配置RS232接口,解決邏輯電平的配接。如果通訊距離較遠,則要配接調(diào)制解調(diào)器。四、實驗內(nèi)容1,自發(fā)自收用一根短路線,將實驗板中RS232插口的RXD和TXD兩個插孔短路。然后編程設(shè)定串行 口為工作方式1,傳送55H和0AAH兩個數(shù)據(jù)。實驗要求:程序采用查詢方式。每傳送、接收一個數(shù)據(jù),做一次檢查,看是否正確,若兩 次都正確,則在顯示器上顯示“ GOOD”,若不正確,則不顯示,并要重新傳送。2,單片機與PC機的通信先使用通訊電纜將單片機的RS232接口與 PC機

20、的COM1 口連接,PC機起動并運行comdebug.exe軟件,窗口上設(shè)置波特率為 1200, 8位數(shù)據(jù)、一個停止位。單片機端也采用工作 方式1,波特率為1200,完成單片機與 PC機的通信。實驗要求:編程實現(xiàn)先由單片機發(fā)送 8個數(shù)據(jù),01、02、03、04、05、0ABH、0CDH、0EFH。 然后進入接收狀態(tài),在 PC機發(fā)送窗口上設(shè)置發(fā)送數(shù)據(jù),點擊發(fā)送按鈕,單片機接收數(shù)據(jù)后將 數(shù)據(jù)顯示在顯示器上。五、程序參考流程圖(b)與PC機通訊程序流程圖(a)自發(fā)自收程序流程圖六、思考題1 .波特率能否置為1000,為什么?2 .數(shù)據(jù)傳輸時,若要加奇偶校驗,單片機和PC機要怎樣做?實驗五 串行A/D

21、轉(zhuǎn)換實驗、實驗?zāi)康? . 了解串行總線接口 A/D轉(zhuǎn)換器件TLC549的工作原理,掌握其使用和編程3 .掌握模擬數(shù)據(jù)采集的方法。、實驗設(shè)備PC機一臺、實驗教學板一塊。三、實驗原理TLC549是一個串行方式傳輸?shù)?位A/D芯片,可與通用微處理器、控制器通過I / O CLOCK、CS、DAT A OUT三條口線進行串行連接。其片內(nèi)有4 MHz的系統(tǒng)時鐘和軟、硬件控制電路,轉(zhuǎn)換時間最長17科s。總失調(diào)誤差最大為± 0 . 5 L S B,典型功耗值為6 mWo T L C 5 4 9的片內(nèi)系統(tǒng)時鐘與I/O C L O C K是獨立工作的,無須特殊的速度或相位匹配,其工作時序如圖2所示。當

22、CS為高時,數(shù)據(jù)輸出(DATAOU T)端處于高阻狀態(tài),此時I /O C L O C K不起作用。這種C S控制作用允許在同時使用多片T L C 5 4 9時,共用I/OCLOCK ,以減少多路(片)A/D并用時占用的I/O控制端口。一組常用控制時序為:(1)將CS置低,內(nèi)部電路在測得 CS下降沿后, 在等待兩個內(nèi)部時鐘上升沿和一個下降 沿后, 再確認這一變化,最后自動將前一次轉(zhuǎn)換結(jié)果的最高位(D7)輸出到DATA OUT端;(2)在前四個I/O CLOCK周期的下降沿依次移出第 2、3、4、5個轉(zhuǎn)換位(D6, D5 , D4, D3),片上采樣保持電路在第 4個I/O CLOCK下降沿開始采

23、樣模擬輸入;(3)接下來的3個I/O CLOCK周期的下降沿可移出第 6、7、8 (D2 , D1 , D0)各轉(zhuǎn)換位。 然后使保持功能持續(xù) 4個內(nèi)部時鐘周期,接著開始進行32個內(nèi)部時鐘周期的 A/D轉(zhuǎn)換。在這 第8個I/O CLOCK后,CS必須為高或I/OCLOCK保持低電平,這種狀態(tài)需要維持 36個內(nèi)部系統(tǒng)時鐘周期以等待保持和轉(zhuǎn)換工作的完成。如果CS為低時,I/O CLOCK上出現(xiàn)一個有效干擾脈沖,則微處理器/控制器將與器件的I/O時序失去同步;而在CS為高時若出現(xiàn)一次有效低電平,則將使引腳重新初始化,從而脫離原轉(zhuǎn)換過程。在36個內(nèi)部系統(tǒng)時鐘周期結(jié)束之前, 實施步驟(1)(4),可重新啟

24、動一次新的 A/D轉(zhuǎn)換,與此同時,正在進行的轉(zhuǎn)換將終止。但應(yīng)注意,此時的輸出是前一次的轉(zhuǎn)換結(jié)果而不是正在進行的轉(zhuǎn)換結(jié)果。若要在特定的時刻采樣模擬信號,則應(yīng)使第8個I/O CLOCK時鐘的下降沿與該時刻對應(yīng)。因為芯片雖在第4個I/O CLOCK時鐘的下降沿開始采樣,卻在第8個I/O CLOCK的下降沿才開始保存。四、實驗內(nèi)容1 .編程采集模擬數(shù)據(jù),并進行 A/D轉(zhuǎn)換,采集周期為0.1秒,時間要求用定時器來控制, 每次定時結(jié)束,啟動一次A/D ,并將轉(zhuǎn)換值用二十進制數(shù)方式在數(shù)碼管上顯示。實驗要求:程序運行后先將A/D的輸入置0 (接地),觀察顯示值是否為 0,再將A/D的為A/D的輸入,觀察顯示器

25、上顯示數(shù)值的變化。主程序流程框圖輸入端接5V,觀察A/D顯示值是否為255,然后用手直接接觸 A/D的輸入端,用人體感應(yīng)作五、實驗參考程序流程圖 六、思考題1 .給出A/D轉(zhuǎn)換的程序流程圖2 .說明A/D轉(zhuǎn)換值與輸入電壓的關(guān)系。實驗六人體視覺暫留特性測試實驗一、 實驗?zāi)康? 進一步熟悉利用Kei l C51 軟件編輯、調(diào)試(包括仿真調(diào)試、單步調(diào)試)和運行單片機程序的步驟和方法。2 學習運用單片機完成一個較為簡單的一應(yīng)用系統(tǒng)的設(shè)計二、實驗設(shè)備PC機一臺、實驗教學板一塊。三、實驗內(nèi)容及原理編程從一個I/O 口輸出一掃頻信號,驅(qū)動一支LED 燈閃動,頻率范圍為10HZ99HZ ,掃描時間為 30 秒

26、,在 LED 閃動期間觀察,一旦發(fā)現(xiàn)無法識別LED 燈閃動時,按下按鍵K1 ,立即停止輸出,并將此時的信號頻率顯示在數(shù)碼管上,該信號的周期為測試者的視覺暫留時間。四、實驗要求1. 按實驗題目要求設(shè)計好硬件電路,畫出電路原理圖。2. 要求畫出主程序、子程序、中斷服務(wù)程序流程圖,設(shè)計出相應(yīng)程序并給程序加上較詳細的注釋。3. 在 Keil C51 編譯環(huán)境下完成程序編譯。4. 通過下載線和下載軟件STC-ISP V39 將編譯后的程序下載到單片機。5. 運行程序,用實驗結(jié)果驗證程序的正確性。若不能達到要求,分析原因、查找錯誤,修改源程序,再次匯編、連接,重新下載、運行,直至達到題目的要求。五、思考題

27、1 、實驗中頻率數(shù)據(jù)是怎樣計算出來的?2、總結(jié)數(shù)碼管動態(tài)顯示方法。程序流程圖主程序信號頻率輸出TO定時(30/89)秒定時T1中斷10HZ i 11 HZ| 時間:337MS i 時間: 337MS出97HZ : 98HZ時間1337Ms :時間士 337Ms*99HZ時間:337Ms中斷服務(wù)程序服務(wù)程序輸出波形輸出頻率與定時器初值關(guān)系表偏移地址定時器初值初值頻率值TABL+0TH4CH10HZTL00HTABL+2TH5CH11HZTL5DHTABL+4TH6AH12HZTL00HTABL+6TH75H13HZTL89HTABL+8TH7FH14HZTL6DHTABL+194THEDH97H

28、ZTL71HTABL+196THEDH98HZTLA1HTABL+198THEDH99HZTLD1H#實時時鐘制作實驗實驗七一、 實驗?zāi)康耐ㄟ^實驗掌握51 單片機的定時/計數(shù)器、鍵盤、LED 顯示的綜合運用。二、實驗設(shè)備PC機一臺、實驗教學板一塊。三、實驗內(nèi)容及原理在內(nèi)存中設(shè)置若干個單元存放時鐘參數(shù):年、月、日、時、分、秒,開機時所有參數(shù)設(shè)定一起始值。編程利用定時器T0 或 T1 定時,在定時中斷服務(wù)程序中修改時鐘參數(shù),而主程序則完成按鍵處理和時鐘顯示。要求:可通過按鍵對各參數(shù)進行修改,并可根據(jù)按鍵循環(huán)設(shè)置時鐘顯示內(nèi)容,顯示格式如下:年2008月日XX.XX時分XX.XX分秒XX.XX.按鍵的

29、設(shè)置和使用方法自行決定。四、實驗要求1. 按實驗題目要求設(shè)計好硬件電路,畫出電路原理圖。2. 制定按鍵的功能和使用方法。3. 要求畫出主程序、子程序、中斷服務(wù)程序流程圖,設(shè)計出相應(yīng)程序并給程序加上較詳細的注釋。4. 在 Keil C51 編譯環(huán)境下完成程序編譯。5. 通過下載線和下載軟件STC-ISP V39 將編譯后的程序下載到單片機。6. 運行程序,用實驗結(jié)果驗證程序的正確性。若不能達到要求,分析原因、查找錯誤,修改源程序,再次匯編、連接,重新下載、運行,直至達到題目的要求。五、思考題1 . 如何增加顯示的亮度?2 .若想用按鍵快速修改時間參數(shù),有什么好辦法?25實驗八制作簡易電子琴的實驗

30、實驗?zāi)康?.通過實驗學習系統(tǒng)應(yīng)用程序的設(shè)計和調(diào)試方法實驗設(shè)備PC機一臺、實驗教學板一塊。圖4-1音樂輸出線路入實驗原理實驗線路見圖4-1 ,通過定時器的定時,產(chǎn)生一定頻 率的信號,經(jīng)P2.5輸出,驅(qū)動蜂鳴器,便可發(fā)出某一頻率 的音調(diào),若按一支樂曲規(guī)定的音調(diào)和節(jié)拍改變輸出的變化, 即可演奏一首樂曲。四、實驗內(nèi)容1 .電子琴功能用實驗板上 K1K7作為電子琴的7個按鍵,每個按鍵對應(yīng)一個音符,規(guī)定頻率如表1:音符頻率T值音符頻率T值7 SI494646035 So784649481 DO523646546 La880650122 Re587647517 Si987650693 Mi659648371

31、 DO1046650954 Fa698648752 RE117465143要求當按下其中一個按鍵,就通過P2.5 口輸出對應(yīng)頻率信號使蜂鳴器發(fā)出特定音符聲音。2 .樂曲演奏參考實驗二的內(nèi)容,設(shè)計一個音樂盒,可自動彈奏多首歌曲。五、實驗要求1 .按實驗題目要求設(shè)計好硬件電路,畫出電路原理圖。2 .要求畫出主程序、子程序、中斷服務(wù)程序流程圖,設(shè)計出相應(yīng)程序并給程序加上較詳細的 注釋。3 .在Keil C51編譯環(huán)境下完成程序編譯。4 .通過下載線和下載軟件 STC-ISP V39將編譯后的程序下載到單片機。5 .運行程序,用實驗結(jié)果驗證程序的正確性。若不能達到要求,分析原因、查找錯誤,修改 源程序

32、,再次匯編、連接,重新下載、運行,直至達到題目的要求。六、思考題1、結(jié)合實驗板上的電路,設(shè)計一個可以任意選曲播放的電子音樂盒。2、總結(jié)矩陣鍵盤的識別方法。主程序開始定時中斷服務(wù)程序初始化關(guān)顯示、關(guān)聲音、設(shè)置定時器工作方式*設(shè)置中斷開始重置定時初值看按鍵嗎1丫計算鍵值輸出取反定時中斷返同關(guān)閉定時根據(jù)鍵值查表設(shè)定定時器初值參數(shù)分離數(shù)據(jù)得簡譜值,根據(jù)簡譜值再查信設(shè)定定時器初值參數(shù)歌曲簡譜表指針置0分離數(shù)據(jù)得節(jié)拍侑根據(jù)節(jié)拍值延時啟動定時器查簡譜表得簡譜數(shù)據(jù)?參考流程圖簡譜表指針加129實驗九、EEPRO幟用一數(shù)字密碼鎖一、實驗?zāi)康? 通過實驗掌握EEPROM 使用2 . 學習I 2C 的使用3 學習系

33、統(tǒng)應(yīng)用程序的設(shè)計和調(diào)試方法。二、實驗設(shè)備pc機一臺、實驗教學板一塊。三、實驗內(nèi)容及原理設(shè)計數(shù)字密碼鎖的電路和應(yīng)用程序。密碼鎖的基本功能如下:1密碼鎖有兩個密碼:一是設(shè)計密碼,放存在ROM 中;另一個是使用密碼,存于EEpROM中。2. .密碼鎖的密碼用4 位有效數(shù)字,輸入超過4 位時以最后輸入4 位數(shù)字為準,數(shù)字范圍由16。3. 用實驗板上K1 K6 鍵作密碼數(shù)字輸入鍵,分別表示16 數(shù)字, K7, K8 鍵為命令鍵。其中,K7 為密碼設(shè)置鍵,K8 為開鎖鍵。蜂鳴器用作開鎖指示。4. 開機后進入初始狀態(tài),顯示器顯示“ ” 且最高一位閃動,閃動位亦表示當前數(shù)字輸入位,以后每輸入一位數(shù)字,閃動位向

34、右循環(huán)移動。5開鎖功能:在初始狀態(tài)下,從K1 K6 鍵輸入密碼,再按K8 鍵。若輸入密碼的最后4 位數(shù)與存EEpROM 的使用密碼內(nèi)容相同或與存于ROM 中的設(shè)計密碼相同,則開鎖成功,并用蜂碼器發(fā)聲指示。否則輸入錯誤返回初始狀態(tài)。開鎖狀態(tài)維持60 秒,超過時間,則自動關(guān)閉開鎖狀態(tài),同時停止聲音輸出。6.修改密碼功能,在開鎖狀態(tài)下,用K1K6 鍵輸入 4位新的使用密碼,若超過4 位數(shù)則以最后4 位數(shù)為準,然后按K7 鍵,則完成密碼修改。新密碼存到EEpROM 中,覆蓋原來的使用密碼,且新密碼閃動三下,表示修改成功。完成后自動回到初始狀態(tài)。若不在開鎖狀態(tài)或在開鎖狀態(tài)下數(shù)字鍵輸入不足4 位,按 K7

35、 鍵就無效,返回初始狀態(tài)。以上 36 項也可根據(jù)自己的喜好自行設(shè)計。四、實驗要求1 按實驗題目要求設(shè)計好硬件電路,畫出電路原理圖。3 .根據(jù)給出的程序流程圖,設(shè)計出相應(yīng)程序并給程序加上較詳細的注釋。4 .在Keil C51編譯環(huán)境下完成程序編譯。5 .通過下載線和下載軟件 STC-ISP V39將編譯后的程序下載到單片機。6 .運行程序,用實驗結(jié)果驗證程序的正確性。若不能達到要求,分析原因、查找錯誤,修改 源程序,再次匯編、連接,重新下載、運行,直至達到題目的要求。五、思考題1、編寫I2C總線的應(yīng)用程序時要注意哪些問題?參考流程圖主程序流程圖開陽初始化設(shè)置堆棧、定時器、中 斷,設(shè)置顯示緩沖區(qū)和

36、初 始顯示值,設(shè)置初始輸入 位置及顯示閃動位置口i r調(diào)顯示程序,F(xiàn)調(diào)按鍵檢測子程序1 F調(diào)按鍵處理子程序1定時中斷流程圖1現(xiàn)場保護 i重懣初值。,5秒到否重裝0.5秒計數(shù)值* Y動次數(shù), 廠 .閃動0:數(shù)-11開鎖乎態(tài)zy*克鎖”時仁安U關(guān)聲竟輸出I現(xiàn)場恢復1 返回按鍵處理流程圖<鍵值:口返回<3K1K6 嗎?送顯示緩沖區(qū)N . N< K8g? ><<入密最位:逛心Y K7鍵?圣回修改輸入位和 顯示閃動位指針讀EEPROM使用碼加入碼與使用比較,等?e人入碼與設(shè)計 、比較相等?置開鎖狀態(tài)輸出聲音V |工<3開鎖表態(tài)嗎?>保存新使用碼到EEPRO

37、M置閃動次數(shù)=3恢復初始顯取數(shù)據(jù)返回顯示子程序流程圖43訪問24co2的時序:S<.La,啟動 b,停止訪問24co2的流程圖:2.啟動b停止c.發(fā)送應(yīng)d.接收應(yīng)巳.發(fā)送非應(yīng)答信號答信號 答信號SSLAWAWORDADRADATA1ADAT AnAP任意地址連續(xù)寫SSLAWAWORUADRASSLARADATMA- - DATAnP任意地址連續(xù)讀c.發(fā)送應(yīng)d.接收應(yīng)在發(fā)送非應(yīng)答信號 答信號 答信號啟動寫 SLAW寫單元地址置循環(huán)次數(shù)苴數(shù)據(jù)指針取數(shù)據(jù)到AOllEEPROM修改指針停止返回置箱環(huán)8位次數(shù)_工I SCLO I移位將數(shù)據(jù)送送A、丁 :1SCLK1一 IVSf環(huán)次數(shù)-1=0匚調(diào)捱收

38、應(yīng)答子程序,丁 i返回字節(jié)寫子程序流程圖字節(jié)讀子程序流程圖任意隼元連繳寫流程圖任意單元連線讀流程圖實驗十教學板自檢程序設(shè)計一、實驗?zāi)康? 掌握串行A/D 的應(yīng)用2 . 掌握單片機串行通信收發(fā)接口的使用3學習一般應(yīng)用系統(tǒng)自檢程序的設(shè)計方法。二、實驗設(shè)備PC機一臺、實驗教學板一塊。三、實驗內(nèi)容及原理程序運行前先將TXD 、 RDX 短接。程序完成以下功能:1自檢程序先將所有的數(shù)碼管點亮,顯示09,每秒變換一次。2. 編寫走馬燈程序,使LED 逐位顯示一次3. 啟動串行口進行自發(fā)自收,檢查發(fā)、收的數(shù)據(jù)是否相同。不成功則顯示“Er r 1 ” 。4. 啟動 A/D ,并在數(shù)碼管上顯示A/D 轉(zhuǎn)換值。5

39、. 等待按鍵,按任一鍵則蜂鳴器發(fā)聲0.5 秒一次。四、實驗要求1. 按實驗題目要求設(shè)計好硬件電路,畫出電路原理圖。2. 要求畫出主程序、子程序、中斷服務(wù)程序流程圖,設(shè)計出相應(yīng)程序并給程序加上較詳細的注釋。3. 在 Keil C51 編譯環(huán)境下完成程序編譯。4. 通過下載線和下載軟件STC-ISP V39 將編譯后的程序下載到單片機。5. 運行程序,用實驗結(jié)果驗證程序的正確性。若不能達到要求,分析原因、查找錯誤,修改源程序,再次匯編、連接,重新下載、運行,直至達到題目的要求。五 、思考題1 若要 8 路 A/D ,在原有的電路上應(yīng)作如何修改?2 這塊實驗板的串行通信的速度最高能夠做到多少波特率?

40、請給出計算方法和初始設(shè)置的程序。實驗十一:數(shù)據(jù)采集火災(zāi)報警裝置的軟硬件設(shè)計、實驗?zāi)康?掌握串行A/D 的應(yīng)用2. 掌握單總線器件18B20 的應(yīng)用3. 掌握溫度的檢測方法4學習系統(tǒng)應(yīng)用程序的設(shè)計和調(diào)試方法。二、實驗設(shè)備PC機一臺、實驗教學板一塊。18B20芯片一塊,390歐電阻、1K電位器各一個三、實驗內(nèi)容及原理完成一個火災(zāi)數(shù)據(jù)采集系統(tǒng)的硬件電路的設(shè)計。編寫和調(diào)試運行程序。系統(tǒng)主要技術(shù)指標如下:1 .系統(tǒng)監(jiān)測1 路可燃氣體的濃度注:傳感器在濃度從 00100%LEL (Low Expiosion Limit,爆炸極限)輸出420mA 的信號(可用電位器替代)2 .系統(tǒng)監(jiān)測1 路溫度的變化值3

41、.設(shè)若干位顯示,設(shè)置按鍵進行濃度、溫度顯示轉(zhuǎn)換。4 .系統(tǒng)可設(shè)置氣體濃度安全值,溫度變化的安全值。5 .一旦超出安全范圍則進入自動報警。四、實驗要求1按實驗題目要求設(shè)計好硬件電路,畫出電路原理圖。2. 說明電路原理,設(shè)計指標,系統(tǒng)操作方法。3. 要求畫出主程序、子程序、中斷服務(wù)程序流程圖,設(shè)計出相應(yīng)程序并給程序加上較詳細的注釋。4. 在 Keil C51 編譯環(huán)境下完成程序編譯。5. 通過下載線和下載軟件STC-ISP V39將編譯后的程序下載到單片機。6. 運行程序,用實驗結(jié)果驗證程序的正確性。若不能達到要求,分析原因、查找錯誤,修改源程序,再次匯編、連接,重新下載、運行,直至達到題目的要求

42、。五、編寫設(shè)計報告附錄一實驗教學板電路原理圖0id L inOTNYT f f X 6Lr目。& m T£ 3六K 5 - K 9 i 2£ 'em Ly PR2 £ 也 Tk nv£ 一三二dcm.Rm-自匚工 Jlaf-1 _ <T- wrc *rX=r 1X.=£X.TIP X de*1:1N-vt二A ITDO/Ff附錄二 Nision3軟件使用說明里1、打開程序:雙擊程序拯富享迎氨;迨2、新建工程:Project New Project一保存工程一選擇 CPU (一般選 ATME公司的 AT89S51)Misio

43、hDTir fxjHuiW * Commend 卜 Find jn Fin /士w* 13Jfa ew Eroject | Fl*#ols locls 'ffa ndaw UelpVendor : AtmelDevice: AT89S51Toolset C51口,* b»eO AT69LVS2C3 ATS9LV55 AT39S2O51 AT89S4O51 AT89S4D12Cre-it t q new pr ojicctSelect Device £or Target F Target 1':- Vse Extended Linker (LX51) inst

44、ead of BL51 Use Extended isseimb-ler rAXSl J instead of A0051 based full Stati c CMOS cantroller with Three-Level Pr Memory Lckr 我 I/O lim電后/ 2 Timers/Cer6 Interrurpts Watchdog Timer. 2 BFTEs 4K Flash, 128 Bytes On-chip RJMAT89S51ATg9S53AT89S3252AT89S0253AT8xC5122AT91C140J >幫助 I3、設(shè)置工程:右擊:口 1 一Opt

45、ions for'Target 1Output一選擇 Create HEX(輸出HEX文件)??谕瑓^(qū)SVCS lixhdow 也耳Edit Eis Erujiel UebufFlsh Fejiphtr als 工q。1sl-致叵畫 強 鼬莽 TargcllPro)«t Worfc ftpace虹日ption雷 fer Ter<«t pIsrgt 1"XX 吉p匚扉三dax Build A CommndX Ftid in Fies /Set Frcjcl op I i tinsSimuLaiti on(匯編源程序:文件名.asm;C源程4、新建源文件:

46、選 File - Ne稼輸入、編輯源程序一保存 序:文件名.csdf - A|±slon3 - l"D: 心新彝文科去、TeEt 3. &&15、為 工程,MENU 為 P3. 2, SE TTI Ni; A P3, 3, UP P 3 . 4DOEj EiLe E.di t 白 ew tr oj ect 口用bia< Fl,>h Feriphernla 工。1; 位VCS W4az Uelp曳J礴UJ如零 國5- E1 2 3 4 5 & 7 R:UJ o 1 3 4 5 6 7 8 9 fl 1 2 3 OODn-floon-n-11

47、1.111.1111222s ooon-ooooooooooooooo-uooaKEYKiARD EQU P3 KEY PIN EQU 3CHDATA EOU PO BIT EQU P2KEY VALUE EQU GGH HEFU_STAIE EQU 61H 5ETTHK_ STATE BMI SSHYEAR. EQU SOHHONTH EQU 65HDATE EQU 55HHOUR EQU 67HMINUTE EQU 68HSECOND EQU S9H COUNT 15 EQU *6AHIZ)回國.觸碼管編碼輸入端.她嗎首選通謝;為3. 3, UP% P九 % D<N為;快碳循。用無,

48、I為MENU.之為SETTIWG, 3為 量親狀塞, 為年,1為月日,W為時分, 3> :澗整狀態(tài).非澤為造人調(diào)整狀態(tài).】為澗整喟不能超出過典9g屏圖:祉:L即4楚.I為幗嘰 2為SETTIW, 3為為月日,g為時分,篁 燈迸入德里狀態(tài).j為期1E 19Build target 'Target 1' iassembl ing Text3 .asni., linking ,Program Siz: d3to-S T 0 Kdats-0 匚口 cresting he* File from "s;df "., "sdf" - Error

49、(s) , 口 Warning (s )"-1, Build 4 Command Find in Files. /L 17 C:29klfeul Ati tip添加源文件:在d Files t* turi"噌工vt Project GroupProject出口 File頁上單擊文件組, 擇你的源文件和文件類型,然后點擊選擇 Add Files to GroupADD再點擊 close °Source Group 1 '選項,選6、編譯:點擊,或右擊Target 1 一 Build TargetF7,就可對源程序進行編譯。當程序有語法錯誤時,會在輸出窗口( Output Windows )中顯示錯誤信息和警告信息,修改編譯成功后 會生成HEX文件。7、下載、調(diào)試:編譯成功后,用在線燒錄程序?qū)?.HEX文件下載到單片機內(nèi)部 ROM中運行,在運行過程中若發(fā)現(xiàn)錯誤要重新修改程序,并編譯后再下載運行。STC-ISP V39軟件的使用1、打開在線燒錄程序SA2、選擇 MC族型(STC89C51RC搞群3、點擊口&qu

溫馨提示

  • 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

提交評論