亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 我這數碼管控制為啥不對呢 [打印本頁]

作者: darksoulson    時間: 2015-2-14 10:48
標題: 我這數碼管控制為啥不對呢
我的是四位七段數碼管,想顯示99秒計時,現在秒的低位不顯示,和高位變1低位也變1
程序如下
ORG 00H
START:
      MOV 30H,#40H
          MOV 31H,#79H
          MOV 32H,#24H
          MOV 33H,#30H
          MOV 34H,#19H
          MOV 35H,#12H
          MOV 36H,#02H
          MOV 37H,#78H
          MOV 38H,#00H
          MOV 39H,#10H          

          MOV 3AH,#40H    ;保存秒  10位
          MOV R7,#00H           ;秒10位數據保存
  YUN:MOV P1,#0FFH;將p1口置高電平
         
          
          
          
          MOV R0,#30H  ;把數碼管顯示數據表首地址傳送到工作寄存器R0,R0作為數碼管間接地址指針使用

          MOV R1,#10 ;作為p1.3數碼管從0-9循環顯示計數
  SAN:     ;此為計時p1.3從0-9循環顯示子程序
      SETB P1.2;將p1.2置高電平,
      CLR P1.3 ;置低電平,準備向P1.3寫入數據
       
      MOV P0,@R0;向p0寫入數碼管現實數據表第一位,也就是p1.3此時應該顯示地址30h中的數據40h,此時數碼管顯示0
          SETB P1.3
          CLR P1.2
          MOV P0,3AH
          CLR P1.3
      INC R0
          CALL YAN
          DJNZ R1,SAN
          INC R7
          CALL MIAOSHI
          
          JMP YUN

YAN:  MOV R2,#100
   D1:MOV R4,#50
   D: MOV R3,#200
      DJNZ R3,$
          DJNZ R4,D
          DJNZ R2,D1
          RET

MIAOSHI:CJNE R7,#1,MIAO2
                MOV  3AH,31H
                SETB P1.3
                MOV P0,3AH
                CLR P1.3
                RET
MIAO2: CJNE R7,#2,MIAO3
                MOV  3AH,32H
                SETB P1.3
                MOV P0,3AH
                CLR P1.3
                RET      
MIAO3:  
  END
作者: ahshmj    時間: 2015-2-14 22:25
程序的文字說明太少。但可以看出好像P0是段碼,不知道你的P1.2和P1.3是不是位控制?如果是,下面的兩段程序里面的都是P1.3不好理解。

MIAOSHI:CJNE R7,#1,MIAO2
                MOV  3AH,31H
                SETB P1.3
                MOV P0,3AH
                CLR P1.3
                RET
MIAO2: CJNE R7,#2,MIAO3
                MOV  3AH,32H
                SETB P1.3
                MOV P0,3AH
                CLR P1.3
                RET   

第一次運行到  MIAOSHI  時,R7=1,顯示段碼“79H”,第二次R7=2,顯示段碼“24H”,第3次R=3,全部程序結束。第一次顯示瞬間而過。看見的基本就是第二次的段碼“24H”,好像兩位數碼管顯示的一樣(因都是P1.3).不知道是不是編程的本意。
作者: 明白    時間: 2015-2-15 20:02
是低電平點亮數碼管的位,對嗎?

作者: 明白    時間: 2015-2-15 20:07
ORG 00H
START:
          MOV 30H,#40H
          MOV 31H,#79H
          MOV 32H,#24H
          MOV 33H,#30H
          MOV 34H,#19H
          MOV 35H,#12H
          MOV 36H,#02H
          MOV 37H,#78H
          MOV 38H,#00H
          MOV 39H,#10H         

          MOV R7,#00H           ;秒10位數據保存
  YUN:    MOV P1,#0FFH;將p1口置高電平        
          MOV R0,#30H  ;把數碼管顯示數據表首地址傳送到工作寄存器R0,R0作為數碼管間接地址指針使用
          MOV R1,#30H
          MOV R2,#10 ;作為p1.3數碼管從0-9循環顯示計數
          MOV R3,#10 ;
  SAN:     ;此為計時p1.3從0-9循環顯示子程序      
          MOV P0,@R0;向p0寫入數碼管現實數據表第一位,也就是p1.3此時應該顯示地址30h中的數據40h,此時數碼管顯示0
          CLR P1.3 ;置低電平,準備向P1.3寫入數據
          CALL YAN
          SETB P1.3
          MOV P0,@R1
          CLR P1.2
          CALL YAN
          SETB P1.2;將p1.2置高電平
          INC R0
          DJNZ R2,SAN
          MOV R0,#30H
          MOV R2,#10
          INC R1
          DJNZ R3,SAN
          MOV R1,#30H
          MOV R3,#10         
          JMP YUN

YAN:  MOV R4,#100
   D1:MOV R6,#50
   D: MOV R5,#200
      DJNZ R5,$
          DJNZ R6,D
          DJNZ R4,D1
          RET
  END
作者: darksoulson    時間: 2015-2-15 22:33
ahshmj 發表于 2015-2-14 22:25
程序的文字說明太少。但可以看出好像P0是段碼,不知道你的P1.2和P1.3是不是位控制?如果是,下面的兩段程序 ...

是啊前輩,我就弄得測試,沒寫十位3以后的,我這個是開始顯示00,過了十秒后就是p1.3位選秒的低位那個10次循環結束后顯示11,然后再十次循環結束后顯示22,能告訴我您的q嗎
作者: ahshmj    時間: 2015-2-16 18:21
darksoulson 發表于 2015-2-15 22:33
是啊前輩,我就弄得測試,沒寫十位3以后的,我這個是開始顯示00,過了十秒后就是p1.3位選秒的低位那個10 ...

就這樣聊不是蠻好么。




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