史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2012-03-20, 05:43 PM   #1
avgx
註冊會員
榮譽勳章

勳章總數
UID - 343354
在線等級: 級別:0 | 在線時長:1小時 | 升級還需:4小時
註冊日期: 2010-10-27
文章: 2
精華: 0
現金: 2 金幣
資產: 2 金幣
預設 疑問 - 請問有人會 8051 嗎?? 請幫忙看看 程式 謝謝。

共陰極 7段顯示器 跑馬燈

問題 是 asm 我不會 移動 TABLE 的 index

ORG 0000H
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH

MOV DPTR,#TABLE //這是 把table
MOV P1,#7
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY

-------------------------------------------------

#include<AT89X52.h>
#include<INTRINS.h>

code unsigned char table[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
};

void delayms(unsigned int time);
main()

{
while(1)
{
unsigned int t;
unsigned int m;
unsigned char y;
unsigned char x;

for (x=0; x<2;x++)
for (y=0; y<8;y++)
{
P1=y;
P2=table[8*x+y];
delayms(30);
}
}
}

C的話,寫出來了

問題1 請問 asm 怎麼 移動 DPTR(據說 這是 pointer)

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH

MOV DPTR,#TABLE //這是 把table
MOV P1,#7
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY

這樣 會在 最右邊的顯示器 顯示 0(3FH) ,請問 怎麼樣令它 繼續 往下顯示
也就是說 顯示1 (06H)
請用程式碼 表達 謝謝


第2個問題

ORG 0000H
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH (第一個)
DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,3FH (第二個)

MOV DPTR,#TABLE //這是 把table
MOV P1,#7
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY

若我 第1次 要顯示 8個分別對應 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
第2次 要顯示 8個分別對應 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,3FH

請問該怎麼做????

謝謝指導
avgx 目前離線  
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2012-03-23, 10:12 AM   #2 (permalink)
長老會員
 
K22514 的頭像
榮譽勳章
UID - 53122
在線等級: 級別:68 | 在線時長:4912小時 | 升級還需:125小時級別:68 | 在線時長:4912小時 | 升級還需:125小時級別:68 | 在線時長:4912小時 | 升級還需:125小時級別:68 | 在線時長:4912小時 | 升級還需:125小時級別:68 | 在線時長:4912小時 | 升級還需:125小時級別:68 | 在線時長:4912小時 | 升級還需:125小時級別:68 | 在線時長:4912小時 | 升級還需:125小時級別:68 | 在線時長:4912小時 | 升級還需:125小時
註冊日期: 2003-03-29
住址: 台中
文章: 11296
精華: 0
現金: 887793 金幣
資產: 35672319 金幣
預設

http://tw.myblog.yahoo.com/redkimkim...65&page=1&sc=1

這裡可以參考看看~

很久沒有摸這些 書本 模擬器 早已送人 ~~


K22514 目前離線  
送花文章: 97190, 收花文章: 9908 篇, 收花: 53954 次
回覆時引用此帖
向 K22514 送花的會員:
a471 (2012-03-23)
感謝您發表一篇好文章
舊 2012-04-03, 01:03 AM   #3 (permalink)
協調管理員
 
飛鳥 的頭像
榮譽勳章
UID - 23073
在線等級: 級別:72 | 在線時長:5513小時 | 升級還需:108小時級別:72 | 在線時長:5513小時 | 升級還需:108小時
註冊日期: 2003-01-07
VIP期限: 無限期
住址: 史萊姆團隊
文章: 7199
精華: 11
現金: 837 金幣
資產: 260029 金幣
預設

DPTR是一個TABLE開始的位置(記憶體位置)

所以一開始是3FH(記憶體內容)
也就是會顯示0

要顯示1,就是DPTR的下一個位置
所以是DPTR+1個位置

MOV A,1
MOVC A,@A+DPTR #@老鼠符號是代表位置
MOV P2,A

====
再來是要想如何自動+1 到你想要的位置再回到0顯示了
__________________
http://flybird017.googlepages.com/quok.gif http://flybird020.googlepages.com/new321.gif
寶貝你我的地球
, 請 少開電器,減少溫室氣體排放外,多種植植物,減少列印, 多用背面,丟棄時做垃圾分類。

http://netgames123.googlepages.com/tobikeways.jpg

飛鳥 目前離線  
送花文章: 11706, 收花文章: 3363 篇, 收花: 16453 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
請幫忙看看這樣配好不好..謝謝.. 何問天 硬體疑難使用問題討論區 6 2003-06-22 07:34 AM
請問有人知道可以將受保護的flash的.swf檔破解成可修改.fla檔的程式嗎? justme 軟體應用問題討論區 8 2002-12-30 06:50 AM
請問有沒有人可以推薦您認為好用的DVD ROM,謝謝!!! fever 硬體疑難使用問題討論區 11 2002-12-18 02:35 AM
各位大佬,請問有沒有人會解Acrobat Readerd的檔案 marcohan 一般電腦疑難討論區 5 2002-12-16 12:38 AM


所有時間均為台北時間。現在的時間是 07:02 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1