/* Main.c file generated by New Project wizard
*
* Created: 周六 10月 3 2026
* Processor: AT89C52
* Compiler: Keil for 8051
*/
#include<reg51.h>
#define UCHAR unsigned char
#define UINT unsigned int
UCHAR code smg[] = {
0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90
};
sbit KEY = P3^2;
void delaylms(UINT n); // 这个声明提示编译器:不要忘记主函数main的前或后有个地雷延迟函数!
// 延时函数定义 有上面的声明这个地雷函数可以埋在主函数前或者主函数后
void delaylms(UINT n)
{
UCHAR i,j;
while(n--)
{
for(i=128;i>0;i--);
for(j=34;j>0;j--);
}
}
// 主函数(程序的入口)
void main()
{
UCHAR num = 0; // 用于计数的变量
while(1) // 死循环,让单片机一直运行
{
// 1. 使用数组(消除第二个警告)
P0 = smg[num]; // 假设数码管接在P0口,显示数字
// 2. 调用延时函数(消除第一个警告)
delaylms(1000); // 延时一段时间
// 简单的数字累加逻辑
num++;
if(num > 9)
{
num = 0;
}
}
} |