You are on page 1of 6

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 MATRICULA SEMESTRE
ADRIAN LEAL RODRIGUEZ 1429469 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). Todos 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 Componente en Físico

Microcontrolador Motorola
1
MC9S08SE8

1 Programador Debuger USBDM

2 Displays Ánodo Común

Metros de Alambre de
2
conexiones calibre 24

1 Pushbuttons

12 Resistencias de 330Ω
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
contador0: EQU $80
contador1: EQU $81
contador2: EQU $82
retardo1: EQU $90
;
ORG $E100
display1:
DC.B $40,$79,$24,$30,$19,$12,$02,$78,$00,$18
;
; code section
;
ORG ROMStart

_Startup:
LDHX #RAMEnd+1 ; initialize the stack pointer
TXS
CLI ; enable interrupts

mainLoop:
JSR PROG_PORTS
PROG_PORTS:
BCLR 0,PTADD
LDA #$FF
STA PTCDD
MOV #$0F,contador1
LDA #$FF
BRA RESTRICCION

RESTRICCION:BRSET 0,PTAD,barrido
BRA D1

barr: MOV #$FE,PTCD

barr1: DBNZ contador0,BITMENOR


DBNZ contador1,BITMENOR
MOV #$0F,contador1
ROL PTCD
LDA PTCD
CBEQA #$BF,barrido
BRA SIG
BITMENOR: INC contador2
LDA contador2
AND #$0F
CBEQA #$07,DOS
BRCLR 0,PTAD,D1
BRA barrido1
SIG: BRA BITMENOR

DOS: LDA contador2


ADD #$0A
STA contador2
CBEQA #$71,TRES
BRCLR 0,PTAD,D1
BRA BITMAYOR

BITMAYOR: LDA contador2


AND #$F0
CBEQA #$70,TRES
BRCLR 0,PTAD,D1
BRA BITMENOR

TRES: LDA #$11


STA contador2
BRCLR 0,PTAD,D1
BRA BITMENOR

D1: LDHX #display1


LDA contador2
AND #$0F
TAX
LDA ,X
STA PTCD
feed_watchdog
BRA RESTRICCION

; Insert your code here


NOP

;**************************************************************
;* spurious - Spurious Interrupt Service Routine. *
;* (unwanted interrupt) *
;**************************************************************

spurious: ; placed here so that security value


NOP ; does not change all the time.
RTI

;**************************************************************
;* Interrupt Vectors *
;**************************************************************

ORG $FFFA

DC.W spurious ;
DC.W spurious ; SWI
DC.W _Startup ; 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.

You might also like