51单片机用C语言来编写,临近考试,

利用串行口设计 4 位静态 LED 显示,编写程序,要求 4 位 LED 每隔 1 s 交替 显示“1234”和“5678”

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7594784
  • 你也可以参考下这篇文章:51单片机的程序设计中的C语言
  • 除此之外, 这篇博客: C语言:51单片机看这一篇就够了中的 二十、单片机实操十八:电脑通过串口控制LED 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    1、编写程序

    #include <STC89C5xRC.H>
    #include "Delay.h"
    #include "UART.h"
    
    unsigned char Sec;
    
    void main()
    {
    	UartInit();
    	while(1)
    	{
    
    	}
    }
    
    void UART_Routine() interrupt 4
    {
    	if(RI==1)
    	{
    		P2=~SBUF;  // 读寄存器的数据
    		UART_SendByte(SBUF);
    		RI=0;  // 说明书要求手动复位
    	}
    }

    其他文件:复制之前写的模块即可。

    2、波特率计算

    (1)内部逻辑图

    (2)配置的定时初值

     (3)计算方式

     F3=243;

    256-243=13us;

    每记13次数,溢出1次;

    1/13=0.0769230769230769MHz;

    0.0769230769230769/16=0.0048076923076923MHz=4,807.692307692308HZ

    3、ASCII码编码表

    文本模式与Hex模式对应情况。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

这玩意设计硬件的, 谁能空手给你撸出来呢?