久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4394|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)原理實(shí)驗(yàn)總結(jié)(word格式文檔下載)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:356472 發(fā)表于 2018-8-15 12:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)實(shí)驗(yàn)原理包含八個(gè)基礎(chǔ)實(shí)驗(yàn)
1.LED燈循環(huán)點(diǎn)亮
2.外部中斷計(jì)數(shù),BCD碼轉(zhuǎn)換
3.四位一體數(shù)碼管動(dòng)態(tài)靜態(tài)顯示
4.四位秒表
5.脈沖寬度與周期測量
6.串行口和異步通信
7.外部RAM擴(kuò)展
8.自主設(shè)計(jì)點(diǎn)陣字符
附件中包含protues仿真設(shè)計(jì),程序流程圖,匯編代碼,以及實(shí)驗(yàn)心得體會(huì)。


實(shí)驗(yàn)一
  • 功能要求
本實(shí)驗(yàn)要求在P1端口接8個(gè)LED,并編程依次循環(huán)點(diǎn)亮。要求用軟件延時(shí)程序控制LED的亮滅時(shí)間,并能精確地計(jì)算和用軟件測量延時(shí)時(shí)間。
  • 硬件原理
1.1.1  仿真原理圖
1.1.2  仿真原理圖細(xì)節(jié)
Protues中已默認(rèn)添加了復(fù)位電路,其中R1-R8是限流電阻,將普通二極管的正極接到VCC,負(fù)極接到P0口,運(yùn)行結(jié)果:D1-D8依次導(dǎo)通,導(dǎo)通時(shí)方點(diǎn)變紅。
  • 軟件程序流程
1.1.3  程序流程圖
  • 程序清單
ORG   0000H
                LJMP  MAIN
                ORG   0100H
MAIN: MOV   A,#10000000B
LOOP0:MOV   P1,A
      MOV   R0,#0FFH
LOOP1:MOV   R1,#0FFH
LOOP2:NOP
      NOP
                DJNZ  R1,LOOP2
                DJNZ  R2,LOOP1
                RR    A
                SJMP  LOOP0
                END

  • 實(shí)驗(yàn)的問題及討論
(1)number1和number2的作用是什么;
R0=number1,R1=number2是設(shè)置循環(huán)次數(shù),其中,R1為LOOP2循環(huán)的次數(shù),R0為LOOP1循環(huán)的次數(shù)。
(2)燈相鄰兩次變化之間的延遲時(shí)間是多少,如何控制,如何計(jì)算?
R1為LOOP2循環(huán)的次數(shù),即t1=255*2=510us,R0為LOOP1循環(huán)的次數(shù),t2=255*2*255=130050us,所以總的延遲時(shí)間為T=t1+t2=130560us。
控制延遲時(shí)間可通過增加循環(huán)次數(shù)或者增加循環(huán)層數(shù)實(shí)現(xiàn),又因?yàn)?0C52中Rn寄存器最大值為255,所以在此實(shí)驗(yàn)基礎(chǔ)上,可增加循環(huán)層數(shù):
      MOV   R3,#07H
LOOP1:MOV   R2,#0FFH
LOOP2:MOV   R1,#0FFH
LOOP3:NOP
      NOP
                DJNZ  R1,LOOP3
                DJNZ  R2,LOOP2
考慮到單片機(jī)的晶振為11.0592MHz,及一個(gè)機(jī)器周期為1.085us,經(jīng)過計(jì)算當(dāng)?shù)谌龑友h(huán)次數(shù)為7時(shí),延遲約等于1s。
  • 實(shí)驗(yàn)心得及建議
初次使用實(shí)驗(yàn)箱和相關(guān)軟件還不甚熟練,應(yīng)加強(qiáng)練習(xí)。
實(shí)驗(yàn)前,應(yīng)先在Protues軟件上進(jìn)行仿真,能很大程度上增大實(shí)驗(yàn)成功概率;插電路的過程中要小心導(dǎo)線間是否短路,導(dǎo)線非絕緣部分不應(yīng)剪得過長,對待實(shí)驗(yàn)要有耐心,按照一定的順序從源頭和細(xì)節(jié)處檢查電路,比如單片機(jī)是否和實(shí)驗(yàn)箱共地,是否有導(dǎo)線脫落等等。
若燒入程序出現(xiàn)問題,可先關(guān)閉實(shí)驗(yàn)箱電源再次燒錄,或者重新插入串口。
總之,實(shí)驗(yàn)過程中會(huì)遇到各種意想不到的情況,一定要沉心靜氣,不然就浪費(fèi)了時(shí)間,又難以發(fā)現(xiàn)錯(cuò)誤。



實(shí)驗(yàn)二
1.功能要求
本實(shí)驗(yàn)要求:
(1)P0口接8個(gè)燈,INT0引腳接一下開關(guān)K0。
(2)K0用于引發(fā)外部中斷,在外部中斷子程序中,對K0按下的次數(shù)進(jìn)行計(jì)數(shù),然后以BCD碼形式,通過P0口的8個(gè)燈輸出計(jì)數(shù)結(jié)果。

2.硬件原理
1.2.1  仿真原理圖
此時(shí)按鍵16次,紅色發(fā)光二極管從左到右前四位表示十進(jìn)制數(shù)的十位,后四位表示十進(jìn)制數(shù)的各位,從仿真結(jié)果和試驗(yàn)結(jié)果看,當(dāng)按鍵99次,計(jì)數(shù)清零,重新開始計(jì)數(shù)。
3.軟件程序流程
1.2.2  程序流程圖
4.程序清單
                  ORG  0000H
                  LJMP  MAIN
                  ORG  0003H
                  LJMP INT0P
                            ORG  0013H
                            LJMP INT1P
                  ORG  0020H
MAIN:              MOV  P0,#00H
       MOV  R0,#00H
                            MOV   A,#00H
       SETB   IT0
                            SETB   IT1
                  SETB   EX0
                  SETB   EX1
                  SETB   PX0
                            CLR    PX1
                  SETB    EA
                  SJMP     $
                  ORG  0050H
INT0P:  INC   A
                            DA                 A
                            MOV   P0,A
                            RETI
                            END
5.實(shí)驗(yàn)的問題及討論
關(guān)于Protues使用的一些問題:
(1)在Protues仿真時(shí),若要用到P0口,要記得加上拉電阻,否則發(fā)光二極管不會(huì)發(fā)光,而實(shí)驗(yàn)箱中已加可不考慮;
(2)排阻使用時(shí),應(yīng)注意其使用條件,及阻值的設(shè)置。
6.實(shí)驗(yàn)心得及建議
單片機(jī)能實(shí)現(xiàn)的某種功能有多種編程方法,我覺得作為初學(xué)者,應(yīng)該先嘗試自己編程,哪怕編出來程序冗長,至少在這個(gè)過程中練習(xí)了匯編語言的使用,自己編完之后,可以查閱相關(guān)資料,看看網(wǎng)上成熟的程序的優(yōu)點(diǎn);多和同學(xué)們討論思路,有時(shí)間的情況下互相看以下程序,能學(xué)到很多知識(shí),拓寬思考問題的角度。

建議:做Protues仿真時(shí),如果沒有系統(tǒng)地學(xué)習(xí)過Protues,遇到問題要努力嘗試解決,并記錄下來這些問題和解決辦法,有利于今后的學(xué)習(xí)。

實(shí)驗(yàn)三
1.功能要求
本實(shí)驗(yàn)要求P1口通過驅(qū)動(dòng)芯片控制斷碼輸出信號(hào)線,P0口通過驅(qū)動(dòng)芯片控制位選線,并實(shí)現(xiàn)以下功能:
   (1)當(dāng)開關(guān)K0接低電平時(shí),第一位依次顯示0~F,然后第二位、第三位、第四位,再循環(huán)回第一位。
   (2)當(dāng)開關(guān)K0接高電平時(shí),四位動(dòng)態(tài)顯示“HELP”。
2.硬件原理
圖1.3.1  74LS244引腳圖及功能表
在光學(xué)元件(optoelectronics)分類里,有各種數(shù)碼管和液晶。7段對應(yīng)英文是7SEG,4位一體的英文是MPX4,共陰極CC,共陽極CA,最后的英文是顏色的意思。所以7SEG-MPX4-CA-BLUE為7段4位一體共陽極藍(lán)色數(shù)碼管顯示器。

圖1.3.2  仿真原理圖
P2.2接地時(shí),每位均依次顯示0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F
圖1.3.3  仿真原理圖
P2.2接高電平時(shí),顯示“HELP”
3.軟件程序流程
圖1.3.4  程序流程圖
4.程序清單
       ORG 0000H
      LJMP MAIN
                ORG 0010H
MAIN: MOV P0,#10001000B
      JNB P2.2,LOOP4
      JB  P2.2,NEXT0
NEXT0:LJMP LOOP5
LOOP4:MOV P1,#0C0H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#0F9H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#0A4H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#0B0H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#99H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#92H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#82H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#0F8H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#80H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#90H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#88H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#83H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#0C6H
                LCALL DELAY
                JB P2.2,NEXT0
                MOV P1,#0A1H
                LCALL DELAY
                JB P2.2,LOOP5
                MOV P1,#86H
                LCALL DELAY
                JB P2.2,LOOP5
                MOV P1,#8EH
                LCALL DELAY
                JB P2.2,LOOP5
                MOV A,P0
                RL   A
                MOV  P0,A            
                LJMP LOOP4
                ORG 0100H
DELAY:MOV R0,#10H
LOOP1:MOV R1,#10H
LOOP2:MOV R2,#0FFH
LOOP3:NOP
      NOP     
                DJNZ R2,LOOP3
                DJNZ R1,LOOP2
                DJNZ R0,LOOP1 ;2*255+50*255*2+10*50*255*2us
                RET
LOOP5:MOV R5,P0
      MOV P0,#10001000B
      MOV P1,#89H
                LCALL DELAY1
                JNB P2.2,NEXT1
                MOV P1,#86H
                LCALL DELAY1
                JNB P2.2,NEXT1
                MOV P1,#0C7H
                LCALL DELAY1
                JNB P2.2,NEXT1
                MOV P1,#8CH
                LCALL DELAY1
                JNB P2.2,NEXT1
                LJMP LOOP5
                ORG 0150H
DELAY1:MOV R3,#05H
LOOP7:MOV R4,#0FFH
LOOP6:NOP
      NOP
                DJNZ R4,LOOP6
                DJNZ R3,LOOP7
                MOV A,P0
      RR A
                MOV P0,A
                RET
