一般来说,从单片机发给超级终端显示的颜色默认是白底黑字的,最近看到一篇文章说超级终端的文字颜色和背景其实是可以改变的,所以就拿手上的开发板来试了一把。
超级终端设置为:
波特率:9600
数据位:8位
奇偶校验:无
停止位:1
数据流控制:无
下面是51单片机上的代码,代码风格就凑合看了,随便写的程序懒得注意什么风格。o(∩_∩)o...
#include<reg51.h> bit sent; int a = 1000; void ini() { SM0 = 0; SM1 = 1; REN = 1; TI = 0; RI = 0; PCON = 0; TH1 = 0xFD; //11.0592MHz 9600波特率
TL1 = 0XFD; TMOD = 0X20; EA = 1; ET1 = 0; ES = 1; TR1 = 1; }
void send_char_com(unsigned char ch) { SBUF = ch; while (TI == 0); TI = 0; }
void send_string_com(unsigned char *str, char len) { // while(*str != 0)
int i; for (i = 0;i < len;i++) { send_char_com(*str); str++; } *str = 0; }
void main() { ini(); //初始化串口
//welcome();
while (1) {
if (sent == 1) { //welcome();
SBUF = 0x0c; //send_string_com("\n\n\r\033[1;31mUART> \033[1;30m");
//如果不能正常显示请修改下面四个函数调用中的第二个参数。
send_string_com( "\n\r\033[1;40;32m", 15); send_string_com( "\n\r 欢迎使用串口控制平台", 54); send_string_com( "\n\r by colin", 48); send_string_com( "\n\r", 2); TI = 0; sent = 0; ES = 1;
} } }
void intrr() interrupt 4 { unsigned char temp; if (RI == 1) { temp = SBUF; if (temp != 0) { sent = 1; ES = 0; } else { sent = 0; } RI = 0; } else { TI = 0; } }
|
阅读(2068) | 评论(0) | 转发(0) |