单片机keil编程编写代码

在keil中利用串行口设计4位静态LED显示,编写程序要求 4位LED每隔5s交替显示“2202”和“1274

#include <reg52.h>

sbit LED1 = P2^0; 
sbit LED2 = P2^1;
sbit LED3 = P2^2;
sbit LED4 = P2^3;

void delay(unsigned int i) 
{
    unsigned int j;
    while(i--) 
        for(j=0; j<1275; j++); 
}

void LED_Display()
{
    LED1 = 0;  LED2 = 0; LED3 = 1; LED4 = 1;  //显示1274
    delay(5);   //延时5s
    
    LED1 = 0; LED2 = 1; LED3 = 0; LED4 = 1;   //显示2202 
    delay(5); 
}

void main() 
{
    while(1) 
    {
        LED_Display();   
    } 
}

这个程序完成了:

  1. 定义LED接口和delay延时函数。
  2. 在LED_Display函数中设置LED显示“1274”和“2202”,中间延时5s。
  3. 在主函数中循环调用LED_Display实现交替显示。将开发板的P2.0-P2.3引脚分别连接4个LED,下载此代码到开发板,4个LED会每5s显示一次“2202”和“1274”。
#include <reg51.h>

sbit LED_0 = P3^0; // 定义4位LED信号引脚
sbit LED_1 = P3^1;
sbit LED_2 = P3^2;
sbit LED_3 = P3^3;

void send_char(char c) // 串口发送函数
{
    SBUF = c;
    while(TI == 0);
    TI = 0;
}

void send_string(char* str) // 串口发送字符串函数
{
    while(*str != '\0')
    {
        send_char(*str);
        str++;
    }
}

void delay(unsigned int t) // 延时函数
{
    unsigned int i, j;
    for(i = t; i > 0; i--)
        for(j = 112; j > 0; j--);
}

void main()
{
    TMOD |= 0x20; // 设置计时器1为模式2
    TH1 = 0xFD; // 设置波特率为9600
    TL1 = 0xFD;
    TR1 = 1; // 启动计时器1

    while(1)
    {
        LED_0 = 1; // 显示数字“2LED_1 = 1;
        LED_2 = 0;
        LED_3 = 0;
        delay(1000);

        LED_0 = 0; // 显示数字“2LED_1 = 0;
        LED_2 = 1;
        LED_3 = 0;
        delay(1000);

        LED_0 = 0; // 显示数字“0LED_1 = 0;
        LED_2 = 0;
        LED_3 = 1;
        delay(1000);

        LED_0 = 0; // 显示数字“2LED_1 = 1;
        LED_2 = 1;
        LED_3 = 0;
        delay(1000);

        send_string("2202\n"); // 通过串口发送“2202”

        delay(5000); // 等待5LED_0 = 1; // 显示数字“1LED_1 = 1;
        LED_2 = 1;
        LED_3 = 0;
        delay(1000);

        LED_0 = 0; // 显示数字“2LED_1 = 1;
        LED_2 = 1;
        LED_3 = 0;
        delay(1000);

        LED_0 = 1; // 显示数字“7LED_1 = 1;
        LED_2 = 1;
        LED_3 = 1;
        delay(1000);

        LED_0 = 0; // 显示数字“4LED_1 = 1;
        LED_2 = 0;
        LED_3 = 0;
        delay(1000);

        send_string("1274\n"); // 通过串口发送“1274”

        delay(5000); // 等待5秒
    }
}


具体的硬件说明都没有怎么写