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

📄 p50的方波.dt

📁 义隆单片机控制8个LED的渐明渐暗
💻 DT
字号:
; ===========================================
;      中断方式实现内部TCC功能
;      晶振=4MHZ,指令周期为4个时钟 
;============================================
;--------------------------------------------------
;               系统变量
;-------------------------------------------------------
tcc           ==      0x01                  ; TCC计数器
port5         ==      0x05                  ; PORT5端口
ioc5          ==      0x05                  ; port5控制端口
IOCE          ==      0x0E                  ; WDT控制寄存器
IOCF          ==      0x0F                  ; 中断控制寄存器
intf          ==      0x0F                  ; 中断状态寄存器
;---------------------------------------------------------------------
               ;定义变量
;---------------------------------------------------------------------
a_buf         ==      0x10                  ; 保存中断前A的值
;----------------------------程序入口地址------------------------------;
              org     0x00
              jmp     start                 ; 开始程序入口
              org     0x08                  ; 中断入口地址
;----------------------------------------------------------------------;
tcc_int:
              mov     a_buf, a              ; 保存A的值
              mov     a,@0x0e               ; TCC计数初值
              mov     tcc,a
              mov     a, @0xfe        
              and     intf, a               ; 清中断标志位
;----------------------------------------------------------------------- 
              mov     a,@0x01
              xor     port5,a               ; 取反输出(P5.0LED)
;----------------------------------------------------------------------
tcc_out:
              mov     a, a_buf              ; 恢复A的值
              reti                          ; 中断返回
;---------------------主程序-----------------------------------------------;
start:
              mov     a, @0x00
              iow     ioce                  ; 关闭看门狗
;---------------------设置IO口--------------------------------------------
              clra       
              iow     ioc5                  ; Port5为输出口
;------------------赋初值-------------------------------------------------;
   
;--------------------------------------------------------------------------
              bc      port5,0
;----------------------------------------------------------------
              mov     a, @0b11010000        ; 保留不需要设置的状态位
              or      a, @0b00000000        ; 预除数2
              contw
              mov     a, @0x01              ; 允许计数器中断
              iow     iocf
              eni                           ; 开中断
;----------------------等待中断----------------------------------------------;
main:
              nop
              nop
main_out:
              jmp     main
              END

⌨️ 快捷键说明

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