Quiero conectar una impresora térmica con un microcontrolador 8051. La impresora térmica tiene un puerto paralelo DB25. No obtuve la información sobre el controlador de dispositivo de la impresora térmica.
La impresora que estoy usando es una cbm-1000.
RM - probablemente: impresora Citizen CBM1000 según el manual aquí
La única información que tengo disponible es:
- (1). Escribe el byte en el puerto de datos.
-
(2). Verifique si la impresora está ocupada.
Si la impresora está ocupada, no aceptará ningún dato,
por lo tanto, cualquier dato que se escriba se perderá. -
(3). Tome la luz estroboscópica (Pin 1) bajo. Esto le dice a la impresora que hay los datos correctos en las líneas de datos. (Pines 2-9)
- (4). Vuelva a colocar el estroboscópico en alto después de esperar aproximadamente 5 microsegundos después de colocar el estroboscópico en posición baja. (Paso 3)
Por favor, ayúdame en este proyecto
setb p1.5 busy
bit P1.5 strobe
bit P1.4 port
Data equ P2
org 0h
start:
call word_Welcome
call enter call word_Lab
call enter
quit: sjmp Quit
Printchar:
mov portData,A
jb busy,$
setb strobe
clr strobe
acall delay
Setb strobe
acall delay
ret
delay:
mov R7,#90
del1:
mov R6,#50
DJNZ R6,$
DJNZ R7,del1
ret
word_welcome:
mov DPTR,#Text_welcome
lagi1:
clr A
movc A,@A+DPTR
cjne A,#'$',Print1
sjmp Out1
Print1:
call Printchar
inc dptr
call delay
sjmp lagi1
Out1:
ret
word_Lab:
mov DPTR,#Text_lab
lagi2:
clr A
movc A,@A+DPTR
cjne A,#'$',Print2
sjmp Out2
Print2:
call Printchar
inc dptr
call delay
sjmp lagi2
Out2:
ret
Enter:
mov A,#0dh
call printchar
call delay
mov A,#0ah
call printchar
ret
Text_welcome:
DB 'aWelcome To$'
Text_Lab:
DB 'Computer Laboratory$'
end