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

QQ登錄

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

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

使用兩個(gè)按鍵控制共陽(yáng)極數(shù)碼管計(jì)時(shí)的暫停和繼續(xù)(匯編語(yǔ)言+普中單片機(jī))

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1135835 發(fā)表于 2024-11-14 22:06 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
實(shí)在是不知道怎么加兩個(gè)中斷用來(lái)開(kāi)始和暫停目前只會(huì)寫以下兩種0到9共陽(yáng)極數(shù)碼管循環(huán)

程序一(自動(dòng)循環(huán))

    ORG     0000H
        LJMP    START
        ORG     0040H
START:  MOV     DPTR,#NUMTAB       ;讀數(shù)據(jù)表入口地址
        MOV     R0,#00H            ;R0地址初始化
LOPDSP: MOV     A,R0
        MOVC    A,@A+DPTR          ;讀數(shù)字對(duì)應(yīng)編碼
        MOV     P0,A
        ACALL   DELAY
        INC     R0                 ;數(shù)字加1
        CJNE    R0,#0AH,LOPDSP     ;大于9,再?gòu)?顯示
        JMP     START
DELAY:      MOV     R6,#0FFH
LP1:    MOV     R7,#0FFH
LP:     DJNZ    R7,LP
        DJNZ    R6,LP1
        RET

NUMTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
        END


程序二(按鍵按一下加一,使用一個(gè)中斷子程序)
; 使用P0接靜態(tài)數(shù)碼管
; 使用P1接LED燈(本程序中未使用)
; 使用P3.2接獨(dú)立按鍵K1,外部中斷0和P3.2引腳綁定
; 按鍵無(wú)消抖
;-------------------------------------
        ORG 0000H     ; ORG為程序段說(shuō)明偽指令,它向匯編程序說(shuō)明該程序段的起始地址,所以可以當(dāng)中斷向量地址用
        LJMP L_Main   ; 跳轉(zhuǎn)到L_Main標(biāo)號(hào)處
        ORG 0013H     ; 0003H為外部中斷0向量地址
        LJMP I_INT1   ; 跳轉(zhuǎn)到I_INT1標(biāo)號(hào)處
        ORG 0030H
L_Main:
        ; 初始化中斷
        SETB EA           ; 總中斷允許控制位設(shè)置為1
        SETB EX1          ; 外部中斷0允許位設(shè)置為1
        SETB PX1          ; 外部中斷0優(yōu)先級(jí)設(shè)置為1
        SETB IT1          ; 外部中斷0設(shè)置為下降沿觸發(fā)方式

        MOV DPTR,#T_table ; T_table所在地址賦值給DPTR
        MOV R0,#000H      ; 立即數(shù)賦值給R0,給R0賦初值,在中斷中用到
        MOV P0,#0C0H      ; 設(shè)置數(shù)碼管顯示的初始值(熄滅)

        ; 主循環(huán)
L_MainLoop:
        SJMP L_MainLoop   ; 無(wú)限循環(huán)

;---------------------------------------
I_INT1:
        PUSH ACC           ; ACC地址單元中的數(shù)據(jù)壓棧
        PUSH PSW           ; 程序狀態(tài)字寄存器壓棧
        MOV A,R0           ; 將R0的值移動(dòng)到累加器A
        MOVC A,@A+DPTR     ; 根據(jù)A的值和DPTR的值,從數(shù)據(jù)表中取數(shù)到A
        MOV P0,A           ; 將累加器A的值移動(dòng)到P0口,更新數(shù)碼管顯示
        INC R0             ; R0寄存器值加1
        CJNE R0,#10,L_Next ; 如果R0不等于10就跳轉(zhuǎn)到L_Next
        MOV R0,#000H       ; 如果R0等于10,則重置為0
L_Next:
        POP PSW            ; 程序狀態(tài)字寄存器出棧
        POP ACC            ; ACC地址單元中的數(shù)據(jù)出棧
        RETI               ; 中斷返回
;---------------------------------------
T_table:

        DB        0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H,0F8H, 80H, 90H
        END

想用普中開(kāi)發(fā)板P3.2,P3.3連K1,K2兩個(gè)按鈕控制開(kāi)始和暫停,求教各位大佬,謝謝

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

使用道具 舉報(bào)

地板
ID:1135835 發(fā)表于 2024-11-15 13:07 | 只看該作者
lkc8210 發(fā)表于 2024-11-15 09:39
普中板子的數(shù)碼管不是共陰的嗎?
取模應(yīng)該是3FH, 06H, 5BH...

板子上共陽(yáng)共陰都有,我用的是共陽(yáng)的那個(gè)一位靜態(tài)數(shù)碼管
回復(fù)

使用道具 舉報(bào)

板凳
ID:161164 發(fā)表于 2024-11-15 09:39 | 只看該作者
普中板子的數(shù)碼管不是共陰的嗎?
取模應(yīng)該是3FH, 06H, 5BH...
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:624769 發(fā)表于 2024-11-15 08:45 | 只看該作者
P33  暫停
P32  繼續(xù)


        CSEG                0000H
        LJMP    START
        CSEG                0003H                //P32, INT0
        CLR        IE1
        RETI
MAIN_SEG        segment code
RSEG        MAIN_SEG
START:        SETB        IT0        //下降沿
                SETB        IT1        //下降沿
                SETB        EX0        //開(kāi)INT0中斷
                SETB        EA        //開(kāi)總中斷
Main_Loop:
        MOV     DPTR,#NUMTAB       ;讀數(shù)據(jù)表入口地址
        MOV     R0,#00H            ;R0地址初始化
LOPDSP: MOV     A,R0
        MOVC    A,@A+DPTR          ;讀數(shù)字對(duì)應(yīng)編碼
        MOV     P0,A
        ACALL   DELAY
        JB        IE1,$                //暫停
        INC     R0                 ;數(shù)字加1
        CJNE    R0,#0AH,LOPDSP     ;大于9,再?gòu)?顯示
        JMP     Main_Loop
DELAY:      MOV     R6,#0FFH
LP1:        MOV     R7,#0FFH
LP:        DJNZ    R7,LP
      DJNZ    R6,LP1
      RET

NUMTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
        END
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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