版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)一 MCS-51指令系統(tǒng)實(shí)驗(yàn)數(shù)據(jù)排序一、實(shí)驗(yàn)?zāi)康氖煜CS-51指令系統(tǒng),掌握程序設(shè)計(jì)方法;加深對(duì)內(nèi)部存儲(chǔ)器讀寫的認(rèn)識(shí);熟悉仿真開發(fā)環(huán)境,學(xué)會(huì)源程序的編寫、匯編/編譯、調(diào)試;熟悉單片機(jī)硬件實(shí)驗(yàn)系統(tǒng)以及良好的實(shí)驗(yàn)習(xí)慣培養(yǎng)等;學(xué)會(huì)檢查結(jié)果的正確性。二、實(shí)驗(yàn)內(nèi)容將程序存儲(chǔ)器的一個(gè)列表中的10個(gè)單字節(jié)無符號(hào)數(shù)據(jù)傳送到內(nèi)部RAM,然后用冒泡法對(duì)其按從小到大的次序重新排列,并送到外部RAM 以8000H開始的地址單元內(nèi)。三、實(shí)驗(yàn)說明有序的數(shù)列更有利于查找。本程序用的是“冒泡排序”法,算法是將一個(gè)數(shù)與后面的數(shù)相比較,如果比后面的數(shù)大,則交換,如此將所有的數(shù)比較一遍后,最大的數(shù)就會(huì)在數(shù)列的最后面。再進(jìn)行下
2、一輪比較,找出第二大數(shù)據(jù),直到全部數(shù)據(jù)有序。四、程序流程圖開始交換A,B數(shù)位置設(shè)置數(shù)據(jù)區(qū)地址設(shè)置數(shù)據(jù)區(qū)長(zhǎng)度清除交換標(biāo)志當(dāng)前地址取數(shù)A地址加1當(dāng)前地址取數(shù)B結(jié)束AB?設(shè)置交換標(biāo)志數(shù)據(jù)比較完全部有序?是否否是是否開始設(shè)置塊的源地址設(shè)置塊的目標(biāo)地址設(shè)置移動(dòng)長(zhǎng)度從源地址取數(shù)保存到目標(biāo)地址中源地址加1目標(biāo)地址加1是否移動(dòng)完結(jié)束是否五、調(diào)試程序;第一步:將程序存儲(chǔ)器的一個(gè)列表中的10個(gè)單字節(jié)無符號(hào)數(shù)據(jù)傳送到內(nèi)部RAM 40H49H單元中。 ORG 0000H LJMP START1 ORG 0030HSTART1: MOV R0,#40H ;設(shè)置R0為內(nèi)部RAM首地址 MOV R1,#10 ;設(shè)Rl為計(jì)數(shù)
3、器 MOV DPTR,#TAB1 LOOP1: CLR A ; 累加器清零MOVC A,A+DPTR ;外部數(shù)據(jù)送累加器A中MOV R0,A ;送內(nèi)部RAM INC R0 ;調(diào)整內(nèi)部RAM指針,指向下一個(gè)數(shù)據(jù) INC DPTR ;調(diào)整外部RAM指針 DJNZ R1,LOOP1 ;未完繼續(xù) ;第二步:排序。把片內(nèi)RAM 40H49H單元中的10個(gè)無符號(hào)數(shù)逐一比較,并按從小到大的順序依次排列在這片單元中。START2: CLR F0 ;清除交換標(biāo)志位F0 MOV R3,#9 ;10個(gè)數(shù)據(jù)循環(huán)次數(shù) MOV R0,#40H ;數(shù)據(jù)存放區(qū)首址 MOV A,R0 ;取前數(shù)L2: INC R0 MOV R2
4、,A ;保存前數(shù) SUBB A,R0 ;前數(shù)減后數(shù) MOV A,R2 ;恢復(fù)前數(shù) JC L1 ;順序則繼續(xù)比較 SETB F0 ;逆序則建立標(biāo)志位 XCH A,R0 ;前數(shù)與后數(shù)交換 DEC R0 ;指向前數(shù)單元 XCH A,R0 INC R0 ;仍指向后數(shù)單元L1: MOV A,R0 ;取下一個(gè)數(shù) DJNZ R3,L2 ;依次重復(fù)比較 JB F0,START2 ;交換后重新比較;第三步:將內(nèi)部數(shù)據(jù)RAM中40H49H單元的內(nèi)容傳送到外部數(shù)據(jù)存儲(chǔ)器以8000H開始的連續(xù)單元中去。;40H49H共計(jì)10個(gè)單元,需傳送10次數(shù)據(jù)。將Rl作為循環(huán)計(jì)數(shù)器。具體程序如下。START3: MOV R0,#
5、40H ;設(shè)置R0為內(nèi)部RAM首地址 MOV DPTR,#8000H ;設(shè)置外部RAM首地址 MOV R1,#10 ;設(shè)Rl為計(jì)數(shù)器LOOP: MOV A,R0 ;取內(nèi)部RAM數(shù) MOVX DPTR,A ;送外部RAM INC R0 ;調(diào)整內(nèi)部RAM指針,指向下一個(gè)數(shù)據(jù) INC DPTR ;調(diào)整外部RAM指針 DJNZ R1,LOOP ;未完繼續(xù)SJMP $ ;暫停TAB1: DB 09H,04H,02H,08H,00H ;數(shù)0-9表 DB 00H,06H,07H,07H,0FH END六、收獲與體會(huì)第一次用匯編語言在偉福6000環(huán)境下運(yùn)行,感覺和VC6.0稍有不同,偉福6000調(diào)試界面非常豐
6、富,有片內(nèi)RAMDATE;片外RAMXDATE;代碼寄存器CODE;特殊功能寄存器SFR;并且可以單步調(diào)試,自己所編的程序一目了然;偉福6000果然是好東西;冒泡法存在的不足及改進(jìn)方法: 第一,在排序過程中,執(zhí)行完最后的排序后,雖然數(shù)據(jù)已全部排序完備,但程序無法判斷是否完成排序,為了解決這一不足,可設(shè)置一個(gè)標(biāo)志單元flag,將其設(shè)置為OFF,表示被排序的表示是一個(gè)無序的表。在每一排序開始時(shí),檢查此標(biāo)志,若此標(biāo)志為0,則結(jié)束排序;否則進(jìn)行排序; 第二,當(dāng)排序的數(shù)據(jù)比較多時(shí)排序的時(shí)間會(huì)明顯延長(zhǎng)。改進(jìn)方法:快速排序:具體做法:任意選取某一記錄(通常取第一個(gè)記錄),比較其關(guān)鍵字與所有記錄的關(guān)鍵字,并將
7、關(guān)鍵字比它小的記錄全部放在它的前面,將比它大的記錄均存放在它的后面,這樣,經(jīng)過一次排序之后,可將所有記錄以該記錄所在的分界點(diǎn)分為兩部分,然后分別對(duì)這兩部分進(jìn)行快速排序,直至排序完。實(shí)驗(yàn)二 I/O口輸入輸出實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)P1口作為輸出/輸入方式使用的方法;掌握延時(shí)子程序的編寫和使用;二、實(shí)驗(yàn)內(nèi)容(1)P1口做輸出口,接8個(gè)發(fā)光二極管,編寫程序,使發(fā)光二極管循環(huán)點(diǎn)亮。(2)P1.0P1.3口做輸入口,接4位撥碼開關(guān);P1.4P1.7做輸出口,接4個(gè)發(fā)光二極管。編寫程序讀取P1口低四位的開關(guān)量輸入狀態(tài),輸出到P1口的高四位,由二極管指示出來。三、 實(shí)驗(yàn)流程圖(1) P1口循環(huán)點(diǎn)燈程序框圖(2)
8、P1口輸入輸出程序框圖四、調(diào)試程序(1)、P1口循環(huán)點(diǎn)燈程序ORG 0000HLJMP STARTORG 0030HSTART:MOV A,#01H;位初值LOOP: MOV P1,A;輸出 LCALL DELAY;延時(shí) RL A;左移下一位 LJMP LOOPDELAY: MOV R5,#20 ;延時(shí)子程序,延時(shí)0.2秒D1: MOV R6,#20D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RETEND(2)、P1口輸入輸出程序ORG 0000HLJMP STARTORG 0030HSTART: MOV A,P1ANL A,#0FH ;P1
9、用作輸入口時(shí),必須置1,否則讀入的數(shù)可能出錯(cuò);可用半字節(jié)交換指令SWAP A再賦值給P1RR A ;P1.0P1.3口做輸入口,接4位撥碼開關(guān)RR A ;P1.4P1.7做輸出口,接4個(gè)發(fā)光二極管RR ARR AORL A,#0FH ;P1用作輸入口時(shí),必須置1,否則讀入的數(shù)可能出錯(cuò)MOV P1,ASJMP STARTEND五、收獲與體會(huì)這次試驗(yàn)做的是I/O口的輸入輸出,這個(gè)實(shí)驗(yàn)以以小見大的手法,將單片機(jī)的功能表現(xiàn)的淋漓盡致;只要我可以使它一個(gè)燈亮,我就可以控制全部外圍設(shè)備;這樣的感覺太爽了;果真是其樂無窮,“給我一個(gè)支點(diǎn),我可以撬動(dòng)整個(gè)地球”;P1口是準(zhǔn)雙向口。它作為輸出口時(shí)與一般的雙向口使
10、用方法相同。由準(zhǔn)雙向口結(jié)構(gòu)可知當(dāng)P1口用為輸入口時(shí),必須先對(duì)它置“1”。若不先對(duì)它置“1”,讀入的數(shù)據(jù)是不正確的。實(shí)驗(yàn)三 定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康牧私釳CS-51單片機(jī)中定時(shí)器/計(jì)數(shù)器的基本結(jié)構(gòu)、工作原理和工作方式,掌握工作在定時(shí)器和計(jì)數(shù)器兩種方式下的編程方法。二、實(shí)驗(yàn)內(nèi)容(1)定時(shí)器實(shí)驗(yàn):在使用6MHz晶振的條件下,用定時(shí)器1產(chǎn)生10ms定時(shí),由P1.0口輸出周期為2s的方波信號(hào),并通過發(fā)光二極管指示P1.0的輸出波形。(2)定時(shí)器實(shí)驗(yàn)(選作):在使用6MHz晶振的條件下,用端口輸出不同頻率的脈沖(不同頻率的脈沖用定時(shí)器實(shí)現(xiàn)),控制蜂鳴器發(fā)出“Do Re Mi Fa Sol La Si
11、 Do”不同音調(diào)(這些音調(diào)的頻率可以參考書中P142的表6-3)(3)計(jì)數(shù)器實(shí)驗(yàn):按計(jì)數(shù)器模式和方式2工作,對(duì)P3.4(T0)引腳進(jìn)行計(jì)數(shù)。將其數(shù)值按二進(jìn)制數(shù)在P1口驅(qū)動(dòng)LED燈上顯示出來。三、實(shí)驗(yàn)說明1、關(guān)于內(nèi)部計(jì)數(shù)器的編程主要是定時(shí)常數(shù)的設(shè)置和有關(guān)控制寄存器的設(shè)置。內(nèi)部計(jì)數(shù)器在單片機(jī)中主要有定時(shí)器和計(jì)數(shù)器兩個(gè)功能。本實(shí)驗(yàn)使用的是定時(shí)器。2、定時(shí)器有關(guān)的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于設(shè)置定時(shí)器/計(jì)數(shù)器的工作方式0-3,并確定用于定時(shí)還是用于計(jì)數(shù)。TCON主要功能是為定時(shí)器在溢出時(shí)設(shè)定標(biāo)志位,并控制定時(shí)器的運(yùn)行或停止等。3、內(nèi)部計(jì)數(shù)器用作定時(shí)器時(shí),是對(duì)機(jī)器周期
12、計(jì)數(shù)。每個(gè)機(jī)器周期的長(zhǎng)度是12個(gè)振蕩器周期。因?yàn)閷?shí)驗(yàn)系統(tǒng)的晶振是6MHZ,本程序工作于方式2,即8位自動(dòng)重裝方式定時(shí)器, 定時(shí)器100us中斷一次, 所以定時(shí)常數(shù)的設(shè)置可按以下方法計(jì)算:機(jī)器周期=126MHZ=2uS(256-定時(shí)常數(shù))2uS=100us定時(shí)常數(shù)=206. 然后對(duì)100us中斷次數(shù)計(jì)數(shù)10000次,就是1秒鐘.4、在例程的中斷服務(wù)程序中,因?yàn)橹袛喽〞r(shí)常數(shù)的設(shè)置對(duì)中斷程序的運(yùn)行起到關(guān)鍵作用,所以在置數(shù)前要先關(guān)對(duì)應(yīng)的中斷,置數(shù)完之后再打開相應(yīng)的中斷。四、實(shí)驗(yàn)流程圖 主程序框圖定時(shí)中斷子程序框圖五、調(diào)試程序(1)、定時(shí)器實(shí)驗(yàn)中斷方式 ORG 0000HRESET: LJMP MAIN
13、 ORG 001BH LJMP IT1P ORG 0100HMAIN: MOV SP,#60H;定義堆棧區(qū) MOV B,#100 MOV TMOD,#10H;定時(shí)方式1 MOV TL1,#78H ;用定時(shí)器1產(chǎn)生10ms定時(shí)(初值) MOV TH1,#0ECH ;用定時(shí)器1產(chǎn)生10ms定時(shí)(初值) SETB TR1;運(yùn)行控制 SETB ET1;允許中斷 SETB EAHERE: SJMP HEREIT1P: MOV TL1,#78H;重新負(fù)初值 MOV TH1,#0ECH DJNZ B,LOOP CPL P1.0 ;P1.0口輸出周期為2s的方波信號(hào) MOV B,#64H ;P1.0口輸出周期
14、為2s的方波信號(hào)LOOP: RETIEND(2)查詢方式ORG 0000HLJMP MAIN ORG 0100HMAIN: MOV B,#64H MOV TMOD,#10H MOV TL1,#78H ;用定時(shí)器1產(chǎn)生10ms定時(shí) MOV TH1,#0ECH ;用定時(shí)器1產(chǎn)生10ms定 SETB TR1LOOP0: JBC TF1,LOOP1 AJMP LOOP0 LOOP1: MOV TL1,#78H ;用定時(shí)器1產(chǎn)生10ms定時(shí) MOV TH1,#0ECH DJNZ B,LOOP0 CPL P1.0 ;P1.0口輸出周期為2s的方波信號(hào) LJMP MAIN SJMP $END(2)定時(shí)器實(shí)驗(yàn)
15、(選作);蜂鳴器發(fā)出Do Re Mi Fa Sol La Si Do不同音調(diào) ORG 0000H LJMP MAIN ORG 001BH LJMP INT1 ORG 0030HMAIN: MOV SP,#30H MOV TMOD,#10H ;設(shè)T1工作方式1 MOV IE,#88H ;允許中斷LOOP1: MOV 40H,#00H ;簡(jiǎn)譜碼指針清0LOOP2: MOV A,40H MOV DPTR,#TABLE1 MOVC A,A+DPTR ;取簡(jiǎn)譜碼 MOV R1,A JZ FINISH ;簡(jiǎn)譜碼是00H,轉(zhuǎn)移 ANL A,#0FH MOV R2,A MOV A,R1 SWAP A ANL
16、A,#0FH JNZ SING ;唱名碼不是00H,轉(zhuǎn)移 CLR TR1 ;唱名碼是00H,則不發(fā)音 SJMP WY ;SING: DEC A ;唱名碼減1 MOV 50H,A RL A MOV DPTR,#TABLE2 ;取唱名碼高8位 MOVC A,A+DPTR MOV TH1,A MOV 51H,A MOV A,50H RL A INC A MOVC A,A+DPTR ;取唱名法低8位 MOV TL1,A MOV 52H,A SETB TR1WY: LCALL DELAY ;調(diào)用基本單位時(shí)間(1/4拍) INC 40H SJMP LOOP2 ;取下一個(gè)簡(jiǎn)譜碼FINISH: CLR TR1
17、 SJMP LOOP1 ;重復(fù)播放 ORG 0100H ;基本單位時(shí)間子程序DELAY: MOV R4,#200LP1: MOV R5,#232 DJNZ R5,$ DJNZ R4,LP1 DJNZ R2,DELAY ;節(jié)拍數(shù)未到,轉(zhuǎn)移 RET ORG 0150HINT1: PUSH ACC PUSH PSW MOV TL1,52H ;重置定時(shí)器初值 MOV TH1,51H CPL P1.0 POP PSW POP ACC RETI ORG 0200HTABLE1: DB 42H,53H,62H,73H,84H ;簡(jiǎn)譜碼表;高4位唱名碼;低4位節(jié)拍碼 DB 93H,0A4H,43H DB 00
18、H ORG 0250HTABLE2: DW 0FD82H,0FDC8H,0FE06H ;唱名碼表 DW 0FE22H,0FE56H,0FE85H DW 0FE9AH,0FEB2H,0FEE4H DW 0FE03H,0FE11H,0FE2BH DW 0FF42H,0FF4DH,0FF61H END(3)計(jì)數(shù)器實(shí)驗(yàn) ORG 0000HLJMP MAINORG 0040HMAIN: MOV TMOD,#06HMOV TL0,#00HMOV TH0,#00HSETB TR0LOOP:MOV A,TL0MOV P1,AAJMP LOOPEND六、收獲與體會(huì)外部事件計(jì)數(shù)脈沖由P3.4引入定時(shí)器T0。單片機(jī)
19、在每個(gè)機(jī)器周期采樣一次輸入波形,因此單片機(jī)至少需要兩個(gè)機(jī)器周期才能檢測(cè)到一次跳變。這就要求被采樣電平至少維持一個(gè)完整的機(jī)器周期,以保證電平在變化之前即被采樣。同時(shí)這就決定了輸入波形的頻率不能超過機(jī)器周期頻率。定時(shí)器:在所規(guī)定的時(shí)間點(diǎn)完成某種操作,多采用系統(tǒng)時(shí)鐘。計(jì)數(shù)器:在某種操作完成到指定程度時(shí)去執(zhí)行另一種操作。應(yīng)用十分廣泛,電磁繼電器、計(jì)數(shù)器等。實(shí)驗(yàn)四 外部中斷實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)外部中斷技術(shù)的基本使用方法;學(xué)習(xí)中斷處理程序的編程方法。二、實(shí)驗(yàn)內(nèi)容通過按鍵產(chǎn)生單脈沖作為中斷源,觸發(fā)外部中斷,在中斷處理程序中對(duì)輸出信號(hào)進(jìn)行反轉(zhuǎn),由P1.0口輸出信號(hào),使發(fā)光二極管點(diǎn)亮或熄滅。三、實(shí)驗(yàn)電路及連線連
20、線連接孔1連接孔21P1.0L02單脈沖輸出INT0 四、實(shí)驗(yàn)說明中斷服務(wù)程序的關(guān)鍵是: 1.保護(hù)進(jìn)入中斷時(shí)的狀態(tài),并在退出中斷之前恢復(fù)進(jìn)入時(shí)的狀態(tài)。2.必須在中斷程序中設(shè)定是否允許中斷重入,即設(shè)置EXO位。本例中使用了INTO中斷,一般中斷程序進(jìn)入時(shí)應(yīng)保護(hù)PSW,ACC以及中斷程序使用但非其專用的寄存器。本例的中斷程序保護(hù)了PSW,ACC等三個(gè)寄存器并且在退出前恢復(fù)了這三個(gè)寄存器。另外中斷程序中涉及到關(guān)鍵數(shù)據(jù)的設(shè)置時(shí)應(yīng)關(guān)中斷,即設(shè)置時(shí)不允許重入。本例中沒有涉及這種情況。INTO(P32)端接單次脈沖發(fā)生器。P1.0接LED燈,以查看信號(hào)反轉(zhuǎn).五、實(shí)驗(yàn)流程圖 主程序框圖外部中斷子程序框圖六、調(diào)
21、試程序 ORG 0000HLJMP MAINORG 0003HLJMP INTPORG 0050HMAIN: SETB EASETB EX0SETB IT0SJMP $ORG 0080HINTP: CLR EA CPL P1.0SETB EARETIEND七、收獲與體會(huì)中斷服務(wù)程序的關(guān)鍵是:1.保護(hù)進(jìn)入中斷時(shí)的狀態(tài),并在退出中斷之前恢復(fù)進(jìn)入時(shí)的狀態(tài)。2.必須在中斷程序中設(shè)定是否允許中斷重入,即設(shè)置EXO位。定時(shí)器/計(jì)數(shù)器控制寄存器TCON、串行口控制寄存器SCON、中斷允許寄存器IE、中斷優(yōu)先級(jí)寄存器IP工作方式控制寄存器TMOD、電源控制寄存器PCON實(shí)驗(yàn)五 串行通信實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?)了
22、解MCS-51單片機(jī)串行口(UART)的結(jié)構(gòu)、PC機(jī)串行通信的基本要求、串行通信的原理和數(shù)據(jù)交換過程,掌握單片機(jī)與單片機(jī)間以及單片機(jī)與PC機(jī)間進(jìn)行串行通信的編程方法。(2)掌握存儲(chǔ)器擴(kuò)展接口電路的設(shè)計(jì)方法;掌握單片機(jī)內(nèi)部RAM和外部RAM之間數(shù)據(jù)傳送的特點(diǎn)。二、實(shí)驗(yàn)內(nèi)容單片機(jī)之間串行通信實(shí)驗(yàn):甲機(jī)將存儲(chǔ)在片外RAM的一組立即數(shù)(00H0FH)通過串口發(fā)送到乙機(jī),乙機(jī)接收到后保存到片外RAM中,串口采用工作方式1,波特率為4800。晶陣為6MH三、實(shí)驗(yàn)電路 甲方 乙方連線連接孔1連接孔21甲方TXD乙方RXD2甲方RXD乙方TXD3甲方GND乙方GND4KEY/LED_CSCS0四、實(shí)驗(yàn)說明1、
23、8051的RXD、TXD接線柱在POD51仿真板上。2、通訊雙方的RXD、TXD信號(hào)本應(yīng)經(jīng)過電平轉(zhuǎn)換后再行交叉連接,本實(shí)驗(yàn)中為減少連線可將電平轉(zhuǎn)換電路略去,而將雙方的RXD、TXD直接交叉連接。五、實(shí)驗(yàn)框圖YNY結(jié)束Y1號(hào)機(jī)請(qǐng)求發(fā)送?等待1號(hào)機(jī)聯(lián)絡(luò)開始設(shè)置波特率啟動(dòng)定時(shí)器1設(shè)置串口工作方式NN指針初始化校驗(yàn)和清0接收1個(gè)數(shù)據(jù)字節(jié)求和校驗(yàn)比較校驗(yàn)和2號(hào)機(jī)接收正確?數(shù)據(jù)塊接收完畢?發(fā)送應(yīng)答信號(hào)發(fā)送錯(cuò)誤標(biāo)志六、調(diào)試程序;甲機(jī)發(fā)送ORG 0000H ;甲機(jī)發(fā)送程序 LJMP MAINA ORG 0023H AJMP SA ;串口中斷 ORG 0100HMAINA: MOV SP,#60H ;設(shè)置堆棧指
24、針 MOV SCON,#40H ;設(shè)置串行方式1 MOV TMOD,#20H ; 使用定時(shí)器T1的方式2 MOV TL1,#0FDH ;設(shè)置波特率為4800 MOV TH1,0FDH MOV PCON,#00H ;電源控制 SETB TR1 ;TCON控制 SETB EA ;IE控制 SETB ES MOV DPTR,#0030H ;取片外RAM的一組立即數(shù)首地址 MOV R0,#00H ;設(shè)計(jì)數(shù)初值為0 MOVX A,DPTR ;取發(fā)送數(shù)據(jù) MOV SBUF,A ;啟動(dòng)串行口 SJMP $ ;等待中斷SA: CLR TI ;清發(fā)送中斷標(biāo)志 CJNE R0,#0FH,LOOPA CLR ES
25、; 接收完關(guān)串行口中斷 AJMP ENDALOOPA: INC R0 ; 計(jì)數(shù)指針加1 INC DPTR ;地址指針加1 MOVX A,DPTR ;取發(fā)送數(shù)據(jù) MOV SBUF,A ;啟動(dòng)串行口ENDA: RETI ;中斷返回 END;乙機(jī)接受ORG 0000H ;乙機(jī)接受程序 LJMP MAINB ORG 0023H AJMP SB ;串口中斷 ORG 0100HMAINB: MOV SP,#60H ;設(shè)置堆棧指針 MOV SCON,#50H ;設(shè)置串行方式1,允許串行接收位 MOV TMOD,#20H ; 使用定時(shí)器T1的方式2 MOV TL1,#0FDH ;設(shè)置波特率為4800 MOV
26、TH1,0FDH MOV PCON,#00H ;電源控制 SETB TR1 ;TCON控制 SETB EA ;IE控制 SETB ES MOV DPTR,#0030H ;數(shù)據(jù)緩沖區(qū)首地址 MOV R0,#00H ;設(shè)計(jì)數(shù)初值為0 SJMP $ ;等待中斷SB: CLR RI ;清接收中斷標(biāo)志 MOV A,SBUF ;取接收的數(shù)據(jù) MOVX DPTR,A ;接收的數(shù)據(jù)送緩存區(qū) CJNE R0,#0FH,LOOPB ; 判別是否接收完 CLR ES ; 接收完關(guān)串行口中斷 AJMP ENDBLOOPB: INC R0 ; 計(jì)數(shù)指針加1 INC DPTR ;地址指針加1ENDB: RETI ;中斷返
27、回 END七、收獲與體會(huì)串行接口是一種可以將接受來自CPU的并行數(shù)據(jù)字符轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時(shí)可將接受的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符供給CPU的器件。一般完成這種功能的電路,我們稱為串行接口電路。若想與標(biāo)準(zhǔn)的RS232設(shè)備通信,就要做電平轉(zhuǎn)換,輸出時(shí)要將TTL電平換成RS232電平,輸入時(shí)要將RS232電平換成TTL電平??梢詫⒎抡姘迳系腞XD、TXD信號(hào)接到實(shí)驗(yàn)板上的“用戶串口接線”的相應(yīng)RXD和TXD端,經(jīng)過電平轉(zhuǎn)換,通過“用戶串口”接到外部的RS232設(shè)備??梢杂脤?shí)驗(yàn)儀上的邏輯分析儀采樣串口通信的波形可以說它是物聯(lián)網(wǎng)中不可或缺的一部分;實(shí)驗(yàn)六 數(shù)碼管顯示實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康牧?/p>
28、解數(shù)碼管動(dòng)態(tài)顯示的原理;了解用總線方式控制數(shù)碼管顯示。二、實(shí)驗(yàn)內(nèi)容編寫程序,使數(shù)碼管顯示當(dāng)前日期(年-月-日)。說明:本實(shí)驗(yàn)儀提供了6 位8段碼LED顯示電路,學(xué)生只要按地址輸出相應(yīng)數(shù)據(jù),就可以實(shí)現(xiàn)對(duì)顯示器的控制。顯示共有6位,用動(dòng)態(tài)方式顯示。8位段碼、6位位碼是由兩片74LS374輸出。碼經(jīng)MC1413或ULN2003倒相驅(qū)動(dòng)后,選擇相應(yīng)顯示位。本實(shí)驗(yàn)儀中 8位段碼輸出地址為0X004H,位碼輸出地址為 0X002H。此處X是由KEY/LED CS 決定,參見地址譯碼。做鍵盤和LED實(shí)驗(yàn)時(shí),需將KEY/LED CS 接到相應(yīng)的地址譯碼上。以便用相應(yīng)的地址來訪問。例如,將KEY/LED CS接
29、到CS0上,則段碼地址為08004H,位碼地址為08002H。三、實(shí)驗(yàn)線路及連線連線連接孔1連接孔21KEY/LED_CSCS0四、實(shí)驗(yàn)說明本實(shí)驗(yàn)儀提供了6 位8段碼LED顯示電路,學(xué)生只要按地址輸出相應(yīng)數(shù)據(jù),就可以實(shí)現(xiàn)對(duì)顯示器的控制。顯示共有6位,用動(dòng)態(tài)方式顯示。8位段碼、6位位碼是由兩片74LS374輸出。位碼經(jīng)MC1413或ULN2003倒相驅(qū)動(dòng)后,選擇相應(yīng)顯示位。本實(shí)驗(yàn)儀中 8位段碼輸出地址為0X004H,位碼輸出地址為 0X002H。此處X是由KEY/LED CS 決定,參見地址譯碼。做鍵盤和LED實(shí)驗(yàn)時(shí),需將KEY/LED CS 接到相應(yīng)的地址譯碼上。以便用相應(yīng)的地址來訪問。例如,將KEY/LED CS 接到CS0上,則段碼地址為08004H,位碼地址為08002H。 七段數(shù)碼管的字型代碼表如下表: a f b g e c d 。dp顯示字形gfedcba段碼001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hb11111007chC011100139hd10111105eh
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨國采購合同文本
- 經(jīng)典招標(biāo)文件樣本
- 聯(lián)盟經(jīng)營協(xié)議書的簽訂
- 肉豬飼料交易合同
- 食品供貨合同格式模板
- 居間服務(wù)合同買方權(quán)益保護(hù)建議
- 鋼筋工勞務(wù)分包協(xié)議書樣本
- 網(wǎng)絡(luò)技術(shù)外包合同模板
- 招標(biāo)采購文件模板分享
- 石材配件采購合同
- 湖南省名校聯(lián)考聯(lián)合體2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 2024江蘇省常熟市事業(yè)單位招聘176人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 中藥表格完整版本
- 居民健康檔案電子建檔工作實(shí)施方案
- 外研版(2024新版)七年級(jí)上冊(cè)英語期末(Units 1~6)學(xué)業(yè)質(zhì)量測(cè)試卷(含答案)
- 2024年湖南省長(zhǎng)沙市中考數(shù)學(xué)試題(含解析)
- 供應(yīng)鏈與生產(chǎn)制造L1-L4級(jí)高階流程規(guī)劃框架 相關(guān)兩份資料
- 廚房里的危險(xiǎn)課件
- 海底撈崗位晉升流程
- 牛津譯林版(2024新版)七年級(jí)上冊(cè)英語Unit 8 單元測(cè)試卷(含答案)
- 貴州大學(xué)新型智庫建設(shè)實(shí)施方案
評(píng)論
0/150
提交評(píng)論