找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4978|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)程序問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:24748 發(fā)表于 2010-6-27 14:49 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

現(xiàn)在問(wèn)題是,上電能顯示654321,可當(dāng)按下P1.3口接的按鍵時(shí),6 個(gè)數(shù)碼管都不會(huì)亮了,程序哪里出了問(wèn)題

程序目的:上電時(shí)數(shù)碼管顯示654321,每次按下P1.3口按鍵時(shí)
        對(duì)31H中的數(shù)據(jù)加一,加到 10時(shí),31H中清0并對(duì)下一個(gè)地址
        (32H)中的數(shù)據(jù)加1,依次類(lèi)推
  *************************************************************

 


org 0000h
 jmp start
 org 0003h
 reti
 org 000bh
 reti
 org 0013h
jmp wzd1
 org 001bh
 reti
 org 0023h
 reti


 wzd1: push psw      ;外中斷入口
       push acc
       clr ea
       clr ex1
       jnb p1.3,key3    ;P1.3為0時(shí)轉(zhuǎn)KEY3
 wzdfh:pop acc          ;外中斷返回
       pop psw
       setb ea
       setb ex1
      reti
 key3:call delay10ms
     jb p1.3,wzdfh
    l1: jnb p1.3,$
       inc 31h           ;P1.3松開(kāi)時(shí)31H加1
     mov a,#10
     cjne a,31h,wzdfh     ;31H中不等于10中斷返回
     clr a
     mov 31h,a             ;31H中的數(shù)據(jù)清0并對(duì)下一地址中的數(shù)據(jù)加一
     inc 32h
     mov a,#10
     cjne a,32h,wzdfh
      clr a
     mov 32h,a
     inc 33h
     mov a,#10
     cjne a,33h,wzdfh
          clr a
     mov 33h,a
     inc 34h
     mov a,#10
     cjne a,34h,wzdfh
          clr a
     mov 34h,a
     inc 35h
     mov a,#10
     cjne a,35h,wzdfh
          clr a
     mov 35h,a
     inc 36h
     mov a,#10
     cjne a,36h,wzdfh
     clr a
     mov 36h,a
     jmp wzdfh

 start:mov 31h,#1
       mov 32h,#2
       mov 33h,#3
       mov 34h,#4
       mov 35h,#5
       mov 36h,#6
       clr p1.5
       setb ea
        setb ex1
 start1:call display
       jmp start1
display:mov r1,#31h
   mov r2,#00000001
play:  mov p0,#0ffh
       mov a,r2
       mov p2,a
       mov a,@r1
       mov dptr,#tab
       movc a,@a+dptr
       mov p0,a
       call delay1ms
       inc r1
       mov a,p2
       jb acc.5,endout
       rl a
       mov r2,a
       mov p2,#0h
       jmp play
endout:mov p0,#0ffh
       mov p2,#0
       ret
delay1ms:mov r3,#2
   d1:   mov r4,#250
   d2:   djnz r4,$
         djnz r3,d1
         ret
delay10ms: call play   ;10ms子程序,調(diào)用一次顯示子程序約6ms,調(diào)兩次約12ms
           call play
         ret

tab:db   48h,0ebh,52h,62h,0e1h,64h,44h,0eah,40h,60h
end


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:25782 發(fā)表于 2010-8-28 22:31 | 只看該作者
不想看匯編了,雖然寫(xiě)了一年多的匯編程序……
回復(fù)

使用道具 舉報(bào)

板凳
ID:25200 發(fā)表于 2010-8-29 19:52 | 只看該作者

哎~~

我也是開(kāi)始學(xué)匯編,現(xiàn)在開(kāi)始學(xué)C了~~~

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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