📄 汉字输入.asm
字号:
;*********************8X8LED显示汉字字符.ASM **********************************
;*
;* 标题: 用8X8LED显示汉字字符
;* 版本: 1.0
;*最后更新日期: 2000.08.08
;*
;* 支援 E-mail: gzsl@sl.com.cn
;*
;* 描述
;* 用AVR单片机,用8X8LED显示汉字字符
;* 实验器件用AT90S8515,必须有AT90S8515的文件头*.inc
;* 作者: SL.GRC
;* 程序适用于所有单片机,更详细中文注释资料见<<汉字输入>>一文
;***************************************************************************
.include "8515def.inc"
.def dspn =r23
.def temp2 =r24
.def temp1 =r17
.def temp =r18
.def scndp =r19
.def cnt =r20
.equ dpfstb =0x01e0
.org $0000
rjmp RESET ;Reset Handle
.org $0010
RESET: ldi r16,high(RAMEND)
out SPH,r16
ldi r16,low(RAMEND)
out SPL,r16
ldi r16,0xff
out ddra,r16
out ddrc,r16
dspfst: ldi dspn,0x07
ldi zh,high(dpfstb*2)
ldi zl,low(dpfstb*2)
dspfm: rcall ldtb8
ldi temp2,0xa0
dspfm1: rcall scan1
dec temp2
brne dspfm1
dec dspn
brne dspfm
rjmp dspfst
scan1: push xl
ldi temp,0b01111111
mov scndp,temp
ldi cnt,0x08
col1: out portc,scndp
ld r1,x+
out porta,r1
ldi r16,0x10
rcall delay
sec
ror scndp
dec cnt
brne col1
pop xl
ret
ldtb8: ldi xl,0x80
ldi xh,0x00
ldi temp1,0x08
push xl
nexld1: lpm
st x+,r0
ld r0,z+
dec temp1
brne nexld1
pop xl
ret
delay: push r16
del0: push r16
del1: dec r16
brne del1
pop r16
dec r16
brne del0
pop r16
dec r16
brne delay
ret
.org dpfstb;
;S
.db 0b00111000,0b01000100,0b00001000,0b00010000
.db 0b00100000,0b01000000,0b00100100,0b00011000
;L
.db 0b00000000,0b00000100,0b00000100,0b00000100
.db 0b00000100,0b00000100,0b01111100,0b00000000
;SHUAN
.db 0b01110111,0b01010101,0b01010101,0b00100010
.db 0b00100010,0b01010101,0b01010101,0b01010101
;LONG
.db 0b00101000,0b01001000,0b11111111,0b00001000
.db 0b00110100,0b00010010,0b10011010,0b11110001
;DIAN
.db 0b00000100,0b00011111,0b00010101,0b00011111
.db 0b00010101,0b00011111,0b10000100,0b11111100
;ZHI
.db 0b00000000,0b01111100,0b00100000,0b00010000
.db 0b11111110,0b00100000,0b00101000,0b00010000
;NOP
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -