Professional Documents
Culture Documents
main: mov a,#38h lcall command lcall delay mov a,#0eh lcall command lcall delay mov a,#'z' lcall datw lcall delay mov a,#'y' lcall datw lcall delay mov a,#'a' lcall datw lcall delay mov a,#'d' lcall datw lcall delay command:
mov p2,a clr p3.0 clr p3.1 setb p3.2 lcall delay clr p3.2 ret datw: mov p2,a setb p3.0 clr p3.1 setb p3.2 lcall delay clr p3.2 ret
delay: mov r1,#50 loop1: mov r0,#250 loop0: nop DJNZ r0,loop0 DJNZ r1,loop1 ret end
code keypad:
$mod51
$debug org 0
main: back:mov a,#38h lcall command lcall delay mov a,#0eh lcall command lcall delay
lcall scan
command: mov p2,a clr p3.0 clr p3.1 setb p3.2 lcall delay clr p3.2 ret
delay: mov r1,#200 loop1: mov r0,#200 loop0: nop DJNZ r0,loop0 DJNZ r1,loop1 ret
scan: lcall col_1 lcall col_2 lcall col_3 lcall col_4 lcall scan
mov r2,a cjne r2,#1110b,s1 mov a,#'1' lcall datw lcall delay
col_2: clr p1.5 mov a,p1 anl a,#0fh mov r2,a cjne r2,#1110b,s5 mov a,#'2' lcall datw lcall delay
col_3: clr p1.6 mov a,p1 anl a,#0fh mov r2,a cjne r2,#1110b,s9 mov a,#'3' lcall datw lcall delay
col_4: clr p1.7 mov a,p1 anl a,#0fh mov r2,a cjne r2,#1110b,s13 mov a,#'4' lcall datw lcall delay
cjne r2,#0111b,s17 s17:mov a,#01h lcall command lcall delay ljmp back
end
code Interrupt:
$mod51 $debug org 0 ljmp main
org 0001BH clr p2.2 mov r0,#7 loop: djnz r0,loop setb p2.2
setb tr1
end
Code serial:
//transfer: mov tmod,#20h mov th1,-3 mov scon,#50h setb tr1