Red de conocimiento de abogados - Derecho de sociedades - Utilice 74HC595 para controlar una matriz de puntos de 16 × 16 para mostrar el programa y la simulación en lenguaje C chino. ¡Gracias! ! !

Utilice 74HC595 para controlar una matriz de puntos de 16 × 16 para mostrar el programa y la simulación en lenguaje C chino. ¡Gracias! ! !

Esta imagen tendrá un tamaño reducido.

Vea el panorama general aquí

/6000/kgd235143/e4be871c454f0c1d6f7f46b964dacee7.jpg

Si desea simularlo, se lo enviaré. Por supuesto, el circuito real requiere un triodo. controlador

# include?lt;reg52.hgt;

#define?uchar?unsigned?char

uchar?i,j,k=15;

sbit?xsi =P2^0;

sbit?xrck=P2^1;?

sbit?xsck=P2^2

sbit?ysi=P2^3 ;

sbit?yrck=P2^4;?

sbit?ysck=P2^5;

sbit? kg=?P3^2;

p>

uchar?code?zbm[][32]={

{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF , 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF , 0xFF, 0xFF, 0xFF,

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,},

p>

{0xFF, 0xFF, 0xFF, 0xF7, 0xBF, 0xF7, 0xBF, 0xFB, 0xBF, 0xFD, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF,

0x01, 0xF0, 0x7F, 0xEF, 0xBF, 0xEF, 0x9F, 0xEF, 0xDF, 0xEF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF}, /*"Norte", 0*/

{0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xEF, 0xF7, 0xF3, 0x37, 0xFF, 0xB7, 0xFE, 0xB6, 0xDE, 0xD5, 0x80,

0xDB, 0xFE, 0x5B, 0xFF, 0x9B, 0xFB, 0xFB, 0xF7, 0xFB, 0xE7, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /*"京", 1*/

{ 0xFF, 0xEF, 0x5F, 0xF7, 0xDF, 0xFA, 0xEF, 0xFD, 0x0F, 0xFA, 0xFF, 0xDF, 0xBF, 0xEF, 0xC7, 0xF3,

0x58, 0xFC, 0xEF, 0xFB, 0xAF, 0xF7 , 0xCF, 0xEF, 0xEF, 0xCF, 0xFF, 0xDF, 0xFF, 0xDF , 0xFF, 0xFF}, /*"Huan", 2*/

{0xBF, 0xF7, 0xBF, 0xF7, 0xBB, 0xF6 , 0x37, 0xF1, 0xFF, 0xF7, 0x07, 0xF6, 0xF7, 0xF6, 0x7B, 0xF7, 0xF9, 0xEF, 0x0F, 0xE8, 0xF7, 0xEF, 0x77, 0xCF, 0x07, 0xFF, 0xEF, 0xFF, 0xEF, 0xFF, 0xFF}, /*"Bienvenido" , 3*/

{0xFF, 0xFE, 0x7F, 0xFF, 0xBF, 0xFF, 0x0F, 0xC0, 0xF1, 0xFF, 0xFF, 0xF7, 0xBF, 0xF9, 0xCF, 0xEF,

0xD1, 0xDF, 0x5F, 0xC0, 0xEF,

0xFF, 0xAF, 0xFD, 0xCF, 0xFB, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF}, /*"tú", 4*/

0x87, 0xFF, 0x03, 0xFF, 0x01, 0xFE , 0x00, 0xF8, 0x01, 0xF0, 0x01, 0xE0, 0x03, 0x80, 0x07, 0x00,

0x07, 0x00, 0x03, 0x80, 0x01, 0xE0, 0x01, 0xF0, 0x00, xF8, 0x01, 0xFE, 0x03, 0xFF, 0x87, 0xFF, /*"心", 5*/

{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF , 0xFF, 0xFF, 0xFF, 0xFF,

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,},

};

uchar?code?zbm1[][16]={

{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},

{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF , 0xFF, 0xFF, 0xFF, 0xFF,},

{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xC0, 0x6F, 0xDB, 0x63, 0xEB, 0x6C, 0xEB },

{0xEF, 0xEF, 0xEF, 0xDF, 0x0F, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* "de", 0 */

{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3B, 0xF0, 0xBB, 0xEF, 0xBB, 0xEF, 0xBB, 0xEF, 0xDD, 0xEF},

{0xCD, 0xEF, 0xF1, 0xEF, 0xFF, 0xEF, 0xFF, 0xEF, 0xFF, 0xEF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF}, /*"自", 1*/

{0x7F, 0xFF, 0xBF, 0xFF, 0x0F, 0xC0, 0xD1, 0xFF, 0xDF, 0xF1, 0x01, 0xF6, 0xEF, 0xF6, 0xEF, 0xE8},

{0x3F, 0xF7, 0xCF, 0xFA, 0xD1, 0xFD, 0x1F, 0xFA, 0xEF, 0xE7, 0xEF, 0xEF, 0xFF, 0xEF, 0xFF, 0xFF}, /*"do", 2*/

{0xFF, 0xFF, 0x3F, 0xF8, 0x9f, 0xe6, 0xaf, 0xf6, 0xd3, 0xf7, 0x1f, 0xe0, 0x7f, 0xff, 0xbf, 0xff},

{0x5f, 0xff, 0xc7, 0xfc, 0xd9, 0xef, 0xef, 0xdf, 0xf , 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /*"de", 3*/

{0

xFF, 0xFF, 0x3F, 0xCF, 0x3F, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /*":", 4*/

{ 0xF7, 0xDF, 0x07, 0xC0, 0xF7, 0xDF, 0xFF, 0xDF, 0xFF, 0xDF, 0xFF, 0xDF, 0xFF, 0xCF, 0xFF, 0xFF}, /*"L", 0*/

{ 0xF7, 0xDF, 0x07, 0xC0, 0x77, 0xDF, 0x77, 0xDF, 0x17, 0xDC, 0xF7, 0xDF, 0xEF, 0xE7, 0xFF, 0xFF}, /*"E", 1*/

{ 0xF7, 0xDF, 0x07, 0xC0, 0xF7, 0xDF, 0xF7, 0xDF, 0xF7, 0xDF, 0xEF, 0xEF, 0x1F, 0xF0, 0xFF, 0xFF}, /*"D", 2*/

{ 0xFF, 0xDF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF4, 0x7F, 0xED, 0x81, 0xFD, 0xB7, 0xFD},

{0xB7, 0xF5, 0xBB, 0xED, 0x3B , 0xFE, 0xFF, 0xF7, 0xFF, 0xEF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF}, /*"punto", 3*/

{0xFF, 0xFF, 0x03, 0xE0, 0xBB , 0xFF, 0x6D, 0xFF, 0x11, 0xFB, 0xFF, 0xFB, 0x37, 0xFB, 0x57, 0xFB},

{0x67, 0xFB, 0x19, 0x80, 0xBB, 0xFD, 0xBB, 0xFD, 0xBF, 0xFD, 0xFF, 0xFD, 0xFF, 0xFD, 0xFF, 0xFF}, /*"matriz", 4*/

{0xFF, 0xEF, 0xFF, 0xF7, 0xFF, 0xF9, 0x7F, 0xFE, 0x81, 0xBD, 0x75, 0xDD, 0x65, 0xE5, 0x55, 0xF8},

{0xB6, 0xFD, 0x9A, 0xFD, 0x28, 0x80, 0xBC, 0xFE, 0xBF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE , 0xFF, 0xFF}, /*"pantalla", 5*/

{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF , 0xFF, 0xFF},

{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,}, p>

};

void?ys?(uchar?a) //Retraso

{

uchar?b;

para?(;agt;0;a--)

para?(b=100;bgt;0;b--) ;

}

void?yfs() //Número del eje Y

{

ysck=0

yrck=0; p > k;

si?(k==16)

?{

k=0;

?}

?else

ysi=1

ysck=1

P2=P2|0X14; > //Equivalente a ? p>{

uchar?b, a1, a2

a1=~zbm[6][a*2 1]; p> a2=~zbm [6][a*2];

xsck=0;

xrck=0

para?(b=0; ; blt; 8; b )

{

a1=a1lt;lt;1;

xsi=CY;

xsck= 1;

xsck=0;

}

para?(b=0; blt; 8; b )

{

a2=a2lt;lt;1;

xsi=CY

xsck=1

xsck=0; >

}

}?

void?fs(uchar?a) ?//Número del eje X

{

uchar?b;

xsck=0;

xrck=0

para?(b=0; blt; 8; b )

{

a=alt;

xsi=CY; xsck=0;

p>

}

}

void?gdhs(uchar?*zz, uchar?N, uchar?Tiempo)? // ¿Mostrar N caracteres chinos de manera fluida? Función de desplazamiento

{?//Tres parámetros: fuente de cadena, primera dirección, número de palabras, velocidad de flujo de visualización?

uchar? FontNum, i, j, fila;?//Variable de bucle, recuento de palabras, 16 flujos, escaneos de 16 columnas?

for(FontNum=0;FontNumlt;N;FontNum)?

{?

for( i=0;ilt;16;i)?//¿Flujo palabra a palabra? ¿16 desplazamientos a la izquierda para completar?

{?

for(j=0;jlt;Time ; j )?//¿Mostrar retraso, determinar la velocidad del flujo?

{?

k=15;

for(row=0;rowlt;16; row )?//¿Mostrar pantalla de 16*16 una vez?

{?

yfs();?//¿Seleccionar columna de visualización? // ¿Línea de selección de fila, P3? ¿Cuatro bits bajos?

fs?(~*(zz FontNum*32 (i fila)*2 1));?//¿Obtener nuevos datos según el desplazamiento del movimiento?

fs (~*(zz FontNum*32 (i fila)*2));?//¿Obtener datos de visualización? ¿Algoritmo de clave de visualización de bucle?

ys?(12); ?//¿Retraso apropiado?

}?

}?

}?

}?

}

¿vacío?wbzd

?()?interrupt0 ? //Interrupción externa

{

?j ;

?if?(jgt;1)

?j=0;

?ys(10);

?mientras?(!kg)

?{

? =15;

?para?(i=0;ilt;16;i )

?{

? yfs();

? xfs(i);

ys(10);

}

?}

si?(j== 0)

?gdhs(zbm,8,2);

si?(j==1)

gdhs(zbm1,10,1) ;

}

void?main?()

{

EA?=?1;?//Activar interrupción total

EX0=1;

IT0=1;

mientras?(1)

{ ?si?(j== 0 )

?gdhs(zbm, 8, 5);

?si?(j==1)

?gdhs(zbm1, 10); , 3);

}

}