Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Rotabit
1. http://practicas8051.net84.net 1
Rotabit con el µc AT89S52
Rotabit con µc AT89S52
http://practicas8051.net84.net
lenguaje C para sistemas embebidos con el µc AT89S52
Aguayo Adame Gilberto ING. En comunicaciones y 1
electronica
2. http://practicas8051.net84.net 2
Rotabit con el µc AT89S52
Rotabit
Objetivo:comprender como funcionan y como se manejan los puertos de
salida
En esta practica se realizara un rotabit (desplazamiento de dos bit) hacia la
izquierda utilizando el puerto 1, iniialmente este puerto tendra prendidos los 2
primeros bit (p1.0, p1.1) después de un momento estos dos bit se desplazaran de
dos en dos hasta llegar alos 2 ultimos bit del puerto1 (p1.6,p1.7) después de
untiempo de retardo se regresara a los dos bit ínisiales
Programa en lenguaje c
#include<reg52.h>
void retardo(unsigned int ms);
int main(void)
{
P1 = 0x03;//se pone el puerto 1 en 3 hexadecimal para tener los dos primeros
leds prendidos
while(1)//ciclo infinito
{
while(P1 < 0x80) //ciclo mientras P1 sea menor que 0x80
{
P1 = P1 <<1;//rotara el puerto 1 a la izquierda
retardo(200);//retardo de 200 mili segundos ~aproximadamente
}
while(P1 > 0x03)//ciclo mientras P1 sea mayor que 0x03 hexadecimal
{
P1=P1>>1;
retardo(200);
}
Aguayo Adame Gilberto ING. En comunicaciones y 2
electronica
3. http://practicas8051.net84.net 3
Rotabit con el µc AT89S52
}
}
void retardo(unsigned int ms){ //creacion de la funcion retardo
unsigned char y,t;
while (ms){
for(y=0;y<140;y++){
t++;
}
t++;
t++;
t++;
ms--;
}
}
Diagrama esquematico
Aguayo Adame Gilberto ING. En comunicaciones y 3
electronica