欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 救命 錯了 我不會改 [打印本頁]

作者: 升    時間: 2009-3-15 22:13
標題: 救命 錯了 我不會改
這是一個流水燈....調試時 JMP EXT0   JMP EXT1   CALL DELAY   錯誤!請高手指點



ORG 00H
JMP START
ORG 03H
JMP EXT0
ORG 13H
JMP EXT1
START: MOV IE, #10000101B
MOV IP, #00000100B
MOV TCON, #00000000B
MOV SP, #70H
MOV A, #00
MOV P1, A
MOV A,#00
LOOP: MOV P1, A
CALL DELAY
CPL A
JMP LOOP
EXTO: PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
MOV R3, #03
LOOP1: MOV A, #0FFH
CLR C
MOV R2, #08H
LOOP2: RLC A
MOV P1, A
CALL DELAY
DJNZ R2, LOOP2
MOV R2, #07
LOOP3: RRC A
MOV P1, A
CALL DELAY
DJNZ R2, LOOP3
DJNZ R3, LOOP1
POP PSW
POP ACC
RETI
ETX1: PUSH ACC
PUSH PSW
SETB RS1
CLR RS0
MOV R3, #03
LOOP4: MOV A, #0FCH
MOV R2, #06
LOOP5: RL A
MOV P1, A
CALL DELAY
DJNZ R2, LOOP5
MOV R2, #06
LOOP6: RR A
MOV P1,A
CALL DELAY
DJNZ R2, LOOP6
DJNZ R3, LOOP4
POP PSW
POP ACC
RETI
RELAY: MOV R5, #20
D1: MOV R6, #20
D2: MOV R7, #248
DJNZ R7, $
DJNZ R6, D2
DJNZ R5, D1
RET
END

如何改呢 我是自學的
嘗試改 但不知從那下手
情高手指點迷津
謝謝

作者: gudujian    時間: 2009-3-18 10:48
現在都用C語言了,用匯編的比較少了啊
作者: haozi    時間: 2009-3-19 01:16

我不知道是不是還有其他人也會碰到這種錯誤
我簡單的提一下
 寫程序的風格 問題 不知道LZ 是自學的匯編 還是在大學生 在笑學習的
  我想對你說一句 你寫程序很爛  希望你別見氣
    做為規范  規范這個東西 并不是說 它很牛 我們得照著做
    而是就像我們溝通的語言一樣 大家都遵守規范了 我們才能更有效的溝通
     LZ 的程序 很亂 放進UV2 首先  一個程序 沒有一條備注
      這里我建議剛學寫程序 時 就最好學著 給程序加注釋 在最開始的時候 你覺得很簡單 不必要
       但是到了后來 你寫一個 上千條的匯編 行的程序時 你就會發現 你去吃了飯  陪女朋友去看場 電影 和朋友打打籃球 回來 你連自己寫的程序都要花很大的時間去理順里面的各個跳轉 各個框架
         這也是為什么你看但飯是搞計算機程序設計的東西 經常趕通宵 加班   思路不能段  不然又會花很多的時間去整理清楚 
多的話不說了 話有點直 希望你不要介意 
  改好的程序   
  我貼出來 你自己看吧  
  標號 頂格 代碼縮進對齊
  整個程序 整齊  歸整   盡量多加一些備注 至少10%    




    


作者: haozi    時間: 2009-3-19 01:16

;-----------------------------------------
;流水燈測試程序
;時間:---
;作者;---
;說明:----
;-----------------------------------------

     ORG 00H
     JMP START
     ORG 03H
     JMP EXTO   ;03H是外部中斷0的入口地址 。。。。。。。。。。 這里應該是 0B 和1B
     ORG 13H    ;13H是外部中斷1的入口地址 。。。。。。。。。。
     JMP ETX1
;-----------------------------------------
;主程序
;-----------------------------------------

START: MOV IE, #10000101B 
     MOV IP, #00000100B
     MOV TCON, #00000000B 
     MOV SP, #70H
     MOV A, #00
     MOV P1, A
     MOV A,#00
LOOP: MOV P1, A
     CALL DELAY
     CPL A
     JMP LOOP

;-----------------------------------------
;定時器0中斷子程序
;-----------------------------------------

EXTO: PUSH ACC
     PUSH PSW
     SETB RS0
     CLR RS1
     MOV R3, #03
LOOP1: MOV A, #0FFH
     CLR C
      MOV R2, #08H
LOOP2: RLC A
     MOV P1, A
     CALL DELAY
     DJNZ R2, LOOP2
     MOV R2, #07
LOOP3: RRC A
     MOV P1, A
     CALL DELAY
     DJNZ R2, LOOP3
     DJNZ R3, LOOP1
     POP PSW
     POP ACC
      RETI
;-----------------------------------------
;定時器1中斷子程序
;-----------------------------------------
ETX1: PUSH ACC
     PUSH PSW
     SETB RS1
     CLR RS0
     MOV R3, #03
LOOP4: MOV A, #0FCH
     MOV R2, #06
LOOP5: RL A
     MOV P1, A
     CALL DELAY
     DJNZ R2, LOOP5
     MOV R2, #06
LOOP6: RR A
      MOV P1,A
      CALL DELAY
      DJNZ R2, LOOP6
      DJNZ R3, LOOP4
      POP PSW
      POP ACC
      RETI
;-----------------------------------------
;延時子程序
;-----------------------------------------
DELAY:
      MOV R5, #20
  D1: MOV R6, #20
  D2: MOV R7, #248
      DJNZ R7, $
      DJNZ R6, D2
      DJNZ R5, D1
      RET
END


作者: marui    時間: 2009-4-11 15:32

ORG 00H
JMP START
ORG 0003H
JMP EXT0
ORG 0013H
LJMP EXT1
START: MOV IE, #10000101B
MOV IP, #00000100B
MOV TCON, #00000000B
MOV SP, #70H
MOV A, #00
MOV P1, A
MOV A,#00
LOOP: MOV P1, A
CALL DELAY
CPL A
JMP LOOP
EXT0: PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
MOV R3, #03
LOOP1: MOV A, #0FFH
CLR C
MOV R2, #08H
LOOP2: RLC A
MOV P1, A
CALL DELAY
DJNZ R2, LOOP2
MOV R2, #07
LOOP3: RRC A
MOV P1, A
CALL DELAY
DJNZ R2, LOOP3
DJNZ R3, LOOP1
POP PSW
POP ACC
RETI
EXT1: PUSH ACC
PUSH PSW
SETB RS1
CLR RS0
MOV R3, #03
LOOP4: MOV A, #0FCH
MOV R2, #06
LOOP5: RL A
MOV P1, A
CALL DELAY
DJNZ R2, LOOP5
MOV R2, #06
LOOP6: RR A
MOV P1,A
CALL DELAY
DJNZ R2, LOOP6
DJNZ R3, LOOP4
POP PSW
POP ACC
RETI
DELAY: MOV R5, #20
D1: MOV R6, #20
D2: MOV R7, #248
DJNZ R7, $
DJNZ R6, D2
DJNZ R5, D1
RET
END

改好的,但不知道你的程序對不對,注意標號中的O和0及標號的寫法!


作者: 天天下雨    時間: 2009-4-19 22:36
一直強調注釋的
樓上正解

樓主的程序要看懂至少要半個小時
作者: hnsunjiana    時間: 2009-10-11 19:48

頂!樓上的。


作者: zhoufukang    時間: 2009-10-26 09:26

#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include <reg52.h>
void delay(void)      //延時子程序
{
 unsigned int i,j;    //循環延時
 for(i=0;i<400;i++)
 {
  for(j=0;j<121;j++)
  {;}
  }
}
void main(void)      //主程序
{
  uchar code ledp[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0xff,
             0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xff,
          0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x00,0xff,
          0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0x00,0xff,
          0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x00,0xff,
          0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0x00,0xff,
          0xf0,0xe1,0xc3,0x87,0x0f,0x00,0xff,
          0x0f,0x87,0xc3,0xe1,0xf0,0x00,0xff,
          0xe7,0xc3,0x81,0x00,0xff,
          0x81,0xc3,0xe7,0x00,0xff,
             0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xff,0x00,0xff,
                         0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0xff,0x00,0xff,
          0x00,0xff,0x00,0xff};//預定的寫入P1的值
  uchar ledi;   //定義一個變量
  while(1)
  {
   P1=ledp[ledi];    //P1口讀取預定值
   delay();       //調用延時程序
   ledi++;       //延時一次后讀入下一個值
   if(ledi==104)      //如果讀到最后一個數值
   {
   ledi=0;        //則將變量置0,從頭開始
   }
   }                  
}

 

獻丑了






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