找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3561|回復(fù): 5
收起左側(cè)

我這數(shù)碼管控制為啥不對呢

[復(fù)制鏈接]
ID:73640 發(fā)表于 2015-2-14 10:48 來自手機(jī) | 顯示全部樓層 |閱讀模式
我的是四位七段數(shù)碼管,想顯示99秒計(jì)時(shí),現(xiàn)在秒的低位不顯示,和高位變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位數(shù)據(jù)保存
  YUN:MOV P1,#0FFH;將p1口置高電平
         
          
          
          
          MOV R0,#30H  ;把數(shù)碼管顯示數(shù)據(jù)表首地址傳送到工作寄存器R0,R0作為數(shù)碼管間接地址指針使用

          MOV R1,#10 ;作為p1.3數(shù)碼管從0-9循環(huán)顯示計(jì)數(shù)
  SAN:     ;此為計(jì)時(shí)p1.3從0-9循環(huán)顯示子程序
      SETB P1.2;將p1.2置高電平,
      CLR P1.3 ;置低電平,準(zhǔn)備向P1.3寫入數(shù)據(jù)
       
      MOV P0,@R0;向p0寫入數(shù)碼管現(xiàn)實(shí)數(shù)據(jù)表第一位,也就是p1.3此時(shí)應(yīng)該顯示地址30h中的數(shù)據(jù)40h,此時(shí)數(shù)碼管顯示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
回復(fù)

使用道具 舉報(bào)

ID:7485 發(fā)表于 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   

第一次運(yùn)行到  MIAOSHI  時(shí),R7=1,顯示段碼“79H”,第二次R7=2,顯示段碼“24H”,第3次R=3,全部程序結(jié)束。第一次顯示瞬間而過?匆姷幕揪褪堑诙蔚亩未a“24H”,好像兩位數(shù)碼管顯示的一樣(因都是P1.3).不知道是不是編程的本意。
回復(fù)

使用道具 舉報(bào)

ID:19715 發(fā)表于 2015-2-15 20:02 | 顯示全部樓層
是低電平點(diǎn)亮數(shù)碼管的位,對嗎?
回復(fù)

使用道具 舉報(bào)

ID:19715 發(fā)表于 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位數(shù)據(jù)保存
  YUN:    MOV P1,#0FFH;將p1口置高電平        
          MOV R0,#30H  ;把數(shù)碼管顯示數(shù)據(jù)表首地址傳送到工作寄存器R0,R0作為數(shù)碼管間接地址指針使用
          MOV R1,#30H
          MOV R2,#10 ;作為p1.3數(shù)碼管從0-9循環(huán)顯示計(jì)數(shù)
          MOV R3,#10 ;
  SAN:     ;此為計(jì)時(shí)p1.3從0-9循環(huán)顯示子程序      
          MOV P0,@R0;向p0寫入數(shù)碼管現(xiàn)實(shí)數(shù)據(jù)表第一位,也就是p1.3此時(shí)應(yīng)該顯示地址30h中的數(shù)據(jù)40h,此時(shí)數(shù)碼管顯示0
          CLR P1.3 ;置低電平,準(zhǔn)備向P1.3寫入數(shù)據(jù)
          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
回復(fù)

使用道具 舉報(bào)

ID:73640 發(fā)表于 2015-2-15 22:33 來自手機(jī) | 顯示全部樓層
ahshmj 發(fā)表于 2015-2-14 22:25
程序的文字說明太少。但可以看出好像P0是段碼,不知道你的P1.2和P1.3是不是位控制?如果是,下面的兩段程序 ...

是啊前輩,我就弄得測試,沒寫十位3以后的,我這個(gè)是開始顯示00,過了十秒后就是p1.3位選秒的低位那個(gè)10次循環(huán)結(jié)束后顯示11,然后再十次循環(huán)結(jié)束后顯示22,能告訴我您的q嗎
回復(fù)

使用道具 舉報(bào)

ID:7485 發(fā)表于 2015-2-16 18:21 | 顯示全部樓層
darksoulson 發(fā)表于 2015-2-15 22:33
是啊前輩,我就弄得測試,沒寫十位3以后的,我這個(gè)是開始顯示00,過了十秒后就是p1.3位選秒的低位那個(gè)10 ...

就這樣聊不是蠻好么。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表