51微控制器實驗報告

2021-03-04 02:49:43 字數 5223 閱讀 4119

單片微型計算機原理

學院班級

學號姓名

指導教師

成績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....