返回   ShareGet 社群討論 > ≡ 電腦網路 ≡ > □ -- 程式設計討論

發表新主題 回覆
 
主題工具 顯示模式
  #1  
舊 2008-07-11, 03:50 AM
凋零的羽毛
 
註冊日期: 2004-06-08
文章: 161
給予: 5 | 感謝 0 | 共 0 篇
積分: 963 | 給分能力: 20
求救:8051高手

下面是跑馬燈程式
不知道有沒有高手能幫我解釋一下
每個指令的意義
(PS.我對Keil uVision3的了解趨近於零)
如果可以
還請各位大大推薦有用的書
感激不盡


JMP 30H
ORG 30H
MOV P2,#0
MOV A,#01H
AGAIN: MOV R1,#7
LEFT: MOV P2,A
RL A
CALL DELAY
DJNZ R1,LEFT
MOV R1,#7
RIGHT: MOV P2,A
RR A
CALL DELAY
DJNZ R1,RIGHT
JMP AGAIN
DELAY:
MOV R4,#0FFH
SELF2: MOV R5,#0FFH
SELF3: DJNZ R5,SELF3
DJNZ R4,SELF2
RET
END
__________________
那耀眼的光芒看似流星...但卻又不敢確定...倘若真是流星...如此猶豫恐將失去一切...是否該向那道光芒許願?
回覆時引用此文章
  #2  
舊 2008-08-25, 01:50 AM
高級會員
 
註冊日期: 2004-06-12
文章: 124
給予: 2 | 感謝 0 | 共 0 篇
積分: 66 | 給分能力: 19
JMP 30H // 跳到記憶體30H的地方
ORG 30H // 30H
MOV P2,#0 //共陽極的話,P2全亮、共陰極的話,P2全滅(以共陰為例
MOV A,#01H //A=1
AGAIN: MOV R1,#7 //R1=7
LEFT: MOV P2,A //P2=A
RL A //左移A
CALL DELAY //延遲時間
DJNZ R1,LEFT //R1-1=\=0 ,就跳到LEFT,繼續左移

MOV R1,#7
RIGHT: MOV P2,A
RR A //右移A
CALL DELAY
DJNZ R1,RIGHT
JMP AGAIN
DELAY:
MOV R4,#0FFH
SELF2: MOV R5,#0FFH
SELF3: DJNZ R5,SELF3
DJNZ R4,SELF2
RET
END[/quote]


此題應該是很基本的跑馬燈,書上應該都有很明顯的解釋才對
ㄧ開始是0000 0001
左移 0000 0010
.
.
.
0100 0000
1000 0000
接下來右移
左移 0100 0000
0010 0000
.
.
.
0000 0010
0000 0001
然後重複左移、右移,跑來跑去....
回覆時引用此文章
發表新主題 回覆

書簽

主題工具
顯示模式

發文規則
不可以發表新主題
不可以發表回覆
不可以上傳附件
不可以編輯自己的文章

啟用 BB 代碼
論壇啟用 表情符號
論壇啟用 [IMG] 代碼
論壇禁用 HTML 代碼
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用
論壇跳轉


所有時間均為GMT -5。現在的時間是 05:34 AM


Powered by vBulletin® Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.