—————————————————————
|点动秒表 K1启动 K2暂停 K3清零 |
—————————————————————
#include <reg51.h>
char dq[10]={0XC0,0XF9,0XA4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};
unsigned int m;
char n,k;
void main()
{
P2=dq[0];
while(1)
{ m++;
if((m>25000)&&(k==1))
{ n++;
m=0;
}
if((P1&0x01)==0)
k=1;
if((P1&0x02)==0)
k=0;
if((P1&0x40)==0)
n=0;
P3=0x80;
P2=dq[n];
}
}

(0)
[已删除] (2024/04/30 10:31)
AGOMG, 否,也可能有说的不对的地方
AGOMG (2024/04/30 07:22)
8192Bit, 佬
[已删除] (2024/04/30 02:59)
AGOMG, 学过一点,下面是我的个人看法
1. reg51是51单片机内置寄存器的头文件,P1 P2就是那里来的
2. (1) C语言不存在C++式的命名空间
(2) 下面的代码没有使用命名空间内的东西
3. 0XC0... 属于十六进制。这行代码创建了一个大小为10的char数组,内容是C0 F9 B4...值得注意的是,这些C0 F9实际上是使数码管显示1 2 3...那些阿拉伯数字所需要亮起的条条,一个七段数码管的七根引脚连到51单片机上,剩下一根共阴/阳连电源;而单片机一组GPIO正好8个,所以干脆就用8个比特存放1,2,3...所对应要亮起的条条(剩下那个引脚抛弃他),而char类型刚好是8bit的,所以用char
AGOMG (2023/05/11 23:18)
哦~原来如此,这是C语言啊,怪不得看不懂
AGOMG (2023/05/11 21:14)
Jiucaiwang_2333, …嗯?那这是你自己的程序吗?