欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      單片機(jī)實(shí)驗(yàn)指導(dǎo)書

      時(shí)間:2019-05-12 06:53:01下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《單片機(jī)實(shí)驗(yàn)指導(dǎo)書》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《單片機(jī)實(shí)驗(yàn)指導(dǎo)書》。

      第一篇:單片機(jī)實(shí)驗(yàn)指導(dǎo)書

      單片機(jī)實(shí)驗(yàn)指導(dǎo)書

      實(shí)驗(yàn)說明

      實(shí)驗(yàn)1:定時(shí)控制實(shí)驗(yàn)

      要求:電路連接與編程相結(jié)合,控制燈按一定規(guī)律點(diǎn)亮和熄滅。注意:燈為低電平驅(qū)動(dòng)。

      實(shí)驗(yàn)報(bào)告:說明燈亮的方式;畫出實(shí)際電路圖、程序流程圖和源程序(要有詳細(xì)注釋)。

      實(shí)驗(yàn)2:密碼鎖實(shí)驗(yàn)

      要求:三個(gè)數(shù)碼鍵一個(gè)確認(rèn)鍵,按設(shè)定的密碼(開關(guān)順序)使燈點(diǎn)亮。

      注意:為消除開關(guān)觸點(diǎn)抖動(dòng),判斷時(shí)要加10毫秒左右的延時(shí)。

      實(shí)驗(yàn)報(bào)告:說明密碼順序;畫出實(shí)際電路圖、程序流程圖和源程序(要有詳細(xì)注釋)。

      實(shí)驗(yàn)3:音樂發(fā)生器實(shí)驗(yàn)

      要求:電路連接與編程相結(jié)合,使單片機(jī)演奏一段樂曲。

      實(shí)驗(yàn)報(bào)告:畫出實(shí)際電路圖、程序流程圖和源程序(要有詳細(xì)注釋)。

      實(shí)驗(yàn)4:串口通訊實(shí)驗(yàn)

      要求:兩人為一組,一人為發(fā)一人為收,通過串口連接。用發(fā)者的開關(guān)控制收者的燈點(diǎn)亮或發(fā)出音響。之后二人交換收、發(fā)。實(shí)驗(yàn)報(bào)告:畫出電路圖、程序流程圖和源程序(要有詳細(xì)注釋)。

      硬件測試程序

      main: mov p0,#0ffhmov p1,#0ffhmov p2,#0ffhmov p3,#0ffhacall spk1

      mov p0,#00hmov p1,#00hmov p2,#00hmov p3,#00hacall spk2

      sjmp main

      spk1: mov r0,#0ffhmov r2,#0ffhacall spk

      ret

      spk2: mov r0,#0ffhmov r2,#0dfhacall spk

      ret

      spk:cpl p1.0

      lp1:mov a,r2,mov r5,adjnz r5,$cpl p1.0djnz r0,lp1

      ret

      ;端口設(shè)置 ;1-燈滅

      ;調(diào)音響1 ;端口清0 ;燈亮

      ;調(diào)音響2 ;返回重復(fù)

      ;設(shè)音響1 ;參數(shù) ;調(diào)音響

      ;設(shè)音響2 ;參數(shù) ;調(diào)音響

      ;P1.0翻轉(zhuǎn)

      ;音調(diào)延時(shí) ;P1.0翻轉(zhuǎn) ;音長延時(shí)

      第二篇:單片機(jī)技術(shù)實(shí)驗(yàn)指導(dǎo)書

      《單片機(jī)控制技術(shù)》實(shí)驗(yàn)指導(dǎo)書

      實(shí)驗(yàn)一 流水燈實(shí)驗(yàn)(左移右移方式)

      一. 實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-01 二. 實(shí)驗(yàn)?zāi)康?/p>

      通過此實(shí)驗(yàn),讓大家初步掌握左移位、右移位指令的使用。三. 實(shí)驗(yàn)設(shè)備

      1. S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2. PC微機(jī)一臺(tái)

      四. 實(shí)驗(yàn)步驟

      1. 打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2. 編寫源程序并進(jìn)行調(diào)試。要求:小燈先向左依次移動(dòng)8次,再向右依次移動(dòng)7次,隨后循環(huán)前面的工作。

      3. 將S51E開發(fā)板連接到PC機(jī)上。

      對應(yīng)的89S51與LED引腳的連線為 LED1——————P1.0 LED2——————P1.1 LED3——————P1.2 LED4——————P1.3 LED5——————P1.4 LED6——————P1.5 LED7——————P1.6 LED8——————P1.7 4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序 ORG 0000H START:MOV A,#0FFH CLR C MOV R2,#08H LOOP:RLC A MOV P1,A LCALL DELAY DJNZ R2,LOOP MOV R2,#07H LOOP1:RRC A MOV P1,A LCALL DELAY DJNZ R2,LOOP1 JMP START DELAY:MOV R4,#200 D1: MOV R5,#248 DJNZ R5,$ DJNZ R4,D1 RET END

      實(shí)驗(yàn)二 流水燈實(shí)驗(yàn)(利用查表方式)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-02 二.實(shí)驗(yàn)?zāi)康?/p>

      通過此實(shí)驗(yàn),讓同學(xué)們掌握查表指令的使用。三.實(shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1. 打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2. 編寫源程序并進(jìn)行調(diào)試。要求:學(xué)習(xí)利用查表方式,使小燈做舞臺(tái)燈效果的變化,左移3次,右移3次,閃爍3次,廷時(shí)時(shí)間為200毫秒。3. 將S51E開發(fā)板連接到PC機(jī)上。

      對應(yīng)的89S51與LED引腳的連線為 LED1——————P1.0 LED2——————P1.1 LED3——————P1.2 LED4——————P1.3 LED5——————P1.4 LED6——————P1.5 LED7——————P1.6 LED8——————P1.7 4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序 ORG 0000H MOV P1,#00H MOV A,#00H START:MOV DPTR,#TABLE LOOP: CLR A MOVC A,@A+DPTR CJNE A,#01H,LOOP1 JMP START LOOP1:MOV P1,A MOV R3,#20 LCALL DELAY JMP LOOP DELAY:MOV R4,#20 D1: MOV R5,#248 DJNZ R5,$ DJNZ R4,D1 DJNZ R3,DELAY RET TABLE:DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH DB 7FH, 0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 7FH, 0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 7FH, 0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 00H,0FFH,00H,0FFH DB 00H,OFFH

      END

      實(shí)驗(yàn)三 按鍵的應(yīng)用(按鍵控制小燈)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-03 二.實(shí)驗(yàn)?zāi)康?/p>

      1.掌握按鍵的識(shí)別與處理。2.加強(qiáng)對輸入控制的理解。三.實(shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1.打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2.編寫源程序并進(jìn)行調(diào)試。要求:利用按鍵的方式,控制小燈的亮滅,按鍵后小燈亮,再次按鍵后小燈滅。了解人為按鍵的自然規(guī)律:由于單片機(jī)的指令執(zhí)行很快,按鍵必須進(jìn)行延時(shí)來消除抖動(dòng),并要求在按鍵后執(zhí)行子程序的最后加入一條指令檢測按鍵是否放下。3.將S51E開發(fā)板連接到PC機(jī)上。

      對應(yīng)的89S51與LED引腳的連線為 LED1——————P1.0 SW1———————P2.2 SW2———————P2.3 SW3———————P2.4 SW4———————P2.5 SW5———————P2.6 SW6———————P2.7 4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,按動(dòng)鍵盤觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序

      KEY BIT P3.3 SW1 BIT P2.2 ORG 0000H

      START:MOV SP,#40H

      MOV P2,#0FFH

      MOV P3,#0FFH

      MOV P1,#0FFH

      CLR KEY

      WAIT: JB KEY,$

      JB SW1,$

      LCALL DELAY

      CPL P1.0

      JNB SW1,$

      JMP WAIT

      DELAY:MOV R3,#200

      D1:

      MOV R4,#200

      DJNZ R4,$

      DJNZ R3,D1

      RET

      END

      實(shí)驗(yàn)四 外部中斷實(shí)驗(yàn)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-04 二.實(shí)驗(yàn)?zāi)康?/p>

      1.了解51單片機(jī)外部中斷原理和概念。

      2.學(xué)習(xí)如何使用編程來調(diào)用中斷服務(wù)子程序的整個(gè)過程。三.實(shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1.打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2.編寫源程序并進(jìn)行調(diào)試。要求:當(dāng)主程序運(yùn)行后,小燈一直在做右移循環(huán)運(yùn)動(dòng),當(dāng)按鍵發(fā)生后則觸發(fā)了中斷1,開始執(zhí)行中斷1的服務(wù)子程序,小燈全部閃爍10次,然后再返回主程序,繼續(xù)原來的循環(huán)。

      3.將S51E開發(fā)板連接到PC機(jī)上。

      對應(yīng)的89S51與LED引腳的連線為 LED1——————P1.0 LED2——————P1.1 LED3——————P1.2 LED4——————P1.3 LED5——————P1.4 LED6——————P1.5 LED7——————P1.6 LED8——————P1.7 SW1———————P2.2 SW2———————P2.3 SW3———————P2.4 SW4———————P2.5 SW5———————P2.6 SW6———————P2.7 INT1(P3.3)——————SW 4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,按動(dòng)鍵盤觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序

      ORG 0000H

      JMP START

      ORG 0013H

      JMP EXT1

      ORG 100H

      START:MOV IE,#84H

      MOV IP,#04H

      MOV TCON,#00H

      MOV SP,#40H

      MOV P1,#0FFH

      MOV P2,#00H

      MOV P3,#0FFH

      SETB P2.0

      LOOP:MOV A,#0FFH

      CLR C

      MOV R2,#08H

      LOOP1:RLC A

      MOV P1,A

      LCALL DELAY

      DJNZ R2,LOOP1

      JMP LOOP

      EXT1:PUSH ACC

      PUSH PSW

      MOV A,#00H

      MOV R3,#10 LOOP2:MOV P1,A

      LCALL DELAY

      CPL A

      DJNZ R3,LOOP2

      POP PSW

      POP ACC

      RETI

      DELAY:MOV R5,#20

      D1:MOV R6,#20

      D2:MOV R7,#248

      DJNZ R7,$

      DJNZ R6,D2

      DJNZ R5,D1

      RET

      END

      實(shí)驗(yàn)五 定時(shí)器中斷實(shí)驗(yàn)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-05 二.實(shí)驗(yàn)?zāi)康?/p>

      1.了解51單片機(jī)定時(shí)器中斷原理和概念。

      2.學(xué)習(xí)如何使用編程來調(diào)用中斷服務(wù)子程序的整個(gè)過程。三.實(shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1.打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2.編寫源程序并進(jìn)行調(diào)試。要求:當(dāng)主程序運(yùn)行后,用51單片機(jī)定時(shí)器中斷來令小燈每隔1秒就左移一次。

      3.將S51E開發(fā)板連接到PC機(jī)上。

      對應(yīng)的89S51與LED引腳的連線為 LED1——————P1.0 LED2——————P1.1 LED3——————P1.2 LED4——————P1.3 LED5——————P1.4 LED6——————P1.5 LED7——————P1.6 LED8——————P1.7 4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序

      ORG 0000H

      JMP START

      ORG 000BH

      JMP TIM0

      ORG 100H START:MOV P1,#0FFH

      MOV TMOD,#01H

      MOV TH0,#HIGH(65536-10000)

      MOV TL0,#LOW(65536-10000)

      SETB TR0

      MOV IE,#82H

      MOV R2,#100

      MOV P1.#0FEH

      SJMP $

      TIM0: PUSH ACC

      PUSH PSW

      MOV TH0,# HIGH(65536-10000)

      MOV TL0,#LOW(65536-10000)

      DJNZ R2,LOOP

      MOV R2,#100

      MOV A,P1

      RL A

      MOV P1,A LOOP: POP PSW

      POP ACC

      RETI

      END

      實(shí)驗(yàn)六 中斷優(yōu)先級實(shí)驗(yàn)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-06 二.實(shí)驗(yàn)?zāi)康?/p>

      1.學(xué)習(xí)設(shè)置51單片機(jī)的中斷優(yōu)先級。

      2.學(xué)習(xí)如何使用編程來調(diào)用中斷服務(wù)子程序的整個(gè)過程。三.實(shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1.打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。2.編寫源程序并進(jìn)行調(diào)試。要求:當(dāng)主程序運(yùn)行后,首先P1的8個(gè)LED每隔1秒就左移一次,當(dāng)按鍵后8個(gè)LED閃爍5次。

      3.將S51E開發(fā)板連接到PC機(jī)上。

      對應(yīng)的89S51與LED引腳的連線為 LED1——————P1.0 LED2——————P1.1 LED3——————P1.2 LED4——————P1.3 LED5——————P1.4 LED6——————P1.5 LED7——————P1.6 LED8——————P1.7 INT1(P3.3)——————SW 4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,按動(dòng)鍵盤觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序

      ORG 0000H JMP START ORT 000BH JMP TIM0 ORG 100H START:MOV P1,#0FFH MOV TMOD,#01H MOV TH0,#HIGH(65536-10000)MOV TL0,#LOW(65536-10000)SETB TR0 MOV IE,#86H MOV IP,#04H:用MOV IP,#00H代替本行看結(jié)果如何? MOV R2,#50 MOV P2,#00H MOV P3,#0FFH SETB P2.0 MOV P1,#0FEH SJMP $ EXT1: PUSH ACC PUSH PSW MOV A,#00H MOV R3,#10 LOOP1: MOV P1,A LCALL DELAY CPL A DJNZ R3,LOOP1 MOV P1,#0FEH POP PSW POP ACC RETI TIM0: PUSH ACC PUSH PSW MOV TH0,#HIGH(65536-10000)MOV TL0,#LOW(65536-10000)DJNZ R2,LOOP MOV R2,#100 MOV A,P1 RL A MOV P1,A LOOP: POP PSW POP ACC RETI DELAY: MOV R6,#0FFH D1: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,D1 RET END

      實(shí)驗(yàn)七 RS232串行通訊實(shí)驗(yàn)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-07 二.實(shí)驗(yàn)?zāi)康?/p>

      1.了解RS232串行通訊的工作原理。

      2.掌握用查詢方式進(jìn)行數(shù)據(jù)傳輸?shù)目刂圃?。三.?shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1.打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2.編寫源程序并進(jìn)行調(diào)試。要求:實(shí)驗(yàn)中通過RS232的自收自發(fā)對小燈進(jìn)行右移控制。3.將S51E開發(fā)板連接到PC機(jī)上。

      將89S51的引腳RXD(P3.0)與TXD(P3.1)引腳對接。

      4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序

      NUM EQU 20H

      ORG 0000H JMP START ORG 100H MOV NUM,#00H START:MOV SCON,#50H MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 LOOP:MOV DPTR,#TABLE MOV A,NUM MOVC A,@A+DPTR JZ CLRA0 RET1:INC NUM CLR TI MOV SUBF,A CLR RI LOOP1:JBC RI,LOOP2 JMP LOOP1 LOOP2:MOV A,SUBF MOV P1,A LCALL DELAY JMP START CLRA0:MOV NUM,#00H MOV A,NUM

      MOV DPTR,#TABLE MOVC A,@A+DPTR JMP RET1 DELAY:MOV R7,#50 D1:MOV R6,#20 D2:MOV R5,#248 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET TABLE:DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,7FH DB 00H END

      實(shí)驗(yàn)八 八段數(shù)碼管動(dòng)態(tài)顯示實(shí)驗(yàn)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-08 二.實(shí)驗(yàn)?zāi)康?/p>

      1.掌握數(shù)碼管的顯示原理。2.掌握動(dòng)態(tài)顯示的控制原理。三.實(shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1.打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2.編寫源程序并進(jìn)行調(diào)試。要求:實(shí)驗(yàn)中能在開發(fā)板的兩個(gè)數(shù)碼管上顯示99倒記時(shí)。3.將S51E開發(fā)板連接到PC機(jī)上。

      89S51與數(shù)碼管顯示器對應(yīng)引腳的聯(lián)機(jī)為: P0.0————————數(shù)碼管顯示器的a腳 P0.1————————數(shù)碼管顯示器的b腳 P0.2————————數(shù)碼管顯示器的c腳 P0.3————————數(shù)碼管顯示器的d腳 P0.4————————數(shù)碼管顯示器的e腳 P0.5————————數(shù)碼管顯示器的f腳 P0.6————————數(shù)碼管顯示器的g腳 P0.7————————數(shù)碼管顯示器的dp腳 P2.6————————數(shù)碼管顯示器1的驅(qū)動(dòng)腳 P2.7————————數(shù)碼管顯示器2的驅(qū)動(dòng)腳

      4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序

      MIAO EQU 21H GEWEI EQU 22H SHIWEI EQU 23H SCANLED BIT 01H ORG 0000H JMP START ORG 0BH JMP TIMER0 ORG 100H START:MOV SP,#40H MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#OFFH MOV R0,#20H MOV R5,#60H CLR0:MOV @R0,#00H INC RO DJNZ R5,CLR0 MOV TMOD,#01H

      MOV TH0,#HIGH(65536-5000)MOV TL0,#HIGH(65536-5000)SETB TR0

      MOV IE,#82H MOV R7,#200 MOV MIAO,#99 AJMP $ TIMER0: PUSH ACC PUSH PSW MOV TH0,#HIGH(65536-5000)

      MOV TL0,#HIGH(65536-5000)DJNZ R7,TIM0_LP MOV R7,#200 DJNZ R7,TIM0_LP MOV MIAO,#99 TIM0_LP: MOV A,MIAO LCALL BIN_BCD MOV SHIWEI,A MOV GEWEI,B CPL SCANLED JB SCAN_L1 JMP SCAN_L2 SCAN_L1:MOV P2,#7FH MOV A,SHIWEI JMP END_SCAN SCAN_L1:MOV P2,#0BFH MOV A,GEWEI JMP END_SCAN END_SCAN:MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A POP PSW POP ACC RETI BIN_BCD:MOV B,#10 DIV AB RET TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H DB 90H END 實(shí)驗(yàn)九 模擬交通燈實(shí)驗(yàn)(調(diào)用延時(shí)子程序方式)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-09 二.實(shí)驗(yàn)?zāi)康?/p>

      1.掌握數(shù)碼管的顯示原理。2.學(xué)習(xí)延時(shí)子程序的編寫。三.實(shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1.打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2.編寫源程序并進(jìn)行調(diào)試。要求:實(shí)驗(yàn)中模擬交通燈紅燈先亮10秒時(shí)間,接著黃燈亮3秒時(shí)間,隨后綠燈再亮10秒時(shí)間。

      89S51與數(shù)碼管顯示器對應(yīng)引腳的聯(lián)機(jī)為: P0.0————————數(shù)碼管顯示器的a腳 P0.1————————數(shù)碼管顯示器的b腳 P0.2————————數(shù)碼管顯示器的c腳 P0.3————————數(shù)碼管顯示器的d腳 P0.4————————數(shù)碼管顯示器的e腳 P0.5————————數(shù)碼管顯示器的f腳 P0.6————————數(shù)碼管顯示器的g腳 P0.7————————數(shù)碼管顯示器的dp腳 P2.6————————數(shù)碼管顯示器1的驅(qū)動(dòng)腳 P2.7————————數(shù)碼管顯示器2的驅(qū)動(dòng)腳

      LED1——————P1.0 LED2——————P1.1 LED3——————P1.2 LED4——————P1.3 LED5——————P1.4 LED6——————P1.5 4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序

      GEWEI EQU 21H SHIWEI EQU 22H SCANLED EQU 23H RED EQU 24H GREEN EQU 25H YELLOW EQU 26H NUMTIM EQU 27H ORG 0000H JMP START ORG 0BH JMP TIMER0 ORG 100H START:MOV SP,#40H MOV R0,#20H MOV R5,#20 CLR0: MOV @R0,#00H INC R0 DJNZ R5,CLR0 MOV TMOD #01H MOV TH0,#HIGH(65536-5000)

      MOV TL0,#LOW(65536-5000)

      SETB TR0 MOV IE,#82H MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV R3,#10 MOV R2,#3 MOV R1,#10 INE: MOV RED,#10 MOV YELLOW,#3 MOV GREEN,#10 LOOP:MOV P1,#0FBH MOV NUMTIM,RED LCALL DELAY1 DEC RED DJNZ R3,LOOP MOV R3,#10 MOV NUMTIM,#00H LCALL DELAY1 LOOP1:MOV P1,#0F3H MOV NUMTIM,YELLOW LCALL DELAY1 DEC YELLOW DJNZ R2,LOOP1 MOV R2,#3 MOV NUMTIM,#00H LCALL DELAY1 LOOP2: MOV P1,#0BFH MOV NUMTIM,GREEN LCALL DELAY1 DEC GREEN DJNZ R1,LOOP2 MOV R1,#10 MOV NUMTIM,#00H LCALL DELAY1 MOV YELLOW,#3 LOOP3: MOV P1,#0F3H MOV NUMTIM,YELLOW LCALL DELAY1 DEC YELLOW DJNZ R2,LOOP3 MOV R2,#3 MOV NUMTIM,#00H LCALL DELAY1 LJMP INI TIMER0:PUSH ACC PUSH PSW MOV TH0,#HIGH(65536-5000)

      MOV TL0,#LOW(65536-5000)MOV A,NUMTIM LCALL BIN_BCD MOV SHIWEI,A MOV GEWEI,B MOV A,SCANLED CPL A MOV SCANLED,A JZ SCAN_L1 JMP SCAN_L2 SCAN_L1:MOV P2,#7FH MOV A,SHIWEI JMP END_SCAN SCAN_L2:MOV P2,#0BFH MOV A,GEWEI JMP END_SCAN END_SCAN:MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A POP PSW POP ACC RETI BIN_BCD:MOV B,#10

      DIV AB RET DELAY1:MOV R6,#10 D1:MOV R5,#200 D2:MOV R4,#248 DJNZ R4,$ DJNZ R5,D2 DJNZ R6,D1 RET TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END 實(shí)驗(yàn)十 模擬交通燈實(shí)驗(yàn)(調(diào)用定時(shí)中斷方式)

      一.實(shí)驗(yàn)項(xiàng)目卡編號(hào):59010115-10 二.實(shí)驗(yàn)?zāi)康?/p>

      1.掌握數(shù)碼管的顯示原理。2.學(xué)習(xí)中斷子程序的編寫。三.實(shí)驗(yàn)設(shè)備

      1.S51E單片機(jī)學(xué)習(xí)開發(fā)板一塊 2.PC微機(jī)一臺(tái) 四.實(shí)驗(yàn)步驟

      1.打開編譯軟件偉煌MCS51開發(fā)系統(tǒng)。

      2.編寫源程序并進(jìn)行調(diào)試。要求:實(shí)驗(yàn)中模擬交通燈紅燈先亮10秒時(shí)間,接著黃燈亮3秒時(shí)間,隨后綠燈再亮10秒時(shí)間。

      89S51與數(shù)碼管顯示器對應(yīng)引腳的聯(lián)機(jī)為: P0.0————————數(shù)碼管顯示器的a腳 P0.1————————數(shù)碼管顯示器的b腳 P0.2————————數(shù)碼管顯示器的c腳 P0.3————————數(shù)碼管顯示器的d腳 P0.4————————數(shù)碼管顯示器的e腳 P0.5————————數(shù)碼管顯示器的f腳 P0.6————————數(shù)碼管顯示器的g腳 P0.7————————數(shù)碼管顯示器的dp腳 P2.6————————數(shù)碼管顯示器1的驅(qū)動(dòng)腳 P2.7————————數(shù)碼管顯示器2的驅(qū)動(dòng)腳

      LED1——————P1.0 LED2——————P1.1 LED3——————P1.2 LED4——————P1.3 LED5——————P1.4 LED6——————P1.5 4.打開開發(fā)板電源,用軟件將調(diào)試好的程序下載至單片機(jī)中,觀察實(shí)驗(yàn)現(xiàn)象。

      五.實(shí)驗(yàn)參考程序

      GEWEI EQU 21H SHIWEI EQU 23H SCANLED EQU 25H SCANMODE EQU 26H RED EQU 28H GREEN EQU 29H YELLOW EQU 2AH NUMTIM EQU 2BH LED EQU 34H ORG 0000H JMP START ORG 0BH JMP TIMER0 ORG 100H START:MOV SP,#30H MOV R0,#20H

      MOV R5,#40 CLR0: MOV @R0,#00H INC R0 DJNZ R5,CLR0 MOV TMOD #01H MOV TH0,#HIGH(65536-5000)

      MOV TL0,#LOW(65536-5000)

      SETB TR0 MOV IE,#82H MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV R3,#10 MOV R2,#3 MOV R1,#10

      MOV RED,#10 MOV YELLOW,#3 MOV GREEN,#10 MOV NUMTIM,#10 MOV LED,#0FFH AJMP $ TIMER0:PUSH ACC PUSH PSW MOV TH0,#HIGH(65536-5000)

      MOV TL0,#LOW(65536-5000)

      DJNZ R7,RET0 MOV R7,#200 MOV A,SCANMODE MOV B,#4 DIV AB MOV A,B RL A MOV DPTR,#TAB_SCAN JMP @A+DPTR TAB_SCAN:AJMP RED_LIGHT AJMP YEL_LIGHT AJMP GRE_LIGHT AJMP YEL_LIGHT RET0:MOV A,NUMTIM

      LCALL BIN_BCD MOV SHIWEI,A MOV GEWEI,B INC SCANLED MOV A,SCANLED MOV B,#4 DIV AB RL A MOV DPTR,#TAB_SCAN0 JMP @A+DPTR TAB_SCAN0:AJMP SCAN_L1 AJMP SCAN_L2 SCAN_L1: MOV P2,#0F7H MOV A,SHIWEI JMP END_SCAN SCAN_L2: MOV P2,#0FBH MOV A,GEWEI JMP END_SCAN END_SCAN:MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,LED MOV P1,A POP PSW POP ACC RETI RED_LIGHT:MOV LED,#OFBH MOV NUMTIM,RED DEC RED MOV A,RED CJNE A,#0FFH,RET0 MOV RED,#10 MOV A,SCANMODE ADD A,#01H MOV SCANMODE,A

      JMP RET0 YEL_LIGHT:MOV LED,#0F3H MOV NUMTIM,YELLOW DEC YELLOW MOV A,YELLOW CJNE A,#0FFH,RET0 MOV YELLOW,#3 MOV A,SCANMODE ADD A,#01H MOV SCANMODE,A JMP RET0 GRE_LIGHT: MOV LED,#0BFH MOV NUMTIM,GREEN DEC GREEN MOV A,GREEN CJNE A,#0FFH,RET1 MOV GREEN,#10 MOV A,SCANMODE ADD A,#01H MOV SCANMODE,A RET1:JMP RET0 BIN_BCD: MOV B,#10 DIV AB RET DELAY: MOV R5,#02 D1: MOV R6,#200 D2: MOV R7,#200 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END

      第三篇:單片機(jī)課程設(shè)計(jì)指導(dǎo)書

      單片機(jī)課程設(shè)計(jì)指導(dǎo)書

      一、設(shè)計(jì)內(nèi)容及步驟

      1、方案設(shè)計(jì)

      先要明確設(shè)計(jì)任務(wù)的要求,根據(jù)設(shè)計(jì)任務(wù)及要求,確定設(shè)計(jì)所要實(shí)現(xiàn)的具體功能,例如“流水燈”具體怎么“流”、有幾種“花樣”、如何操作、等等。這是一項(xiàng)見仁見智的工作,沒有統(tǒng)一的要求,各人可根據(jù)自己的理解自行設(shè)計(jì)。

      2、硬件電路設(shè)計(jì)

      設(shè)計(jì)能使單片機(jī)工作并實(shí)現(xiàn)所需功能的基本硬件電路,包括選擇和確定元器件的規(guī)格、參數(shù)。

      3、軟件程序設(shè)計(jì)

      單片機(jī)由于內(nèi)存小、速度低,因此一般不用高級語言編程而多用匯編語言編程,這樣軟件程序和硬件電路就要有嚴(yán)格的對應(yīng)關(guān)系。單片機(jī)電路的功能主要是由軟件程序?qū)崿F(xiàn)的,因此硬件電路比較簡單而軟件程序相對復(fù)雜,軟件程序設(shè)計(jì)是整個(gè)課程設(shè)計(jì)的難點(diǎn)和重點(diǎn)。

      4、燒寫調(diào)試程序

      由于軟件程序一般都比較復(fù)雜,設(shè)計(jì)時(shí)難免會(huì)有考慮不周的問題,或是有一些疏漏,而這些問題或疏漏僅憑在紙上的分析是很難發(fā)現(xiàn)的,因此軟件程序設(shè)計(jì)好后還要經(jīng)過運(yùn)行調(diào)試,才能知道所設(shè)計(jì)的軟件程序能否實(shí)現(xiàn)之前確定的功能。這個(gè)過程往往要經(jīng)過多次反復(fù)才能最終達(dá)到目的。一般先用計(jì)算機(jī)仿真進(jìn)行調(diào)試,成功后再把程序?qū)懙絾纹瑱C(jī)中并制作實(shí)際電路進(jìn)行驗(yàn)證。

      二、設(shè)計(jì)方法及要求

      1、方案設(shè)計(jì)

      首先要完整、準(zhǔn)確地理解設(shè)計(jì)任務(wù)(雖然課程設(shè)計(jì)只是做個(gè)電路模型進(jìn)行一下驗(yàn)證演示,但設(shè)計(jì)時(shí)要假象是設(shè)計(jì)一個(gè)實(shí)用的產(chǎn)品),然后通過必要的調(diào)研、分析,綜合考慮各方面的因素,定出一個(gè)具體的設(shè)計(jì)目標(biāo)。

      例如,可先把自己當(dāng)作用戶,從用戶的角度考慮這個(gè)“產(chǎn)品”應(yīng)該具備哪些功能、怎樣操作使用比較方便,同時(shí)又安全可靠;再從廠家的角度,結(jié)合實(shí)際的客觀條件,考慮怎樣既能滿足用戶的基本需求,又能最大限度地降低生產(chǎn)成本。

      因此設(shè)計(jì)目標(biāo)不要追求盡善盡美,但也不能過于簡單,要從實(shí)際出發(fā),用足用夠給定的硬件條件,充分開發(fā)可以用軟件實(shí)現(xiàn)的功能以使整體功能最大化。

      2、硬件設(shè)計(jì)

      硬件設(shè)計(jì)包括確定電路的結(jié)構(gòu)組成、繪制電氣原理圖、確定元器件的規(guī)格參數(shù)。

      由于是課程設(shè)計(jì),多數(shù)題目采用最小系統(tǒng)即可,如果要求高一點(diǎn),還要考慮抗干擾措施、電路的功耗、數(shù)據(jù)的斷電保護(hù)、元器件的來源和性價(jià)比等。

      最小系統(tǒng)基本上是一種固定的模式,需要設(shè)計(jì)的就是合理分配單片機(jī)的資源,分配、確定輸入輸出端口用途,這沒有固定的模式,只要符合單片機(jī)的端口功能和性能就行。例如,輸入輸出應(yīng)優(yōu)先采用P1口,還要注意各口作輸出口時(shí)帶負(fù)載的能力,即高電平時(shí)所能輸出的最大電流,或低電平時(shí)允許灌入的最大電流,以及高阻態(tài)時(shí)所能承受的最高電壓。原則上輸出口所接負(fù)載的電流消耗不能超過輸出口允許進(jìn)出的最大電流值,最好是讓輸出口通過緩沖驅(qū)動(dòng)器(例如三極管)帶負(fù)載而不是直接帶負(fù)載,以免造成單片機(jī)的損壞。

      硬件結(jié)構(gòu)應(yīng)結(jié)和應(yīng)用軟件一并考慮,若某種功能既可以用硬件實(shí)現(xiàn),也可以用軟件實(shí)現(xiàn),應(yīng)優(yōu)先選擇用軟件實(shí)現(xiàn),以盡可能地簡化硬件結(jié)構(gòu)。

      3、軟件設(shè)計(jì)

      軟件設(shè)計(jì)要結(jié)合功能設(shè)計(jì)和硬件設(shè)計(jì)進(jìn)行,或者說在做功能設(shè)計(jì)和硬件設(shè)計(jì)時(shí)就要對軟件設(shè)計(jì)有所考慮,即那些功能應(yīng)由軟件完成。

      設(shè)計(jì)軟件不要一來就急于用指令寫程序,要先做總體規(guī)劃設(shè)計(jì),明確軟件要實(shí)現(xiàn)的功能是什么,分那些步驟、按什么順序來實(shí)現(xiàn)設(shè)計(jì)的功能,畫出程序的流程圖。程序的流程也就是單片機(jī)的工作過程,從通電工作開始,程序的第一步做什么,后面又做什么??;怎樣結(jié)束,等等。由于單片機(jī)是靠程序進(jìn)行工作的,程序怎么規(guī)定它就怎么做,程序沒有規(guī)定它就無法工作,很死板。因此設(shè)計(jì)程序流程時(shí)要作仔細(xì)、周全的考慮,只要出現(xiàn)所設(shè)計(jì)的“產(chǎn)品”在正常操作使用過程中可能出現(xiàn)的任何一種情況,都要讓單片機(jī)知道該如何應(yīng)對處理,否則就會(huì)出現(xiàn)死機(jī)無法工作的情況。

      程序的流程是編寫程序的綱領(lǐng)、指導(dǎo)、前提,有了正確的程序流程,就容易編寫出正確的程序,單片機(jī)也才能實(shí)現(xiàn)所設(shè)計(jì)的功能。俗話說,磨刀不誤砍柴工,所以構(gòu)思、設(shè)計(jì)程序的流程要給予高度的重視,要花大的氣力,有時(shí)一次兩次難以考慮周全,可能需要反反復(fù)復(fù)地進(jìn)行多次。

      如果整個(gè)流程實(shí)現(xiàn)一個(gè)總體功能,則流程的每一分支或步驟即可看成是一個(gè)子功能。對于比較復(fù)雜的功能,則子功能下還可再分解出孫功能,即總體功能畫一個(gè)流程圖,再針對較大的子功能畫細(xì)致的流程圖。總之流程圖畫的越細(xì)致,程序越容易編寫。

      流程設(shè)計(jì)好后,也不要就急于寫具體的程序,因?yàn)槟菢訉懗绦蛉狈l理,很容易出錯(cuò),而且可讀性差,難以發(fā)現(xiàn)和糾正錯(cuò)誤。因此寫程序前還應(yīng)對程序的編寫結(jié)構(gòu)進(jìn)行認(rèn)真的規(guī)劃設(shè)計(jì)。

      程序的結(jié)構(gòu)總體上可分為兩大部分,即主程序和子程序(或中斷程序)。主程序可按程序的功能分塊、分段進(jìn)行編寫,每塊、每段完成一個(gè)特定的功能。如果某一塊或段在主程序中需多次出現(xiàn),應(yīng)把它作為子程序,以減少整個(gè)程序的長度。

      程序設(shè)計(jì)的重點(diǎn)在于搭建程序的框架,框架搭成,工作就完成了大半,剩下的就是填充框架。填充框架不一定要自己去一條一條地想該用什么指令,可根據(jù)某一塊或某一段程序的功能,尋找具有相同功能的現(xiàn)成的程序塊、段去填充,對于一些“通用”的程序段,例如按鍵消抖程序、延時(shí)程序等,應(yīng)優(yōu)先采用成熟的“標(biāo)準(zhǔn)”程序,這樣既可減少工作量,又可減少出錯(cuò)。事實(shí)上,程序設(shè)計(jì)大多數(shù)時(shí)候就是用一些零散、成熟的程序快(段)拼湊成一個(gè)自己所需的完整程序。

      程序運(yùn)行中,可能需要在不同的功能模塊間進(jìn)行跳轉(zhuǎn),這就需要在跳轉(zhuǎn)的入口處加上標(biāo)號(hào)。為便于閱讀,在符合指令的語法規(guī)則的前提下,標(biāo)號(hào)應(yīng)能簡要地反映該段程序的功能,例如采取常見的英文縮寫或漢語拼音縮寫(通常是縮寫單字拼音的首字母)。

      運(yùn)用跳轉(zhuǎn)指令時(shí)要注意避免進(jìn)入死循環(huán)。若不可避免進(jìn)入死循環(huán),或有意要進(jìn)入死循環(huán),除復(fù)位外,最好能有其他退出死循環(huán)的措施。

      單片機(jī)程序的運(yùn)行離不開單片機(jī)的內(nèi)存,因此編寫程序前還應(yīng)充分了解所用單片機(jī)的內(nèi)存情況,尤其是要搞清楚那些具有特定用途的特殊內(nèi)存的用途、位置及長度,同時(shí)還要搞清楚所用程序指令(包括常數(shù)表格)以及依程序流程產(chǎn)生的各項(xiàng)數(shù)據(jù)要占用的存儲(chǔ)空間,編寫程序前,要合理地分配利用內(nèi)存空間,注意不要占用特殊內(nèi)存。

      最后,為了便于以后(以及其他人)對程序的閱讀、分析,所編寫的程序應(yīng)該條理清楚,程序各塊、段、條的功能作用明確,在一些重要、關(guān)鍵或用意不是很明確的指令后最好加以注釋。

      三、設(shè)計(jì)報(bào)告的內(nèi)容及要求

      1、方案設(shè)計(jì)說明

      從總體上概括介紹所設(shè)計(jì)項(xiàng)目的構(gòu)成、功能及操作使用方法,詳細(xì)說明該方案是怎么設(shè)計(jì)出來的。

      2、硬件設(shè)計(jì)說明

      畫出完整、規(guī)范的電路圖,說明單片機(jī)I/O口分配使用的情況以及為何這樣分配使用,分析介紹電路的工作原理,介紹電路中主要元器件在電路中的作用以及他們的規(guī)格或參數(shù)是怎樣確定的。

      3、軟件設(shè)計(jì)說明

      1)說明軟件設(shè)計(jì)的思路,介紹軟件的總體功能,畫出完整、規(guī)范的程序的流程圖;

      2)介紹程序的總體框架結(jié)構(gòu),即整個(gè)程序由哪些模塊構(gòu)成,各模塊的功

      能是什么,其中又包含哪些子功能,等等,從總體上說明整個(gè)程序的執(zhí)行及工作過程;

      3)以一些重要或關(guān)鍵的程序段為例,說明該段程序的功能、作用和編寫

      思路;

      4)列出完整的程序清單,重要、關(guān)鍵或難以理解用意的模塊、語句要加

      以注釋;

      4、制作調(diào)試說明

      介紹制作調(diào)試的過程、結(jié)果,以及在過程中出現(xiàn)的問題和解決問題的方法。

      5、操作使用說明

      介紹所設(shè)計(jì)“產(chǎn)品”的操作及使用方法。

      6、總結(jié)說明

      介紹本次課程設(shè)計(jì)的收獲、體會(huì)或經(jīng)驗(yàn)教訓(xùn),要求客觀、具體。

      ? 報(bào)告不要盲目追求篇幅,只要能說清楚問題即可,不必大量拷貝或摘抄資

      料文獻(xiàn)。正文采用宋體四號(hào)字,若用手寫,要求字跡工整。

      四、進(jìn)度安排

      本課程設(shè)計(jì)共兩周的時(shí)間,按10個(gè)工作日算,進(jìn)度安排如下:

      ? 明確設(shè)計(jì)任務(wù),調(diào)研、查閱資料,構(gòu)思、確定總體方案,用兩天時(shí)間; ? 設(shè)計(jì)硬件電路,設(shè)計(jì)軟件功能,畫程序流程圖,用一天時(shí)間;

      ? 設(shè)計(jì)程序結(jié)構(gòu),編寫程序,用兩天時(shí)間;

      ? 通過計(jì)算機(jī)仿真驗(yàn)證調(diào)試程序,用一天時(shí)間;

      ? 制作硬件電路,用一天時(shí)間;

      ? 通過硬件電路驗(yàn)證調(diào)試程序,用一天時(shí)間;

      ? 撰寫設(shè)計(jì)報(bào)告,驗(yàn)收設(shè)計(jì)成果,用兩天時(shí)間。

      五、成績評定

      及格標(biāo)準(zhǔn)如下:

      1、按期完成設(shè)計(jì)并提交設(shè)計(jì)報(bào)告和交驗(yàn)根據(jù)設(shè)計(jì)制作的實(shí)物,出勤良好;

      2、報(bào)告的內(nèi)容、格式符合要求,能反映設(shè)計(jì)過程的實(shí)際情況,設(shè)計(jì)制作的實(shí)物的功能和性能基本能達(dá)到設(shè)計(jì)任務(wù)的要求。

      ? 在及格的基礎(chǔ)上,根據(jù)設(shè)計(jì)成果的質(zhì)量酌情評定為優(yōu)秀、良好或中等。? 不交設(shè)計(jì)報(bào)告或報(bào)告的內(nèi)容大部分是抄來的,以及不交驗(yàn)設(shè)計(jì)制作的實(shí)物

      或用別人的實(shí)物來交驗(yàn),出勤很少,將判為不及格。

      第四篇:單片機(jī)實(shí)驗(yàn)

      實(shí)驗(yàn)

      一、MCS51單片機(jī)基本開發(fā)環(huán)境

      1. 實(shí)驗(yàn)?zāi)康模?/p>

      1)熟悉軟件的集成開發(fā)環(huán)境 2)掌握單片機(jī)軟件設(shè)計(jì)流程

      3)掌握單片機(jī)存貯器結(jié)構(gòu)及各窗口之間的聯(lián)系 2. 實(shí)驗(yàn)內(nèi)容:

      1)用三種方法實(shí)現(xiàn)將累加器A內(nèi)容改為20H

      方法1--MOV A,#20H 方法2—MOV R0,#20H MOV A,R0 方法3—MOV R0,#20H XCH A,R0 心得:越往下做實(shí)驗(yàn)時(shí)就越感覺這題根本不能說是題目,但不得不說在沒接觸過編程軟件,剛開始學(xué)的匯編,第一次做的實(shí)驗(yàn)就光這道題都覺得不知道做什么.所以凡是總有開始,不了解情況的多簡單的都會(huì)覺得難.2)將58H位單元置為1,觀察內(nèi)部RAM中2BH內(nèi)容的變化 代碼:

      SETB 2BH.0 JMP $ END 心得:這是關(guān)于內(nèi)部存儲(chǔ)中對單元和字節(jié)了解,不理解很容易做錯(cuò).比如開始寫的指令為

      MOV R0,#58H;MOV @R0,#1

      這是錯(cuò)誤的指令。這就需要認(rèn)真去了解單片機(jī)中的字節(jié)地址與位地址的關(guān)系。80C51中有位尋址區(qū)和字節(jié)尋址區(qū)。題目中58H為位地址,2BH為字節(jié)地址,且58H為2B字節(jié)的最低位。由于58H屬于位尋址區(qū),可用位操作指令 SETB 進(jìn)行置位,SETB 2BH.0 執(zhí)行后,2BH中內(nèi)容變?yōu)椋埃?/p>

      3)如果當(dāng)前狀態(tài)為有進(jìn)位、工作寄存器使用區(qū)2,請用3種方法設(shè)置這種狀態(tài)

      代碼:

      ANL PSW,#01H MOV A,PSW

      CJNE A,#01,LAB2 LAB1:JMP LAB1

      LAB2: SETB PSW.4 MOV P0,#01H MOV R0,#18H CLR PSW.3 MOV C,P0.0 MOV PSW,R0 MOV PSW.4,C CPL C MOV PSW.3,C END

      心得:以上LAB2寫了三段代碼,可分別完成題目要求。不過實(shí)驗(yàn)時(shí)只是對代碼進(jìn)行了錯(cuò)誤調(diào)試,沒有對結(jié)果進(jìn)行檢驗(yàn)。其中值得注意的是對于布爾(位)操作指令的用法,比如傳送指令必須經(jīng)累加器C,如第二段中MOV P0,#01H;MOV C,P0.0,以及對于位尋址的方式(如需用到“.”隔開)的應(yīng)用。4)編一個(gè)小程序?qū)?nèi)部RAM中的20H單元的內(nèi)容送到21H單元并調(diào)試

      代碼:

      MOV R0,#20H MOV @R0,#10H MOV R1,#21H MOV @R1,20H JMP $ END

      5)用程序?qū)⒍褩V羔樦赶?0H,然后在堆棧中依次壓入01,02,03,04,05五個(gè)數(shù),觀察哪些單元內(nèi)容發(fā)生了變化,各變?yōu)槎嗌??從哪些窗口可以發(fā)現(xiàn)這些變化?順序?qū)⒍褩V械奈鍌€(gè)數(shù)放入30H~34H五個(gè)單元中,編程實(shí)現(xiàn)之。

      代碼:

      MOV R1,#60H MOV SP,R1 MOV DPL,#1H LAB1:PUSH DPL INC DPL MOV A,DPL CJNE A,#6,LAB1 POP 34H POP 33H POP 32H POP 31H POP 30H JMP $ END

      6)將外部數(shù)據(jù)存貯器1000H~100FH 16個(gè)單元中存放00H~0FH 代碼:

      MOV DPTR,#1000H MOV R1,#10H LOOP:MOVX @DPTR,#1234H MOVX A,@DPTR MOV @R1,A INC DPTR INC R1 CJNE R1,#40H,LOOP JMP $ END

      心得:此處需要訪問片外存儲(chǔ)空間,需要借助寄存器DPTR,需注意其為16位的寄存器,在使用時(shí)若與八位寄存器進(jìn)行數(shù)據(jù)交換時(shí)需分為高八位DPH與低八位DPL來用。7)若要求程序從0010H單元開始運(yùn)行,可用兩種方法實(shí)現(xiàn)?

      方法一 ORG 0010H 方法二 AJMP 0010H

      3. 選做實(shí)驗(yàn)內(nèi)容:數(shù)據(jù)傳送 目的:

      1)掌握8051單片機(jī)內(nèi)部數(shù)據(jù)存貯器、外部數(shù)據(jù)存貯器的數(shù)據(jù)傳送特點(diǎn)和應(yīng)用 2)掌握MOV,MOVX和MOVC類指令的用法及區(qū)別 內(nèi)容:

      1)將片內(nèi)RAM數(shù)據(jù)區(qū)20H為首地址的十六個(gè)字節(jié)傳送到30H為首地址的數(shù)據(jù)區(qū),即:20H~2FH送30H~3FH

      代碼: ORG 0000H JMP MAIN ORG 0030H MAIN:MOV R0,#20H MOV R1,#30H LOOP:MOV @R0,#1234H MOVA,@R0 MOV @R1,A INC R0 INC R1 CJNE R1,#30H,LOOP JMP $ END

      2)將外部數(shù)據(jù)存儲(chǔ)器2000H~200FH單元的十六個(gè)數(shù)傳送至內(nèi)部數(shù)據(jù)存儲(chǔ)器的30H~3FH 代碼: ORG 0000H JMP MAIN ORG 0030H MAIN: MOV DPTR,#2000H MOV R1,#30H LOOP:MOVX @DPTR,#12H MOVX A,@DPTR MOV @R1,A INC DPTR INC R1 CJNE R1,#40H,LOOP JMP $ END

      總體心得體會(huì):

      第一次做實(shí)驗(yàn)主要是熟悉了解了下單片機(jī)編程軟件的使用,開始接觸時(shí)在對其軟件不是太了解的情況下實(shí)驗(yàn)編程做的確實(shí)很亂,不清楚該怎樣進(jìn)行,比如不知如何進(jìn)行對指令的調(diào)試,也不清楚該如何觀察結(jié)果,沒有一個(gè)整體的概念,所以在了解其開發(fā)環(huán)境上花了不少時(shí)間。經(jīng)過一段時(shí)間的摸索后也終于了解了其具體的使用,也能夠順利的對指令的編程運(yùn)用。運(yùn)行指令時(shí)遇到的一些問題需要注意的也在上面各題中做了說明。還有需要注意的是:進(jìn)入軟件仿真時(shí)需要對存儲(chǔ)空間進(jìn)行查看的方法是在Address窗口中輸入:d:00h 顯示內(nèi)部數(shù)據(jù)存儲(chǔ)器從00h開始的單元; x:1000h 顯示外部數(shù)據(jù)存儲(chǔ)器從1000h開始的單元; c:0000H 顯示程序存儲(chǔ)器內(nèi)容。還有由于偽指令 END 定義的原因,在程序末需加一條死循環(huán)調(diào)轉(zhuǎn)指令(如 JMP $)使程序不會(huì)進(jìn)入其他未知空間執(zhí)行其他指令。實(shí)驗(yàn)

      二、加、減法實(shí)驗(yàn)

      1. 實(shí)驗(yàn)?zāi)康?/p>

      1)正確使用單片機(jī)的加減運(yùn)算指令

      2)掌握不同指令對于程序狀態(tài)字的影響及程序狀態(tài)字的意義、用處 3)掌握ADD,ADDC,SUBB和DA A等指令的用法 4)學(xué)習(xí)模塊化程序設(shè)計(jì)方法 2. 實(shí)驗(yàn)內(nèi)容

      1)編寫3字節(jié)二進(jìn)制加法子程序,并用主程序調(diào)用不同的加數(shù)和被加數(shù)來檢測該子程序的正確性。需考慮有進(jìn)位和無進(jìn)位情況。程序入口為: 加數(shù):22H,21H,20H三字節(jié),22H為最高位

      被加數(shù):32H,31H,30H三字節(jié),32H為最高位

      程序出口為: 23H,22H,21H,20H四字節(jié),23H為最高位 例如:地址:23 22 21 20 32 31 30 執(zhí)行前數(shù)據(jù): 01 23 45 FF 01 01 執(zhí)行后數(shù)據(jù):01 00 24 46

      代碼:

      ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 22H,#01H MOV 21H,#23H MOV 20H,#45H MOV 32H,#0FFH MOV 1H,#01H MOV 30H,#01H ACALL ADDI HERE:JMP HERE ORG 100H ADDI: PUSH PSW MOV R0, #20H;加數(shù)1地址、和的地址 MOV R1, #30H;加數(shù)2地址 CLR C MOV R2, #3;循環(huán)3次 LOOP: MOV A, @R0;取 ADDC A, @R1;加 MOV @R0, A;存 INC R0 INC R1 DJNZ R2, LOOP CLR A ADDC A, #0;得到進(jìn)位 MOV 23H, A;保存 POP PSW RET END

      2)編寫三字節(jié)二進(jìn)制減法子程序 入口:被減數(shù): 52H,51H,50H, 50H為最低位

      減數(shù): 42H,41H,40H, 40H為最低位

      出口:差:外部數(shù)據(jù)存貯器2003H~2000H(2000H為最低位)用主程序調(diào)用多組數(shù)據(jù)來調(diào)試,需考慮無借位和有借位兩種情況。例如:

      執(zhí)行前:地址: 52 51 50 42 41 40

      數(shù)據(jù): 90 80 70 10 10 10

      執(zhí)行后:地址: 2003 2002 2001 2000

      數(shù)據(jù): 00 80 70 60 代碼:

      ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 52H,#90H MOV 51H,#80H MOV 50H,#70H MOV 42H,#10H MOV 41H,#10H MOV 40H,#10H ACALL SUB1 HERE:JMP HERE SUB1: PUSH PSW MOV R0, #50H;被減數(shù)地址 MOV R1, #40H;減數(shù)地址 MOV DPTR, #2000H;差的地址 CLR C MOV R2, #3;循環(huán)3次 LOOP: MOV A, @R0;取 SUBB A, @R1;減 MOVX @DPTR, A;存 INC R0 INC R1 INC DPTR DJNZ R2, LOOP CLR A SUBB A, #0;得到借位 MOVX @DPTR, A;存 POP PSW RET END

      3)編寫10位十進(jìn)制加法子程序(十進(jìn)制數(shù)采用壓縮BCD碼存放)入口: 加數(shù):24H—20H,低地址放低字節(jié)

      被加數(shù):29H—25H,低地址放低字節(jié)

      出口 和:4005H—4000H,低地址放低字節(jié)

      要求調(diào)用多組數(shù)據(jù)調(diào)試,注意觀察PSW的變化,理解DA A指令的含義。例如:

      執(zhí)行前地址:24 23 22 21 20 29 28 27 26 25

      數(shù)據(jù):12 34 56 78 90 88 99 33 12 74

      執(zhí)行后地址:4005 4004 4003 4002 4001 4000

      數(shù)據(jù): 01 01 33 89 91 64

      代碼:

      ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 24H,#12H MOV 23H,#34H MOV 22H,#56H MOV 21H,#78H MOV 20H,#90H MOV 29H,#88H MOV 28H,#99H MOV 27H,#33H MOV 26H,#12H MOV 5H,#74H ACALL ADD2 HERE:JMP HERE ADD2: PUSH PSW MOV R0, #20H;加數(shù)1地址 MOV R1, #25H;加數(shù)2地址 MOV DPTR,#4000H CLR C MOV R2, #5;循環(huán)5次 LOOP: MOV A, @R0;取 ADDC A, @R1;加

      DA A;調(diào)整為BCD碼 MOVX @DPTR, A;存 INC R0 INC R1 INC DPTR DJNZ R2, LOOP POP PSW RET END

      第五篇:單片機(jī)實(shí)驗(yàn)

      實(shí)驗(yàn)一清0、移數(shù)

      將片內(nèi)20H~2FH及片外0010H~001FH單元清0;

      然后將片內(nèi)30H~3FH的數(shù)據(jù)移到片外0000H~000FH中;判斷:

      若(30H)≤10,則求其平方存到31H中,并將位00H置1(其它位清0)若(30H)=10,則將AA存到31H中,并位01H置1(其它位清0)若(30H)≥10,則減10存到31H中,并位02H置1(其它位清0)

      實(shí)驗(yàn)二加法、排序

      有兩個(gè)長度為10的無符號(hào)數(shù)分別放在片內(nèi)20H和30H為首的存儲(chǔ)單元中(低位),求其對應(yīng)項(xiàng)之和(帶進(jìn)位位),結(jié)果放在40H為首的單元中(若最高位有進(jìn)位則存在后續(xù)單元中),然后按升序排列放在50H為首的單元中

      實(shí)驗(yàn)三查表、散轉(zhuǎn)

      設(shè)有一表格,表中數(shù)為:00H、11H、22H、33H、44H、55H、66H、77H、88H、99H、AAH、BBH、CCH、DDH、EEH、FFH。根據(jù)片外0001H單元的低4位的數(shù),取出表中相應(yīng)的值存到片內(nèi)30H中;根據(jù)片外0001H單元的高4位的數(shù),將片內(nèi)RAM區(qū)中可位尋址的相應(yīng)的位置1(從位00H~位0FH,只可有一個(gè)位地址為1)

      實(shí)驗(yàn)四外中斷

      P1.0~P1.7接8個(gè)發(fā)光二極管,管腳INT0、INT1接兩個(gè)按鍵,分別定義為“L”和“R”。

      要求:上電全滅,按 “L”(或R)鍵,最右(左)側(cè)燈亮,每按一次“L” ”(或R)鍵,則亮的燈向左(右)移一位,當(dāng)移到最左(右)端時(shí),燈全滅

      實(shí)驗(yàn)五定時(shí)器

      P1.0、P1.1分別接兩個(gè)發(fā)光二極管,INT0腳接

      一按鍵做開關(guān),按一次開關(guān),則啟動(dòng),兩個(gè)發(fā)

      光管一亮一滅,亮滅時(shí)間均為1秒;再按一次

      開關(guān),則關(guān)閉,即兩個(gè)發(fā)光管都滅。

      實(shí)驗(yàn)六定時(shí)器、計(jì)數(shù)器

      P3.2口輸出周期為2S的方波,T1口為脈沖輸入端,記錄輸入的脈沖個(gè)數(shù),脈沖個(gè)數(shù)由P1口所接的8個(gè)數(shù)碼管顯示(二進(jìn)制),設(shè)一按鍵作為開關(guān)控制系統(tǒng)運(yùn)行,關(guān)閉時(shí)數(shù)碼管全滅,P3.2無輸出。

      下載單片機(jī)實(shí)驗(yàn)指導(dǎo)書word格式文檔
      下載單片機(jī)實(shí)驗(yàn)指導(dǎo)書.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        2013單片機(jī)實(shí)驗(yàn)教案

        單片機(jī)技術(shù)實(shí)驗(yàn) 教 案 馮 杰 1 實(shí)驗(yàn)一 順序結(jié)構(gòu)程序設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?掌握匯編語言設(shè)計(jì)和調(diào)試方法。 二、實(shí)驗(yàn)內(nèi)容 把外部RAM中2000h單元的內(nèi)容拆開,高位送2001h單元,低位......

        單片機(jī)實(shí)驗(yàn) 2

        單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù) 實(shí)驗(yàn)報(bào)告 得分: 年級專業(yè): 測控1303班學(xué)生姓名/學(xué)號(hào):崔振振/201323030325 評閱教師: 提交時(shí)間:2015—2016學(xué)年第1學(xué)期 單片機(jī)實(shí)驗(yàn)1匯編語......

        單片機(jī)實(shí)驗(yàn)心得體會(huì)

        單片機(jī)實(shí)驗(yàn)心得體會(huì) 單片機(jī)實(shí)驗(yàn)心得體會(huì)一:單片機(jī)實(shí)驗(yàn)心得體會(huì) 時(shí)間過得真快,不經(jīng)意間,一個(gè)學(xué)期就到了尾聲,進(jìn)入到如火如荼的期末考試階段。在學(xué)習(xí)單片機(jī)這門課程之前,就早早的......

        單片機(jī)液晶顯示實(shí)驗(yàn)

        實(shí)驗(yàn)八 單片機(jī)液晶顯示實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1、了解液晶顯示屏的控制原理及方法。 2、了解點(diǎn)陣漢字的顯示原理。 二、實(shí)驗(yàn)說明 1、 利用實(shí)驗(yàn)上的液晶顯示屏電路,編寫程序控制......

        單片機(jī)實(shí)驗(yàn)小結(jié)

        單片機(jī)實(shí)驗(yàn)小結(jié) 這學(xué)期的單片機(jī)實(shí)驗(yàn)課程已經(jīng)結(jié)束了,雖然做的實(shí)驗(yàn)是比較簡答的,但麻雀雖小五臟俱全,因此自己也通過實(shí)驗(yàn)課學(xué)到了很多知識(shí)。 單片機(jī)實(shí)驗(yàn)課是為了更好的學(xué)習(xí)單片機(jī)......

        單片機(jī)實(shí)驗(yàn)總結(jié)

        單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)總結(jié) 本學(xué)期的單片機(jī)實(shí)驗(yàn)轉(zhuǎn)眼已到尾聲,共做了六項(xiàng)實(shí)驗(yàn),分別是KEIL4、ISP下載軟件的安裝于使用、P1口輸出循環(huán)燈實(shí)驗(yàn)、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)、P3.3口輸入......

        單片機(jī)實(shí)驗(yàn)三

        實(shí)驗(yàn)三 單片機(jī)I/O口控制程序?qū)嶒?yàn) 一、實(shí)驗(yàn)?zāi)康暮鸵螅?掌握單片機(jī)串行傳輸輸入輸出的應(yīng)用方法。 二、實(shí)驗(yàn)設(shè)備: 安裝了THGY51的計(jì)算機(jī),單片機(jī)實(shí)驗(yàn)箱。 三、實(shí)驗(yàn)內(nèi)容和步驟: 1、......

        單片機(jī)實(shí)驗(yàn)心得體會(huì)

        單片機(jī)實(shí)驗(yàn)心得體會(huì) 時(shí)間過得真快,不經(jīng)意間,一個(gè)學(xué)期就到了尾聲,進(jìn)入到如火如荼的期末考試階段。 在學(xué)習(xí)單片機(jī)這門課程之前,就早早的聽各種任課老師和學(xué)長學(xué)姐們說過這門課程......