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

📄 led_jianming.dt

📁 义隆单片机控制8个LED的渐明渐暗
💻 DT
字号:
;===============================================
;   晶振4MHz,周期为4个时钟,指令周期为1us
;===============================================

;---------------定义变量------------------------- 
             r3       ==  0x03
             port5    ==  0x05
             temp     ==  0x10
             flag1    ==  0x15
;---------------程序入口地址--------------------------            
             
             org    0x00     ;复位入口地址
             jmp    main
             
;---------------初始化程序------------------------------            
            org    0x10     ;程序入口地址
    main:                    
            mov   a,@0x00
            iow   port5      ;p5口作为输出
            clra
            iow   0x0e
            clr   temp       ;计数器清零
            clr   flag1      ;标志位清零
;----------------主程序------------------------------
     loop:
            call  light_adj  ;调节LED亮度值
            call  light_disp  ;LED显示
            jmp   loop
;----------------LED显示-----------------------------
light_disp:
            mov   a,@0x00    ;LED输出低电平
            mov   port5,a
            
            mov  a,temp      ;LED100等份的变量值
            mov  0x13,a
        d1:
            mov  a,@25        ; 延时25*4us=0.1ms
            mov  0x14,a
        d2:
            nop
            djz  0x14
            jmp  d2            ;4个指令周期*4个时钟/4MHZ=4us
            djz  0x13
            jmp  d1
            com  port5
            
            mov  a,@0x64
            sub  a,temp
            mov  0x13,a
        d3:
            mov  a,@25
            mov  0x14,a
        d4:
            nop
            djz  0x14
            jmp  d4
            djz  0x13
            jmp  d3
            ret
            
light_adj:
            jbc  flag1,0
            jmp  light_dec
            inc  temp
            mov  a,@0x64
            sub  a,temp
            jbs  r3,2
            jmp  light_over
            bs   flag1,0
            bc   r3,2
            jmp  light_over
light_dec:
            dec  temp
            mov  a,@0x01
            sub  a,temp
            jbs  r3,2
            jmp  light_over
            clr  temp
            bc   flag1,0
            bc   r3,2
light_over:
            ret  
            end          

⌨️ 快捷键说明

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