新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用單片機控制的流水燈設(shè)計

用單片機控制的流水燈設(shè)計

作者: 時間:2013-01-18 來源:網(wǎng)絡(luò) 收藏

  ORG 0000H ;單片機上電后從0000H地址執(zhí)行

  AJMP START ;跳轉(zhuǎn)到主程序存放地址處

  ORG 0030H ;設(shè)置主程序開始地址

  START:MOV SP,#60H ;設(shè)置堆棧起始地址為60H

  MOV DPTR,# TAB ;流水花樣表首地址送DPTR

  LOOP: CLR A ;累加器清零

  MOVC A,@A+DPTR ;取數(shù)據(jù)表中的值

  CJNE A,#0FFH,SHOW;檢查流水結(jié)束標志

  AJMP START ;所有花樣流完,則從頭開始重復流

  SHOW: MOV P1,A ;將數(shù)據(jù)送到P1口

  ACALL DELAY ;調(diào)用延時子程序

  INC DPTR ;取數(shù)據(jù)表指針指向下一數(shù)據(jù)

  AJMP LOOP ;繼續(xù)查表取數(shù)據(jù)

  DELAY:  ;延時子程序

  MOV R0,#255   ;延時一段時間

  D1: MOV R1,#255

  DJNZ R1,$

  DJNZ R0,D1

  RET nbsp; ;子程序返回

  TAB:     ;下面是流水花樣數(shù)據(jù)表,用戶可據(jù)要求任意編寫

  DB 11111110B ;二進制表示的流水花樣數(shù)據(jù),從低到高左移

  DB 11111101B

  DB 11111011B

  DB 11110111B

  DB 11101111B

  DB 11011111B

  DB 10111111B

  DB 01111111B

  DB 01111111B ;二進制表示的流水花樣數(shù)據(jù),從高到低右移

  DB 10111111B

  DB 11011111B

  DB 11101111B

  DB 11110111B

  DB 11111011B

  DB 11111101B

  DB 11111110B

  DB 0FEH,0FDH,0FBH,0F7H ;十六進制表示的流水花樣數(shù)據(jù)

  DB 0EFH,0DFH,0BFH,7FH

  DB 7FH,0BFH,0DFH,0EFH

  DB 0F7H,0FBH,0FDH,0FEH

  ……

  DB 0FFH ;流水花樣結(jié)束標志0FFH

  END ;程序結(jié)束

  4.結(jié)語

  當上述程序之一編寫好以后,我們需要使用編譯軟件對其編譯,得到單片機所能識別的二進制代碼,然后再用編程器將二進制代碼燒寫到AT89C51單片機中,最后連接好電路通電,我們就看到LED1~LED8的“流水”效果了。本文所給程序?qū)崿F(xiàn)的功能比較簡單,旨在拋磚引玉,用戶可以自己在此基礎(chǔ)上擴展更復雜的控制,比如鍵盤控制流水花樣、控制顯示數(shù)字或圖案等等。

  參考文獻:

  [1]徐煜明,韓雁.單片機原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2005.1

  [2]萬光毅,嚴義,邢春香.單片機實驗與實踐教程[M].北京:北京航空航天大學出版社,2006.4

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理



上一頁 1 2 3 下一頁

關(guān)鍵詞: 單片機控制 流水燈

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