zdly.net
当前位置:首页 >> 两个51单片机串口通信 >>

两个51单片机串口通信

汇编编写的模拟串口通信程序 T2作为波特率控制 UART_RXD 是硬中断0或1口,如果能进入中断,说明该线有一个起始位产生,进入中断后调 用下面的接收程序.退出硬中断之前还需要将硬中断标志重新复位.UART_TXD 是任何其它IO即可.

********************************* 函数名:sio_int(sio interrupt) 功能, -6;* SM0=0 SM1=1;* SIO int high 优先级 */ T0=MODE1; break; /* T1 use sio */ TL1=T1MS_2400bps; break; case 2; TH1=T1MS_9600bps; /* T1 use sio */.02.25 ******************

1、设置串口相关寄存器;2、设置波特率,两边相同;上面两个是初始化……希望这个你自己好好写写,不然可以说你什么都不会了……3、两个串口的接口Rx接另外一个Tx,Tx接另外一个的Rx就可以了.这个是正常的SBUF的接收和发送处理就行了..其实这跟单片机像上位机发送和接收没有两样……

<p>甲机发送(拨码开关):</p> <p>ORG 00H</p> <p>AJMP MAIN</p> <p>ORG 30H</p> <p>MAIN: </p> <p>MOV SCON,#50H ;8位发送,接收</p> <p>MOV TMOD,#20H ;定时器1方式2,8 位自动重装.</p> <p>MOV TH1,#0FAH ;11.0592

TXD,RXD接上拉, TXDRXD RXDTXD GND GND 只要波特率设定一致就可以通讯了

和一个串口的用法一样,先初始化,然后发和收.很多51核的单片机都有2个,有的还有3个串口

1、不要忘了把两个单片机的地也连上,因为这是单端信号,必须连地.同时信号线不要超过1 米(如果你使用3V的电压,还要短些). 2、首先,你要设定一个主机,可以主动发送信号,比如发送'?',然后从机接到信号后返回'>',便可实现握手,随后可以实现通信.这种握手模式是很多单片机在串行编程中使用了,可以拿来参考. 最后,不要忘了使能SCON中的 REN位,主机和从机的波特率和格式一定要一致.实验时候先从较低的波特率试验,比如2400-9600.

89c5189c51 txdrxd rxdtxd 只要波特率设定一致就可以通讯了

你的意思是用一片51发指令去控制另一片51? 单片机之间串口通信不需要MAX232,把TX,RX交叉连接即可.很简单的:首先调好上位机的键盘和显示,网上有很多现成的程序,自己修改一下;然后,把两片 单片机的串口配置成一样,(一般用 8.1.0,9600BPS格式);有输入时把键码发给下位机,下位机收到后读出,再读收到键码对应继电器控制引脚的状态,如果是断开的就输出吸合,反之亦然.(PS:急是没用的,个人认为,没有人会写好程序帮你,就算悬赏的是RMB,除非刚好有一样的而且这个人很有爱心.只是一种思路,仅供参考)

接电路注意,二极管正极接电源vcc,是低电平驱动 org 00h sjmp star star: org 30h loop: mov p1,#00h lcall delay mov p1,#aah lcall delay mov p1,#55h lcall delay mov p1,#0f0h lcall delay mov p1,#0fh lcall delay ljmp loop delay:mov r7,#250 ;延时0.5秒需要更长的话多加几个lcall delay d1: mov r6,#250 d2:nop nop nop nop nop nop djnz r6,d2 djnz r7,d1 ret end

网站首页 | 网站地图
All rights reserved Powered by www.zdly.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com