單片機(jī)實(shí)驗(yàn)教案2_第1頁
單片機(jī)實(shí)驗(yàn)教案2_第2頁
單片機(jī)實(shí)驗(yàn)教案2_第3頁
單片機(jī)實(shí)驗(yàn)教案2_第4頁
單片機(jī)實(shí)驗(yàn)教案2_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)習(xí)好資料 歡迎下載 單片機(jī)技術(shù)試驗(yàn) 教 案 馮 杰 第 1 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 試驗(yàn)一 1 次序結(jié)構(gòu)程序設(shè)計(jì) 一,試驗(yàn)?zāi)康?把握匯編語言設(shè)計(jì)和調(diào)試方法; 二,試驗(yàn)內(nèi)容 把外部 RAM 中 2022h 單元的內(nèi)容拆開, 高位送 2022h 單元,低位送 2022h 單元,2022h, 2022h 高位清零,一般本程序用于把數(shù)據(jù)送顯示緩沖區(qū)時(shí)用; 三,程序流程 四,試驗(yàn)步驟 1 , LED 環(huán)境 在“ P. ”狀態(tài)下按“ 在“P. ”狀態(tài)下鍵入 0 EV/UN ”,裝載試驗(yàn)所需的代碼程序; 0000 ,然后按 “ STEP”或“ EXEC”進(jìn)入試驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行; 2 , P

2、C 環(huán)境 在與 PC 聯(lián)機(jī)狀態(tài)下,編譯,連接,下載 PH51se02.asm ,用連續(xù)或單步方式運(yùn)行程 序; 3 ,運(yùn)行結(jié)果檢查 在單步運(yùn)行時(shí)每走一步可觀看其運(yùn)行結(jié)果; 在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或試驗(yàn)箱上的“暫停按鈕” ,使系統(tǒng)無條件退 出用戶運(yùn)行狀態(tài)返回監(jiān)控, 然后再用相應(yīng)的命令鍵觀看與檢查 2022 2022h 中內(nèi)容變化情 況; 五,摸索 如何用斷點(diǎn)方式調(diào)試本程序; ORG 0000H LJMP START ORG 0030H START: MOV DPTR,#2022H MOVX A,DPTR ANL A,#0F0H SWAP A MOV DPTR,#2022H MOVX D

3、PTR,A 第 2 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 MOV DPTR ,#2022H MOVX A,DPTR ANL A,0FH MOV DPTR,#2022H MOVX DPTR,A SJMP $ END 試驗(yàn)一( 2) 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 一,試驗(yàn)?zāi)康?熟識(shí) MCS-51 指令系統(tǒng),把握程序設(shè)計(jì)方法; 二,試驗(yàn)內(nèi)容 編寫并調(diào)試一個(gè)排序子程序,其功能為用冒泡法將內(nèi)容 正整數(shù),按從小到大的次序重新排列; 三,程序框圖 四,試驗(yàn)步驟 1 , LED 環(huán)境 RAM 中幾個(gè)單元字節(jié)無符號(hào)的 在“ P. ”狀態(tài)下按“ 0 EV/UN ”,裝載試驗(yàn)所需的代碼程序; 對(duì)片內(nèi) RAM 地址 50h 5A

4、H 進(jìn)行不規(guī)章置數(shù); 在“P. ”狀態(tài)下鍵入 0000 ,然后按 “ STEP”或“ EXEC”進(jìn)入試驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行; 2 , PC 環(huán)境 在與 PC 聯(lián)機(jī)狀態(tài)下,編譯,連接,下載 PH51se05.asm ,用連續(xù)或單步方式運(yùn)行程 序; 3 ,運(yùn)行結(jié)果檢查 在單步運(yùn)行時(shí)每走一步可觀看其運(yùn)行結(jié)果; 在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或試驗(yàn)箱上的“暫停按鈕” ,使系統(tǒng)無條件退出 用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀看與檢查片內(nèi) 50 5Ah 中內(nèi)容是否按從 第 3 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 小到大排列; 五,摸索: 修改程序把 505Ah 中內(nèi)容按從小到大排列; ORG

5、0000H LJMP START ORG 0030H START: MOV R7,#09H MOV R0,#50H MOV R6,#00H; 清除標(biāo)志 START1: CLR C MOV A,R0 INC R0 SUBB A,R0 JC LOOP1 MOV R6,#01H DEC R0 MOV A,R0 INC R0 XCH A,R0 DEC R0 MOV R0,A INC R0 LOOP1: DJNZ R7,START1 CJNE R6,#00H,START SJMP $ END 試驗(yàn)一( 3) 選擇結(jié)構(gòu)程序設(shè)計(jì) 一,試驗(yàn)?zāi)康?把握匯編語言的編程; 二,試驗(yàn)內(nèi)容 編寫程序,依據(jù)送入的數(shù)據(jù)轉(zhuǎn)移

6、運(yùn)行; 三,程序框圖 四,試驗(yàn)步驟 第 4 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 1 , LED 環(huán)境 在“ P. ”狀態(tài)下按“ 0 EV/UN ”,裝載試驗(yàn)所需的代碼程序; 在 20H 中分次送入 00 , 01 , 02 , 03 ; 在“P. ”狀態(tài)下鍵入 0A10 ,然后按 “ STEP”或“ EXEC”進(jìn)入試驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行; 2 , PC 環(huán)境 在與 PC 聯(lián)機(jī)狀態(tài)下,編譯,連接,下載 PH51se08.asm ,用連續(xù)或單步方式運(yùn)行程 序; 3 ,運(yùn)行結(jié)果檢查 (1 )在單步運(yùn)行時(shí)每走一步可觀看其運(yùn)行結(jié)果; ( 2)在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或試驗(yàn)箱上的“暫停按鈕” ,

7、使系統(tǒng)無條件退 出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后觀看每次運(yùn)行程序后,數(shù)碼管上數(shù)字循環(huán)情形; ORG 0000H LJMP START ORG 0030H START: MOV 20H,#00HMOV A,20H MOV B,#03H MUL AB MOV DPTR,#TAB JMP A+DPTR SJMP $ ORG 3000H TAB: LJMP LOOPA LJMP LOOPB LJMP LOOPC LOOPA: LOOPA1: MOV A,#01H MOV P1,A LCALL DELAY1S RL A LJMP LOOPA1 LOOPB: LOOPB1: MOV A,#03H MOV P1

8、,A LCALL DELAY1S RL A LJMP LOOPB1 LOOPC: MOV A,#05H LOOPC1: MOV P1,A LCALL DELAY1S RL A LJMP LOOPC1 第 5 頁,共 29 頁DELAY1S: 學(xué)習(xí)好資料 歡迎下載 MOV R7,#10 DELAY1S3: MOV R6,#200DELAY1S2: MOV R5,#250 DELAY1S1: DJNZ R5,DELAY1S1DJNZ R6,DELAY1S2DJNZ R7,DELAY1S3RET END 試驗(yàn)二 中斷試驗(yàn) 一,試驗(yàn)?zāi)康?熟識(shí)單片機(jī)中斷概念及中斷編程方法; 二,試驗(yàn)內(nèi)容 編寫程序,從

9、輸入脈沖,記錄輸入脈沖個(gè)數(shù),并用 P1 口外部鏈接的發(fā)光二極管顯 示技術(shù)結(jié)果; 二,參考程序 第 6 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 ORG 0000H LJMP START ORG 0013H LJMP INT1_COUNT ORG 0030H START: MOV SP,#60H MOV A,#00H SETB IT1; 下降邊沿觸發(fā)方式 SETB EX1; 開啟 INT1 中斷 SETB EA INT1_COUNT: SJMP $ INC A MOV P1,A RETI END 試驗(yàn)三 LED 顯示試驗(yàn) 一,試驗(yàn)要求 利用試驗(yàn)系統(tǒng)供應(yīng)的顯示設(shè)備,動(dòng)態(tài)顯示一行數(shù)據(jù); 二,試驗(yàn)?zāi)康?明

10、白數(shù)碼管動(dòng)態(tài)顯示的原理; 明白用總線方式把握數(shù)碼管顯示; 三,試驗(yàn)說明 本試驗(yàn)系統(tǒng)供應(yīng)了 8 位七段碼 LED 顯示電路,同學(xué)只要按地址輸出相應(yīng)數(shù)據(jù),就可以 實(shí)現(xiàn)對(duì)顯示器的把握; 四,程序框圖 第 7 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 ORG 0000H LJMP START ORG 0030H START: MOV SP,#60H 顯示字符 P. MOV 50H,#8CH ; MOV 51H,#40HMOV 52H,#79H MOV 53H,#24H MOV 54H,#30H MOV 55H,#19H MOV 56H,#12H MOV 57H,#02H LOOP1: LCALL DISP

