archieve: homework7 test4
This commit is contained in:
@@ -20,7 +20,8 @@
|
||||
"Debug": {
|
||||
"excludeList": [
|
||||
"src/test1.c",
|
||||
"src/test2.c"
|
||||
"src/test2.c",
|
||||
"src/test3.c"
|
||||
],
|
||||
"toolchain": "Keil_C51",
|
||||
"compileConfig": {
|
||||
|
||||
@@ -11,11 +11,10 @@
|
||||
#include "homework7.h"
|
||||
|
||||
unsigned char code display[] = {
|
||||
// it is fucking reverse
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // space
|
||||
0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, // U
|
||||
0x00, 0x66, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, // ❤
|
||||
0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, // I
|
||||
0x00, 0x66, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, // ❤
|
||||
0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, // U
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // space
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* @name: test4.c
|
||||
* @author: msksbr
|
||||
* @date: 2025-05-25
|
||||
* @description: a test for homework7's homework tests
|
||||
* @version: 1.0
|
||||
* homework zh_CN: 点阵显示一个 I ❤ U 的向右移动动画
|
||||
* homework EN: display a I ❤ U moving right animation on the led matrix
|
||||
*/
|
||||
|
||||
#include "homework7.h"
|
||||
|
||||
unsigned char code frames[30][8] = {
|
||||
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
|
||||
{0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F},
|
||||
{0xFF, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F},
|
||||
{0xFF, 0x1F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x1F},
|
||||
{0xFF, 0x0F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x0F},
|
||||
{0xFF, 0x87, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0x87},
|
||||
{0xFF, 0xC3, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xC3},
|
||||
{0xFF, 0xE1, 0x73, 0x73, 0x73, 0xF3, 0xF3, 0xE1},
|
||||
{0xFF, 0x70, 0x39, 0x39, 0x39, 0x79, 0xF9, 0xF0},
|
||||
{0xFF, 0x38, 0x1C, 0x1C, 0x1C, 0x3C, 0x7C, 0xF8},
|
||||
{0xFF, 0x9C, 0x0E, 0x0E, 0x0E, 0x1E, 0x3E, 0x7C},
|
||||
{0xFF, 0xCE, 0x07, 0x07, 0x07, 0x0F, 0x1F, 0x3E},
|
||||
{0xFF, 0x67, 0x03, 0x03, 0x03, 0x07, 0x0F, 0x9F},
|
||||
{0xFF, 0x33, 0x01, 0x01, 0x01, 0x03, 0x87, 0xCF},
|
||||
{0xFF, 0x99, 0x00, 0x00, 0x00, 0x81, 0xC3, 0xE7},
|
||||
{0xFF, 0xCC, 0x80, 0x80, 0x80, 0xC0, 0xE1, 0xF3},
|
||||
{0xFF, 0xE6, 0xC0, 0xC0, 0xC0, 0xE0, 0xF0, 0xF9},
|
||||
{0xFF, 0x73, 0x60, 0x60, 0x60, 0x70, 0x78, 0xFC},
|
||||
{0xFF, 0x39, 0x30, 0x30, 0x30, 0x38, 0x3C, 0x7E},
|
||||
{0xFF, 0x9C, 0x98, 0x98, 0x98, 0x9C, 0x1E, 0x3F},
|
||||
{0xFF, 0xCE, 0xCC, 0xCC, 0xCC, 0xCE, 0x0F, 0x1F},
|
||||
{0xFF, 0x67, 0x66, 0x66, 0x66, 0x67, 0x07, 0x0F},
|
||||
{0xFF, 0x33, 0x33, 0x33, 0x33, 0x33, 0x03, 0x87},
|
||||
{0xFF, 0x99, 0x99, 0x99, 0x99, 0x99, 0x81, 0xC3},
|
||||
{0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xC0, 0xE1},
|
||||
{0xFF, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, 0xE0, 0xF0},
|
||||
{0xFF, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF0, 0xF8},
|
||||
{0xFF, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF8, 0xFC},
|
||||
{0xFF, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE},
|
||||
{0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF}};
|
||||
|
||||
void test4()
|
||||
{
|
||||
EA = 1;
|
||||
ENLED = 0;
|
||||
ADDR3 = 0;
|
||||
TMOD = 0x01;
|
||||
TH0 = 0xFC;
|
||||
TL0 = 0x67;
|
||||
ET0 = 1;
|
||||
TR0 = 1;
|
||||
while (1);
|
||||
}
|
||||
|
||||
void InterruptTimer0() interrupt 1
|
||||
{
|
||||
static unsigned char i = 0;
|
||||
static unsigned char tmr = 0;
|
||||
static unsigned char index = 29;
|
||||
|
||||
TH0 = 0xFC;
|
||||
TL0 = 0x67;
|
||||
P2 = 0xFF;
|
||||
switch_138(i);
|
||||
i++;
|
||||
if (i >= 8) {
|
||||
i = 0;
|
||||
}
|
||||
P2 = frames[index][i];
|
||||
tmr++;
|
||||
if (tmr >= 250) {
|
||||
tmr = 0;
|
||||
if (index == 0) {
|
||||
index = 30;
|
||||
} else {
|
||||
index--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
test4();
|
||||
}
|
||||
Reference in New Issue
Block a user