標(biāo)題: [求助]單片機初級的一些程序.幫忙寫寫.. [打印本頁]

作者: 61232688a    時間: 2008-6-10 20:45
標(biāo)題: [求助]單片機初級的一些程序.幫忙寫寫..
1、運用定時器,編寫流水燈程序,交叉閃爍四次,然后全閃爍2次,每次閃爍時間為0.5S。
2、數(shù)碼管由0~9循環(huán)顯示,每次顯示時間為0.5 秒。

就兩個.非常簡單.但是我都不懂..

盡量都把每一步都說明..

可加我QQ:925233107

麻煩各位了!!

作者: 61232688a    時間: 2008-6-12 17:26

各位救救我吧.好嗎?


作者: yysmcu    時間: 2008-6-12 23:44
1、解答:流水燈接在P1口,編寫匯編程序如下
START:MOV    R7,#4
LOOP:MOV    P1,#0AAH
     ACALL    DELAY
     MOV    P1,#55H
     ACALL    DELAY
     DJNZ    R7,LOOP
     ACALL    DELAY
     MOV    P1,#0
     ACALL   DELAY
     MOV    P1,#0FFH
     ACALL  DELAY
     MOV    P1,#0
     ACALL    DELAY
     MOV    P1,#0FFH
DELAY:MOV    R6,#10
      MOV    TMOD,#01H
      MOV    TH0,#3CH
      MOV    TL0,#0B0H
      SETB   TR0
LP:JBC    TF0,LP1
   SJMP    LP
LP1:MOV    TH0,#3CH
    MOV    TL0,#0B0H
    DJNZ    R6,LP
    CLR    TR0
    RET
END


好困吶,第二題明天幫你解答,其實你仔細(xì)想想也不難,呵呵

作者: admin    時間: 2008-6-12 23:45

很好 ,很不錯


作者: yysmcu    時間: 2008-6-14 14:42

2、解答:由于數(shù)碼管的接法不同會出現(xiàn)編碼也不同,這里數(shù)碼管是共陽接法,a~h分別對應(yīng)P0.0~P0.7,位控端接在P2.7,如果編碼改變直接改變TABLE的值即可,位控端也可按實際硬件電路連接來修改,編寫程序如下
ORG    0000H
AJMP    START
ORG    0030H
START:MOV  R7,#10
      MOV  R6,#0
      MOV  A,#TABLE
LOOP:MOV  A,R6
     MOV  A,@A+DPTR
     MOV  P0,A  
     CLR  P2.7
     LCALL  DELAY
     MOV  A,R6
     INC  A
     DJNZ  R7,LOOP
     AJMP  START
DELAY:MOV    R6,#10
      MOV    TMOD,#01H
      MOV    TH0,#3CH
      MOV    TL0,#0B0H
      SETB   TR0
LP:JBC    TF0,LP1
   SJMP    LP
LP1:MOV    TH0,#3CH
    MOV    TL0,#0B0H
    DJNZ    R6,LP
    CLR    TR0
    RET
TABLE:DB 12H,0D7H,31H,91H,0D4H,98H,18H,0D3H,10H,90H

END

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

作者: ywz364kf    時間: 2008-6-18 20:36
START:MOV  R7,#10
      MOV  R6,#0
      MOV  A,#TABLE
  這段程序的 A 是不是要用 DPTR來代替啊
作者: yysmcu    時間: 2008-6-19 23:35
樓上的說的非常對啊,寫的時候太大意寫錯了,歹勢啊

改為:
START:MOV  R7,#10
           MOV  R6,#0 
           MOV  DPTR,#TABLE

作者: marlin    時間: 2008-6-25 23:23
以下是引用yysmcu在2008-6-19 23:35:54的發(fā)言:
樓上的說的非常對啊,寫的時候太大意寫錯了,歹勢啊

改為:
START:MOV  R7,#10
           MOV  R6,#0 
           MOV  DPTR,#TABLE



支持yysmcu,論壇高手要都向你那樣有多好啊 ~希望潛水的都多多出來參與


作者: a13758777532    時間: 2008-7-15 14:24

作者: sophya    時間: 2009-12-7 17:12

#include<at89x52.h>

sbit LE=P2^2;
unsigned char i;
unsigned char table[6]={0xcc,0x66,0xcc,0x66,0x00,0x00};
unsigned char j;

void main()

  {
    LE=0;
    TMOD=0x10;
    TH0=(65536-5000)/256;
    TL0=(65536-5000)%256;
    TR0=1;
    EA=1;
    ET0=1;
 while(1); 
  }

void time() interrupt 1 using 0

  {
    i++;
    if(i==100)
      {
        P0=table[j];
        LE=1;
        LE=0;
        i=0;
        j++;
        if(j==6)
          {
            j=0;
          }
       
      }
  }






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