11、LAY LJMP LOOP1 DISPLAY: MOV P2,#0FH MOV P0,50H LCALL DELAY20MS MOV P2,#1FH MOV P0,51H LCALL DELAY20MS MOV P2,#2FH MOV P0,52H LCALL DELAY20MS 第 8 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 MOV P2,#3FH MOV P0,53H LCALL DELAY20MS MOV P2,#4FH MOV P0,54H LCALL DELAY20MS MOV P2,#5FH MOV P0,55H LCALL DELAY20MS MOV P2,#6FH MOV P0,

12、56H LCALL DELAY20MS MOV P2,#7FH MOV P0,57H LCALL DELAY20MS LJMP DISPLAY DELAY20MS: MOV R7,#20 DELAY1: MOV R6,#100 DELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET TAB: DB 40H,79H,24H,30H,19H,12H,02H ;0 1 2 3 4 5 6 的字符碼 DB 78H,00H,10H,08H,03H,46H,21H,06H,0EH;7 8 9 A B C D E F 的字符碼 TAB1: DB 8CH;P. 的字符碼 TAB2:

13、 DB 7FH; 空,不顯示的字符 END 第 9 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 鍵盤電路試驗(yàn) 電路圖: 程序: ; 用 int1 中斷實(shí)現(xiàn)按鍵功能,鍵值存放在 4fh 單元中 ; 通過 P1 口輸出按鍵值,用發(fā)光二極管顯示按鍵值 ; 通過 P2.4-P2.6 和三八譯碼器輸出八列按鍵掃描碼 ; 通過 讀入按鍵的行值 ; 行列值組合,就是按鍵的鍵值 ORG 0000H LJMP START ORG 0013H LJMP key_value ORG 0030H START: MOV 4fH,#00h; 存放按鍵鍵值單元 MOV P1,#00HMOV P2,#0FFH setb ex1 s

14、etb it1 setb ea KEY_SCAN: MOV P2,#0FH LCALL DELAY5MS MOV P2,#1FH LCALL DELAY5MS MOV P2,#2FH LCALL DELAY5MS 第 10 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 MOV P2,#3FH LCALL DELAY5MS MOV P2,#4FH LCALL DELAY5MS MOV P2,#5FH LCALL DELAY5MS MOV P2,#6FH LCALL DELAY5MS MOV P2,#7FH LCALL DELAY5MS LJMP KEY_SCAN DELAY5MS: MOV R7,#40

15、 DELAY1: MOV R6,#100 DELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET KEY_VALUE: PUSH ACC PUSH PSW MOV A,P2 MOV 4FH,A MOV P1,A POP PSW POP ACC RETI END 第 11 頁,共 29 頁電路圖: 學(xué)習(xí)好資料 歡迎下載 LED 和鍵盤綜合試 驗(yàn) 參考程序: ORG 0000H LJMP START ORG 0013H LJMP KEY_VALUE START: ORG 0030H 存放按鍵鍵值單元 MOV SP,#60H MOV 4fH,#00h; MOV P2,#0

16、FFH setb ex1 setb it1 setb ea MOV 50H,#0CH ; 顯示字符 P. MOV 51H,#0CH MOV 52H,#7FH MOV 53H,#7FH MOV 54H,#7FH MOV 55H,#7FH MOV 56H,#7FH MOV 57H,#0CH 第 12 頁,共 29 頁LOOP1: 學(xué)習(xí)好資料 歡迎下載 LCALL DISPLAY LJMP LOOP1 DISPLAY: MOV P2,#0FH MOV P0,50H LCALL DELAY20MS MOV P2,#1FH MOV P0,51H LCALL DELAY20MS MOV P2,#2FH M

17、OV P0,52H LCALL DELAY20MS MOV P2,#3FH MOV P0,53H LCALL DELAY20MS MOV P2,#4FH MOV P0,54H LCALL DELAY20MS MOV P2,#5FH MOV P0,55H LCALL DELAY20MS MOV P2,#6FH MOV P0,56H LCALL DELAY20MS MOV P2,#7FH MOV P0,57H LCALL DELAY20MS LJMP DISPLAY DELAY20MS: MOV R7,#20 DELAY1: MOV R6,#100 DELAY2: DJNZ R6,DELAY2 D

18、JNZ R7,DELAY1 RET 第 13 頁,共 29 頁KEY_VALUE: 學(xué)習(xí)好資料 歡迎下載 PUSH ACC PUSH PSW MOV 4FH,P2 LCALL KEY_VALUE_DISP POP PSW POP ACC RETI KEY_VALUE_DISP: MOV A,4FH ANL A,#0F0H SWAP A MOV DPTR,#TAB MOVC A,A+DPTR MOV 56H,A MOV A,4FH ANL A,#0FH MOVC A,A+DPTR MOV 57H,A RET TAB: DB 40H,79H,24H,30H,19H,12H,02H ;0 1 2 3

19、 4 5 6 的字符碼 DB 78H,00H,10H,08H,03H,46H,21H,06H,0EH;7 8 9 A B C D E F 的字符碼 TAB1: DB 8CH;P. 的字符碼 TAB2: DB 7FH; 空,不顯示的字符 END 試驗(yàn)四 A/D 轉(zhuǎn)換試驗(yàn) 一,試驗(yàn)?zāi)康?1 把握 A/D 轉(zhuǎn)換與單片機(jī)接口的方法; 2 明白 A/D 芯片 0809 轉(zhuǎn)換性能及編程方法; 3 通過 試驗(yàn)明白單片機(jī)如何進(jìn)行數(shù)據(jù)采集; 二,試驗(yàn)內(nèi)容 利用試驗(yàn)系統(tǒng)上的 0809 做 A/D 轉(zhuǎn)換器,試驗(yàn)系統(tǒng)上的電位器供應(yīng)模擬量輸入, 編制程序, 將模擬量轉(zhuǎn) 換成數(shù)字,通過數(shù)碼管顯示出來; 三,程序框圖 第

20、14 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 四,試驗(yàn)電路 五,試驗(yàn)步驟 把 0809 的零通道 INT0 用插針接至 AINl 孔,0809CS 位 FFE0 孔,運(yùn)行程序,數(shù)碼管顯示 , 后二位顯示當(dāng)前采集的電壓轉(zhuǎn)換的數(shù)字量,調(diào)劑 六,摸索 修改程序,用其它通道輪番采樣顯示; W1,該二位將隨著電壓變化而相應(yīng)變化; 試驗(yàn)五 電腦時(shí)鐘 定時(shí)器,中斷綜合試驗(yàn) 一,試驗(yàn)?zāi)康?熟識(shí) MCS-51 定時(shí)器,串行口和中斷初始化編程方法,明白定時(shí)器的應(yīng)用實(shí)時(shí)程序的設(shè)計(jì)與調(diào)試技巧; 二,試驗(yàn)內(nèi)容 編寫程序,從本試驗(yàn)系統(tǒng)鍵盤上輸入時(shí)間初值,用定時(shí)器產(chǎn)生 將數(shù)值實(shí)時(shí)地送數(shù)碼管顯示; 三,程序框圖 定時(shí)中斷,對(duì)時(shí)

21、鐘計(jì)數(shù)器計(jì)數(shù),并 第 15 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 四,試驗(yàn)步驟 連續(xù)運(yùn)行程序,在鍵盤上輸入時(shí)間初值,按執(zhí)行鍵 五,摸索 1 電子鐘走時(shí)精度和程序中那些常數(shù)有關(guān) .EXEC 執(zhí)行,數(shù)碼管上實(shí)時(shí)顯示時(shí)間值; 2 修改程序使定時(shí)器工作方式轉(zhuǎn)變,調(diào)劑有關(guān)參數(shù),進(jìn)一步提高精度; 六,參考程序 ORG 0000H LJMP START ORG 000BH LJMP T0_INT ORG 0030H SETB ET0 ; 開放 T0 中斷 SETB EA ; 開放總中斷 SETB TR0 ; 啟動(dòng)定時(shí)器 T0 LOOP: mov P2,#11111110H MOV R0,#50H loop1

22、: MOV R7,#08H LOOP2: MOV A,R0 MOV P1,A LCALL DELAY INC R0 MOV A,P2 RL A MOV P2,A DJNZ R7, LOOP2 LJMP LOOP SJMP $ START: MOV 50H,#00H ; 時(shí)的低位字符碼 MOV 51H,#00H ; 時(shí)的高位字符碼 MOV 52H,#00H ; “ - ”的字符碼MOV 53H,#00H ; 分的低位字符碼MOV 54H,#00H ; 分的高位字符碼MOV 55H,#00H ; “ - ”的字符碼MOV 56H,#00H ; 秒的低位字符碼MOV 57H,#00H ; 秒的高位字

23、符碼MOV 5FH,#00H ; 存放小時(shí)的單元MOV 5EH,#00H ; 存放分鐘的單元MOV 5DH,#00H ; 存放秒的單元 50 T0 中斷次數(shù), MOV 5CH,#00H; 存放 DELAY: MOV R6,#2 ; 延時(shí)程序 次為 1 秒 DELAY1:MOV R5,#10MOV SP , #60H; 設(shè)置堆棧棧頂 DELAY2: MOV R4,#100 MOV TH0,#. ; 設(shè)置 T0 定時(shí)器初值 DELAY3: DJNZ R4,DELAY3 MOV TL0,#. DJNZ R5,DELAY2 DJNZ R6,DELAY1 RET MOV TMOD,#00000001H;

24、T0 工作在定時(shí) 方式,工作方式 0第 16 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 T0_INT: CLR TR0 MOV B,#10 PUSH ACC DIV AB MOV A,5CH MOV 51H,ACJNE A,#50H,T0_INT1 MOV A,B MOV 5CH,#00H MOV 50H,AMOV A,5DH MOV A,5EHCJNE A,#59H,T0_INT2 MOV B,#10MOV 5DH,#00H DIV AB MOV A,5EH MOV 54H,ACJNE A,#59H,T0_INT3 MOV A,B MOV 5EH,#00H MOV 53H,AMOV A,5FH

25、MOV A,5DHCJNE A,#23H,T0_INT4 MOV B,#10MOV 5FH,#00H DIV AB LJMP T0_END MOV 57H,AT0_INT1: INC 5CH MOV A,B LJMP T0_END MOV 56H,AT0_INT2: INC 5DH POP ACC LJMP T0_END MOV TH0,#. T0_INT3: INC 5EH MOV TL0,#.LJMP T0_END SETB TR0T0_INT4: INC 5FH RETI T0_END: MOV A,5FH 試驗(yàn)六 LCD 液晶顯示屏試驗(yàn) 一,試驗(yàn)?zāi)康?把握單片機(jī)擴(kuò)展液晶顯示接口的設(shè)計(jì)與

26、編程; 利用字符式液晶顯示器顯示字符; 二,試驗(yàn)內(nèi)容 編制程序,在液晶顯示器上顯示: 同學(xué)所在的院系的漢語拼音字母和同學(xué)的名字;分兩行顯示; 三,試驗(yàn)電路 第 17 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 四,參考程序 DA T1 EQU 30H ;第一參數(shù)單元 DA T2 EQU 31H; 其次參數(shù)單元 COM EQU 32H; 指令代碼單元 C_ADD EQU 0100H; 指令通道地址 0000H; 數(shù)據(jù)通道地址 D_ADD EQU org 0000h ljmp main org 0030h ;主程序 MAIN: MOV SP,#60H; lcall delay; 上電延時(shí) LCALL I

27、NT; 初始化 LCALL CLEAR; 清緩沖區(qū) TEST: LCALL hgnu_disp; 顯示 WELCOM TO HGNU LCALL PL_XW_ZKB; 顯示 P_L : X_W : ZKB: sjmp test ;上電延時(shí)子程序 delay: MOV R6,#50H; MOV R7,#00H; DELY1: NOP 第 18 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 DJNZ R7,DEL Y1; 上電延時(shí) DJNZ R6,DEL Y1; ret ;讀狀態(tài)字子程序 R_ST: MOV DPTR,#C_ADD; 設(shè)置指令通道 MOVX A,DPTR; RET ;判定狀態(tài)位 STA1,

