找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC89C52單片機(jī)定時計數(shù)器2使用遞加遞減計數(shù)不知那里錯了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:51928 發(fā)表于 2013-10-11 14:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
;------------單元賦值--------------------
        T2CON EQU 0C8H        ;T2CON定時/計數(shù)控制寄存器
        T2MOD EQU 0C9H        ;T2MOD控制寄存器
        RCAP2L EQU 0CAH;捕獲緩沖寄存器低
        RCAP2H EQU 0CBH;捕獲緩沖寄存器高
        TL2 EQU 0CCH ;16位計數(shù)儲存低位
        TH2 EQU 0CDH ;16位計數(shù)儲存高位
        TR2 BIT 0C8H.2;啟動T2
        TF2 BIT 0C8H.7 ;溢出標(biāo)志
        ET2 BIT IE.5  ;中斷允許
        EXF2 BIT 0C8H.6        ;外部中斷標(biāo)志
;-------------------------------------------------------
;-----------程序---------------------

        ORG 00H
        SJMP ABC             ;主程序
        ORG 2BH                                 ;中斷入口
        SJMP T2MAIN                         ;
ABC:
        MOV T2CON,#02H                 ;設(shè)置16自動重裝計數(shù)
        MOV R0,#0C9H
        MOV A,#0FFH
        MOV @R0, A
        MOV T2MOD,#0FFH                 ;設(shè)置可遞減計數(shù)
        MOV P3,0C9H                         ;我剛才檢測T2MOD,對不對
        MOV TH2,#0FFH                 ;送人計數(shù)初始值
        MOV TL2,#0F5H
        MOV RCAP2L,#0F5H         ;自動重裝值
        MOV RCAP2H,#0FFH
        SETB EA                                 ;開啟中斷
        SETB ET2                     ;允許T2中斷
        CLR P0.0
        ;CLR P1.1                         ;我剛調(diào)試用的
        SETB TR2                         ;啟動計數(shù)2
SSS:
        MOV P2,TL2                         ;捕獲16位計數(shù)地位數(shù)值
        LCALL YS1S                         ;延時1s
        SJMP SSS                         ;重新捕獲
T2MAIN:                                         ;T2中斷服務(wù)
        CLR TF2
        CLR EXF2                                 ;軟清零
        MOV A,TH1                         ;判斷重新裝載數(shù)值
        CJNE A,#0FFH,T2MAIN1  ;判斷是遞加?還是遞減?
        CLR P0.1          ;遞減幫p0.1清零
        SJMP T2END
T2MAIN1:
        CLR P0.2          ;遞加p0.2清零
T2END:
        RETI                   ;返回中斷服務(wù)斷點開始
YS1S:                                   ;延時1s
         MOV R6,#04H
DL0:
        MOV R5,#0F8H
        DJNZ R5,$
        DJNZ R6,DL0
        NOP
        RET
        END
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:7485 發(fā)表于 2013-10-13 19:19 | 只看該作者
捕獲或重裝載不能同時用,T2CON.0置位時,是捕獲功能,清0時,是重裝載功能。重裝載16位數(shù)值或捕獲的16位數(shù)值都是在RCAP2L、RCAP2H中。

如果是捕獲的話,需要將T2CON.3置位。
回復(fù)

使用道具 舉報

板凳
ID:52286 發(fā)表于 2013-10-13 22:06 | 只看該作者
匯編看不懂
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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