網路城邦
上一篇 回創作列表 下一篇   字體:
【實習教室】8051單晶片實習成果報告
2010/02/19 21:11:01瀏覽9722|回應2|推薦3


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秒馬錶,是這學期最後一個線路了,這個線路都跟前幾個線路快一樣了,只要肯認真做一定都會成功的!
 
( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=zdzo&aid=2851841

 回應文章


2015/01/11 16:59
音樂電路程式可以e給我嗎?謝謝(uwjept0311@yahoo.com.tw)


等級:
留言加入好友
電子琴
2010/10/22 00:00

可以給我電子琴的程式嗎(C語言的)

請寄給下面信箱

lildude561494@yahoo.com.tw

東哥(沉浸在幸福裡!)(zdzo) 於 2010-10-25 22:52 回覆:
目前沒有C語言的,抱歉了!