资讯详情

89s51和89s52不同晶振之间通信实验

本程序必须由串口到数据,也就是SBUF得到数据才能启动发送和接收。

本人查表发现11.0592和12 MHZ通信时,只有2400波特率,T1的时间设置才没误差。

89s51接晶振 12 mhz

89s52 接晶振 11.0592 mhz

89s51作为接收端代码:

#include <reg51.h> #define LED P1 //LED显示 void main() { TMOD=0x20; TH1=0xf3; TL0=0xf3; TR1=1; SC=0x50; while(1) { while(RI==0);//确定收到成功判断 LED=SBUF; RI=0; SBUF=LED; while(==0);//确定发送成功判断 TI=0;

} }

89s52作为发送端代码:

#include <reg52.h> #define LED P1 //LED显示 void main() { TMOD=0x20; TH1=0xf4; TL0=0xf4; TR1=1; SCON=0x50; while(1) { while(RI==0); //接收成功判断 LED=SBUF; RI=0; SBUF=LED; while(TI==0);//发送成功判断 TI=0; } }

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台