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

📄 led-1(dingshi).dt

📁 义隆单片机控制8个LED的渐明渐暗
💻 DT
字号:
; ===========================================
;中断方式实现内部TCC功能
;晶振=4MHZ,指令周期为4个时钟 
;============================================
;--------------------------------------------------
;       定义变量
;-------------------------------------------------------
TCC         ==      0x01
status      ==      0x03        ; 状态寄存器
PORT5       ==      0x05        ; PORT5端口
IOCB        ==      0x0b
IOCE        ==      0x0E        ; WDT控制寄存器
IOCF        ==      0x0F        ; 中断控制寄存器
ISR         ==      0x0F        ; 中断状态寄存器
A_BUF       ==      0x10        ; 保存中断前A的值
TCC_Count   ==      0x11        ; 自定义计数器
flag        ==      0x12
num         ==      246
Z           ==      2
;----------------------------主程序------------------------------;
        ORG     0x00
        JMP     tcc_start
        ORG     0x08
;----------------------------------------------------------------------;
TCC_INT:
        MOV     A_BUF, A       ; 保存A的值
        mov     a,@0x0e
        mov     TCC,a
        MOV     A, @0xFE        
        AND     ISR, A          ; 清中断标志位
        INC     TCC_Count       ; 每中断一次TCC_Count计数器加1
        JBS     status,Z       ; 判断TCC_Count是否溢出
        JMP     TCC_out         ; 没有溢出
        mov     a,@num
        mov     TCC_Count,a
        bs      flag,0
TCC_out:
        MOV     A, A_BUF        ; 恢复A的值
        RETI                    ; 中断返回
;----------------------------------------------------------------------;
tcc_start:
        MOV     A, @0x00
        IOW     IOCE               ; 关闭看门狗
        MOV     A, @0x02
        IOW     PORT5              ; Port5为输出口
        mov     a,@0xfd
        IOW     IOCB
        BC      PORT5,0          ; 关闭LED灯
        bc      flag,0
        mov     a,@num
        mov     TCC_Count,a
        MOV     A, @0b11010000           ; 保留不需要设置的状态位
        OR      A, @0b00000010           ; 预除数为8
        CONTW
        MOV     A, @0x01           ; 允许计数器中断
        IOW     IOCF                                        
        ENI                       ; 开中断
main:
        
        jbs     port5,1
        jmp     main_out
        jbs     flag,0
        jmp     main_out
        bc      flag,0
        jbs     port5,1
        jmp     main_out
        bs      port5,0
main_in:
        jbc     port5,1
        jmp     main_in
        bc      port5,0
        
main_out:
           jmp   main
        END

⌨️ 快捷键说明

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