Eehk

Electronic Engineer of Hong Kong
 
首頁首頁  常見問題常見問題  搜尋搜尋  會員註冊會員註冊  登入  

分享 | 
 

 跑馬燈 基本輸出練習

上一篇主題 下一篇主題 向下 
發表人內容
alexli2k



帖子数 : 61
注册日期 : 2013-01-31

發表主題: 跑馬燈 基本輸出練習   周六 2月 16, 2013 10:39 am

依照電路圖LED的接法,只要輸出為0,LED便會導通發亮,輸出為1,會因電流等於0而不亮。
因此,只要下達
mov p2,#11111110b
就會使得P2.0控制的LED亮,其他LED皆熄滅,若要依序點亮其他LED,可透過指令 rl a (將累加器內資料左旋)完成

例如:
mov a,#11111110b
loop: mov p2,a
rl a
jmp loop
但因8051執行速度很快,所以在每次送出資料間,都必須加上延遲程式,才可方便使用者觀察,不然只是感覺每個LED都是亮的而已。範例(ASM)

程式中有用到迴圈,其用法另外說明於附檔

1.各位讀者可參考範例,利用 rr a 指令改成右旋。

2.將LED左旋一圈(8次),再右旋一圈(8次),如此週而復始





若要以C語言設計,因標準C語言並不提供左旋與右旋指令,因此在撰寫C程式,須先在程式開頭宣告#include ,載入Keil uVision內建的左旋與右旋指令函數,才可正常執行,或者讀者要以標準C語言自行設計左旋與右旋指令也可以。

extern unsigned char _cror_ (unsigned char, unsigned char);
extern unsigned char _crol_ (unsigned char, unsigned char);

範例(C)

Support Tools:

Megawin 8051 OCD ICE使用手冊

Megawin 8051 OCD ICE原廠連結

MPC82G516A 資料手冊

Megawin 8051 OCD ICE 安裝程式

版權聲明: 以上所提及之MPC82G516A及相關軟體,版權均屬笙泉科技股份有限公司所有 www.megawin.com.tw

8051實驗版驅動程式和使用說明

Keil 51試用版,此軟體版權屬所有 www.keil.com



~ 轉自 單晶片教學網~
回頂端 向下
 
跑馬燈 基本輸出練習
上一篇主題 下一篇主題 回頂端 
1頁(共1頁)

這個論壇的權限:無法 在這個版面回復文章
Eehk :: Eehk :: 單片機 :: 8051-
前往: