archieve: homework5 test1

This commit is contained in:
2025-04-23 14:15:34 +08:00
parent 0e7cdd870b
commit 10051c6a18
6 changed files with 139 additions and 46 deletions
+63
View File
@@ -0,0 +1,63 @@
// test1.c
// 数码管动态显示自己学号后6位
// display the last 6 digits of your student ID on the Seg.
#include "homework5.h"
unsigned char code LedChar[] = {
0xC0,
0xF9,
0XA4,
0XB0,
0X99,
0X92,
0X82,
0XF8,
0X80,
0X90,
0X88,
0X83,
0XC6,
0XA1,
0X86,
0X8E,
};
unsigned char LedBuff[6] = {
0xFF, 0XFF, 0XFF, 0XFF, 0XFF, 0XFF};
unsigned char i = 0;
void test1()
{
// display the number on the Seg.
LedBuff[5] = LedChar[1];
LedBuff[4] = LedChar[3];
LedBuff[3] = LedChar[0];
LedBuff[2] = LedChar[0];
LedBuff[1] = LedChar[7];
LedBuff[0] = LedChar[1];
while (1) {
/*
* seg id on 38 transistors:
* Y0: LEDS0 the latest digit.
* Y1: LEDS1 the second digit.
* Y2: LEDS2 the third digit.
* Y3: LEDS3 the forth digit.
* Y4: LEDS4 the fifth digit.
* Y5: LEDS5 the highest digit.
* Y6: 2LED to the LED lights.
*/
set38Transistors(i);
P2 = LedBuff[i];
i++;
timer(1);
// reset the i to 0 when it reaches 6.
if (i >= 6) {
i = 0;
}
}
}
void main()
{
test1();
}