如何利用单片机向电脑发送一串汉字

如何利用单片机向电脑发送一串汉字,第1张

最近看到有朋友在网上问单片机怎么向电脑发送一串汉字这个问题,其实这个问题也不难。呵呵。只要把相关的参数设置好一些,然后把汉字定义成一组字符向电脑发送就可以。

为了让大家更明确的了解,我就写了下面的一个程序来演示一下。

*** 作条件:

1.XP *** 作系统。

2.XP的超级终端显示。

3.WJ-V4.0开发板。

4.单片机STC89C52.

5.晶振11.0592M

*** 作步骤:

1.设置TMOD设置波特率和定时器1的工作方式。

2.设置定时器的初始值。

3.设置串行口工作方式。

4.设置波特率不加倍。

5.打开TR1允许发送。

6.启动定时器。

7.串行中断打开。

8.打开EA中断。

现在发上源代码:

#include

#defineucharunsigned char

#defineuint unsigned int

bitFS_Bit = 0;//发送标志位

codeuchar TEXT0[] = “********************************rnn”;

codeuchar TEXT1[] = “电子爱好者社区欢迎您!rnn”;

codeuchar TEXT2[] = “www.wang1jin.com!rnn”;

codeuchar TEXT3[] = “51免费开发板PCB赠送!rnn”;

codeuchar TEXT4[] = “赠送地址http://www.wang1jin.com/shop/goods.php?id=2rnn”;

codeuchar TEXT5[] = “********************************rnnnnn”;

void Delay_Ms(uint i);//延时函数

voidUART_Char(uchar Value);//发送一个数据

void Prints(uchar *Value);//发送一组数据

void main(void)

{

TMOD = 0x20;//设置波特率为9600和定时器1工作方式

TL1 = 0xFD;//设置初始值

TH1 = 0xFD;

SCON = 0x50;//设置串行口工作方式

PCON = 0x00;

TR1 = 1;//允许发送

ET0 = 1;//启动定时器

ES = 1;//串行中断允许

EA = 1;

while(1)

{

Prints(TEXT0);//发送数据

Prints(TEXT1);

Prints(TEXT2);

Prints(TEXT3);

Prints(TEXT4);

Prints(TEXT5);

Delay_Ms(60000);//延时

}

}

void INIT_Uart(void)interrupt 4

{

if(RI)//如果收到数据

{

RI = 0;

}

else

{

TI = 0;//发送完一个数据

FS_Bit = 0;//清标志位

}

}

void Uart_Char(uchar Value)

{

SBUF = Value;//发送数据

FS_Bit = 1;//设置发送标志位

while(FS_Bit);

}

void Prints(uchar *Value)

{

while((*Value) != ‘’)//如果没有发送完毕

{

Uart_Char(*Value);//发送一位数据

Value++;//指针指向下一位数据

}

}

void Delay_Ms(uint i)

{

while(--i );

}

最后给大家看看程序工作的效果图片:

如何利用单片机向电脑发送一串汉字,如何利用单片机向电脑发送一串汉字,第2张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2565472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-07
下一篇 2022-08-07

发表评论

登录后才能评论

评论列表(0条)

保存