📄 led_matrix.c
字号:
///////////////////////
gb[0] = 0b00000;
gb[1] = 0b00000;
gb[2] = 0b00000;
gb[3] = 0b00000;
gb[4] = 0b00000;
gb[5] = 0b01110;
gb[6] = 0b11111;
gb[7] = 0b11111;
gb[8] = 0b11111;
gb[9] = 0b01110;
gb[10] = 0b00000;
gb[11] = 0b00000;
gb[12] = 0b00000;
gb[13] = 0b00000;
gb[14] = 0b00000;
gb[15] = 0b00000;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b00000;
gb[1] = 0b00000;
gb[2] = 0b00000;
gb[3] = 0b00000;
gb[4] = 0b01110;
gb[5] = 0b11111;
gb[6] = 0b11111;
gb[7] = 0b11111;
gb[8] = 0b11111;
gb[9] = 0b11111;
gb[10] = 0b01110;
gb[11] = 0b00000;
gb[12] = 0b00000;
gb[13] = 0b00000;
gb[14] = 0b00000;
gb[15] = 0b00000;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b00000;
gb[1] = 0b00000;
gb[2] = 0b00000;
gb[3] = 0b01110;
gb[4] = 0b11111;
gb[5] = 0b11111;
gb[6] = 0b11111;
gb[7] = 0b11111;
gb[8] = 0b11111;
gb[9] = 0b11111;
gb[10] = 0b11111;
gb[11] = 0b01110;
gb[12] = 0b00000;
gb[13] = 0b00000;
gb[14] = 0b00000;
gb[15] = 0b00000;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b00000;
gb[1] = 0b00000;
gb[2] = 0b01110;
gb[3] = 0b11111;
gb[4] = 0b11111;
gb[5] = 0b11111;
gb[6] = 0b11111;
gb[7] = 0b11111;
gb[8] = 0b11111;
gb[9] = 0b11111;
gb[10] = 0b11111;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b01110;
gb[14] = 0b00000;
gb[15] = 0b00000;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b00000;
gb[1] = 0b01110;
gb[2] = 0b11111;
gb[3] = 0b11111;
gb[4] = 0b11111;
gb[5] = 0b11111;
gb[6] = 0b11111;
gb[7] = 0b11111;
gb[8] = 0b11111;
gb[9] = 0b11111;
gb[10] = 0b11111;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b11111;
gb[14] = 0b01110;
gb[15] = 0b00000;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b01110;
gb[1] = 0b11111;
gb[2] = 0b11111;
gb[3] = 0b11111;
gb[4] = 0b11111;
gb[5] = 0b11111;
gb[6] = 0b11111;
gb[7] = 0b11111;
gb[8] = 0b11111;
gb[9] = 0b11111;
gb[10] = 0b11111;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b11111;
gb[14] = 0b11111;
gb[15] = 0b01110;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b11111;
gb[2] = 0b11111;
gb[3] = 0b11111;
gb[4] = 0b11111;
gb[5] = 0b11111;
gb[6] = 0b11111;
gb[7] = 0b11111;
gb[8] = 0b11111;
gb[9] = 0b11111;
gb[10] = 0b11111;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b11111;
gb[14] = 0b11111;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b11111;
gb[2] = 0b11111;
gb[3] = 0b11111;
gb[4] = 0b11111;
gb[5] = 0b11111;
gb[6] = 0b11111;
gb[7] = 0b11011;
gb[8] = 0b11111;
gb[9] = 0b11111;
gb[10] = 0b11111;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b11111;
gb[14] = 0b11111;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b11111;
gb[2] = 0b11111;
gb[3] = 0b11111;
gb[4] = 0b11111;
gb[5] = 0b11111;
gb[6] = 0b11011;
gb[7] = 0b10001;
gb[8] = 0b11011;
gb[9] = 0b11111;
gb[10] = 0b11111;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b11111;
gb[14] = 0b11111;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b11111;
gb[2] = 0b11111;
gb[3] = 0b11111;
gb[4] = 0b11111;
gb[5] = 0b11111;
gb[6] = 0b10001;
gb[7] = 0b00000;
gb[8] = 0b10001;
gb[9] = 0b11111;
gb[10] = 0b11111;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b11111;
gb[14] = 0b11111;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b11111;
gb[2] = 0b11111;
gb[3] = 0b11111;
gb[4] = 0b11111;
gb[5] = 0b10001;
gb[6] = 0b00000;
gb[7] = 0b00000;
gb[8] = 0b00000;
gb[9] = 0b10001;
gb[10] = 0b11111;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b11111;
gb[14] = 0b11111;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b11111;
gb[2] = 0b11111;
gb[3] = 0b11111;
gb[4] = 0b10001;
gb[5] = 0b00000;
gb[6] = 0b00000;
gb[7] = 0b00000;
gb[8] = 0b00000;
gb[9] = 0b00000;
gb[10] = 0b10001;
gb[11] = 0b11111;
gb[12] = 0b11111;
gb[13] = 0b11111;
gb[14] = 0b11111;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b11111;
gb[2] = 0b11111;
gb[3] = 0b10001;
gb[4] = 0b00000;
gb[5] = 0b00000;
gb[6] = 0b00000;
gb[7] = 0b00000;
gb[8] = 0b00000;
gb[9] = 0b00000;
gb[10] = 0b00000;
gb[11] = 0b00000;
gb[12] = 0b10001;
gb[13] = 0b11111;
gb[14] = 0b11111;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b11111;
gb[2] = 0b10001;
gb[3] = 0b00000;
gb[4] = 0b00000;
gb[5] = 0b00000;
gb[6] = 0b00000;
gb[7] = 0b00000;
gb[8] = 0b00000;
gb[9] = 0b00000;
gb[10] = 0b00000;
gb[11] = 0b00000;
gb[12] = 0b00000;
gb[13] = 0b10001;
gb[14] = 0b11111;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b11111;
gb[1] = 0b10001;
gb[2] = 0b00000;
gb[3] = 0b00000;
gb[4] = 0b00000;
gb[5] = 0b00000;
gb[6] = 0b00000;
gb[7] = 0b00000;
gb[8] = 0b00000;
gb[9] = 0b00000;
gb[10] = 0b00000;
gb[11] = 0b00000;
gb[12] = 0b00000;
gb[13] = 0b00000;
gb[14] = 0b10001;
gb[15] = 0b11111;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b10001;
gb[1] = 0b00000;
gb[2] = 0b00000;
gb[3] = 0b00000;
gb[4] = 0b00000;
gb[5] = 0b00000;
gb[6] = 0b00000;
gb[7] = 0b00000;
gb[8] = 0b00000;
gb[9] = 0b00000;
gb[10] = 0b00000;
gb[11] = 0b00000;
gb[12] = 0b00000;
gb[13] = 0b00000;
gb[14] = 0b00000;
gb[15] = 0b10001;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
///////////////////////
gb[0] = 0b00000;
gb[1] = 0b00000;
gb[2] = 0b00000;
gb[3] = 0b00000;
gb[4] = 0b00000;
gb[5] = 0b00000;
gb[6] = 0b00000;
gb[7] = 0b00000;
gb[8] = 0b00000;
gb[9] = 0b00000;
gb[10] = 0b00000;
gb[11] = 0b00000;
gb[12] = 0b00000;
gb[13] = 0b00000;
gb[14] = 0b00000;
gb[15] = 0b00000;
display_screen(gb);
if(KeyPressed())
{
PTAD = 0x00;
break;
}
}
/* Turn off RTC Interrupt */
RTCSC = 0x00;
/* Turn off RTC Clock */
SCGC2_RTC=0;
}
/* Send out a frame to the LED Matrix */
void display_screen(byte *gb)
{
int c;
/* Determines how long a frame is displayed. Higher number is longer time */
int scroll_delay = 6;
while (--scroll_delay)
{
/* Scan out over all 16 columns */
for (c = 0; c < COLUMNS; c++)
{
/* Send out over PortE */
if (c < COLUMNS/2)
{
PTAD = 0x00;
PTED = ~(1 << c); /* Turn on a column */
PTDD = 0xFF;
PTAD = gb[c]; /* Determines which rows are turned on for that column */
}
/* Send out over PortD */
else
{
PTAD = 0x00;
PTDD = ~(1 << c - (COLUMNS/2));
PTED = 0xFF;
PTAD = gb[c];
}
// Enter stop mode and wait for RTC wakeup
asm (stop #0x2000);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -