




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機技術實驗指導書機械電子工程系2011年9月目 錄實驗一數據傳送(RAM>XRAM)1實驗二P1口數據輸入、輸出實驗(跑馬燈實驗)3實驗三P1口數據輸出實驗(交通燈控制實驗)7實驗四外部中斷實驗(急救車與交通燈)10實驗五8279鍵盤顯示實驗12實驗六電子鐘(定時器、中斷綜合實驗)15實驗七雙機通訊實驗18實驗八RS232串口通訊實驗20實驗九并行AD實驗(數字電壓表實驗)23實驗十并行DA實驗(信號發生器實驗)27實驗十一 繼電器控制實驗30實驗十二 直流電機測速實驗32實驗十三 LED16*16點陣實驗38實驗十四 圖形點陣顯示實驗44附錄一 STAR ES598PCI實驗儀硬件
2、結構52附錄二 星研集成環境軟件簡介53實驗一數據傳送(RAM>XRAM)一、實驗目的1、熟悉星研集成環境軟件或熟悉Keil C51集成環境軟件的使用方法。2、掌握80C51內部RAM和外部RAM之間的數據傳送方法;掌握這兩部分RAM存貯器的特點與應用,掌握各種數據傳送方法。3、熟悉80C51匯編指令,能自己編寫簡單的程序,掌握數據傳輸的方法。二、實驗設備 STAR系列實驗儀一套、PC機一臺三、實驗內容1、熟悉星研集成環境軟件或熟悉Keil C51集成環境軟件的安裝和使用方法。2、編寫并調試一個數據傳送程序:將30H3FH數據送到數據存貯器1000H100FH中。實現內外部數據段的傳送、
3、校驗。四、實驗框圖五、實驗步驟1、運行程序前,打開變量窗、二個存貯器窗(一個選擇片內數據;一個選擇片外數據,起始地址選擇1000H)。2、在內部RAM 30H3FH中輸入數據;使用單步、斷點方式調試程序,檢測外部數據RAM的1000H100FH中的內容。3、熟悉查看特殊功能寄存器、內部數據RAM、外部數據空間的各種方法。【注意】實驗箱中已經將單片機最小電路(電源、時鐘電路及復位電路)連接完成,因此,該部分不再需要連線。六、程序清單;將內部RAM Address1 開始的16個字節送到外部RAM從Address2開始的單元里,;再作比較。Address1DATA30H;內部ROM存放數據起始地址
4、Address2XDATA1000H;外部ROM存放數據起始地址ORG0000HLJMPSTARORG0100HSTAR:MOVSP,#60H;初始化堆棧指針MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR1:MOVA,R0;傳送MOVXDPTR,AINCR0INCDPTRDJNZR7,STAR1MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR2:MOVB,R0;比較MOVXA,DPTRCJNEA,B,STAR3INCR0INCDPTRDJNZR7,STAR2SJMP$;傳送正確STAR3:SJMP$;傳送
5、錯誤END七、思考題編寫程序分別實現以下功能:將外部數據存貯區1000H100FH中的數據送到80C51內部RAM 404FH中。將外部數據存貯區1000H100FH的內容寫入外部RAM 3030303FH中。實驗二P1口數據輸入、輸出實驗(跑馬燈實驗)一、實驗目的1、通過實驗了解單片機最小系統。2、了解P1口作為輸入、輸出方式使用時,CPU對P1口操作方法。3、學習延時子程序的編寫和使用。二、實驗設備 STAR系列實驗儀一套、PC機一臺三、實驗內容1、P1口做輸出口,接G6區的八個發光二極管(其輸入端為低電平時發光二極管點亮),編寫程序,使發光二極管循環點亮(瞬間只有一個燈亮)。2、P1.0
6、、P1.1作輸入口接兩個撥動開關S21、S22;P1.2,P1.3作輸出口,接兩個發光二極管DS35、DS36,編寫程序讀取開關狀態,將此狀態在發光二極管上顯示出來。【注意】P1口是準雙向口,它作為輸出口時與一般的雙向口使用方法相同。由準雙向口結構可知當P1口用作輸入口時,編程時必須先對口的鎖存器寫“1”;若不先對它寫“1”,讀入的數據是不正確的。四、實驗原理圖【注意】本實驗指導書中的原理圖只給出了重要部分原理圖,單片機最小系統均未給出,請學生參考教材補充完整。P1口循環點燈原理圖P1口輸入輸出原理圖五、實驗流程圖六、實驗步驟 P1口輸出實驗1、連線說明:A3區:JP51G6區:JP65【注意
7、】實驗箱上單片機的P1口(A3區JP51插槽)分別接八個發光二極管(G6區JP65插槽),使用一根8線的扁平電纜連接即可。2、編寫程序。3、實驗結果:通過G6區的LED指示燈(8個指示燈輪流點亮),觀察實驗的輸出結果是否正確。P1口輸入、輸出實驗1、連線說明:A3區:JP51G6區:JP80JP55G6區:JP652、編寫程序。3、實驗結果:改變S21、S22兩個撥動開關的狀態,觀察LED指示燈的變化。七、源程序P1口輸出實驗ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HMOVA,#0FFHMOVP1,A;P1口輸出數據時,該句可省略。;P1口輸入數據時,該
8、句必須保留。CLRCSTART1:RLCAMOVP1,AACALLDelaySJMPSTART1Delay:MOVR5,#2;延時Delay1:MOVR6,#0Delay2:MOVR7,#0DJNZR7,$DJNZR6,Delay2DJNZR5,Delay1RETENDP1口輸入、輸出實驗【源程序略,由學生自行設計】八、思考題1、在80C51系統中,MOV指令需用1個機器周期,DJNZ指令需用2個機器周期,RET指令需用2個機器周期。STAR ES598PCI實驗儀中單片機的晶振為12MHz,請計算源程序中軟件延時(第12行第18行)的時長是多少秒?2、編程實現下表所示的發光二極管點亮時序,注
9、意延時時間的設置(采用軟件延時)。時序8個發光LED的狀態18個LED同時亮,延時0.5s28個LED同時滅,延時0.5s3自左向右,每隔0.5s循環點亮一個(單個亮)4自右向左,每隔0.5s循環點亮一個(單個亮)5自左向右,每隔0.5s循環相鄰兩個點亮一次(相鄰兩個亮,其余滅)實驗三P1口數據輸出實驗(交通燈控制實驗)一、實驗目的1、了解單片機的工作原理,熟悉其編程方法以及輸入、輸出程序設計技巧。學會使用并行口實現各種控制功能,如本實驗(控制交通燈)等。2、熟悉單片機程序存儲器的查表指令,熟悉表格的設計及使用技巧。熟練設計并使用軟件延時子程序。二、實驗設備STAR系列實驗儀一套、PC機一臺三
10、、實驗內容1、編寫程序:使用80C51的P1口控制8個LED指示燈,實現交通燈功能。2、連接線路、驗證該功能,并熟悉P1口的使用方法。四、實驗原理交通燈控制原理圖該實驗中單片機P1口與8個發光二極管相連。實驗箱上的8個發光二極管的排列順序是“綠、黃、紅、紅、綠、黃、紅、紅”,這相當于兩組“綠、黃、紅”交通指示燈,可以模擬十字路口的東西向和南北向交通燈。由于每組紅燈有兩個,可把將兩個紅燈看作是一個紅色指示燈,讓它們同時亮滅。一個周期內交通指示燈的所有狀態,如下表所示:序號東西向交通燈南北向交通燈狀態碼P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0綠黃紅紅綠黃紅紅00111110
11、07CH1101111000BCH2110001110C7H3110010110CBH將狀態碼放入一段連續的ROM單元,可以構成一段數據表(用DB偽指令定義數據表,如“DB 7CH 0BCH 0C7H 0CBH”)。利用數據指針DPTR,將其指向數據表的首地址,再將各個狀態的序號依次放入累加器A中,通過查表指令便可找到各個狀態碼,最后將狀態碼送入P1口顯示并做相應的延時處理,發光二極管上即可反映出相應的交通指示燈狀態。當一個周期結束后,再用一條長跳轉指令返回首個狀態,就可實現交通指示燈的連續工作。五、實驗流程圖六、實驗步驟1、連線說明:A3區:JP51(P1口)G6區:JP652、觀察實驗結果
12、,驗證模擬交通燈控制過程的正確性。七、源程序ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#TABLE;數據指針指向表的首字節地址單元LOOP:MOVR7,#data8;data8由交通燈的狀態個數定MOVR0,#0D1:MOVA,R0MOVCA,A+DPTR;查表取狀態字節MOVP1,A;送P1口顯示INCR0LCALLDELAYDJNZR7,D1LJMPLOOPTABLE:DB【略】;狀態字節 【學生自行設計】DELAY:【略】;延時子程序【學生自行設計】END八、思考題1、如何使用該控制策略實現對霓虹燈或跑馬燈的設計?2、如何實現對綠燈、紅燈和黃燈的時間分別進
13、行控制,以及黃燈閃爍3次的實現?實驗四外部中斷實驗(急救車與交通燈)一、實驗目的1、學習外部中斷技術的基本使用方法。2、學習中斷處理程序的編程方法。二、實驗設備STAR系列實驗儀一套、PC機一臺三、實驗內容1、編寫程序:在實驗四的基礎上增加允許急救車優先通過的要求,有急救車到達時,兩個方向交通信號燈全紅,以便讓急救車通過。設急救車通過路口時間為10秒,急救車通過后,交通恢復正常。2、本實驗用單次脈沖(由輕觸按鍵產生)申請中斷,表示有急救車通過。3、連接線路、驗證該功能,并熟悉外部中斷的使用方法。四、實驗原理1、編制中斷處理程序要注意的問題是:保護進入中斷時的狀態(保護現場),并在退出中斷之前恢
14、復進入時的狀態(恢復現場)。必須在中斷程序中設定是否允許中斷重入,即設置EX0位。2、本實驗中使用了INT0中斷,一般中斷處理程序進入時應保護PSW、ACC以及中斷處理程序使用但非其專用的寄存器。本實驗的INT0程序中應保護PSW、ACC等,以便保護中斷前紅綠燈的狀態(保護現場),并且在退出前恢復原來紅綠燈狀態(恢復現場)。3、INT0端(P3.2)接輕觸按鍵K5。五、實驗流程圖六、實驗步驟1、連線說明:A3區:JP51G6區:JP65JP61JP74【注意】當響應中斷時,應按下JP74中K5按鍵。2、觀察實驗結果,驗證模擬交通燈控制過程的正確性。七、源程序【源程序略,由學生自行設計】實驗五8
15、279鍵盤顯示實驗一、實驗目的與要求1、了解8279與單片機的接口邏輯;掌握對8279的顯示子程序Dispaly8的使用方法,掌握使用8279擴展顯示器的方法。2、認真預習,做好實驗前的準備工作,自行編寫程序,填寫實驗報告。二、實驗設備 STAR系列實驗儀一套、PC機一臺三、實驗內容1、編寫程序:利用8279實現對G5區的8位數碼管的顯示控制,要求最右邊LED從09循環顯示,其余7個LED均不顯示。2、按圖連線,運行程序,觀察實驗結果,能熟練運用8279的顯示子程序Dispaly8。四、實驗原理圖五、實驗流程圖六、實驗步驟1、連線說明:E5區:CS、A0A3區:CS5、A0E5區:CLKB2區
16、:2ME5區:A、B、C、DG5區:A、B、C、D2、運行程序,觀察實驗結果(8個LED顯示器會按要求顯示出來),可依此驗證對8279芯片操作的正確性。七、源程序EXTRNCODE(Display8)BUFFERDATA30H;8字節顯示緩沖區ORG0000HLJMPSTARORG0100HSTAR:MOVSP,#5FHMOVR0,#BUFFERMOVA,#10H;其余7位LED不顯示CLRR:INCR0MOVR0,ACJNER0,#37H,CLRRLOOP:MOVR7,#10;循環次數,10次MOVR6,#0INCC:MOV30H,R6LCALLDELAYINCR6MOVR0,#BUFFER
17、LCALLDisplay8DJNZR7,INCCAJMPLOOPEND八、思考題1、如何實現8個LED數碼管循環顯示程序。2、不使用8279,編程實現數碼管的顯示功能。實驗六電子鐘(定時器、中斷綜合實驗)一、實驗目的熟悉80C51中CPU的定時器、中斷系統編程方法,了解定時器的應用、實時程序的設計和調試技巧。二、實驗內容編寫一個時鐘程序,使用定時器產生一個50ms的定時中斷,對定時中斷計數,通過8279將時、分、秒顯示在數碼管上。三、程序框圖四、實驗步驟1、連線說明:E5區 :CLKB2區:2ME5區 :CSA3區:CS5E5區 :A0A3區:A0E5區 :A、B、C、DG5區:A、B、C、D
18、2、時間顯示在數碼管上五、程序清單ms50DATA31H;存放多少個50mssecDATA32H;秒minDATA33H;分hourDATA34H;時bufferDATA35H;顯示緩沖區EXTRNCODE(Display8)ORG0000HLJMPSTARORG000BH;定時器T0中斷處理入口地址LJMPINT_Timer0ORG0100HSTAR:MOVSP,#60H;堆棧MOVms50,A;清零ms50MOVhour,#12;設定初值:12:59:50MOVmin,#59MOVsec,#50MOVTH0,#60;定時中斷計數器初值MOVTL0,#176;定時50msMOVTMOD,#1
19、;定時器0:方式一MOVIE,#82H;允許定時器0中斷SETBTR0;開定時器T0STAR1:LCALLDisplay;調用顯示JNBF0,$CLRF0SJMPSTAR1;需要重新顯示時間;中斷服務程序INT_Timer0:MOVTL0,#176-5MOVTH0,#60PUSH01HMOVR1,#ms50INCR1;50ms單元加1CJNER1,#20,ExitIntMOVR1,#0;恢復初值INCR1INCR1;秒加1CJNER1,#60,ExitInt1MOVR1,#0INCR1INCR1;分加1CJNER1,#60,ExitInt1MOVR1,#0INCR1INCR1;時加1CJNER
20、1,#24,ExitInt1MOVR1,#0ExitInt1:SETBF0ExitInt:POP01HRETIHexToBCD:MOVB,#10DIVABMOVR0,BINCR0MOVR0,AINCR0RETDisplay:MOVR0,#bufferMOVA,secACALLHexToBCDMOVR0,#10H;第三位不顯示INCR0MOVA,minACALLHexToBCDMOVR0,#10H;第六位不顯示INCR0MOVA,hourACALLHexToBCDMOVR0,#bufferLCALLDisplay8RETEND六、思考題1、定時器0初始化時,為什么設置TL0為176,TH0為60
21、?2、電子鐘走時精度與哪些有關系?中斷程序中給TL0賦值為什么與初始化程序中不一樣?3、使用定時器方式二,重新編寫該程序。4、如何利用定時、中斷實現交通燈的控制功能?實驗七雙機通訊實驗一、實驗目的與要求1、了解單片機串行口的內部結構、工作原理;使用串行口方式二進行兩個單片機之間的串行通信。2、認真預習,做好實驗前的準備工作,填寫實驗報告。二、實驗設備 STAR ES598PCI實驗儀兩套、PC機兩臺三、實驗內容1、編寫程序:A機向B機發送一個字節的數據,B機接收到后,將該數據顯示在B機P1口的發光二極管上,再將該數據發送給A機,A機接收到B機發回的數據后,顯示在A機P1口的發光二極管上。2、按
22、圖連線,運行程序,觀察實驗結果,掌握8250的各項功能及編程方法。四、實驗原理圖五、實驗步驟1、連線說明:A、B機實驗儀上均連線:A3區:JP51G6區:JP65A機與B機交叉連線:A機A3區:RXDB機A3區:TXDA3區:TXDA3區:RXDC1區:GNDC1區:GND2、運行程序3、改變傳輸數據的數目,重復實驗,觀察結果。六、源程序;A機程序ORG0000HLJMPMAINORG0100HMAIN:MOVSP,#5FHMOVSCON,#80H;設定串行口工作于方式2MOVPCON,#00H;SMOD=0SETBREN;允許串行口接收MOVA,#55HMOVSBUF,AJNBTI,$CLR
23、TIJNBRI,$CLRRIMOVA,SBUFMOVP1,AAJMP$END【注意】源程序中只給出A機程序,要求學生編寫出B機程序。七、思考題1、單片機的其它三種串行口工作方式可否實現雙機通訊?2、畫出A機程序的流程圖。3、如果要在B機上實現跑馬燈的顯示,A機的程序又該如何修改?4、若通過中斷處理方式實現雙機通信,程序該如何修改?實驗八RS232串口通訊實驗一、實驗目的與要求掌握單片機串行口的工作原理。掌握利用串行口實現單片機與計算機間的通訊方法。二、實驗設備 STAR系列實驗儀一套、PC機一臺三、實驗內容1、說明:80C51串口經RS232電平轉換后,與PC機串行相連。PC機使用“串口調試助
24、手”(ComPort)應用程序,實現上位機與下位機的通訊。本實驗使用查詢法接收和發送資料,上位機發出指定字符,下位機收到后返回原字符。2、編寫串口通訊程序。3、運行程序,通過串口調試助手以16進制向單片機發送一組數據,并觀察結果。四、實驗原理圖五、實驗步驟 1、連線說明:A3區:TXDE7區:TXDA3區:RXDE7區:RXD2、實驗結果:打開串口調試助手應用程序,開串口,設置波特率為9600 Baud。在發送區內輸入數據,單擊“發送”。如果單片機接收到數據將會原樣返回給計算機,并且顯示在串口調試助手的接收框內。六、源程序LengthEQU10;一次性接收、發送數據的數目bufferDATA3
25、0H;接收、發送緩沖區,長度為8個字節ORG0LJMPSTARTORG0023HLJMPRI_TI_INTORG0100HSTART:MOVR0,#bufferMOVTMOD,#20H;定時器1工作方式2MOVTH1,#0FDH;設波特率9600MOVTL1,#0FDHMOVSCON,#50H;串口工作方式1,允許接收SETBTR1;選通定時器1,定時器開始工作SETBEASETBESSJMP$RI_TI_INT:JBTI,RI_TI_INT_1MOVA,SBUFMOVR0,AINCR0CLRRICJNER0,#buffer+Length,$+3JCRI_TI_INT_2MOVR0,#buff
26、erCLRREN;不允許接收SETBTISJMPRI_TI_INT_2RI_TI_INT_1:CLRTICJNER0,#buffer+Length,$+3JCRI_TI_INT_3MOVR0,#bufferSETBRENSJMPRI_TI_INT_2RI_TI_INT_3:MOVA,R0MOVSBUF,AINCR0RI_TI_INT_2:RETIEND七、思考題1、畫出該程序的流程圖。2、如果發送區的數據不足10個時,程序將如何發送數據?3、如何實現發送任意個數的數據?4、如何通過RS232實現雙機通訊?實驗九并行AD實驗(數字電壓表實驗)一、實驗目的與要求1、掌握A/D轉換與單片機接口的方法
27、。2、了解ADC0809轉換性能及編程方法。3、通過實驗了解單片機如何進行數據采集。二、實驗設備 STAR系列實驗儀一套、PC機一臺、萬用表一個。三、實驗內容1、ADC0809(G4區)(1) 模數轉換器,8位精度,8路轉換通道,并行輸出(2) 當A/D轉換結束時,ADC0809的EOC端將上升為高電平;START收到啟動信號,啟動ADC0809將模擬量轉換為數字量;EOC為高電平時表示A/D轉換結束。2、編寫程序:制作一個電壓表,測量05V,結果顯示于數碼管上。四、實驗原理圖五、實驗流程圖六、實驗步驟1、連線說明:G4區:CS、ADDA、ADDB、ADDCA3區:CS1、A0、A1、A2(選
28、擇通道)G4區:EOC(轉換結束標志)A3區:P1.2G4區:CLKB2區:500KG4區:IN0D2區:05VE5區:CLKB2區:2ME5區:CSA3區:CS5E5區:A0A3區:A0E5區:A、B、C、DG5區:A、B、C、D2、調節05V電位器(D2區)輸出電壓,顯示在LED上,第4、5位顯示16進制數據,第0、1、2位,顯示十進制數據。3、輸入0.0V、0.5V、1.0V、1.5V、2.0V、2.5V、3.0V、3.5V、4.0V、4.5V、4.9v直流電壓,記錄轉換結果,并繪制成曲線,進行誤差分析。4、用萬用表驗證AD轉換的結果。萬用表的紅表筆接至D2區“05V”處,黑表筆接至C1
29、區的GND。七、源程序EXTRNCODE(Display8)Addr_0809XDATA0F000HbufferDATA30H;8個字節的顯示緩沖區EOC_0809BITP1.2ORG0LJMPSTARTORG0100HSTART:MOVSP,#60H;設堆棧START1:ACALLAD0809ACALLDisplay_DataMOVR0,#Buffer;顯示緩沖區首地址LCALLDisPlay8;調用顯示子程序LCALLTIME;延時SJMPSTART1Display_Data:MOVB,AANLA,#0FHMOVbuffer+4,AMOVA,BANLA,#0F0HSWAPAMOVbuffe
30、r+5,AMOVA,BMOVB,#51;255/5(16進制的1=1/51V)DIVABORLA,#80H;加上小數點MOVbuffer+2,AACALLDisplay_Data_1MOVbuffer+1,A;第一位小數ACALLDisplay_Data_1MOVbuffer,A;第二位小數MOVbuffer+3,#10HMOVbuffer+6,#10HMOVbuffer+7,#10H;消隱RETDisplay_Data_1:MOVA,#10MULABADDA,BJNCDisplay_Data_11INCAINCBDisplay_Data_11:MOVR7,AMOVA,BRLARLAADDA,
31、BXCHA,R7MOVB,#51DIVABADDA,R7RETAD0809:MOVA,#0MOVDPTR,#Addr_0809MOVXDPTR,A;啟動AD轉換JNBEOC_0809,$;是否轉換完成MOVXA,DPTR;讀轉換結果RETTIME:PUSH06HPUSH07HMOVR6,#200TIME1S1:MOVR7,#200DJNZR7,$DJNZR6,TIME1S1POP07HPOP06HRETEND八、思考題1、如何提高A/D轉換的精度?2、修改程序,用查詢方式讀取A/D轉換結果。3、如何實現多路模擬量的數據采集、顯示?實驗十并行DA實驗(信號發生器實驗)一、實驗目的1、了解D/A轉
32、換的基本原理;2、了解D/A轉換芯片DAC0832的性能及編程方法;3、掌握D/A轉換的程序設計方法。二、實驗設備 STAR系列實驗儀一套、PC機一臺、示波器一臺。三、實驗內容1、DAC0832的輸出方式為電流輸出,而實際應用中往往需要電壓輸出方式,可用運算放大器來實現電流電壓的轉換。2、編寫程序:用0832輸出鋸形波和方波。3、按圖連線,運行程序,使用示波器觀察實驗結果。四、實驗原理圖五、實驗步驟1、連線說明:F3區:CSA3區:CS12、運行程序,示波器的探頭接F3區的OUT,觀察實驗結果,看是否產生相應的波形。六、實驗程序流程圖七、源程序;利用0832輸出鋸形波Addr_0832XDAT
33、A0FF00H;0832輸出口地址ORG0000HLJMPSTARTORG0100HSTART:MOVDPTR,#Addr_0832MOVA,#00HUP:MOVXDPTR,AINCA;累加器加1CJNEA,#255,UP;到達峰值?MOVA,#00H;累加器清零STMPUPRETEND;利用0832輸出方波Addr_0832XDATA0FF00H;0832輸出口地址ORG0000HLJMPSTARTORG0100HSTART:MOVDPTR,#Addr_0832MAIN:MOVA,#00MOVXDPTR,A;輸出低電平LCALLDELAYMOVA,#255MOVXDPTR,A;輸出低電平LC
34、ALLDELAYSJMPMAINDelay:PUSH07H;延時MOVR7,#50HDJNZR7,$POP07HRETEND;利用0832輸出三角波Addr_0832XDATA0FF00H;0832輸出口地址ORG0000HLJMPSTARTORG0100HSTART:MOVDPTR,#Addr_0832MOVA,#00HUP:MOVXDPTR,AINCA;累加器加1CJNEA,#255,UP;到達峰值?DOWN:MOVXDPTR,ADECA;累加器減1CJNEA,#255,DOWN;到達谷值?MOVA,#00H;累加器清零STMPUPRETEND八、思考題編寫下圖所示的梯形波產生程序,調試并
35、觀察波形。實驗十一 繼電器控制實驗一、實驗目的與要求掌握使用繼電器控制外設的基本方法和編程。二、實驗設備STAR系列實驗儀一套、PC機一臺。三、實驗內容1、預備知識自動化控制設備中,存在一個電子與電氣電路的互連問題,一方面,電子電路需要控制電氣電路的執行元件,如:電動機、電磁鐵、電燈等;一方面又要為電子電路提供良好的電隔離,以保護電子電路和人身安全,減少干擾源。繼電器就起這個橋梁作用。2、實驗過程使用G6區的撥動開關,通過繼電器控制直流電機轉動、停止。四、實驗原理圖五、實驗流程圖六、實驗步驟1、主機連線說明:E3區:CtrlA3區:P1.0E3區:COM1C1區:VCCE3區:CUT1F1區:
36、CtrlA3區:P1.7G6區:K72、運行程序,G6區的K7撥動開關控制直流電機轉動、停止。七、源程序ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HKeyH:JBP1.7,$CALLDelayJBP1.7,KeyHCLRP1.0 KeyL:JNBP1.7,$CALLDelayJNBP1.7,KeyLSETBP1.0SJMPKeyHDelay:MOVR6,#20HMOVR7,#0Delay1:DJNZR7,$DJNZR6,Delay1RETEND實驗十二 直流電機測速實驗一實驗目的了解直流電機工作原理;了解光電開關的原理;掌握使用光電開關測量直流電機轉速。二
37、實驗設備STAR系列實驗儀一套、PC機一臺。三實驗內容1、轉速測量原理:圖1 強反射圖2 弱反射圖3轉盤本轉速測量實驗采用反射式光電開關,通過計數轉盤通斷光電開關產生的脈沖,計算出轉速。(1) 反射式光開關工作原理:光電開關發射光,射到測量物體上,如果強反射,如圖1,光電開關接收到反射回來的光,則產生高電平1;弱反射,如圖2,光電開關接收不到反射回來的光,則產生弱電平0。(2) 實驗方法:本實驗轉速測量用的轉盤在下表面做成如圖3樣子的轉盤,白部分為強反射區,黑部分為弱反射區,轉盤每轉一圈,產生4個脈沖,每1/4秒計數出脈沖數,即得到每秒的轉速。(源程序中,LED顯示的是每秒鐘轉速)2、實驗過程
38、(1) 由DAC0832輸出電壓經功率放大后給電機供電,使用光電開關,測量電機轉速,再經調整,最終將轉速顯示在LED上。(2) 通過按鍵調節電機轉速,隨之變化的轉速動態顯示LED上四實驗原理圖五、實驗步驟1、主機連線說明:F3區:CSA3區:CS1F3區:OUTE2區:IN1E2區:OUT1F1:CTRLF1區:REVA3區:P3.3(INT1)E5區:CS、A0A3區:CS5、A0E5區:CLKB2區:2ME5區:A、B、C、DG5區:A、B、C、D2、由DAC0832輸出電壓經功率放大后驅動直流電機,通過單片機的計數器,計數光電開關通關次數并經過換算得出直流電機的轉速,并將轉速顯示在LED
39、上。3、G5區的0、1號按鍵控制直流電機轉速快慢, (最大轉速96r/s,5V,誤差±1r/s)六、源程序 VoltageOffsetEQU5;0832調整幅度bufferDATA30H;需要8個字節的顯示緩沖器VOLTAGEDATA38H;轉換電壓數字量CountDATA3AH;一秒轉動次數NowCountLDATA3BH;計數NowCountHDATA3CHkpTL1DATA3DH;保存上一次定時器1的值kpTH1DATA3EHDAC0832ADXDATA0F000H;DAC0832片選地址EXTRNCODE(GetKeyA,Display8)CSEGAT0000H;定位0LJM
40、PSTARTCSEGAT000BH;用于定時LJMPTIME0CSEGAT0013HLJMPiINT1;光電開關產生脈沖,觸發中斷CSEGAT0100HSTART:MOVSP,#60HLCALLMainINIT;初始化MAIN:LCALLGetKeyA;按鍵掃描JNCMain1JNZKey1Key0:MOVA,#VoltageOffset;0號鍵按下,轉速提高ADDA,VOLTAGECJNEA,VOLTAGE,$+3JNCKey0_1MOVA,#0FFH;最大Key0_1:MOVVOLTAGE,ALCALLDAC;D/ASJMPMain1Key1:MOVA,VOLTAGE;1號鍵按下,轉速降低
41、CLRCSUBBA,#VoltageOffsetJNCKey1_1CLRA;最小Key1_1:MOVVOLTAGE,ALCALLDAC;D/AMain1:JNBF0,MAIN;F0=1,定時標志,刷新轉速CLRF0LCALLRateTest;計算轉速/顯示JMPMAIN;循環進行實驗內容介紹與測速功能測試;主程序初始化MainINIT:CLRF0;清讀取轉速標志MOVVOLTAGE,#99H;初始化轉換電壓輸入值,99H-3.0VMOVA,VOLTAGELCALLDAC;初始D/A;定時器/計數器初始化MOVTMOD,#11H;開定時器0:定時方式1,定時器1:定時方式1MOVR4,#5*4;
42、定時5x50x4 msMOVTL0,#0D4H ;初始化定時器0,定時50ms(11.0592MHZ)MOVTH0,#4BHMOVTL1,#00H;初始化器定時1MOVTH1,#00HMOVkpTL1,#00H;保存上一次定時器1的值MOVkpTH1,#00HMOVNowCountL,#0;計數器MOVNowCountH,#0SETBTR0;開始定時SETBTR1;開始定時SETBET0;開定時器0中斷SETBEX1;開外部中斷1SETBIT1;邊沿觸發SETBEA;允許中斷RET;定時器0中斷服務程序TIME0:PUSHACCMOVTL0,#0D5H ;產生0.25s的定時(采用晶振11.0
43、592MHZ)MOVTH0,#4BHDJNZR4,TIMER0_1SETBF0;0.25 * 4s間隔標志F0MOVR4,#5*4MOVA,NowCountLRRARRAANLA,#3FHMOVCount,AMOVA,NowCountHRRARRAANLA,#0C0HORLCount,A;轉一圈,產生四個脈沖,Count = NowCount/4MOVNowCountL,#0MOVNowCountH,#0TIMER0_1:POPACCRETIiINT1:PUSHPSW;光電開關產生脈沖,觸發中斷PUSHACCCLRTR1MOVA,TL1CLRCSUBBA,kpTL1MOVkpTL1,AMOVA,TH1SUBBA,kpTH1JNZiINT1_1MOVA,kpTL1CJNEA,#30H,$+3JCiINT1_2;過濾干擾脈沖iINT1_1:INCNowCountLMOVA,NowCountLJNZiINT1_3INCNowCountHiINT1_3:MOVkpTL1,TL1iINT1_2:MOVkpTH1,TH1SETBTR1POPACCPOPPSWRETI;轉速測量/顯示RateTest:MOVA,CountMOVB,#10DIVABJNZRateTe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓班學員安全管理制度
- 五年制高職學校管理制度
- 景區超市制度管理制度
- 反洗錢行業安全管理制度
- 日本企業人員管理制度
- 景區防疫現場管理制度
- 地產公司法務部管理制度
- 微機原理設計第5章(3)章節
- 足部康復課講課件
- 《漢書李廣傳》測試題帶答案
- GB/T 14594-2005無氧銅板和帶
- 某射擊館照明平面回路設計及智能照明控制分析
- 植物檢疫性病毒病害
- 血管外科常見疾病課件
- 農村公共管理復習資料
- 人教版道德與法治八年級下冊期末測試卷--含答案-八下道德期末試卷人教版
- Q∕GDW 12067-2020 高壓電纜及通道防火技術規范
- 2020-2021廣東二建繼續教育試題及答案
- 幼兒園繪本:《小交通員》 紅色故事
- 工程機械液壓系統設計與計算--12噸起重機
- 聯想多媒體教學軟件操作指南
評論
0/150
提交評論