標題: [求助]各位大蝦,我的跑馬燈已經(jīng)做了兩種不同的形式了,懇求第三種? [打印本頁]

作者: city    時間: 2008-6-13 23:26
標題: [求助]各位大蝦,我的跑馬燈已經(jīng)做了兩種不同的形式了,懇求第三種?

各位大蝦:
      小妹,我好不容易弄來了兩種跑馬燈,還差一種從兩面到中間或者中間到兩面的,請各位大蝦幫我接著寫下去吧~~~最好附帶注釋的,想學一下  ^ ^ 謝謝.
  
 

  ORG 0000h
      ljmp 0030h
      org 0030h
START: MOV A,#0FEH
LOOP:  MOV R0,#7
LOOPL: MOV P1,A
       RL A
       CALL DELAY
       DJNZ  R0,LOOPL
       MOV R0,#7
LOOPR: mov r1,#7
       MOV P1,A
       RR  A
       CALL DELAY
       DJNZ r1,LOOPR
       LJMP LOOP
DELAY: MOV R7,#200
D1:    MOV R6,#250
       DJNZ R6,$
       DJNZ R7,D1
       RET
       END

     此致
   敬      禮

 


                                                                                 菜鳥小妹(上)
作者: city    時間: 2008-6-14 18:23

哪位大蝦行行好啊~~~~~復一下貼啊````


作者: xb_crazyman    時間: 2008-6-14 23:29

c語言的要不?


作者: yysmcu    時間: 2008-6-15 10:09
從兩邊到中間亮燈程序如下,從中間到兩邊只要把順序依次反過來就行了。
ORG     0000H
AJMP    START                  
ORG     0030H    
START: MOV     P1,#7EH    ;點亮LED0和LED7
            ACALL    DELAY     ;延時亮一定時間
            MOV    P1,#0BDH
            ACALL    DELAY
            MOV    P1,#0DBH
            ACALL    DELAY
            MOV    P1,#0E7H   ;點亮LED3和LED4
            ACALL    DELAY
            AJMP     START
DELAY: MOV R7,#100
DEL1: MOV     R6,#200
         DJNZ     R6,$
         DJNZ     R7,DEL1
         RET
         END

方法不止一種,僅供參考。

作者: yysmcu    時間: 2008-6-15 10:17

如果要實現(xiàn)從兩邊到中間接著又從中間到兩邊的話,就可以建立一個TABLE,用查表的方法來實現(xiàn),LZ認真想想不難的,或你直接在亮完中間兩燈后繼續(xù)反過來向外依次亮燈也能實現(xiàn)。


作者: city    時間: 2008-6-15 12:28
 TO  xb_crazyman   
C語言的不行啊,還沒學到  .呵~~~

