Código fuente del tubo digital dinámico MCU
# incluir & ltintrins.h & gt
sbit? k _ add = p3^1;
sbit? k_sub = p3^4;
Código de carácter sin firmar SEG7[] = {
0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x ff };
Carácter sin firmar DISP_buffer[] = {
10, 10, 10, 10, 10, 10, 10, 10,?
1, 3 , 9, 2, 5, 8, 0, 7, 4, 6, 3, 2,
10, 10, 10, 10, 10, 10, 10, 10 };
¿Caracteres sin firmar? j = 0, k = 1;
void DelayMS(entero sin signo x)
{
¿Carácter sin signo? Yo;
mientras(x -)? for(I = 200;I>0;I-);
}
¿No es válido? mostrar (carácter sin firmar? {
? P0 = segmento 7[DISP _ BUFF[I+k]];
? P2 = w;? retraso ms(1);? P2 = 0;
? w = _cror_(w, 1);
}
j++;
if(j & gt; x) {
? j = 0;
? k++; si(k = = 20)k = 0;
}
}
void main()
{ p>
Carácter sin firmar d = 30
¿Y (1)? {
? ¿si? (!k_add) {
Mostrar(d);
¿Si? (!k_add) {
? d+= 2;? si(d & gt; 50) ?d = 50
? ¿Y (!k_add)? Monitor(d);
}
? }
? ¿si? (!k_sub) {
Pantalla(d);
¿Si? (!k_sub) {
? d-= 2;? si(d <10) ?d = 10;
? ¿Y (!k_sub)? Monitor(d);
}
? }
? Mostrar(d);
p 1 = d;
}
}