PC和单片机通信的问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 17:50:21
图在这里,我不需要那按扭控制数码管,只需要一个复位的按扭.板子上有四个数码管,选中前三个就可以了.我不知道怎么写数码管的显示程序,哪位高手帮我把这个程序改下可以直接运行.或者不修改我的程序,给一个能运行的完整程序也可以.

// 单片机串行口发送/接收程序,每接收到字节即发送出去
// 和微机相接后键入的字符回显示在屏幕上
// 可用此程序测试
//
#include <reg51.h>

#define XTAL 11059200 // CUP 晶振频率
#define baudrate 9600 // 通信波特率

void main(void)
{
unsigned char c;

TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率
TH1=(unsigned char)(256 - (XTAL / (32L * 12L * baudrate)));
TL1=(unsigned char)(256 - (XTAL / (32L * 12L * baudrate))); // 定时器0赋初值

SCON = 0x50;
PCON = 0x00;

TR1 = 1;
IE = 0x00; // 禁止任何中断

while(1)
{
while(RI == 0);
RI = 0;
c = SBUF; // 从缓冲区中把接收的字符放入c中

SBUF = c; // 要发送的字符放入缓冲区
while(TI == 0);
TI = 0;
}
}

没看到有数码管呢?
/* ×××××××××××××××××××××
led 数码管显示程序 4位
×××××××××××××××××××××××*/
void display(void)
{ uint i,j;
j=0xfe;
for(i=0;i<4;i++)
{
P2=shu[tm[3-i]];
P0=~(0x01<<i)|0x80;

delay(2);
}

P0=0x0f;

}