⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 447ex_tccquery.dt.txt

📁 EM78p447技术资料EM78p447技术资EM78p447技术资料
💻 TXT
字号:
;================================================
;447EX_TccQuery.dt源码(以查询方式实现外部TCC功能)
;crystal=4MHZ
;================================================

TCC         ==      0x01        ; TCC计数器
STATUS      ==      0x03        ; 状态寄存器
PORT6          ==      0x06        ; PORT5端口
IOCE        ==      0x0E        ; WDT控制寄存器
IOCF        ==      0x0F        ; 中断控制寄存器
ISR         ==      0x0F        ; 中断状态寄存器
        TCIF    ==    1
TCC_Buf     ==      0x20        ; 延时缓冲器
        num     ==      6
;--------------------------Main Program--------------------------------;
        ORG     0XFFF
        JMP     TCC_start

        ORG     0x10
;----------------------------------------------------------------------;
TCC_Delay:                      ; 延时子程序
        MOV     TCC_buf, A
TCC_Delay_Loop:
        DJZ     TCC_buf
        JMP     TCC_Delay_Loop
        RET
;----------------------------------------------------------------------;
TCC_start:
        MOV     A, @0x00
        IOW     IOCE            ; 关闭看门狗
        IOR     PORT6
        AND     A, @0b01111101
        IOW     PORT6              ; 设置PORT6.1、PORT6.7脚为输出
        BC      PORT6, 1           ; 关闭LED灯

        CONTR
        AND     A, @0b11110000  ; 保留不需要设置的状态位
        OR      A, @0b00110000  ; 设为外部TCC计数,下降沿触发,预除数为2
        CONTW

        MOV     A, @0x01           ; 允许计数器中断
        IOW     IOCF
TCC_Loop:
        JBS     ISR, TCIF       ; 判断TCC是否溢出
        JMP     TCC_Mch         ; 没有溢出
        MOV     A, @0xFE
        AND     ISR, A          ; 溢出,清中断标志位 
        MOV     A, @0x06           ; TCC计数次数=250
        MOV     TCC, A          ; 重新置TCC初值

        MOV     A, @0x02        ; 每200ms则PORT6.1取反一次
        XOR     PORT6, A           ; PORT6.1脚接LED灯(每400毫秒闪一次)
        JMP     TCC_Loop        ; 循环
TCC_Mch:
        BS      PORT6, 7           ; PORT6.7脚输出脉冲到TCC脚
        MOV     A, @0x82         ; 等待
        CALL    TCC_Delay
        BC      PORT6, 7           ; 下降沿到来
        MOV     A, @0x82         ; 等待
        CALL    TCC_Delay

        JMP     TCC_Loop
        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -