谁能写一段51单片机发送波特率的程序

如题所述

main()
{
uchar i;
uint j;
SCON= 0x40; //串口方式1
PCON=0; //SMOD=0
REN=1; //允许接收
TMOD= 0x20; //定时器1定时方式2
TH1= 0xfd; //11.0592M 9600波特率
TL1= 0xfd;
TR1= 1; //启动定时器
while(1)
{
i=0;
while(trdata[i]!=0x00)
{
SBUF=trdata[i];
while(TI==0);
TI=0;
i++;
}
for (j=0;j<50000;j++);

i=0;
while(trdata1[i]!=0x00)
{
SBUF=trdata1[i];
while(TI==0);
TI=0;
i++;
}
for (j=0;j<50000;j++);
}
}
温馨提示:内容为网友见解,仅供参考

求一个51单片机程序,通过串口发送“hello,I'm STC89C52!”一行字符...
其实很简单的帮你写一个参考程序:晶振:11.0592 波特率9600 \/ \/ include "REG52.H"\/ 按键定义 \/ \/\/ unsigned char TABLE[] = "hello,I'm STC89C52";unsigned char UARTByte;\/\/ void UART_Send_Byte(unsigned char Byte);\/\/延时 void Delay_1ms(unsigned int time){ unsigned int a, b...

求一51系列单片机C程序,最好是简单易懂,有注释。 程序目的:通过串口...
\/\/9600波特率 include <reg51.h> void InitUART(void)\/\/串口初始化 { TMOD = 0x20;\/\/定时器方式2 8位自动重装 SCON = 0x50;\/\/定时器1为串口提供时钟 TH1 = 0xFD;\/\/初值9600bps TL1 = TH1;PCON = 0x00;\/\/波特率不加倍(如果为0x80代表波特率加倍)EA = 1;\/\/打开总中断 ES = 1;\/\/...

求一个51单片机C语言程序编程
实验内容:单片机甲、乙进行双机串行通信,甲机通过串口控制乙机LED闪烁(如下图所示,要求利用芯片MAX232),双方的晶振频率均为11.0592MHz(波特率为9600kb\/s)要求:甲机按开关K1一次,发送字符“A”给乙机,点亮灯D1与D2;按开关K1两次,发送字符“B”给乙机,点亮灯D3与D4;按开关K1三次,发...

MCS51单片机的问题 用中断的方式,编写PC机发送一个数到单片机的程序,波 ...
temp=SBUF; switch(temp) { case '1':P1=0xfe;break; \/\/PC发送 1 给单片机,P1.0 对应LED亮 case '2':

编程实现51单片机与PC的串口通信,要求波特率设置为9600,循环发送字符...
include "reg51.h"void initUart(void){ TMOD|=0x20;SCON=0x50;TH1=0xfd;TL1=0xfd;TR1=1;} void main(void){ initUart();EA=1;while(1){ send_byte('abc');} }

MCS51单片机时钟频率fosc11.0592MHZ,其波特率为1200bps,SMOD=0,T1工...
TMOD = 0x20;\/\/ 定时器1工作于8位自动重载模式, 用于产生波特率 TH1=TL1=0xE8;\/\/ 波特率1200 SCON = 0x50;\/\/ 设定串行口工作方式1 允许接收,相当于下面三句 \/\/SM0=0;\/\/SM1=1;\/\/REN=1;PCON =0x00;\/\/ 波特率不倍增 SMOD = 0 TR1 = 1;...

用51单片机串行通信传输数据,每秒传输一个十六位数据,定时器和波特率怎 ...
晶振11.0592,波特率9600情况下,可用下面的函数进行初始化。void UART_init(){ TH1 = 0xFD;TL1 = 0xFD;TMOD = 0x21; \/\/设置定时器1为模式2;定时器0为模式1 TH0 =(65536-2500)\/256; \/\/约2.50MS定时器初值 TL0 =(65536-2500)%256; \/\/约2.50MS定时器初值 ET0 = 1;TR0 = 1;...

C语言51单片机串口通信程序求教
串口通讯,首先设置波特率,再设置串口模式,之后就可以收发数据了。比如:init(){TMOD=0x20;TH1=0xfd;TL1=0xfd;TR1=1;SCON=0x50;}send(unsigned char dat){SBUF=dat;while(TI==0);TI==0;}unsigned char recive(){unsigned char dd;if(RI) { dd=SBUF; RI=0; } return(...

51单片机 设置串口波特率115200初值怎么弄 呢 单片机是11.0592的...
void UartInit(void) \/\/115200bps@11.0592MHz { PCON &= 0x7f; \/\/波特率不倍速 SCON = 0x50; \/\/8位数据,可变波特率 AUXR |= 0x40; \/\/定时器1时钟为Fosc,即1T AUXR &= 0xfe; \/\/串口1选择定时器1为波特率发生器 TMOD &= 0x0f; \/\/清除定时器1模式位 TMOD |= 0x20; ...

51单片机传输数据最佳波特率
51串口有几种工作方式,每种波特率都不尽相同,最常用的是方式一,其波特率由定时器T1的溢出率决定,T1溢出率=Fosc\/{12*【256-TH1】} baudrate=(2^SMOD\/32)*T1溢出率 一般默认SMOD=0;无需设置,需要波特率翻倍时SMOD=1 Fosc=22.1184M,你可以计算一下最高波特率,整数的......

相似回答
大家正在搜