51单片机模拟串口通信
答:用键盘检测程序检测按键按下,检测到按下就用串口向上位机发送字符“1”的ASCII码值,这样在串口调试助手里就可以看到字符“1”了
答:设置波特率,工作模式,开中断等等 A和B的通信,你先调试一台机器,比如A,和电脑连接,用串口调试助手(网上找)查看A的收发数据是否正常,然后A和B联调 串口通信距离不远一般不会出错,波特率较低,
答:51单片机串口通信,程序为 在 有接收 或者 发送时,接收 或者 发送 一个字节数据 完毕后,产生中断 告诉 单片机 在 串口是 接收 一个字节的 数据,或者 数据 发送完毕,定时器 这是 控制 串口 接收 或者 发送的 速率 (波特率)所以 串口 通讯 需要 两个 通讯设备 的 波特率 一致。至于 单片机 ...
答:首先,单片机和微机通信的电气标准要一致,微机串口一般是RS232电气标准,所以要加电平转换芯片,大多用MAX232,一般单片机实验板上都提供这样的标准串口。其次,要分别编写上位机和下位机软件程序,单片机程序参照例程、教科书进行编写;上位机微机可采用VB,组态软件,Labview等软件编写,一般若是简单的通信,...
答://串口接收程序 uchar receive(void){ re=SBUF; //接收数据 while(RI==0);RI=0;return re;} //串口初始化 void sinti(void){ SCON = 0x50;TMOD |= 0x20;TH1 = 0xFD;TR1 = 1;EA = 1;ES = 1;} void delay(int cnt){ while(--cnt);} //主程序 int main...
答:A和B的通信,你先调试一台机器,比如A,和电脑连接,用串口调试助手(网上找)查看A的收发数据是否正常,然后A和B联调 串口通信距离不远一般不会出错,波特率较低,除了奇偶校验,你可以指定一个简单的通信协议,来验证是否数据正常 这类程序网上很多,你不清楚就搜索51串口程序,出来一大堆,找个有注释的看看,...
答:51单片机中的串口通信是通过P3口的两个引脚(即P3.0和P3.1)实现的,其中P3.0口为串口接收引脚(RXD),P3.1口为串口发送引脚(TXD)。在51单片机中,串口通信的端口是固定的,即P3.0口和P3.1口。这两个引脚通过串口通信电路与串口通信芯片相连,实现串口通信功能。需要注意的是,在使用51...
答:这样的只要switch语句就可以解决了。在串口中断加入如下代码:void UARTInterrupt(void) interrupt 4//串口中断 { static unsigned char cont;//接收计数 unsigned char temp;//临时变量 if(RI){ RI = 0;switch(cont){ case 0:if(SBUF==0x1b){cont=1;return;}//检测第一个起始码 case 1:...
答:第 9 个数据即 D8 位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器 SCON 中的 SM2 位的配合,可使 MCS-51 单片机串行口适用于多机通信。方式 2 的波特率固定,只有两种选择,为振荡率的 1/64 或 1/32 ,可由 PCON 的最高位选择。方式 3 :方式 3 与方式 2 完全类似,唯一的...
答:通信线上传输了一个字节到单片机串口上,硬件自动将其接收并存储在SBUF里,此时会产生一个中断(串口接收中断),单片机的相应中断使能(ES,EA)打开的时候,就可以进入中断,方便处理通讯。关闭中断时,仍可以使用查询的方式进行通讯处理。查询RI位,if(RI==1){RI=0;//需要对其清零,硬件不会自动清零...
网友评论:
鱼友19613137282:
51单片机串口不够用,怎么样模拟 -
20275尉樊
: 用一个普通IO口作为TXD发送口,外部中断口作为RXD接收口,就可以模拟串口通讯了.
鱼友19613137282:
用51单片机怎么通过独立按键实现串口通信 比如说你按下一个键S1 在串口接收区能收到1 -
20275尉樊
: 用键盘检测程序检测按键按下,检测到按下就用串口向上位机发送字符“1”的ASCII码值,这样在串口调试助手里就可以看到字符“1”了
鱼友19613137282:
51单片机串口通信过程 -
20275尉樊
: 单片机的串口本身就已是一个功能完备的外设部件了.你程序里只需向SBUF写入一个字节,一位一位发送的事情串口自己会执行,不需要干预.等发送完成,串口会将TI置位向你的程序报告,请求进一步的处理,TI就是起一个报告的作用,而不是别的.51单片机的结构决定了你不可能发送数据时只发送一位,你必须一次向SBUF写一个字节(8bit,即使你只使用其中1个bit)的数据.建议你先多了解一些硬件的知识,这对学习单片机很有帮助.从你的问题来看,个人感觉稍显外行.
鱼友19613137282:
怎么实现51单片机与电脑串口之间的通信? -
20275尉樊
: 首先,单片机和微机通信的电气标准要一致,微机串口一般是RS232电气标准,所以要加电平转换芯片,大多用MAX232,一般单片机实验板上都提供这样的标准串口. 其次,要分别编写上位机和下位机软件程序,单片机程序参照例程、教科书...
鱼友19613137282:
51单片机如何进行串口通信,并制定通信协议. -
20275尉樊
: 连线就是 交叉连接 A的TX到B的RX A的RX到B的TX,还有一根地线 串口线就这三根就够用了 然后就是初始化A和B的串口,设置波特率,工作模式,开中断等等 A和B的通信,你先调试一台机器,比如A,和电脑连接,用串口调试助手(网上找...
鱼友19613137282:
51单片机串口通信的过程
20275尉樊
: 通信线上传输了一个字节到单片机串口上,硬件自动将其接收并存储在SBUF里,此时会产生一个中断(串口接收中断),单片机的相应中断使能(ES,EA)打开的时候,就可以进入中断,方便处理通讯.关闭中断时,仍可以使用查询的方式进行通讯处理.查询RI位, if(RI==1) {RI=0;//需要对其清零,硬件不会自动清零的 ......//以下是处理程序 } 发送的时候把需要发送的字节送入SBUF即可启动硬件发送,单片机只需查询TI(发送标志位)看看发送是否完成就行了.TI也需软件清零.
鱼友19613137282:
51单片机串口通信 -
20275尉樊
: 51单片机是通过SBUF这个串口专用寄存器和串口模块来收发数据的.发送时,只要将数据送入到SBUF,等等TI状态到1就发送完毕.同样接收时,RI为1,那么说明SBUF接收完毕一帧数据,可以直接从SBUF读取数据了.
鱼友19613137282:
对2个51单片机进行串口通信的具体步骤是什么,高手来看看,能写程序的请帮我写一下,不胜感激! -
20275尉樊
: 1、设置串口相关寄存器;2、设置波特率,两边相同;上面两个是初始化……希望这个你自己好好写写,不然可以说你什么都不会了……3、两个串口的接口Rx接另外一个Tx,Tx接另外一个的Rx就可以了.这个是正常的SBUF的接收和发送处理就行了..其实这跟单片机像上位机发送和接收没有两样……
鱼友19613137282:
一道51单片机的C语言程序,关于串口通讯的,很简单...... -
20275尉樊
: #include<reg52.h> //增强型52寄存器的定义 #define uchar unsigned char //用uchar代替unsigned char #define uint unsigned int //用uint代替unsigned int unsigned char flag,a,i; //定义变量flag,a,i uchar code table[]="I receive,thanks"; //定义一个...
鱼友19613137282:
51单片机串口通信c语言编程 -
20275尉樊
: 这只是个模板,参考一下/*----------------------------------------------- 名称:串口通信 网站:www.doflye.net 编写:shifang 日期:2009.5 修改:无 内容:连接好串口或者usb转串口至电脑,下载该程序,打开电源 打开串口调试程序,将波特率设置为...