作者: city    時間: 2008-6-15 12:29
TO yysmcu
     太感謝拉,等我試一下先```

作者: admin    時間: 2008-6-15 12:35
http://www.torrancerestoration.com/mcu/537.html  這里還有一個
作者: city    時間: 2008-6-15 14:22
 TO  admin
    謝謝,向左向右的我有了

作者: city    時間: 2008-6-15 14:32
 TO 各位:
    我在運行時,顯示有錯誤,但是讀不懂它的錯誤指令,請幫忙我看一下
error A9 :syntax error
error A9 :syntax error
error a3: illegal character
error a3: illegal character
error a3: illegal character

                   是這條程序出什么問題了嗎??
                START:      MOV     P1,#7EH 
[此貼子已經(jīng)被作者于2008-6-15 14:36:11編輯過]

作者: admin    時間: 2008-6-15 14:49
city先生,,我在如下帖子中解答了你的問題。
http://www.torrancerestoration.com/bbs/dpj-171-1.html
[此貼子已經(jīng)被作者于2008-6-15 14:50:08編輯過]

作者: city    時間: 2008-6-16 13:33
我已經(jīng)把兩個程序合并好了,然后為了演示方便,需要開關,想請教一下各位,應該怎么加開關?

程序如下:
  ORG 0000h
      ljmp 0030h
      org 0030h
START: MOV A,#0FEH
LOOP:  MOV R0,#7
LOOPL: MOV P1,A
       RL A
       CALL DELAY
       DJNZ  R0,LOOPL
       MOV R0,#7
LOOPR: mov r1,#7
       MOV P1,A
       RR  A
       CALL DELAY
       DJNZ r1,LOOPR
       LJMP LOOP
       ORG     0000H
       AJMP    main                                
main: mov p1,#7eh
       acall delay
       mov p1,#0bdh
       acall delay
       mov p1,#0dbh
       acall delay
       mov p1,#0e7h
       acall delay
       ajmp start
delay: mov r7,#100
 del1:mov r6,#200
       djnz  r6,$
       djnz r7,del1
       ret
       end

作者: city    時間: 2008-6-16 13:34

再麻煩各位指點一下了 


作者: admin    時間: 2008-6-16 16:15

開關加在電源上撒


作者: city    時間: 2008-6-16 18:58
TO admin
   
 
在程序上不用反映出來嗎?

作者: yysmcu    時間: 2008-6-16 23:29

ORG     0000h
AJMP    START
ORG     0030h
START:JNB    P3.2,LOOP  ;該按鈕按下執(zhí)行左右移流水燈

           JNB    P3.3,main   ;該按鈕按下執(zhí)行兩邊到中間的流水燈

           SJMP    START
LOOP:MOV     A,#0FEH
         MOV      R0,#7
         JNB    P3.3,main
LOOPL:MOV     P1,A
          RL     A
          ACALL     DELAY
          DJNZ     R0,LOOPL
          MOV     R1,#7
LOOPR:MOV     P1,A
           RR       A
           CALL    DELAY
           DJNZ    R1,LOOPR
           LJMP LOOP
main:JNB    P3.2,LOOP
        mov p1,#7eh
        acall delay
        mov p1,#0bdh
        acall delay
        mov p1,#0dbh
        acall delay
        mov p1,#0e7h
        acall delay
        ajmp main
delay: mov r7,#100
del1:mov r6,#200
       djnz  r6,$
       djnz r7,del1
       ret
       end

[此貼子已經(jīng)被作者于2008-6-16 23:32:27編輯過]

作者: yysmcu    時間: 2008-6-16 23:35
注意實驗時上面程序最好全部用大寫字母編程,以免編譯出錯
作者: city    時間: 2008-6-17 12:43

 TO yysmcu
      
       是的,,明白了,等我燒進去試一下.


作者: city    時間: 2008-6-18 13:11
TO 各位大蝦
   以上程序都已經(jīng)燒進芯片了,但是實際運行有問題,它只有左邊連續(xù)的三盞燈會亮,而且好像還不會動?是不是晶振有問題?聽說晶振都很脆弱的。麻煩各位幫我看一下,可能出什么問題了。
作者: yysmcu    時間: 2008-6-18 14:33

你先測測是不是LED燒了?
還有可以在Keil C 中模擬單步運行,看看IO口狀態(tài)變化情況啊


作者: city    時間: 2008-6-18 19:06

TO yysmcu
   知道拉,原來是有連接芯片底座的焊點沒有焊好,現(xiàn)在可以亮了,也可以走了,但是它的走法不是我程序所編的那樣,好像由左到右,它是亮一盞,然后左移一格連續(xù)兩盞同時亮,再一盞一盞亮下去.
  我發(fā)現(xiàn)P2.6(A789S52芯片的輸出口)和P2.5;P2.1和P2.0總時同時亮同時滅,看上去又不像是短路喔.
    這又是什么問題拉,請教,請教?


作者: city    時間: 2008-6-20 19:48
to 各位
   我的跑馬燈已經(jīng)制作出來了,可能是有點虛焊,電路有點不穩(wěn)定.不過程序總算能用.謝謝各位的幫助,尤其是回過我帖子的各位大蝦.
         謝謝

            本貼完!

作者: fzh520520    時間: 2008-7-21 15:03
。。。!
作者: 單片機萬歲    時間: 2008-8-16 16:23
跑馬等挺好玩的~~~
作者: CHAOWU6636    時間: 2008-9-24 20:08

我燒了,運行OK,就延時不夠。LED閃的太快!


作者: admin    時間: 2009-6-3 02:59

大家繼續(xù)做新的出來啊


作者: j183048114    時間: 2010-12-14 08:59
路過拿走




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1