【實習教室】8051單晶片實習成果報告
2010/02/19 21:11
瀏覽10,134
迴響2
推薦3
引用0
8051架構分析
是一個八位元(8-bit)的CMOS單晶片微處理器,符合MCS-51工業標準。
如圖所示,內含4K-byte的快閃記憶體(Flash Memory),可重複燒錄程式達1000次以上;128-byte RAM的程式記憶體,作為程式變數區;並提供32條I/O信號線,2個16-bit的計時器(Timer)、或計數器(Counter),一個雙向串列埠(RS-232 Serial Port),和五個中斷向量功能。
特殊功能暫存器是一塊特殊的記憶體空間,提供8051使用到的才可以存取。當使用者設計程式時,必須注意記憶體的規劃,避免無章法的安排,導致程式記憶體不足或是不合理的重複使用,使程式產生錯亂,無法達成所需要的功能
8051單晶片接腳簡介:
如圖所示為單晶片接腳圖,此單晶片由ATMEL公司所製造,可重複燒錄1000次以上。單晶片必須供應電壓,電源接腳為VCC(pin40)、GND(pin20),工作電壓在4V~6.6V之間,建議使用+5V電源供應器,可保持單晶片工作壽命。
8051單晶片接腳簡介如下:
PORT0:包括P0.0~P0.7(pin39~pin32),主要有記憶體擴充位址∕資料匯流排、燒錄時的資料碼輸入與輸出、以及一般I/O等三個功能。
PORT1:包括P1.0~P1.7(pin1~pin8),有燒錄時的低位元組位址與一般I/O兩個功能。
PORT2:包括P2.0~P2.7(pin21~pin28),有記憶體擴充時的高位元組位址匯流排、燒錄時的控制功能、以及一般I/O等三個功能。
PORT3:包括P3.0~P3.7(pin10~pin17),有一般I/O功能與圖5-4所列特殊功能,其中P3.0和P3.1可作為RS-232信號輸出與輸入。
8051 程式燒錄步驟
實習項目: 跑馬燈
零件: 石英晶體 12MHz; 電容 20p 兩個 ; 電容 10u ; LED 紅色 八個
電阻470Ω 八個
程式:
ORG 00H
START:
MOV A,#FFH
CLR C
MOV R2,#08H
LOOP: RLC A
MOV P0,A
CALL DELAY
DJNZ R2,LOOP
MOV R2,#07H
LOOP1: RRC A
MOV P0,A
CALL DELAY
DJNZ R2,LOOP1
JMP START
DELAY: MOV R3,#20
D1: MOV R4,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET
END
電路圖:
作品:
心得: 這個跑馬燈線路這個線路很好做,也讓我知道程式的特性
實習項目: 音樂電路
零件:石英晶體 12MHz; 電容 20p 兩個 ; 電容 10u; 電阻 1KΩ ;
電阻470Ω ; 電容 0.1u ; 電容 10u ; 電容 0.0047u
程式:
ORG 00H
SETB TR0
JMP START
D1:
CALL DELAY
ORG 0BH
INC 30H
START:
MOV TMOD,#00000001B
JMP NEXT
MOV IE,#10000010B
END:
CLR TR0
START0:
MOV 30H,#00
JMP
START0
NEXT:
MOV A,30H
TIM0:
PUSH A
MOV DPTR,#TABLE
PUSH PSW
MOV CA,@A+DPTR
MOV TL0,20H
MOV R2,A
MOV TH0,21H
JZ
END
CPL P1.0
ANL A,#0FH
POP PSW
MOV R5,A
POP A
MOV A,R2
RETI
SWAP A
DELAY:
MOV R7,#02
ANL A,#0FH
D2:
MOV R4,#187
JNZ SING
D3:
MOV R3,#248
CLR TR0
DJNZ R3,$
JMP D1
DJNZ R4,D3
SING:
DEC A
DJNZ R7,D2
MOV 22H,A
DJNZ R5,DELAY
RL A
RET
MOV DPTR,#TABLE1
TABLE1:
MOVC A,@A+DPTR
DW 64260,64400,64524,64580
MOV TH0,A
DW 64684,64777,64820,64898
MOV 21H,A
DW 64968,65030,65058,65110
MOV A,22H
DW 65157,65178,65217
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 20H,A
自創音樂 虎姑婆
TABLE :
;1
DB 82H,01H,81H,94H,84H
DB B4H,A4H,04H
DB 82H,01H,81H,94H,84H
DB C4H.B4H,04H
;2
DB 82H,01H,81H,F4H,D4H
DB B4H,A4H,94H
DB E2H,01H,E1H,D4H,B4H
DB C4H,B4H,04H
;3
DB 82H,01H,81H,94H,84H
DB B4H,A4H,04H
DB 82H,01H
DB C4H,84H,04H
;4
DB 82H,01H,81H,F4H,D4H
DB B4H,A4H,94H
DB E2H,01H,E1H,D4H,B4H
DB C4H,B4H,04H
DB 00
END
電路圖:
作品:
心得: 這個音樂線路打什麼程式就有不同的節奏,但是要找出這個節奏是滿困難的,只要肯用是學一定會成功的
實習項目: 電子琴
零件:石英晶體 12MHz; 電容 20p 兩個 ; 電容 10u; 電阻 1KΩ ;
電阻470Ω ; 電容 0.1u ; 電容 10u ; 電容 0.0047u;按鈕開關 16個
程式:
ORG 00H
MOV 21H,A
JMP START
MOV A,R1
ORG 0BH
RL A
JMP TIM0
INC A
START:
MOV TMOD,#00000001B
MOVC A,@A+DPTR
MOV IE,#10000010B
MOV TH0,A
L1:
MOV R3,#F7H
MOV 20H,A
MOV R1,#00H
SETB TR0
L2:
MOV P2,R3
D4:
MOV A,P2
MOV A,P2
XRL A,R4
MOV R4,A
JZ D4
SETB C
CLR TR0
MOV R5,#04H
JMP L1
L3:
RLC A
TIM0:
PUSH A
JNC KEYIN
PUSH PSW
INC R1
MOV TL0,20H
DJNZ R5,L3
MOV TH0,21H
MOV A,R3
CPL P1.0
SETB C
POP PSW
RRC A
POP A
MOV R3,A
RETI
JC L2
TABLE:
JMP L1
DW 64021,64103,64260,64400
KEYIN:
MOV R7,#40
DW 64524,64580,64684,64777
D2:
MOV R6,#248
DW 64820,64898,64968,65030
DJNZ R6,$
DW 65058,65110,65157,65178
DJNZ R7,D2
END
D3:
MOV A,R1
RL A
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV TH0,A
電路圖:
作品:
心得:這個電子琴的線路,的確比前兩個線路難了一點,可是肯用心一定會成功的,做好之後,程式打進去,就可以輕易的打出16的音,甚至可以彈出 想要心的歌曲
實習項目: 99秒馬錶
零件:石英晶體 12MHz; 電容 20p 兩個 ; 電容 10u ;按鈕開關 1個;
電阻 470Ω 14個
程式:
ORG 00H
CALL DELAY1
START:
ANL P2#00H
JB P3.5,$
JB P3.5,$
CALL DELAY1
CALL DELAY1
JNB P3.5,$
JNB P3.5,$
JMP START
MOV R0,#00
DELAY:
L1:
MOV P2,R0
D1:
MOV R7,#248
MOV R5,#10
JNB P3.5,L2
A1:
MOV R6,#200
DJNZ R7,$
CALL
DELAY
DJNZ R6,D1
DJNZ R5,A1
RET
MOV A,R0
DELAY1:
MOV R6,#40
ADD A,#01H
D2:
MOV R7,#248
DA A
DJNZ R7,$
MOV R0,A
DJNZ R6,D2
JMP L1
RET
L2:
CALL
DELAY1
END
JNB P3.5,$
電路圖:
作品:
心得: 這個99秒馬錶,是這學期最後一個線路了,這個線路都跟前幾個線路快一樣了,只要肯認真做一定都會成功的!
你可能會有興趣的文章:
迴響(2) :
- 2樓. 廷2015/01/11 16:59音樂電路程式可以e給我嗎?謝謝(uwjept0311@yahoo.com.tw)
- 1樓.2010/10/22 00:00目前沒有C語言的,抱歉了! 東哥(沉浸在幸福裡!) 於 2010/10/25 22:52回覆