UNIVERSIDAD AUTONOMA DE NUEVO LEON FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA 7TO SEMESTRE ENERO-JUNIO 2018
ING. JOSE ANGEL CASTILLO CASTRO
MATERIA: LABELECTRONICA DIGITAL 3
FRECUENCIA: MARTES
HORA: M5 A M6
PRACTICA 4 PUERTOS PARALELOS COPNTADOR DE UN DISPLAY DE 7 SEGMENTOS INTEGRANTES: NOMBRE ADRIAN LEAL RODRIGUEZ
MATRICULA 1429469
SEMESTRE 7to
CD. UNIVERSITARIA, SAN NICOLAS DE LOS GARZA, N.L FECHA: 17/Abril/2018
Objetivo El objetivo de este proyecto es crear con nuestros conocimientos de lenguaje ensamblador un contador con un display de 7 segmentos. Asi mismo usaremos lospuertos paralelos de nuestro microncontrolador
Marco Teórico
Microcontrolador MC9S08SE8 Las MCU de la serie MC9S08SE8 son miembros de la familia HCS08 de bajo costo y alto rendimiento de 8 bits unidades de microcontroladores (MCU). T odos los MCU de la familia usan el núcleo mejorado HCS08 y están disponibles con una variedad de módulos, tamaños de memoria, tipos de memoria y tipos de paquetes. Lenguaje Ensamblador El lenguaje ensamblador es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Cada arquitectura de procesador tiene su propio lenguaje ensamblador que usualmente es definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje.
Material Utilizado:
Cantidad
Nombre del componente
1
Microcontrolador Motorola MC9S08SE8
1
Programador Debuger USBDM
2
Displays Ánodo Común
2
Metros de Alambre de conexiones calibre 24
1
Pushbuttons
12
Resistencias de 330Ω
Componente en Físico
Programación Utilizada ;******************************************************************* ;* This stationery serves as the framework for a user application. * ;* For a more comprehensive program that demonstrates the more * ;* advanced functionality of this processor, please see the * ;* demonstration applications, located in the examples * ;* subdirectory of the "Freescale CodeWarrior for HC08" program * ;* directory. * ;******************************************************************* ; Include derivative-specific definitions INCLUDE 'derivative.inc ' ; ; export symbols ; XDEF _Startup ABSENTRY _Startup ; ; variable/data section ; ORG RAMStart ; Insert your data definition here $80 contador0: EQU contador1: EQU $81 EQU $82 contador2: EQU $90 retardo1: ; ORG $E100 display1: DC.B $40,$79,$24,$30,$19,$12,$02,$78,$00,$18 ; ; code section ; ORG ROMStart
_Startup: LDHX TXS CLI
#RAMEnd+1
; initialize the stack pointer ; enable interrupts
mainLoop: JSR
PROG_PORTS
PROG_PORTS: BCLR LDA STA MOV LDA BRA RESTRICCION:BRSET
barr:
MOV
barr1: DBNZ
0,PTADD #$FF PTCDD #$0F,contador1 #$FF RESTRICCION
0,PTAD,barrido BRA D1 #$FE,PTCD
contador0,BITMENOR DBNZ contador1,BITMENOR MOV #$0F,contador1 ROL PTCD LDA PTCD CBEQA #$BF,barrido BRA SIG
BITMENOR:
INC LDA AND CBEQA BRCLR BRA
SIG:
BRA
DOS:
LDA
BITMAYOR:
TRES:
contador2 contador2 #$0F #$07,DOS 0,PTAD,D1 barrido1 BITMENOR
ADD STA CBEQA BRCLR BRA
contador2 #$0A contador2 #$71,TRES 0,PTAD,D1 BITMAYOR
AND CBEQA BRCLR BRA
contador2 #$F0 #$70,TRES 0,PTAD,D1 BITMENOR
LDA
LDA
#$11 STA BRCLR BRA
contador2 0,PTAD,D1 BITMENOR
LDHX #display1 LDA contador2 AND #$0F TAX LDA ,X STA PTCD feed_watchdog BRA RESTRICCION
D1:
; Insert your code here NOP ;************************************************************** ;* spurious - Spurious Interrupt Service Routine. * ;* (unwanted interrupt) * ;************************************************************** ; placed here so that security value ; does not change all the time.
spurious: NOP RTI
;************************************************************** ;* Interrupt Vectors * ;************************************************************** ORG
$FFFA DC.W DC.W DC.W
spurious spurious _Startup
; ; SWI ; Reset
Diagrama
Conclusión En conclusión con este proyecto podemos decir que nos sirvió para comprender que es lo que podemos hacer con el microcontrolador como lo es con este proyecto que fue crear unos dados electrónicos usando el lenguaje ensamblador el cual nos sirvió para reforzar nuestros conocimientos de este lenguaje y saber qué es lo que estamos haciendo y la representación en el display cuando se está preparando el conteo, en si este proyecto nos ayudó para comprender que muchos usos se pueden hacer con el microcontrolador y en la práctica del lenguaje ensamblador.