?? printer.asm
字號(hào):
;這是一個(gè)使用單片機(jī)的I/O口線控制微型打印機(jī)的實(shí)用程序.
;微型打印機(jī)為: 40針內(nèi)含漢字庫(kù)的并行接口點(diǎn)陣打印機(jī)
;將微打的D0-D7接焊盤 P0.0--P0.7,將微打的/STB,BUSY接焊盤的P2.0-P2.1.
;將P0.0-P0.7,P2.1-P2.0跳帽置焊盤位.
----------- IT'S FOR S51E --------------------------
dat_port equ p0
stb bit p2.0
busy bit p2.1
org 000h
JMP START
ORG 100H
;----------------------------------------
start:mov P0,#0ffh ;初始化MCU端口
mov P1,#0ffh
mov P3,#0ffh
MOV P2,#0F0H
MOV A,#00H ;初始化寄存器
MOV PSW,#00H
MOV IE,#00H
MOV SP,#30H
main: acall ho1o ;調(diào)用一級(jí)庫(kù)打印
acall lopo ;打印"#-#-"20個(gè)
acall hoho ;換一行
mov A,#00H
MOV R6,#00H
MOV DPTR,#TAB1
lop1: MOV A,R6 ;打印"1234567890ABCDEFGHIJKLMNOP
movc a,@a+dptr ;QRSTUVWXYZ OK!"字符
acall sozo
inc r6
CjnE r6,#46,lop1
acall hoco ;換行
acall lopo ;再打印"#-#-"20個(gè)
acall hoho ;換行
acall hogo ;設(shè)定打印漢字方式
mov A,#00H
MOV R6,#00H
MOV DPTR,#TAB2
lop2: MOV A,R6 ;打印"歡迎使用南京偉煌S51在線開發(fā)板!"
movc a,@a+dptr
acall sozo
inc r6
CjnE r6,#34,lop2
acall hoco ;回車換行
acall hoco
jmp $ ;演示結(jié)束!
ho1o:mov a,#1bh ;調(diào)用一級(jí)庫(kù)
acall sozo
mov a,#38h
acall sozo
mov a,#00h
acall sozo
acall hoho
ret
hoho:mov a,#0ah ;換行
acall sozo
ret
hoco:mov a,#0dh ;回車換行
acall sozo
ret
hogo:mov a,#1bh ;選定16*16漢字點(diǎn)陣
acall sozo
mov a,#38h
acall sozo
mov a,#00h
acall sozo
ret
lopo: mov r7,#15
l1po: mov a,#23h ;"#"
acall sozo
mov a,#2Dh ;"-"
acall sozo ;
djnz r7,l1po
ret
sozo: push dph ;打印單字符或傳輸指令
push dpl
jb busy,$ ;/busy ?
mov dat_port,a
clr stb
nop
setb stb
pop dpl
pop dph
ret
;ORG 800H ;單字符字碼表(單字節(jié))
TAB1: db 31h,32h,33h,34h,35h,36h,37h,38h,39h,30h
db 41h,42h,43h,44h,45h,46h,47h,48h,49h,4ah
db 4bh,4ch,4dh,4eh,4fh,51h,52h,53h,54h,0dh
db 55h,56h,57h,58h,59h,5ah,20h,20h,20h,20h
db 2dh,2dh,4fh,4bh,20h,21h
;org 900h ;漢字字碼表(雙字節(jié))
TAB2: db 0bbh,0b6h,0d3h,0adh,0cah,0b9h,0d3h,0c3h ;"歡迎使用"
db 0c4h,0cfh,0beh,0a9h,0b0h,0aeh,0cbh,0bch ;"南京偉煌"
db 0A3h,0b5h,0a3h,0b1h,0a3h,0c2h ;"S51"
db 0b8h,0dfh,0bch,0b6h,0d3h,0c3h ;"在線開"
db 0bbh,0a7h,0b0h,0e5h,0a3h,0a1h ;"發(fā)板!"
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -