archieve: homework4 test3

This commit is contained in:
2025-04-14 14:28:21 +08:00
parent 0aec6a72cb
commit 1de8c2ebd6
2 changed files with 147 additions and 0 deletions
+121
View File
@@ -43,4 +43,125 @@ void set_38_2SEG()
ADDR2 = 1;
ADDR3 = 1;
ENLED = 0;
}
// 7SEG number display function:
// 0-9
void show_number(unsigned char number)
{
switch (number) {
case 0: {
BUS1A = 0;
BUS2B = 0;
BUS3C = 0;
BUS4D = 0;
BUS5E = 0;
BUS6F = 0;
BUS7G = 1;
BUS8DP = 1;
break;
}
case 1: {
BUS1A = 1;
BUS2B = 0;
BUS3C = 0;
BUS4D = 1;
BUS5E = 1;
BUS6F = 1;
BUS7G = 1;
BUS8DP = 1;
break;
}
case 2: {
BUS1A = 0;
BUS2B = 0;
BUS3C = 1;
BUS4D = 0;
BUS5E = 0;
BUS6F = 1;
BUS7G = 0;
BUS8DP = 1;
break;
}
case 3: {
BUS1A = 0;
BUS2B = 0;
BUS3C = 0;
BUS4D = 0;
BUS5E = 1;
BUS6F = 1;
BUS7G = 0;
BUS8DP = 1;
break;
}
case 4: {
BUS1A = 1;
BUS2B = 0;
BUS3C = 0;
BUS4D = 1;
BUS5E = 1;
BUS6F = 0;
BUS7G = 0;
BUS8DP = 1;
break;
}
case 5: {
BUS1A = 0;
BUS2B = 1;
BUS3C = 0;
BUS4D = 0;
BUS5E = 1;
BUS6F = 0;
BUS7G = 0;
BUS8DP = 1;
break;
}
case 6: {
BUS1A = 0;
BUS2B = 1;
BUS3C = 0;
BUS4D = 0;
BUS5E = 0;
BUS6F = 0;
BUS7G = 0;
BUS8DP = 1;
break;
}
case 7: {
BUS1A = 0;
BUS2B = 0;
BUS3C = 0;
BUS4D = 1;
BUS5E = 1;
BUS6F = 1;
BUS7G = 1;
BUS8DP = 1;
break;
}
case 8: {
BUS1A = 0;
BUS2B = 0;
BUS3C = 0;
BUS4D = 0;
BUS5E = 0;
BUS6F = 0;
BUS7G = 0;
BUS8DP = 1;
break;
}
case 9: {
BUS1A = 0;
BUS2B = 0;
BUS3C = 0;
BUS4D = 0;
BUS5E = 1;
BUS6F = 0;
BUS7G = 0;
BUS8DP = 1;
break;
}
default: {
break;
}
}
}
+26
View File
@@ -3,9 +3,35 @@
#include "homework4.h"
unsigned char cnt = 0; // 定时器溢出计数
unsigned char second = 0; // 秒计数
void test3()
{
set_38_2SEG();
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0xB0;
TR0 = 1;
// 初始化时立即显示0
second = 0;
show_number(0);
while (1) {
if (TF0 == 1) {
TF0 = 0;
TH0 = 0x3C;
TL0 = 0xB0;
if (++cnt >= 20) {
cnt = 0;
second = (second < 9) ? ++second : 0;
show_number(second); // 调用显示函数
}
}
}
}
void main()