這是學校這學期做的單片機實驗
其中都是一些很簡單的子程序
包括延時,a/d模數轉換實驗,流水燈等等
僅供參考,都在文檔中,方便復制粘
《單片機原理與應用》試驗報告 系 別:
指導教師:
班級學號:
姓 名:
試驗報告一 地點: 時間: 1.題目:數據排序 2.試驗目的: (1)熟悉 MCS-51指令系統,掌握數據排序程序的設計方法。
(2)掌握匯編程序的源程序的編輯、編譯、連接、運行的過程。
(3)掌握各種尋址方法及簡單指令的執行過程。
3.試驗內容: 在單片機片內RAM的30h~3Fh寫入16個數,編寫實驗程序,將這16個數按照由小到大的順序排列。
4.試驗程序:(注:以下必須手寫)
ORG 0000H
LJMPMAIN
ORG0100H
MAIN: MOVR0,#30H ;數據起始地址
MOVR7,#16 ;排序數據個數
LP1: MOVA,R7
MOVR6,A
MOVA,R0
MOV R1,A
INCR1
LP2: MOVA,@R0 ;取出一個數據
CLRC
SUBBA,@R1 ;與第二個數進行比較
JCLP3 ;R0中的數小于R1中的數則跳轉
MOVA,@R0 ;R0中的數大于R1中的數, 交換數據
XCHA,@R1
MOV@R0,A
LP3: INCR1
DJNZR6,LP2
INCR0
DJNZR7,LP1
SJMP$
END
運行前
運行結果
試驗報告二 地點: 時間: 1.題目:P1口轉彎燈
2.試驗目的:
學習P1輸入輸出的方法,掌握延時子程序的編寫。
3.實驗內容:
1) P1口I/O實驗
P1口是8位準雙向口,每一位均可獨立定義為輸入輸出。本實驗將P1口的低4位定義為輸入,高4位定義為輸出,數字量從P1口的低4位輸入,從P1口的高4位輸出控制發光二極管的亮滅。
2) P1口流水燈實驗
P1口作為輸出口,控制8位發光二極管作流水燈顯示。
4、實驗電路:
4. 試驗程序:
5.
; ;P1口輸入輸出實驗
; P1.0~P1.3 ---- 邏輯電平開關 K0~K3
; P1.4~P1.7 ---- 發光二極管顯示 L0~L3
ORG0000H
AJMP0100H
ORG0100H
MAIN: ORLP1,#0FH ;聲明低4位為輸入
MOV A,P1 ;讀P1口狀態
SWAPA ;高低位交換
MOVP1,A ;回送P1口
SJMPMAIN
END
P1口流水燈實驗
; P1.0~P1.7 ---- 發光二極管顯示 L0~L7
ORG0000H
AJMP0100H
ORG0100H
MAIN: MOVP1,#0FFH ;P1初始化
MOV A,#11111110B;從最低位開始
LP1: MOVP1,A
CALLDELAY ;延時
RLA ;左移位
SJMPLP1 ;循環
DELAY: MOVR6,#200
DELAY1: MOV R7,#255
DJNZR7,$
DJNZR6,DELAY1
RET
END
運行結果
試驗報告三 地點: 時間: 1.題目:A/D轉換 2. 實驗目的:
3.實驗內容
4.實驗電路
5.試驗程序:
;A/D模數轉換實驗
; 連線:
; 端口地址 300CS ---- A或非門輸入1
; 控制總線 IOW ------ A或非門輸入2
; 0809 SC/ALE ------- A或非門輸出
; 端口地址 300CS ---- B或非門輸入1
; 控制總線 IOR ------ B或非門輸入2
; 0809 OE ----------- B或非門輸出
; 0809 IN0 ---------- 模擬電壓 0-5V
CS0809 EQU0300H
CS8279C equ 0fff1h
CS8279D equ 0fff0h
ledbuf equ70h ;顯示緩沖
org0
start: callI8279 ;8279初始化
MOVLedBuf+0,#0
MOVLedBuf+1,#8
MOVLedBuf+2,#0
MOVLedBuf+3,#9
MOVDPTR,#CS0809
ADC: MOVX@DPTR,A ;0809的通道0采樣
nop
nop
nop
nop
nop
MOVXA,@DPTR ;取出采樣值
movb,a ;拆送顯示緩沖區
swapa
anla,#0fh
anlb,#0fh
MOVLedBuf+4,a
MOVLedBuf+5,b
calldisp
SJMPADC ;循環
;8279初始化
I8279: PUSHDPL
PUSHDPH
MOVdptr,#CS8279C ;指向命令口
MOVA,#00H ;8個8位顯示
MOVX@dptr,a ;方式字寫入
MOVA,#32H ;設分頻初值
MOVX@dptr,a ;分頻字寫入
MOVA,#0DFH ;定義清顯字
MOVX@dptr,a ;關閉顯示器
x90s: movxa,@dptr
JBACC.7,x90s ;檢測8279
POPDPH
POPDPL
ret
;顯示子程序
disp: PUSHDPL
PUSHDPH
movr2,#85h
movr0,#ledbuf
disp1: movdptr,#CS8279C
mova,r2
movx@dptr,a
movdptr,#ledmap ;指字形表首
mova,@r0 ;取送顯數據
movca,@a+dptr ;索字形代碼
movdptr,#CS8279D ;指向字形口
movx@dptr,a ;送當前字形
decr2
incr0
cjner0,#ledbuf+6,disp1
POPDPH
POPDPL
ret
;字形表
ledmap: db 0ch,9fh,4ah,0bh,99h,29h,28h,8fh
db08h,09h,88h,38h,6ch,1ah,68h,0e8h,0ffh
END
完整的Word格式文檔51黑下載地址:
單片機實驗.doc
(41 KB, 下載次數: 9)
2018-3-29 11:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|