archieve: homework7 test3

This commit is contained in:
2025-05-25 00:37:27 +08:00
parent 3b682e993c
commit 420ae95641
4 changed files with 58 additions and 3 deletions
+2 -1
View File
@@ -19,7 +19,8 @@
"targets": { "targets": {
"Debug": { "Debug": {
"excludeList": [ "excludeList": [
"src/test1.c" "src/test1.c",
"src/test2.c"
], ],
"toolchain": "Keil_C51", "toolchain": "Keil_C51",
"compileConfig": { "compileConfig": {
+1 -1
View File
@@ -3,7 +3,7 @@
* @author: msksbr * @author: msksbr
* @date: 2025-05-24 * @date: 2025-05-24
* @description: a header for homework7's homework tests * @description: a header for homework7's homework tests
* @version: 1.0 * @version: 1.0f: fix errors in timer
* variables: * variables:
* 1.0: * 1.0:
* 1. sbit DB_0 ~ sbit DB_7: pin number for led matrix cathodes * 1. sbit DB_0 ~ sbit DB_7: pin number for led matrix cathodes
+1 -1
View File
@@ -21,7 +21,7 @@ void test2()
{ {
for (i = 8; i > 0; i--) // @loop: display the heart shape on the led matrix for (i = 8; i > 0; i--) // @loop: display the heart shape on the led matrix
{ {
switch_138(i); // switch the 74HC138's address to i switch_138(i); // switch the 74HC138's address to i
P2 = ~heart[i]; // display the heart shape on the led matrix P2 = ~heart[i]; // display the heart shape on the led matrix
delay_ms(1); delay_ms(1);
P2 = 0xFF; // turn off the led matrix P2 = 0xFF; // turn off the led matrix
+54
View File
@@ -0,0 +1,54 @@
/*
* @name: test1.c
* @author: msksbr
* @date: 2025-05-24
* @description: a test for homework7's homework tests
* @version: 1.0
* homework zh_CN: 点阵显示一个 I ❤ U 的向下移动动画
* homework EN: display a animation of I ❤ U moving down on the led matrix
*/
#include "homework7.h"
unsigned char code char_i[] = {
0x00, 0x3C, 0x18, 0x18,
0x18, 0x18, 0x18, 0x3C};
unsigned char code char_heart[] = {
0x00, 0x66, 0xFF, 0xFF,
0xFF, 0x7E, 0x3C, 0x18};
unsigned char code char_u[] = {
0x00, 0x66, 0x66, 0x66,
0x66, 0x66, 0x7E, 0x3C};
void test3()
{
unsigned char i; // @var i: a counter for the loop
unsigned char char_pos; // @var char_pos: the position of the character to be displayed on the led matrix
while (1) {
for (char_pos = 0; char_pos < 3; char_pos++) { // @loop: switch the char
for (i = 8; i > 0; i--) { // @loop: display shape on the led matrix
switch_138(i); // switch the 74HC138's address to i
switch (char_pos) { // switch the char to be displayed on the led matrix
case 0:
P2 = ~char_i[i]; // display the char_i on the led matrix
break;
case 1:
P2 = ~char_heart[i]; // display the char_heart on the led matrix
break;
case 2:
P2 = ~char_u[i]; // display the char_u on the led matrix
break;
}
delay_ms(1); // delay 1ms
P2 = 0xFF; // turn off the led matrix
}
i = 8; // @subsection reset i to 8
}
char_pos = 0; // @subsection reset char_pos to 0
}
}
void main()
{
test3();
}