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

📄 872.asm

📁 单片机开发资料光盘-双龙-686M.zip
💻 ASM
字号:
.include "8535def.inc"
.org $000
 rjmp RESET
 rjmp EXT_INT0
RESET:   ldi r16,low(ramend)   ;栈指针置初值
         out spl,r16
         ldi r16,high(ramend)
         out sph,r16
         ldi r16,$ff           ;定义C口为输出
         out ddrc,r16
         ldi r16,$01           ;定义PD0为输出,PD2为输入
         out ddrd,r16
         sbi portd,0           ;先使PD0输出为高
         ldi r16,$02           ;定义INT0下降沿申请中断
         out mcucr,r16
         clr r16               ;清中断标志寄存器
         out gifr,r16
         ldi xh,$01            ;X指向打印缓冲区首址
         ldi xl,$00
         ldi r25,17            ;要打印的字符数
         ld r24,x+             ;向打印机数据口送第一个字符
         out portc,r24
         cbi portd,0           ;发选通脉冲( )
         rcall t1us
         sbi portd,0
         ldi r24,$40           ;使能INT0中断
         out gimsk,r24           
         sei                   ;开中断
here:    rjmp here

EXT_INT0:in r1,sreg            ;保护标志寄存器
         ld r24,x+             ;向打印机数据口送字符
         out portc,r24
         cbi portd,0           ;发选通脉冲( )
         rcall t1us
         sbi portd,0            
         dec r25               ;是否发完
         brne ext_int01         
         ldi r24,$00           ;发完则关INT0中断
         out gimsk,r24         
ext_int01:
         out sreg,r1           ;恢复标志寄存器
         reti         
t1us:    nop
         ret

⌨️ 快捷键说明

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