單片微型計算機原理
學院班級
學號姓名
指導教師
成績2023年6月
● 硬體實驗:
實驗一:定時器中斷實驗
實驗內容:fosc=11.0592mhz,t0方式2產生定時中斷實現秒錶功能:數碼管後兩
位顯示10ms;前兩位顯示秒數;k1/k2/k3鍵分別啟動/停止/清零,按鍵操作不
分先後實驗程式流程圖:
主程式流程圖中斷程式流程圖:
實驗程式:
*** 0000h
ljmp main
*** 000bh
ljmp intt0
*** 0100h
main: mov sp,#70h
call ini_all
loop: call display
mov dptr,#8000h
movx a,@dptr
jb acc.7,next
setb tr0
next: jb acc.6,next1
clr tr0
next1: jb acc.5,loop
mov r7,#0h
mov r6,#0h
mov r5,#0h
ljmp loop
/*intt0*/
intt0: push psw
push acc
inc r5
cjne r5,#40,cmp1
cmp1: jc goon
mov r5,#0h
inc r6
cjne r6,#100,cmp2
cmp2: jc goon
mov r6,#0h
inc r7
cjne r7,#100,c***
c***: jc goon
mov r7,#0h
goon: pop acc
pop psw
reti
/*iniall*/
ini_all:mov r7,#0h
mov r6,#0h
mov r5,#0h
mov ie,#82h
mov tmod,#02h
mov th0,#25
mov tl0,#25
ret/*display*/
display:mov dptr,#table
mov a,r7
mov b,#10
div ab
movc a,@a+dptr
mov 33h,a
mov a,b
movc a,@a+dptr
mov 32h,a
/**/
mov a,r6
mov b,#10
div ab
movc a,@a+dptr
mov 31h,a
mov a,b
movc a,@a+dptr
mov 30h,a
/**/
mov dptr,#8000h
mov a,33h
movx @dptr,a
mov dptr,#8100h
mov a,32h
movx @dptr,a
mov dptr,#8200h
mov a,31h
movx @dptr,a
mov dptr,#8300h
mov a,30h
movx @dptr,a
rettable: db 88h,0afh,0c4h,86h,0a3h,92h,90h,8fh,80h,82h
end實驗結果:數碼管後兩位顯示ms計數,前兩位顯示s計數,按k1鍵啟動計數,k2鍵停止計數,k3鍵清零。可實現秒錶功能。
實驗二:驅動蜂鳴器實驗
實驗內容:使p3.5埠輸出週期為1s的方波訊號。並通過三極體驅動乙個直流小喇叭,使其發出斷續的鳴響。
實驗程式:
*** 0h
ljmp main
*** 0100h
main: mov sp,#70h
start: cpl p3.5
lcall delay
ljmp start
delay: mov r7,#200
ymov r6,#100
xnop
djnz r6,x
djnz r7,y
retend
實驗結果:蜂鳴器發出聲響。
實驗三:顯示管增一顯示
實驗內容:編寫程式,使數碼管從0000自增一加至9999,然後再自動清零迴圈。
實驗程式:
*** 0h
ljmp main
*** 0100h
main: mov 30h,#0h
mov 31h,#0h
mov 32h,#0h
mov 33h,#0h
mov r0,#1
start: lcall delay
lcall convert
lcall display
inc r0
cjne r0,#255,xx
ljmp start
xx: jc start
jnc main
convert:mov a,r0
mov b,#10
div ab
mov 30h,b
mov b,#10
div ab
mov 31h,b
mov 32h,a
retdisplay:mov a,30h
mov dptr,#table
movc a,@a+dptr
mov dptr,#8300h
movx @dptr,a
mov a,31h
mov dptr,#table
movc a,@a+dptr
mov dptr,#8200h
movx @dptr,a
mov a,32h
mov dptr,#table
movc a,@a+dptr
mov dptr,#8100h
movx @dptr,a
mov a,33h
mov dptr,#table
movc a,@a+dptr
mov dptr,#8000h
movx @dptr,a
retdelay: mov r7,#100
y: mov r6,#50
x: nop
djnz r6,x
djnz r7,y
rettable: db 88h,0afh,0c4h,86h,0a3h,92h,90h,8fh,80h,82h
end實驗結果:八段數碼顯示管如題目要求所示自增一顯示。
● 軟體實驗
實驗一:資料傳送實驗
實驗內容:編寫程式,將內部ram中的30h-5fh中的資料設定為55h;
(1)將其中內容傳送到90h開始的內部ram中去。
(2)將其中內容傳送到200h開始的外部ram中去。
實驗程式流程圖:
實驗程式:*** 0000h
ljmp main
*** 0100h
main: mov sp,#70h
mov r0,#30h
mov r7,#30h
mov a,#55h
loop1: mov @r0,a
inc r0
djnz r7,loop1
mov r0,#30h
mov r7,#30h
mov r1,#90h
loop2: mov a,@r0
mov @r1,a
inc r0
inc r1
djnz r7,loop2
wait: sjmp waitsjmp $*/
end實驗結果:
內部ram,30h-5fh單元內都為55h。
內部ram,90h開始的單元內都為55h。
外部ram,200h開始的單元內都為55h
實驗二:資料分類與校驗實驗
實驗內容:編寫程式,將內部ram中30h-5fh中的資料設定為1-48;並將其中奇數傳送到90h開始的內部ram中;將30h-5fh中的資料設定按照奇校驗設定最高位。
實驗程式流程圖:
實驗程式:
*** 0000h
ljmp main
*** 0100h
main: mov sp,#70h
mov r0,#30h
mov r7,#30h
mov a,#1
loop1: mov @r0,a
inc r0
inc a
djnz r7,loop1
mov r0,#30h
mov r7,#30h
mov r1,#90h
loop2: mov a,@r0
inc r0
jb 0e0h,trans
jmp ntrans
trans: mov @r1,a
inc r1
ntrans:djnz r7,loop2
end實驗結果:
內部ram中30h-5fh中的資料為1-48;其中奇數傳送到90h單元。
30h-5fh中的資料設定按照奇校驗設定最高位送到90h單元內。
程式段如下:
//奇校驗設定最高位
mov r0,#30h
mov r7,#30h
mov r1,#90h
loop3: mov a,@r0
inc r0
jnb p,trans2
jmp ntrans2
trans2:setb 0e7h
mov @r1,a
inc r1
ntrans2:djnz r7,loop3
實驗三:簡單算術運算
實驗內容:編寫程式,計算1-100的累加和。結果存放於內部ram的30h、31h中,低位元組在前。
實驗程式流程圖:
實驗程式:
*** 0000h
ljmp main
*** 0100h
main: mov sp,#70h
mov r0,#30h
mov r1,#31h
mov @r0,#0
51微控制器實驗報告
姓名 劉賢鶯 班級 電信碩91 學號 09058022 日期 2012年4月19日 1 實驗要求3 2硬體環境與工作原理4 2.1硬體環境4 2.2工作原理6 3 資源使用9 3.1 ram的使用情況9 3.2 系統堆疊使用情況10 3.3 暫存器使用情況11 3.4 定時器 計數器使用情況11 4...
51微控制器數模轉換實驗報告
一 實驗目的 1.熟悉dac0832的結構和用法 2.掌握dac0832與80c51連線方法並輸出鋸齒波二 實驗器材 安裝有驅動程式的電腦 51微控制器開發板 燒錄器三 實驗原理 內部結構圖如下 有三種工作方式,這裡只用直通方式,所謂直通方式就是使dac8032內部的兩個暫存器 輸入暫存器和dac暫...
微控制器實驗報告
1福建農林大學計算機與資訊學院 資訊工程類 實驗報告 2013 年 10 月 28 日 實驗專案列表 福建農林大學計算機與資訊學院資訊工程類實驗報告 系 電子資訊工程專業 電子資訊工程年級 2011級 姓名 詹緩輝學號 3116004094實驗課程 微控制器技術 實驗室號 田c513實驗時間 10....