📄 main.c
字号:
#include <reg52.h>
#include "color.h"
void UartInit (void)
{
//参数配置
#define MCLK 22118400L //定义CPU主频(Hz)
#define BAUD_RATE 115200L //设置波特率
RXD = 1;
TXD = 1;
SCON = 0x50; //串口方式1(8位Uart),允许接收
PCON |= 0x80; //波特率加倍
TMOD &= 0x0F;
TMOD |= 0x20;
TH1 = 256 - ( MCLK / 12 ) / ( 16 * BAUD_RATE );
TL1 = TH1; //设置波特率
TR1 = 1;
//ES = 1; //允许串行口中断
//EA = 1; //允许中断
}
void UartSendByte (unsigned char dat)
{
SBUF = dat;
while(!TI);
TI = 0;
}
void Delay(unsigned int cycle)
{
while (cycle--);
}
void main(void)
{
unsigned char x,y;
unsigned char time;
unsigned char posi;
UartInit();
while (1)
{
// 虚拟dos窗口25*80
// 可以指定前景和背景颜色
for (x = 0; x < 80; x++) {
for (y=0; y < 25; y++) {
UartSendByte(0xff);
UartSendByte(x);
UartSendByte(y);
UartSendByte('0'+x);
UartSendByte(DISP_FGND_RED | DISP_BGND_CYAN );
}
}
time = 0;
posi = 0x01;
while (1)
{
// 简易的计数器
if (time++ > 9)
time = 0;
Delay(40000);
// dos
UartSendByte(0xff);
UartSendByte(0);
UartSendByte(0);
UartSendByte('0'+time);
UartSendByte(DISP_FGND_WHITE | DISP_BGND_BLACK );
// 流水灯
if (posi == 0)
posi =0x01;
UartSendByte(0xff);
UartSendByte(0x80);
UartSendByte(8);
UartSendByte(posi);
UartSendByte(0);
posi <<= 1;
};
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -