Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
INSTITUTO TECNOLÓGICO DE LA LAGUNA PRÁCTICA 4 MICROCONTROLADORES Ingeniería Mecatrónica Semestre 6 Alumno: Christian Enrique González Robles No. Control: 19131206 2 INSTITUTO TECNOLÓGICO DE LA LAGUNA Práctica 4 Hacer un programa basado en el microcontrolador 8051 para obtener lo siguiente: monitorear el valor que se presente en dos interruptores conectados a un puerto del 8051, si el valor observado es “00 “ se muestra el número de control en la salida, en el caso de ser un “01” se debe mostrar la fecha con el formato ddmmaño, si se presenta un “10” se muestra el semestre cursado durante un segundo, y si la combinación es “11” se deben encender todos los indicadores de la salida. Como dispositivo de salida se utilizará un módulo LCD. Bit 1 Bit 2 Secuencia 0 0 1 0 1 2 1 0 3 1 1 4 3 INSTITUTO TECNOLÓGICO DE LA LAGUNA Diagrama de Flujo Inicio Qué bit hay en la primera entrada? Qué bit hay en la segunda entrada? Qué bit hay en la segunda entrada? Secuencia 1 Secuencia 2 Secuencia 4 Secuencia 3 ' 19131206 ' ' SEMESTRE 6 ' ' *************** ' ' 01-04-2022 ' 0 1 0 1 0 1 Fin 4 INSTITUTO TECNOLÓGICO DE LA LAGUNA Código Fuente RS equ p2.0 RW equ p2.1 E equ p2.2 DAT equ p0 INICIO: MOV A, P1 MOV R0,A MOV B, #200D MOV 30h, #8d CJNE A,#0D,PRIMER NUMCONTROL: CALL LCD MOV DPTR, #lcd1 CALL send_lcd RET1: djnz b, RET1 Mov B, #255D JMP INICIO PRIMER: Cjne a,#1D,SEGUNDO FECHA: CALL LCD MOV DPTR, #lcd4 CALL send_lcd RET4: djnz b, RET4 Mov B, #255D JMP INICIO SEGUNDO: CJNE A,#2D,TERCERO SEMESTRE: CALL LCD MOV DPTR, #lcd2 CALL send_lcd RET2: DJNZ B, RET2 MOV B, #255D JMP INICIO TERCERO: ONDISPLAY: MOV P0, #255D RET3: DJNZ B, RET3 MOV B, #255D JMP INICIO LCD: MOV A,#60d CALL w_set MOV A,#14d CALL w_set MOV A,#1d CALL w_set MOV A,#6d CALL w_set RET w_set: CLR E CLR RS 5 INSTITUTO TECNOLÓGICO DE LA LAGUNA CLR RW CALL SLEEP SETB E CALL SLEEP MOV DAT,A CALL SLEEP CLR E CALL SLEEP RET SLEEP: MOV R5,#055d BUC: DJNZ R5,BUC RET Send_lcd: mov r0,#0d send: mov a,r0 inc r0 movc a,@a+dptr call w_dat cjne r0,#16,send ret w_dat: clr e setb rs clr rw call sleep setb e call sleep mov dat,a call sleep clr e call sleep ret lcd1: db ' 19131206 ' lcd2: db ' SEMESTRE 6 ' lcd3: db ' *************** ' lcd4: db ' 01-04-2022 ' END
Compartir