28、STA0 子程序(讀寫指令和數(shù)據(jù) ,在指令的讀,寫 ;數(shù)據(jù)之前這兩個(gè)標(biāo)志必需同時(shí)為“ 1” ST01: LCALL R_ST; JNB ACC.0,ST01; JNB ACC.1,ST01;RET ;判定狀位 STA2 子程序(數(shù)據(jù)自動(dòng)讀狀態(tài)) ,該位 ;在數(shù)據(jù)自動(dòng)操作過程中取代 ;之前都要確認(rèn) STA2=1 ST2: LCALL R_ST; JNB ACC.2,ST2; RET STA0 和 STA1 有效;在連續(xù)讀過程中每讀一次 ;判定 STA3 子程序(數(shù)據(jù)自動(dòng)寫狀態(tài)) ST3: LCALL R_ST; JNB ACC.3,ST3; RET ;判定狀態(tài)位 STA6 子程序(屏讀 /屏拷貝

29、狀態(tài)) ST6: LCALL R_ST; JB ACC.6,ERR; RET ERR: LJMP ST6;出錯(cuò)處理 ;寫指令和寫數(shù)據(jù)子程序 . ;雙字節(jié)參數(shù)指令寫入入口 PR1: LCALL ST01;判定狀態(tài)位 STA1,STA0 MOV A,DAT1; 取第一參數(shù)單元數(shù)據(jù) LCALL PR13;寫入?yún)?shù) ;單字節(jié)參數(shù)指令寫入入口 PR11: LCALL ST01;判定狀態(tài)位 STA1,STA0 MOV A,DAT2; 取其次參數(shù)單元數(shù)據(jù) LCALL PR13;寫入?yún)?shù) ;無參數(shù)指令寫入入口 PR12: LCALL ST01;無參數(shù)指令寫入入口 MOV A,COM; 取指令代碼單元數(shù)據(jù) MO

30、V DPTR,#c_ADD; 設(shè)置指令通道地址 /數(shù)據(jù)寫入入口 LJMP PR14;寫入指令代碼 PR13: MOV DPTR,#D_ADD; 設(shè)置數(shù)據(jù)通道地址 /數(shù)據(jù)寫入入口 PR14: MOVX DPTR,A; 寫入操作 第 19 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 RET ;讀數(shù)據(jù)子程序 PR2: LCALL ST01;判定狀態(tài)位 MOV DPTR,#D_ADD; 設(shè)置數(shù)據(jù)通道地址 MOVX A,DPTR; 讀數(shù)據(jù)操作 MOV DAT2,A; 數(shù)據(jù)存入其次參數(shù) /數(shù)據(jù)單元 RET ;初始化子程序 INT: ; 顯示區(qū)域設(shè)置 MOV DAT1,#00H; 設(shè)置文本顯示區(qū)首地址 MOV D

31、AT2,#00h; MOV COM,#40H; LCALL PR1; 雙字節(jié)參數(shù)指令寫入入口 MOV DAT1,#16; 設(shè)置文本顯示區(qū)域?qū)挾?MOV DAT2,#00H; 即一行顯示所占字節(jié)數(shù) MOV COM,#41H; LCALL PR1; 雙字節(jié)參數(shù)指令寫入入口 MOV DAT1,#00H; 設(shè)置顯示區(qū)域首地址 MOV DAT2,#00H; 或文本屬性區(qū)域首地址 MOV COM,#42H; LCALL PR1; 雙字節(jié)參數(shù)指令寫入入口 MOV DAT1,#10H; 設(shè)置圖形顯示區(qū)域?qū)挾?MOV DAT2,#00H; 或?yàn)槲谋緦傩詤^(qū)域狂寬度 MOV COM,#43H; 即一行顯示所占字節(jié)數(shù)

32、 LCALL PR1; 雙字節(jié)參數(shù)指令寫入入口 ;顯示光標(biāo)設(shè)置 MOV COM,#0A1H; 光標(biāo)形狀設(shè)置 LCALL PR12; ;設(shè)置光標(biāo)初始位置,是字符行和字符列,第 MOV DAT1,#0; 光標(biāo)行位置 0 行第 15 列 MOV DAT2,#0; 光標(biāo)列位置 MOV COM,#21H; LCALL PR1; 雙字節(jié)參數(shù)指令寫入入口 ;顯示方式設(shè)置,使用內(nèi)部字符發(fā)生器 MOV COM,#80H; 顯示方式設(shè)置,規(guī)律“或”合成 LCALL PR12; 無參數(shù)指令寫入入口 + ;顯示開關(guān)方式 MOV COM,#97H; 僅用文本顯示 LCALL PR12; 無參數(shù)指令寫入入口 RET ;寫

33、數(shù)據(jù)子程序, 8*8 點(diǎn)陣 ;R6 中裝入顯示位置的列數(shù)(字符的個(gè)數(shù)) 的字符行數(shù) ;5FH 單元中裝入待顯示的字符碼 ,每行 16 個(gè)字符, R7 中裝入顯示位置距左上角 第 20 頁,共 29 頁DISP: mov b,r7 學(xué)習(xí)好資料 歡迎下載 mov a,#16 mul ab mov r7,a CLR C mov a,R6 ADD A,R7 MOV R6,A;R7*16+R6 MOV DAT1,R6; 設(shè)置顯示 RAM首地址 ,水平方向字符數(shù) MOV DAT2,#00H; 固定送 00H MOV COM,#24H; 地址指針指令 LCALL PR1; MOV dat2,5fH; 取要顯

34、示的字符 MOV COM,#0c4H; 數(shù)據(jù)寫,地址不變 LCALL PR11; 寫入數(shù)據(jù) RET ;清顯示緩沖區(qū) 16*8 單元) clear: MOV 5FH,#00H MOV R5,#0 CLEAR0: MOV R4,#0 CLEAR1: MOV A,R5 MOV R7,A MOV A,R4 MOV R6,A CLEAR2: LCALL DISP INC R4 CJNE R4,#16,CLEAR1 mov r4,#00h INC R5 CJNE R5,#8,CLEAR0 CLEAR9: RET ;顯示頻率,相位,占空比,相位差等字符; (P_L : X_W : ZKB: ; PL_XW_

35、ZKB:MOV R7,#3 MOV R6,#0 MOV 5fh,#30H;P LCALL DISP MOV R7,#3 MOV R6,#1 MOV 5fh,#3FH;_ LCALL DISP MOV R7,#3 MOV R6,#2 MOV 5fh,#2CH;L 第 21 頁,共 29 頁LCALL DISP 學(xué)習(xí)好資料 歡迎下載 MOV R7,#3 MOV R6,#3 MOV 5fh,#1AH;: LCALL DISP MOV R7,#5 MOV R6,#0 MOV 5fh,#38H;X LCALL DISP MOV R7,#5 MOV R6,#1 MOV 5fh,#3FH;_ LCALL D

36、ISP MOV R7,#5 MOV R6,#2 MOV 5fh,#37H;W LCALL DISP MOV R7,#5 MOV R6,#3 MOV 5fh,#1AH;: LCALL DISP MOV R7,#7 MOV R6,#0 MOV 5fh,#3AH;Z LCALL DISP MOV R7,#7 MOV R6,#1 MOV 5fh,#2BH;K LCALL DISP MOV R7,#7 MOV R6,#2 MOV 5fh,#22H;B LCALL DISP MOV R7,#7 MOV R6,#3 MOV 5fh,#1AH;: LCALL DISP RET ;頂行顯示 黃岡師院物科院“的英

37、文名稱; ;welcome to hgnu ! hgnu_DISP: MOV R7,#0; 顯示位置的行列數(shù) MOV R6,#0 MOV 5fh,#37H;W LCALL DISP 第 22 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 MOV R7,#0 MOV R6,#1 MOV 5fh,#25H;E LCALL DISP MOV R7,#0 MOV R6,#2 MOV 5fh,#2CH;L LCALL DISP MOV R7,#0 MOV R6,#3 MOV 5fh,#23H;C LCALL DISP MOV R7,#0 MOV R6,#4 MOV 5fh,#2FH;0 LCALL DISP M

38、OV R7,#0 MOV R6,#5 MOV 5fh,#2DH;M LCALL DISP MOV R7,#0 MOV R6,#6 MOV 5fh,#25H;E LCALL DISP MOV R7,#0 MOV R6,#7 MOV 5fh,#00H; LCALL DISP MOV R7,#0 MOV R6,#8 MOV 5fh,#34H;T LCALL DISP MOV R7,#0 MOV R6,#9 MOV 5fh,#2FH;O LCALL DISP MOV R7,#0 MOV R6,#10 MOV 5fh,#00H; LCALL DISP MOV R7,#0 MOV R6,#11 MOV 5

39、fh,#28H;H LCALL DISP 第 23 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 MOV R7,#0 MOV R6,#12 MOV 5fh,#27H;G LCALL DISP MOV R7,#0 MOV R6,#13 MOV 5fh,#2EH;N LCALL DISP MOV R7,#0 MOV R6,#14 MOV 5fh,#35H;U LCALL DISP RET tab: db 10h,11h,12h,13h,14h,15h,16h,17h,18h,19h;0-9 db 21h,22h,23h,24h,25h,26h;A-F end 試驗(yàn)七 一,試驗(yàn)?zāi)康?直流電機(jī)轉(zhuǎn)速測量與把握試

40、驗(yàn) 1.把握直流電機(jī)的驅(qū)動(dòng)原理; 2.明白直流電機(jī)調(diào)速的方法; 二,試驗(yàn)內(nèi)容 1.用 0832 D/A 轉(zhuǎn)換電路后的輸出經(jīng)放大后驅(qū)動(dòng)直流電機(jī); 2.編制程序轉(zhuǎn)變 0832 輸出經(jīng)放大后的方波信號(hào)的占空比來把握電機(jī)轉(zhuǎn)速; 本試驗(yàn)中 D/A 輸出為雙極性輸出,因此電機(jī)可以正反向旋轉(zhuǎn); 三,程序流程 三,試驗(yàn)電路 第 24 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 五,參考程序 DATA_TH0 EQU 00H DATA_TL0 EQU 00H;信號(hào)周期為 130ms DATA_TH1 EQU 20H DATA_TL1 EQU 00H;高電平常間 65ms ORG 0000H LJMP MAIN ORG

41、 0003H LJMP INT_0; 啟動(dòng)電機(jī)按鍵 ORG 000BH LJMP T_0;T0 確定輸出信號(hào)的周期(或者頻率) ORG 0013H LJMP INT_1; 電機(jī)轉(zhuǎn)動(dòng)方向把握按鍵 ORG 001BH LJMP T_1;T1 確定輸出信號(hào)高電平的時(shí)間期 ORG 0030H MAIN: MOV SP,#60H CLR CLR P1.1; 關(guān)閉電機(jī) setb 20h.0; 初始化電機(jī)正轉(zhuǎn) clr 20h.1; 初始狀態(tài)時(shí),電機(jī)停止轉(zhuǎn)動(dòng) MOV TMOD,#11H SETB IT0 SETB EX0 SETB IT1 SETB EX1 SETB ET0 SETB ET1 SETB EA

42、第 25 頁,共 29 頁學(xué)習(xí)好資料 歡迎下載 SJMP $ T_0: JNB 20H.1,T_01; MOV TH1,#DATA_TH1 MOV TL1,#DATA_TL1 SETB TR1 MOV TH0,#DATA_TH0 MOV TL0,#DATA_TL0 SETB TR0 JNB 20H.0,T_02 setb LJMP T_05 T_02: clr setb LJMP T_05 T_01: CLR CLR CLR TR0 CLR TR1 T_05: RETI T_1: CLR TR1 clr clr RETI int_1: CPL 20H.1; 電機(jī)啟動(dòng)標(biāo)志求反,開啟電機(jī)或者關(guān)閉電機(jī) JNB 20H.1,INT_11; 啟動(dòng)標(biāo)志不為 MOV TH1,#DATA_TH1啟; 動(dòng)標(biāo)志為 MOV TL1,#DATA_TL1 SETB TR1 MOV TH0,#DATA_TH0 MOV TL0,#DATA_TL0 SETB TR0 1, 就停止電機(jī),關(guān)閉定時(shí)器 1,就開啟定時(shí)器 1 和定時(shí)器 2,輸出 PWM 波JNB 20H.0,INT_12; 轉(zhuǎn)動(dòng)方向標(biāo)志不為 1,就反轉(zhuǎn),否就正轉(zhuǎn) setb clr LJMP INT_1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論