日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年01月21日(星期二)

正在發(fā)生

2021年01月21日 | 51單片機向PC電腦發(fā)送漢字的方法

發(fā)布者:xi24 來源: eefocus關(guān)鍵字:51單片機  PC電腦 手機看文章 掃描二維碼
隨時隨地手機看文章

簡介:最近看到有朋友在網(wǎng)上問單片機怎么向電腦發(fā)送一串漢字這個問題,其實這個問題也不難.呵呵.只要把相關(guān)的參數(shù)設(shè)置好一些,然后把漢字定義成一組字符向電腦發(fā)送就可以.

為了讓大家更明確的了解,我就寫了下面的一個程序來演示一下.


操作條件:


1.XP操作系統(tǒng).


2.XP的超級終端顯示.


3.WJ-V4.0開發(fā)板.


4.單片機STC89C52.


5.晶振11.0592M


操作步驟:


1.設(shè)置TMOD設(shè)置波特率和定時器1的工作方式.


2.設(shè)置定時器的初始值.


3.設(shè)置串行口工作方式.


4.設(shè)置波特率不加倍.


5.打開TR1允許發(fā)送.


6.啟動定時器.


7.串行中斷打開.


8.打開EA中斷.


現(xiàn)在發(fā)上源代碼:


#include


#define uchar unsigned char


#define uint unsigned int


bit FS_Bit = 0; //發(fā)送標志位


codeucharTEXT0[] = "********************************rnn";


codeucharTEXT1[] = "電子愛好者社區(qū)歡迎您!rnn";


codeucharTEXT2[] = "www.wang1jin.com!rnn";


codeucharTEXT3[] = "51免費開發(fā)板PCB贈送!rnn";


codeucharTEXT4[] = "贈送地址http://www.wang1jin.com/shop/goods.php?id=2rnn";


codeucharTEXT5[] = "********************************rnnnnn";


void Delay_Ms(uint i); //延時函數(shù)


void Uart_Char(uchar Value); //發(fā)送一個數(shù)據(jù)


void Prints(uchar *Value);//發(fā)送一組數(shù)據(jù)


void main(void)


{


TMOD = 0x20; //設(shè)置波特率為9600和定時器1工作方式


TL1 = 0xFD; //設(shè)置初始值


TH1 = 0xFD;


SCON = 0x50; //設(shè)置串行口工作方式


PCON = 0x00;


TR1 = 1; //允許發(fā)送


ET0 = 1; //啟動定時器


ES = 1; //串行中斷允許


EA = 1;


while(1)


{


Prints(TEXT0); //發(fā)送數(shù)據(jù)


Prints(TEXT1);


Prints(TEXT2);


Prints(TEXT3);


Prints(TEXT4);


Prints(TEXT5);


Delay_Ms(60000); //延時


}


}


void INIT_Uart(void) interrupt 4


{


if(RI) //如果收到數(shù)據(jù)


{


RI = 0;


}


else


{


TI = 0; //發(fā)送完一個數(shù)據(jù)


FS_Bit = 0; //清標志位


}


}


void Uart_Char(uchar Value)


{


SBUF = Value; //發(fā)送數(shù)據(jù)


FS_Bit = 1; //設(shè)置發(fā)送標志位


while(FS_Bit);


}


void Prints(uchar *Value)


{


while((*Value) != '