Академический Документы
Профессиональный Документы
Культура Документы
Conta Dorr Rasc Dec
Conta Dorr Rasc Dec
h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
SYSCTL->RCGCGPIO |=0X3F;
GPIOF->LOCK= 0x4C4F434B;
GPIOA->DIR=255;
GPIOB->DIR=0;
GPIOC->DIR=255;
GPIOD->DIR=255;
GPIOE->DIR =15;
GPIOF->DIR =14;
GPIOA->DEN=255;
GPIOB->DEN=255;
GPIOC->DEN=255;
GPIOD->DEN=255;
GPIOE->DEN=255;
GPIOF->DEN =0X0E;
GPIOE->PDR =224;
GPIOE->DATA=15;
delay(0.004);
int a,umil,cen,dec,un,var;
int TA[]={0, 204,32, 0, 204,16, 16, 192, 0, 192};
int TC[]={192,240,224,240,208,208,192,240,192,208};
int TD[]={118,206,73, 201,201,201,201,207,201,201};
a=GPIOB->DATA;
umil=a/1000;
cen=(a-(umil*1000))/100;
dec=(a-(cen*100+umil*1000))/10;
un=(a-(dec*10+cen*100+umil*1000));
while(1){
var=GPIOE->DATA<<4;
var=2;
if(var==2){
if (umil==9 && cen==9 && dec==9 && un==9){
for (int i=0;i<=20;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
umil=0;
cen=0;
dec=0;
un=0;
}
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
umil=umil+1;
cen=0;
dec=0;
un=0;
}
else if (dec==9 && un==9){
for (int i=0;i<=20;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
cen=cen+1;
dec=0;
un=0;
}
else if (un==9){
for (int i=0;i<=20;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
dec=dec+1;
un=0;
}
else if (un<9){
for (int i=0;i<=20;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
un=un+1;
}
}
else if (var==1){
if (umil==0 && cen==0 && dec==0 && un==0){
for (int i=0;i<=50;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
umil=9;
cen=9;
dec=9;
un=9;
}
else if (cen==0 && dec==0 && un==0){
for (int i=0;i<=20;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
umil=umil-1;
cen=9;
dec=9;
un=9;
}
else if (dec==0 && un==0){
for (int i=0;i<=20;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
cen=cen-1;
dec=9;
un=9;
}
else if (un==0){
for (int i=0;i<=20;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
dec=dec-1;
un=9;
}
else if (un>0){
for (int i=0;i<=20;i++){
GPIOE->DATA=14;
GPIOA->DATA=TA[umil];
GPIOC->DATA=TC[umil];
GPIOD->DATA=TD[umil];
delaym();
GPIOE->DATA=13;
GPIOA->DATA=TA[cen];
GPIOC->DATA=TC[cen];
GPIOD->DATA=TD[cen];
delaym();
GPIOE->DATA=11;
GPIOA->DATA=TA[dec];
GPIOC->DATA=TC[dec];
GPIOD->DATA=TD[dec];
delaym();
GPIOE->DATA=7;
GPIOA->DATA=TA[un];
GPIOC->DATA=TC[un];
GPIOD->DATA=TD[un];
delaym();
}
un=un-1;
}
}
else{
GPIOE->DATA=255;
a=GPIOB->DATA;
umil=a/1000; //realizo la descomposicion del numero decimal de 4
digitos
cen=(a-(umil*1000))/100;
dec=(a-(cen*100+umil*1000))/10;
un=(a-(dec*10+cen*100+umil*1000));
}
}}