NEXT1:MOV P0,R5
      LJMP LOOP4
END
5.實(shí)驗(yàn)的問題及討論
(1)由于程序中沒有使用DB查表命令,導(dǎo)致程序冗長,由高到低的變化時(shí)還不能緊接著上一字母讀數(shù),僅能實(shí)現(xiàn)由低到高的自然變化。
(2)在和同學(xué)們的討論中,使用DB指令,縮短了程序長度;在不使用查表指令的條件下,若將HELP循環(huán)放入子程序中,由于子程序執(zhí)行完成后返回之前的節(jié)點(diǎn),可繼續(xù)讀數(shù)。
6. 實(shí)驗(yàn)心得及建議
盡快熟記以及熟練使用匯編指令,寫程序前應(yīng)先把思路捋順,做好程序流程圖,這樣程序?qū)懫饋砭蜁?huì)得心應(yīng)手一些。

實(shí)驗(yàn)四
1.功能要求
(1) 用T0定時(shí)器實(shí)現(xiàn)1秒定時(shí),控制一個(gè)LED亮1秒,滅1秒,并不斷循環(huán)。
(2) 實(shí)現(xiàn)一個(gè)4位秒表:
  ① 用開關(guān)K0模擬秒表的啟動(dòng)、停止、清零功能,K0觸發(fā)外部中斷INT0,按一次啟動(dòng)計(jì)時(shí),按一次停止,再按一次清零,在三個(gè)狀態(tài)中循環(huán)。
  ②定時(shí)采用T0定時(shí)器中斷完成,最低位按1/10秒計(jì)數(shù),依次計(jì)數(shù)單位為1分、10秒、1秒、1/10秒。
  ③要求外部中斷INT0的優(yōu)先級高于T0的優(yōu)先級。
2.硬件原理
1.4.1  硬件原理圖(仿真顯示)
3.軟件程序流程
1.4.2  程序流程

4.程序清單
;剛開始未顯示,當(dāng)?shù)谝淮伟碖0時(shí),開始計(jì)時(shí);
;進(jìn)一次中斷是1/20秒              50MS                              問題在于用51輸入的無符號(hào)整數(shù)最大實(shí)現(xiàn)255然后清零,所以顯示一直為零。
       ORG   0000H
                 LJMP  MAIN
                 ORG    0003H
                 LJMP  INT0P
                 ORG   000BH
                 LJMP  T0P
                 ORG   0050H
MAIN:  MOV   P0,#00000001B
       MOV   TMOD,#00000001B
                 MOV   TL0,#0B0H            ;循環(huán)2次最佳,誤差小 ,1/10 second
                 MOV   TH0,#3CH
       SETB  ET0
                 SETB  IT0
                 SETB  EX0
                 SETB  EA
                 MOV   R1,#00H               
                 MOV   R2,#00H
                 MOV   R3,#00H               
                 MOV   R4,#00H
                 MOV   R5,#00H               
                 MOV   R6,#00H
                 MOV   R7,#00H
                 MOV   DPTR,#0400H
W:     LCALL XIANSHI
                 SJMP  W                                                                        ;在主程序中一直顯示
T0P:   INC   R3
       MOV   TL0,#0B0H      ;循環(huán)2次最佳,誤差小 ,1/10 second
                 MOV   TH0,#3CH
                 CJNE  R3,#2,BACK
                 INC   R2
                 MOV   R3,#00H
                 CJNE  R2,#10,BACK
                 INC   R4
                 MOV   R2,#00H
                 CJNE  R4,#10,BACK
                 INC   R5
                 MOV   R4,#00H
                 CJNE  R5,#06,BACK
                 INC   R7
                 MOV   R5,#00H
                 CJNE  R7,#10,BACK
                 MOV   R7,#00H
BACK:  RETI
INT0P: INC   R6
       CJNE  R6,#01H,CLR0
                 SETB  TR0
CLR0:  CJNE R6,#03H,TIMER
                   MOV   R1,#00H               
                   MOV   R2,#00H                  
                   MOV   R3,#00H               
                   MOV   R4,#00H
                   MOV   R5,#00H               
                   MOV   R6,#00H
                   MOV   R7,#00H
                   LJMP  STOP1
TIMER: CJNE R6,#02H,STOP1
                   CLR TR0
                   MOV TH1,#3CH
                   MOV TL1,#0B0H
STOP1:   RETI
         ORG   0250H
XIANSHI: MOV   A,R2
         MOVC  A,@A+DPTR
         MOV   P1,A
         LCALL DELAY
                            MOV   P0,#00000010B
                            MOV   A,R4
         MOVC  A,@A+DPTR
         MOV   P1,A
                            LCALL DELAY
                            MOV   P0,#00000100B
                            MOV   A,R5
         MOVC  A,@A+DPTR
         MOV   P1,A
                            LCALL DELAY
                            MOV   P0,#00001000B
                            MOV   A,R7
         MOVC  A,@A+DPTR
         MOV   P1,A
                            LCALL DELAY
                            MOV   P0,#00000001B
                            RET
                            ORG   0350H
DELAY:   MOV  R0,#05H                  ;2*255+2*255*5=3060US
LOOP0:   MOV  R1,#0FFH
LOOP1:   NOP
         NOP
                            DJNZ R1,LOOP1
                   DJNZ R0,LOOP0
                   RET  
                            ORG   0400H
                            DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
                   DB 80H,90H                                                             ;0~9
END                           
  • 實(shí)驗(yàn)的問題及討論
(1)實(shí)驗(yàn)通過計(jì)時(shí)器0工作方式一實(shí)現(xiàn)四位秒表計(jì)時(shí)功能,使TH0、TL0初始值盡可能小,減少跳入計(jì)時(shí)器中斷的次數(shù),以減少誤差。
(2)應(yīng)注意晶振頻率,盡可能精確計(jì)時(shí)。
  • 實(shí)驗(yàn)心得及建議
    實(shí)驗(yàn)前捋清思路很重要,注意中斷不可寫的過長,過長可能會(huì)導(dǎo)致單片機(jī)運(yùn)行錯(cuò)誤。
實(shí)驗(yàn)五
1.功能要求
① 自主設(shè)計(jì)測量方法,編程連續(xù)測量輸入脈沖寬度,并用七段LED顯示結(jié)果。
② 自主設(shè)計(jì)測量方法,編程連續(xù)測量輸入脈沖周期,并用七段LED顯示結(jié)果。
③ 自主設(shè)計(jì)測量方法,同時(shí)測量脈沖寬度和周期,由開關(guān)K0選擇顯示脈沖寬度還是顯示脈沖周期。
2.硬件原理
1.5.1  硬件原理圖
1.5.2  硬件原理圖
3.軟件程序流程
1.5.3  程序流程
4.程序清單
ORG 0000H
        LJMP MAIN
                     ORG 0003H
                     LJMP INT0P
        ORG 000BH
        LJMP T0P
        ORG 0100H
MAIN:                MOV R1,#0
        MOV R2,#0
        MOV R3,#0
        MOV R4,#0
                  MOV R5,#0
                  MOV R6,#0
        MOV R7,#0
                     MOV 30H,#0C0H
                   MOV 31H,#0C0H
        MOV 32H,#0C0H
        MOV 33H,#0C0H  
                    MOV 21H,#0   
        SETB IT0            
                     SETB EX0
                     SETB ET0
        SETB EA
XIAN0:               LCALL XIANSHI
        LJMP XIAN0
T0P:    INC R3
        CJNE R3,#10,BACK
                     MOV R3,#0
                   INC R4
        CJNE R4,#10,BACK
                  MOV R4,#0
                  INC R5
        CJNE R5,#10,BACK
                   MOV R5,#0
                  INC R6
        CJNE R6,#10,BACK
                   MOV R6,#0
                  INC R7
BACK:   RETI
INT0P:  INC 21H
        MOV A,21H
        CJNE A,#1,ER2
        JB P3.3,WIDTH
TIME:                MOV TMOD,#02H
        SJMP START
WIDTH:               JNB P3.3,TIME
                  MOV TMOD,#0AH
START:              MOV TH0,#164
        MOV TL0,#164      
        SETB TR0
ER2:    CJNE A,#2,BACK1
        CLR TR0
        MOV A,TL0
        SUBB A,TH0
        MOV B,#10
                  DIV AB
                     MOV R2,A
                   MOV R1,B
                     CJNE R7,#0,DDIAN3
        CJNE R6,#0,DDIAN2
        CJNE R5,#0,DDIAN1
                     MOV R0,#1
        LJMP CUN
DDIAN3: MOV R0,#4
        LJMP CUN
DDIAN2: MOV R0,#3
        LJMP CUN
DDIAN1: MOV R0,#2
CUN:    LCALL CHA
                     MOV 30H,A
                     INC R0
        LCALL CHA
                     MOV 31H,A
                     INC R0
                     LCALL CHA
                     MOV 32H,A
                     INC R0
                     LCALL CHA
                     MOV 33H,A
                     MOV 21H,#0
                     MOV R3,#0
       MOV R4,#0
       MOV R5,#0
                  MOV R6,#0
        MOV R7,#0
BACK1:  RETI
XIANSHI:MOV DPTR,#TAB
        MOV P0,#01H
        MOV P1,30H
                      LCALL DELAY
        MOV P0,#02H
        MOV P1,31H
                     LCALL DELAY
        MOV P0,#04H
        MOV P1,32H
        LCALL DELAY
        MOV P0,#08H
        MOV P1,33H
        LCALL DELAY
        RET
CHA:    MOV A,@R0
        MOVC A,@A+DPTR            
                     CJNE R0,#4,BACK2
        ADD A,#0AH                            ;加十,加小數(shù)點(diǎn)
BACK2:  RET
DELAY:  MOV 23H,#03H
LOP1:   MOV 22H,#0FFH
LOOP:   NOP
        DJNZ 22H,LOOP
                                DJNZ 23H,LOP1
        RET
TAB:    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
        END
5.實(shí)驗(yàn)的問題及討論
用查詢法發(fā)現(xiàn)數(shù)碼管的顯示會(huì)受測量脈沖頻率的影響,然后選用中斷法,在檢測到脈沖下降沿時(shí)開始計(jì)時(shí),利用門控位方式二測脈沖寬度,方式二測脈沖周期。
6.實(shí)驗(yàn)心得及建議
實(shí)驗(yàn)中遇到測量脈沖周期為100us的倍數(shù)時(shí),會(huì)出現(xiàn)較大誤差,分析發(fā)現(xiàn)是因?yàn)楫?dāng)計(jì)時(shí)達(dá)到100us時(shí)由于誤差造成跳入中斷失敗,100微秒位計(jì)數(shù)少一,為解決這一問題,適當(dāng)加大微秒位誤差以減小總體誤差。

實(shí)驗(yàn)六
  • 功能要求
①利用串行口方式0實(shí)現(xiàn)一個(gè)七段數(shù)碼管的顯示控制,輪流顯示0~9十個(gè)數(shù)碼。
②兩人一組,利用異步通信功能將一方的8個(gè)按鍵的高低電平狀態(tài)傳到另一方,并利用另一方的8個(gè)LED顯示其開關(guān)狀態(tài),要求雙向通信,互相顯示。
2.硬件原理
1.6.1  硬件原理圖
    1.6.2  硬件原理圖
                    
1.6.3  74LS164引腳圖           表1.6.1  74LS164功能表
3.軟件程序流程
         
1.6.4  實(shí)驗(yàn)1流程圖1.6.5  實(shí)驗(yàn)2流程圖
4.程序清單
實(shí)驗(yàn)1輪流顯示0-9     
ORG    0000H
                 LJMP   MAIN
                 ORG    0100H
MAIN: MOV    SCON,#00H                 ;SM0,SM1,SM2,REN,TB8,RB8,TI,RI
                 MOV    DPTR,#TAB
TRAM1: MOV    R3,#00H
TRAM:  MOV    A,R3
       MOVC   A,@A+DPTR
                 MOV    SBUF,A
                 CJNE   R3,#0AH,WAIT
       MOV    R3,#00H
                 LJMP                TRAM1
WAIT:  JBC    TI,NEXT
       SJMP   WAIT
NEXT:  INC    R3
       LCALL  DELAY
                 LJMP   TRAM
       ORG    0200H
DELAY: MOV    R2,#03H
LOOP2: MOV    R0,#09FH
LOOP0: MOV    R1,#0FFH
LOOP1: NOP
                 NOP
                 DJNZ   R1,LOOP1
                 DJNZ   R0,LOOP0
DJNZ   R2,LOOP2                    ;2*255+2*255*255+2*255*255*8~1S
                 RET
                 ORG    0300H
TAB:   DB     0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END               
實(shí)驗(yàn)2:雙向通信,互相顯示
      ORG    0000H
                 LJMP   MAIN
                 ORG    0030H
MAIN:  MOV    SCON,#50H                              ;方式1,且接收到的數(shù)據(jù)均要保存
       MOV    TMOD,#20H                              ;T1做波特率發(fā)生器
                 MOV    PCON,#80H       ;波特率加倍
                 MOV    TH1,#0F4H                ;bps:(2^1/32)*1/(2^8-244)*12/11.0592=4800
                 MOV    TL1,#0F4H
                 SETB   TR1
                 SETB   EA
TRAN:  MOV    SBUF,P1
WAIT:  JBC    TI,NEXT
                 SJMP   WAIT
NEXT:  JNB    RI,TRAN
       MOV    P2,SBUF
                 CLR    RI
                 LJMP   TRAN
                 END
5.實(shí)驗(yàn)的問題及討論
  •    實(shí)驗(yàn)1的難點(diǎn)在于對74LS164的掌握,使用串口方式0時(shí),單片機(jī)TXD接芯片時(shí)鐘脈沖端CLK,而CLR為低電平有效清零端,在本實(shí)驗(yàn)中可直接接高電平。
  •    串口傳輸先輸出最低位,通過移位寄存器在QH端輸出。
  •    實(shí)驗(yàn)2要注意單片機(jī)發(fā)送和接收的條件,當(dāng)TI置1時(shí),發(fā)送完畢;當(dāng)RI置1時(shí),開始接收。此外,在搭建硬件電路時(shí)要注意兩個(gè)單片機(jī)相互共地。
6.實(shí)驗(yàn)心得及建議
做實(shí)驗(yàn)不可眼高手低,即使仿真成功,在實(shí)際電路中仍會(huì)遇到各種問題,要不斷總結(jié)經(jīng)驗(yàn),提高動(dòng)手能力。

實(shí)驗(yàn)七
1.功能要求
本實(shí)驗(yàn)要求利用74LS573進(jìn)行總線擴(kuò)展,連接兩片62256,并用74LS138完成地址分配;將一片62256的前10個(gè)字節(jié)的內(nèi)容加1后存入另一片62256中,讀出并用8個(gè)LED顯示。
2.硬件原理
給出實(shí)驗(yàn)的硬件原理圖,并分析電路原理(用仿真代替硬件電路設(shè)計(jì))
1.74LS138引腳圖
         
1.7.1  74LS138引腳圖1.7.1  74LS138功能

2.62系列SRAM引腳
1.7.2 62系列SRAM引腳

3.74LS573
      
1.7.3  74LS573引腳圖1.7.2  74LS573功能表
4.Protues仿真
1.7.4  仿真全圖
1.7.5  仿真部分細(xì)節(jié)圖
3.軟件程序流程
1.7.6  程序流程
4.程序清單
        ORG   0000H
                            LJMP  MAIN
                            ORG   0030H
MAIN:   MOV   R0,#00H
                            MOV   DPTR,#0000H                              
WRITE:  MOV   A,R0
                            MOVX  @DPTR,A
                  MOV   @R0,A
                            INC   R0
                            INC   DPTR
                            CJNE  R0,#0AH,WRITE                            ;第一片62256,寫入0~9
                            MOV   DPTR,#8000H        ;62256  32K*8,第二片622556
READ:   MOV   P2,#00H
        MOV   R0,#00H
LOOP0:  MOV   A,@R0
                            INC    A
                            MOVX   @DPTR,A
                            INC    R0
                            INC    DPTR
                            CJNE   R0,#0AH,LOOP0                ;將第一片的前10個(gè)字節(jié)加一存入第二片
                            MOV    DPTR,#8000H       ;顯示1 2 3 4 5 6 7 8 9 10
                   MOV    R0,#00H
LOOP3:  MOVX    A,@DPTR
                            MOV    P1,A
                            LCALL  DELAY
                            INC    DPTR
                            INC    R0
                            CJNE   R0,#0AH,LOOP3
                            LJMP   MAIN
                            ORG    0200H
DELAY:  MOV   50H,#06H
LOOP1:  MOV   51H,#0FFH
LOOP2:  MOV   52H,#0FFH
                            DJNZ  52H,$
                            DJNZ  51H,LOOP2
                            DJNZ  50H,LOOP1
        RET
                            END
5.實(shí)驗(yàn)的問題及討論
實(shí)驗(yàn)室沒有622569(32K*8)芯片,選用了6264(8K*8)芯片,只需將程序中的第二片6264外部擴(kuò)展地址改為2000H,將A13(P2.5)接譯碼器的1腳且譯碼器2、3腳接地,A14(P2.6)、A15(P2.7)也接地即可。
6.實(shí)驗(yàn)心得及建議
本實(shí)驗(yàn)程序的編寫并不困難,難點(diǎn)在于線路的搭建,搭線時(shí)一定要細(xì)心,反復(fù)檢查,搭線前應(yīng)先規(guī)劃好器件的擺放,有利于實(shí)驗(yàn)的快速進(jìn)行。

實(shí)驗(yàn)八
1.功能要求
本實(shí)驗(yàn)控制LED點(diǎn)陣模塊動(dòng)態(tài)地顯示自設(shè)字符或圖形,設(shè)計(jì)循環(huán)顯示數(shù)字0-9。
2.硬件原理
1.8.1  硬件原理圖(用軟件仿真顯示)
1.8.2  硬件原理細(xì)節(jié)(用軟件仿真顯示)
   
圖1.8.3  SD411988內(nèi)部結(jié)構(gòu)       圖1.8.4  CD4049引腳圖及內(nèi)部結(jié)構(gòu)  
3.軟件程序流程圖
1.8.5  程序流程
4.程序清單
      ORG    0000H
                LJMP   MAIN
      ORG  0030H
MAIN: MOV  P0,#0FFH
      MOV  P2,#0FFH
      MOV  R0,#00H      ;顯示的幕次(即每一幕顯示的數(shù))值0-9
      MOV  R1,#00H      ;列碼序列號(hào)置0
      MOV  R2,#00H      ;行碼序列號(hào)置初值
                MOV  R3,#00H
LOOP3:MOV  52H,#0FH
XIANS:MOV  DPTR,#ROW    ;取行碼表 首地址
      MOV  A,R2
      MOVC A,@A+DPTR
      MOV  P2,A          ;輸出行號(hào)
                MOV  DPTR,#COL    ;取列碼表 首地址
      MOV  A,R1
      MOVC A,@A+DPTR
      MOV  P0,A
                LCALL DL0
                INC  R1
                INC  R2
                CJNE R1,#08H,XIANS
                MOV  R1,#00H
                MOV  A,R3
                MOV  R2,A
                DJNZ 52H,XIANS
                INC  R0                                            ;第R0個(gè)數(shù)
                MOV  A,R0
                MOV  B,#08H
                MUL  AB
                MOV  R3,A
                MOV  R2,A
                CJNE R0,#10,LOOP3
                LJMP MAIN        
                ORG  0650H
DL0:  MOV  50H,#03H
LOOP0:MOV  51H,#0FFH
LOOP1:NOP
                NOP
                DJNZ 51H,LOOP1
                DJNZ 50H,LOOP0                               ;2*255+2*255*3=2040US
                RET
              ORG  0800H                                                      
COL: DB 01H,02H,04H,08H,10H,20H,40H,80H        ;列值
     ORG  0850H
ROW: DB 00H,00H,3EH,41H,41H,41H,3EH,00H        ;0
     DB 00H,00H,00H,00H,21H,7FH,01H,00H        ;1
     DB 00H,00H,27H,45H,45H,45H,39H,00H        ;2
     DB 00H,00H,22H,49H,49H,49H,36H,00H        ;3
     DB 00H,00H,0CH,14H,24H,7FH,04H,00H        ;4
     DB 00H,00H,72H,51H,51H,51H,4EH,00H        ;5
     DB 00H,00H,3EH,49H,49H,49H,26H,00H        ;6
     DB 00H,00H,40H,40H,40H,4FH,70H,00H        ;7
     DB 00H,00H,36H,49H,49H,49H,36H,00H        ;8
     DB 00H,00H,32H,49H,49H,49H,3EH,00H        ;9
     END
5.實(shí)驗(yàn)的問題及討論
(1)實(shí)驗(yàn)室使用的SD411988LED點(diǎn)陣是行高列低,即編寫程序過程中應(yīng)先給每一行賦值,當(dāng)行為高對應(yīng)列為低時(shí),對應(yīng)的發(fā)光二極管被點(diǎn)亮。
(2)實(shí)驗(yàn)時(shí)遇到點(diǎn)陣最后一列不會(huì)被點(diǎn)亮的情況,經(jīng)檢查后發(fā)現(xiàn),在連接時(shí),器件引腳被折進(jìn)端口下方并未插入端口。
(3)在仿真時(shí),點(diǎn)陣亮度很暗,在加入了驅(qū)動(dòng)74LS244后,情況得到明顯改善。
6. 實(shí)驗(yàn)心得及建議
事實(shí)證明,實(shí)驗(yàn)過程中不能局限于實(shí)驗(yàn)講義列寫的器件,應(yīng)根據(jù)實(shí)際情況調(diào)整電路以達(dá)到預(yù)期效果。


第二部分   單片機(jī)接口實(shí)驗(yàn)
實(shí)驗(yàn)一  基于8255的并口擴(kuò)展實(shí)驗(yàn)
1.功能要求
①了解8255芯片結(jié)構(gòu)、工作方式。
②學(xué)習(xí)使用8255芯片實(shí)現(xiàn)單片機(jī)與外部設(shè)備傳輸。
2.硬件原理
2.1.1  硬件原理圖
3.軟件程序流程
2.1.2  程序流程
4.程序清單
        ORG   0000H
                            LJMP  MAIN
                            ORG   0030H
MAIN:              MOV   A,#90H       ;1 0010 000   A方式0輸入,B方式0輸出
        MOV   DPTR,#7FFFH ;A0 A1均置1選擇控制口
                            MOVX  @DPTR,A               
                            MOV   DPTR,#7CFFH
                            MOVX  A,@DPTR                  ;A輸入
                            MOV   DPTR,#7DFFH  ;指向端口B
                            MOVX  @DPTR,A
                            LCALL DELAY
        LJMP  MAIN
                            ORG   0200H
DELAY:  MOV   R0,#05FH
LOOP0:  MOV   R1,#0FFH
LOOP1:  NOP
                            NOP
                            DJNZ  R1,LOOP1
                            DJNZ  R0,LOOP0
                            RET
                            END
5.實(shí)驗(yàn)的問題及討論
注意應(yīng)先選擇控制口,規(guī)定輸入輸出端口和輸入輸出方式。DPTR為I/O尋址16位寄存器,沒有用到的引腳賦1。
6.實(shí)驗(yàn)心得及建議
在做接口實(shí)驗(yàn)時(shí),應(yīng)充分學(xué)習(xí)和理解外部芯片作用以及連接方式。
嘗試盡量記憶芯片類型功能以及各引腳功能。



實(shí)驗(yàn)十一  LCM控制實(shí)驗(yàn)
1.功能要求
完成與LCM1602的接口,并嘗試各種顯示控制功能。
2.硬件原理
2.11.1  硬件原理圖
3.軟件程序流程
2.11.2  程序流程
4.程序清單
ORG 0000H
    LJMP MAIN
                ORG   0030H
MAIN: LCALL CSH
      MOV   R2,#00H
                MOV   R3,#00H
                MOV   R0,#80H
                LCALL WRI            
      MOV   DPTR,#TAB
FIRST:MOV   A,R2
                MOVC              A,@A+DPTR
                MOV   R1,A
                LCALL WRD
                MOV   50H,#0FFH
                LCALL DELAY
                INC   R2
                CJNE  R2,#14,FIRST
                MOV   R0,#0C0H
      LCALL WRI
                MOV   DPTR,#TAB1
SEC:  MOV   A,R3
                MOVC              A,@A+DPTR
                MOV   R1,A
                LCALL WRD
                MOV   50H,#0FFH
                LCALL DELAY
                INC   R3
                CJNE  R3,#16,SEC
                LJMP  MAIN
;********延時(shí)子程序******
      ORG   0200H
DELAY:MOV   51H,#0FFH
      DJNZ  51H,$
                DJNZ  50H,DELAY
      RET
;********寫指令代碼子程序******               
                ORG   0250H
WRI:  CLR   P2.0                  ;RS=0  指令
      SETB  P2.1        ;RW=1,忙標(biāo)志和地址計(jì)數(shù)器讀出,
LOP0: SETB  P2.2                   ;E=1,讀寫使能,高電平有效
      MOV   P0,#0FFH                  ;讀P0口狀態(tài)
                MOV   A,P0                  ;讀P0口狀態(tài),讀IR
                CLR   P2.2
                ANL   A,#80H
                CJNE              A,#0,LOP0   ;D7腳為高時(shí),忙于內(nèi)部操作,一直檢測
                CLR              P2.0
                CLR   P2.1
                SETB  P2.2
                MOV   P0,R0
                MOV   50H,#2                ;延時(shí)約510Us
                LCALL DELAY
                CLR   P2.2        ;RS=0,RW=0,E下降沿,寫指令代碼
                RET
;********寫數(shù)據(jù)子程序******
      ORG   0450H
WRD:  CLR   P2.0                   ;RS=0  指令
      SETB  P2.1        ;RW=1,忙標(biāo)志和地址計(jì)數(shù)器讀出,
LOP1: SETB  P2.2                     ;E=1,讀寫使能,高電平有效
      MOV   P0,#0FFH    ;讀P0口狀態(tài)
                MOV   A,P0                    ;讀P0口狀態(tài),讀IR
                CLR   P2.2
                ANL   A,#10000000B
                CJNE              A,#0,LOP1     ;D7腳為高時(shí),忙于內(nèi)部操作,一直檢測
                SETB  P2.0
                CLR   P2.1
                MOV   P0,R1
                MOV   50H,#2
                LCALL DELAY
                SETB  P2.2
                MOV   50H,#2
                LCALL DELAY
                CLR   P2.2
      RET
;********初始命令子程序******
      ORG   0600H
CSH:  MOV   R0,#38H
                LCALL WR           ;L L    L L H H(DL 8位數(shù)據(jù)接口模式) H(雙N) L(F) L L 雙列顯示,字形5*7
                MOV   R0,#0FH
                LCALL WRI                                ;LL   L L L L H H H H 開顯示,光標(biāo)閃爍            
                MOV   R0,#01H
                LCALL WRI                                ;清除LCD顯示屏
      RET
                ORG   0800H
TAB: DB 57H,78H,79H,20H,69H,73H,20H,61H,20H,67H,69H,72H,6CH,2EH
;Wxy is a girl.
      ORG   0850H
TAB1:
DB  57H,61H,6EH,67H,78H,79H,32H,30H,31H,36H,30H,31H,32H,33H,31H,32H  
;Wangxy2016012312
END
5.實(shí)驗(yàn)的問題及討論
(1)考慮到使程序方便用戶設(shè)置顯示功能,方便程序員執(zhí)行寫指令、寫數(shù)據(jù)操作;將初始化顯示設(shè)置和寫指令數(shù)據(jù)程序編寫為子程序,在主程序中直接調(diào)用即可。
(2)注意在每次執(zhí)行寫操作過程時(shí),應(yīng)先檢測部件是否正忙,若不忙執(zhí)行相關(guān)指令,若忙循環(huán)檢測直至不忙。
(3)每次讀寫引腳前,應(yīng)先置位E讀寫使能端。
6.實(shí)驗(yàn)心得及建議
外部設(shè)備功能較多,指令也較復(fù)雜,實(shí)驗(yàn)前要先捋清思路,仔細(xì)讀外部設(shè)備的相關(guān)功能介紹。
建議更新實(shí)驗(yàn)中部分硬件以方便仿真,而且更有利于實(shí)驗(yàn)的進(jìn)行。



課程心得及建議
整個(gè)學(xué)期下來很難忘的一堂課就是《微機(jī)原理及接口技術(shù)》,自己上課很少跑神,一方面是知識(shí)點(diǎn)比較細(xì)碎,需要集中精神學(xué)習(xí),另一方面在王老師的帶動(dòng)下,課堂氛圍積極活躍,感覺每個(gè)同學(xué)都在很認(rèn)真的思考,自己想不到或者剛想到的問題,也總會(huì)有同學(xué)及時(shí)提出來,下課更是有很多同學(xué)圍著老師問東問西,很感謝王老師一年來的認(rèn)真授課,我們真的學(xué)到很多東西,當(dāng)實(shí)驗(yàn)做完后,成就感是難以言表的。
建議實(shí)驗(yàn)室和實(shí)驗(yàn)指導(dǎo)書能更新一些器件,淘汰一些老化不常用的芯片,擴(kuò)展一些趣味實(shí)驗(yàn),可以是對基礎(chǔ)實(shí)驗(yàn)知識(shí)的進(jìn)一步運(yùn)用,以增強(qiáng)同學(xué)們的學(xué)習(xí)興趣,激發(fā)同學(xué)們的實(shí)驗(yàn)熱情。


完整的Word格式文檔51黑下載地址:
單片機(jī)原理實(shí)驗(yàn)總結(jié).doc (1.24 MB, 下載次數(shù): 10)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品 | 国产亚洲久 | 看片网站在线 | 欧美三区 | 91电影| 欧美国产精品 | 尤物视频在线免费观看 | 青青草一区二区三区 | 天堂中文字幕av | 99精品国产一区二区三区 | 国产精品美女一区二区 | 99免费在线视频 | 日韩高清一区 | 久久三级av | 黄片毛片 | 亚洲综合电影 | 久久国产麻豆 | 成人h电影在线观看 | 色约约视频 | 成人aaa视频 | 国产成人精品在线播放 | 亚洲午夜网 | 国产精品美女久久久久aⅴ国产馆 | 欧美日韩高清一区二区三区 | 精品欧美一区二区在线观看视频 | 国产精品日韩一区二区 | 亚洲精品二三区 | 一级黄色片一级黄色片 | 中文字幕av一区二区三区 | 日韩欧美国产一区二区三区 | japan21xxxxhd美女 日本欧美国产在线 | 亚洲一区| 狠狠综合网 | 亚洲一区二区三区在线 | 91影库 | 日韩欧美国产精品 | 日韩成人免费视频 | 日韩视频一区在线观看 | 在线a视频网站 | 国产美女高潮 | 黑人巨大精品欧美一区二区免费 |