Você está na página 1de 3

UNIVERSIDAD DE CARABOBO

FACULTAD DE INGENIERA
ESCUELA DE INGENIERA ELCTRICA
DEPARTAMENTO DE SISTEMAS Y AUTOMTICA
MICROPROCESADORES
EJERCICIOS PROPUESTOS N 1
1.

Elabore un programa en Assembler del PIC16F887 que lea 3 nmeros de 4 bits, determine el
menor de ellos y lo muestre mediante leds ubicados en los pines RA2 a RA5. La lectura de los
nmeros y posterior clculo se producir cuando el usuario lo indique, a travs de un switch
conectado en el pin RA0.

2.

Elabore un programa en Assembler del PIC16F887 que incremente un contador C (entre 0 y 9)


cuando el usuario accione un switch ubicado en RB1; deber tener cuidado en que el contador slo
se incremente cuando se accione el switch y si el usuario lo mantiene en una sola posicin no se
incremente el contador durante todo ese tiempo. Cuando el usuario accione otro switch ubicado en
RB2 deber colocar el contador en 0.
El valor del contador se mostrar mediante un display 7 segmentos ubicado en el puerto A. Si el
valor del contador es par se encender un led ubicado en RB0.

3.

Elabore en Assembler del PIC16F887 una rutina que dada la siguiente tabla de equivalencia entre
temperaturas en grados Fahrenheit y grados Centgrados, permita obtener un valor aproximado en
grados centgrados para una temperatura suministrada en grados fahrenheit, recibida por medio del
registro W.
Grados Fahrenheit

Grados Centgrados

50

10

55

13

60

16

65

18

70

21

75

24

80

27

85

29

90

32

95

35

100

38

105

41

110

43

115

46

1/3

4.

Debe utilizar la tabla anterior y algn criterio para obtener el valor aproximado en grados
centgrados. Tome en cuenta que la tabla anterior se almacenar en memoria de la siguiente manera
50
55
60
65
70
75
80
85
90
95
100
105
110
115
10
13
16
18
21
24
27
29
32
35
38
41
43
46
Nota: la tabla a emplear es la indicada sin un solo valor ms o menos. Suponga que la temperatura
recibida en W est en el rango de 50 a 115 F.

5.

Elabore en Assembler del PIC16F887 una rutina (subprograma) que permita dividir 2 nmeros de
2/3

4 bits y retorne el cociente de dicha divisin a travs del registro W.


6.

Elabore un programa en Assembler del PIC16F887 que determine el valor mayor de un conjunto
de nmeros de 4 bits introducidos por el usuario, para lo cual se utilizarn 4 switches ubicados en
los pines RA1, RA2, RA3, RA4. Adems, existir un switch L ubicado en RA0 que permitir al
usuario indicar que el programa debe leer un nuevo valor introducido por los switches indicados
anteriormente, y un switch P ubicado en RA5 que indicar al programa que no hay ms datos a leer
y debe mostrar el resultado por medio de un display 7 segmentos, ubicado en el puerto B.
Cada vez que el programa est esperando que el usuario accione el switch L P lo indicar
mediante el encendido de un led ubicado en RB0.

7.

Elabore un programa en Assembler del PIC16F887 que permita determinar la cantidad de


transiciones ascendentes que se produce en una seal digital recibida a travs del pin RA0. El
proceso de contar dichas transiciones se inicia cuando el usurio acciona un switch de
START/STOP, y finaliza cuando el usuario vuelve a accionar dicho switch (y volver a iniciar
dicho proceso si el usuario acciona nuevamente el switch).
Cuando el sistema se encuentre en proceso de contar las transiciones deber indicarlo al usuario
mediante el encendido de un led ubicado en el pin RA4. Una vez obtenida la cantidad de
transiciones, la misma deber mostrarse mediante un par de displays 7 segmentos, ubicados en los
puertos B y C.
Elabore el diagrama de conexiones, el algoritmo y el programa en Assembler.

8.

Elabore un subprograma en Assembler del PIC16F887 que calcule el valor promedio de un vector
de N elementos.

3/3

Você também pode gostar