双机串行通讯实验c语言编程,51单片机编程:教你实现双机串行通信功能

利用 2 个实验系统通过 232 通信,实现双机串行通信功能。

用汇编或 C 语言编写一个 51 单片机程序,

用本侧的 K0~K3 能控制对侧的 L0~L3,

用对侧的 K0~K3 能控制本侧的 L0~L3。

通信线断开后,不需重启,接上通信线后,应能自动重新建立通信联系。

;=========================================================

做而论道早就回答了这个问题,也不知道是那个字眼违规了,百度知道又抽风了,不给显示。

申诉已经很多天了,也没有反应。

时间,已经耽误了,就发表在这里吧。

程序虽然是用汇编语言编写的,也非常简单,20几行而已。

;=========================================================

ORG   0000H

JMP   START

ORG   0023H

JB    TI, S_END

CLR   RI

MOV   P0, SBUF    ;读串口, 送P0显示

S_END:    RETI

;----------------------------------------

START:

MOV   SCON, #50H  ;方式1,8-n-1

MOV   TMOD, #20H

MOV   TH1, #0FDH  ;波特率设置

MOV   TL1, #0FDH  ;9600@11.0592MHz

SETB  TR1

MOV   IE, #90H    ;开放中断

LOOP:

MOV   A, P2       ;读拨码开关

DJNZ  R7, $       ;延时

DJNZ  R6, $ - 2

MOV   B, P2       ;再读

CJNE  A, B, LOOP  ;消抖

MOV   SBUF, A     ;向串口发送

MOV   P1, A       ;在本机显示

JNB   TI, $

CLR   TI

SJMP  LOOP

;----------------------------------------

END

;=========================================================

两台单片机系统,都使用上面给出的同一个程序。

做实验时,也可以用软件仿真,电路如下:

a19009e6c0475a5de88fcf35c864fa6f.png

用一个单片机,也可以自发自收,电路如下:

d585b0316759a45ecce6ab0df0f7e8fc.png

断开通信线路的开关,拨动开关就不能控制对方的 LED 了。

接通通信线路的开关,不需重启,自动就能重新建立通信联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值