⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 电工小软件
💻 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 + -