Consulta Rapida 8051 INSTRUÇÕES
Consulta Rapida 8051 INSTRUÇÕES
Consulta Rapida 8051 INSTRUÇÕES
10K F 7 F7 F6 F5 F4 F3 F2 F1 F0 F0 8D
D0
10K E 6 ACC TL1
D1 E7 E6 E5 E4 E3 E2 E1 E0 E0 8C
10K enter D 5 D2 CY AC F0 RS1 RS0 OV - P PSW TH0
10K gravar C 4 D3 D7 D6 D5 D4 D3 D2 D1 D0 D0 8B
10K ler B 3 D4 PS PT1 PX1 PT0 PX0 IP TL0
10K esc A 2 BF BE BD BC BB BA B9 B8 B8 8A
D5
10K 9 1 P3.7 P3.6 P3.5 P3.4 P3.3 P3.1 P3.0 P3 TMOD
D6 B7 B6 B5 B4 B3 B2 B1 B0 B0 89
10K 8 0
D7 EA ES ET1 ET0 EX0 IE TF1 TR1 TF0 TR0 IE1 IE0 IT0 TCON
74138 AF AE AD AC AB AA A9 A8 A8 8F 8E 8D 8C 8B 8A 89 88 88
A2 C Y7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.1 P2.0 P2 SMOD GF1 PD IDL PCON
A1 B Y6 A7 A6 A5 A4 A3 A2 A1 A0 A0 87
A0 A Y5
Y4 SBUF DPH
Y3 99 83
Vcc G1 Y2 SM0 SM1 SM2 REN TB8 TI RI SCON DPL
G2A Y1 9F 9E 9D 9C 9B 9A 99 98 98 82
Io2
G2B Y0
P1.7 P1.6 P1.5 P1.4 P1.3 P1.1 P1.0 P1 SP
97 96 95 94 93 92 91 90 90 81
ENDEREÇO DE BIT ENDEREÇO DE BYTE P0.7 P0.6 P0.5 P0.4 P0.3 P0.1 P0.0 P0
MNEUMÔNICO DE BIT MNEUMÔNICO DE REGISTRO 87 86 85 84 83 82 81 80 80
E800 0 1 2 3 4 5 6 7
E801 8 9 A B C D E F
AFH AEH ADH ACH ABH AAH A9H A8H A8H
E802 ESC LER GRAVAR ENTER
EA X X ES ET1 EX1 ET0 EX0 IE
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
REN em 1 habilita a recepção. Em 0 desabilita a recepção e o pino RXD (P3.0) pode ser utilizado como I/O
TB8 sem função sem função indica o estado do nono bit de dados a ser transmitido. Pode ser “setado”
ou zerado por software.
RB8 sem função indica o estado do stop bit recebido, se indica o estado do nono bit de dados recebido.
SM2 estiver em 0.
TI flag de requisição de interrupção de transmissão. É “setado” pelo hardware ao início do stop bit (ou após a transmissão do oitavo bit de
dados). Deve ser zerado pelo software da rotina de transmissão para permitir novas interrupções.
RI flag de requisição de interrupção de recepção. É “setado” pelo hardware durante a recepção do stop bit (ou após a recepção do oitavo bit de
dados). Deve ser zerado pelo software da rotina de recepção para permitir novas interrupções.
var0 EQU 0H start: MOV SCON, #40H tempo EQU 2000 dado EQU ‘X’
var1 EQU 1H MOV TMOD, #20H
MOV TH1, #0F4H delay: MOV TMOD, #10H printf: LCALL limpa_display
delay: PUSH var0 MOV TL1, TH1 MOV TH1, #HIGH(65535-tempo) LCALL posiciona
PUSH var1 MOV IE, #90H MOV TL1, #LOW(65535-tempo) MOV A, #dado
MOV var0, #n0 MOV TCON, #40H CLR TF1 LCALL dado_LCD
delay0: MOV var1, #n1 SETB TR1 RET
MOV R7, #6 delay0: JNB TF1, delay0
delay1: DJNZ var1, delay1
MOV DPTR, #texto CLR TF1 limpa_display: MOV A, #1
DJNZ var0, delay0
CLR TR1 LCALL controle_LCD
dado: MOVX A, @DPTR
POP var1 RET RET
MOV SBUF, A
POP var0
wait: JNB TI, wait
RET posiciona : MOV A, #80H
CLR TI tdelay EQU 200
n_timer EQU 30H LCALL controle_LCD
𝑡 = 12𝑇 11 + 𝑛0 3 + 2𝑛1 INC DPTR
valor EQU 50 RET
DJNZ R7, dado
ORG 4260H
fim: SJMP fim CLR TF1 dado_LCD: PUSH DPL
CLR TR1 PUSH DPH
valor EQU 30H MOV DPTR, #0EC01H
texto: DB “Escola” MOV TH1, #(255+1- tdelay)
msb EQU 31H MOVX @DPTR, A
lsb EQU 32H MOV TL1, TH1
cont EQU 30H DJNZ n_timer, naopisca LCALL delay
cod_saida EQU 31H MOV n_timer, # valor POP DPH
converte: MOV A, valor POP DPL
MOV B, #10 tecla EQU 32H CPL P1.0
naopisca:SETB TR1 RET
DIV AB
ADD A, #30H converte: MOV cont, #0FFH RETI
MOV DPTR, #tabela1 controle_LCD: PUSH DPH
MOV msb, A PUSH DPL
MOV A, B prox: INC cont get: MOV DPTR, #0E800H
MOV A, cont MOV DPTR, #0EC00H
ADD A, #30H cont_anel: INC DPL MOVX @DPTR, A
MOV lsb, A MOVC A, @A+DPTR MOV A, DPL
CJNE A, tecla, prox LCALL delay
RET CJNE A, #3, naotres
MOV DPTR, #tabela2 POP DPL
MOV DPL,#0
MOV A, cont POP DPH
naotres: MOVX A, @DPTR
MOVC A, @A+DPTR RET
CJNE A, #0FFH, armazena
MOV cod_saida, A SJMP cont_anel
RET armazena: ___________
tabela1: DB ___,___,___ ___________
tabela2: DB ___,___,___ RET