汇编语言实现两台单片机并行通信

作者&投稿:雪衫 (若有异议请与网页底部的电邮联系)
汇编语言 两个单片机之间的全双工通信~

题目要求,很宽了,不仅仅是““两个单片机之间的全双工通信””。

楼主把别的,先解决了。然后,全双工通信,大家可以帮你。

1.直接使用一个8位口就可以实现。
2.使用8位口以及一个中断和使能端,每个单片机使用10个端口
3.使用8位口以及一个时钟输出和使能端,每个单片机使用10个端口
你也可以参照一些ad/da的使用。

通信 是 并行的,不需要协议啥的,简单收发就行。

这就太简单了。

如果是单工的,用一个 8 位的并行口,互连即可。

比如甲机 P2 连接到乙机的 P1。

甲机的 P1 接上八个拨动开关,乙机的 P2 接上八个 LED。

两台单片机,都是 P1 输入、P2 输出。程序是相同的,如下:

ORG 0000H

MOV P2, P1
SJMP 0000H

END

这就实现了《并行的、简单收发》。

做并行通讯看起来容易,其实还是需要处理很多关系的,发送数据可以很随意,但接收就需要考虑很多因数了,比如什么时候接收数据,你需要考虑吧,所以最好是用总线方式来控制,接收端将发送控制信号引入中断,这样就好办了。比如:用51单片机,收发可用244或245接口芯片。
发送端:244片选地址8000H
接收端:244片选地址8000H,发送端片选信号接入外部中断0
发送:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV DPTR,#8000H
CLR A
LOOP:
MOVX @DPTR,A
INC A
LCALL DELAY
SJMP LOOP
DELAY:
MOV R2,#100
DJNZ R2,4
RET
END
接收:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP EXT0
ORG 0030H
MAIN:
SETB IT0
SETB EX0
SETB EA
SJMP $
EXT0:
MOV DPTR,#8000H
MOVX A,@DPTR
MOV P1,A
RETI
END

这个简单,是单片机技术中的基本

需要借助指令MOVX @DPTR
TXD RXD


汇编语言实现两台单片机并行通信
通信 是 并行的,不需要协议啥的,简单收发就行。这就太简单了。如果是单工的,用一个 8 位的并行口,互连即可。比如甲机 P2 连接到乙机的 P1。甲机的 P1 接上八个拨动开关,乙机的 P2 接上八个 LED。两台单片机,都是 P1 输入、P2 输出。程序是相同的,如下:ORG 0000H MOV P2...

如何用IO口模拟I2C来实现两个STC单片机之间的通讯,求C语言写法
这是我写的模拟程序,只有一个发送函数和一个接收函数,EP为接收标志位,发送没有标志位,通过外部中断来发送起始信号,无应答与非应答,无结束信号,实测可以正常收发数据 ifndef _IOPORTSEND_H__define _IOPORTSEND_H__include<reg52.h> unsigned char DAT,EP=0;\/\/可以把DAT当作串口中的SBUF,主机...

设单片机系统如何编写一个完整的C51程序使P1.6和P1?
1、TMOD = 0X02;\/\/工作方式寄存器; 2、TH0 = 56;\/\/8位的用TH; 3、TL0 = 0;\/\/16位跟13位两个都用; 4、EA = 1;\/\/开总中断; 5、TR0 = 1;\/\/定时器开始计数,return。 二、单片机简介: 1、单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上...

怎么用单片计C语言编出两个按键控制一位数码管,一个按健控制0至9就是...
可以不用中断。 你只要写个段码的数值,然后在数组里加一个变量。比如“ uchar dm[]={0xc0,0xa4,0xf9...}“ 每次按下一个键数组里的变量就加一。 做按键的时候要记住去斗。 归0的按键就更好写了,只要按下数组里的变量等于0就行了。 希望能帮到你, 亲~...

请问单片机汇编语言流水灯程序,如何实现两颗灯流动(11111100\/11111001\/1...
MOV A , #0FCH LOOP:MOV P1, A ;假设灯在P1口 RL A ACALL DELAY ;延时 SJMP LOOP 这样就行了.

求max485实现两单片机通信的c语言程序
485多机通讯见邮箱

请用C语言编程,实现单片机控制两个LED灯:当S1开关闭合时,两个LED灯...
假设高电平点亮led while(1){ if(s1==0){ led1=0;led2=1;delayms(200);led1=1;led2=0;delayms(200);} else{led1=0;led2=0;} }

用单片机汇编语言编写两个程序(越简单越好)
先来个抢答器的程序,P1接一个共阳极数码管,P0接8个抢答按键,主持人复位采用单片机复位按钮实现。ORG 0000H START: MOV A,P0 CJNE A,#0FFH,PL0 SJMP START PL0: LCALL DELAY MOV A,P0 CJNE A,#0FFH,PL1 SJMP START PL1: JNB ACC.0,K1 JNB ACC.1,K2 JNB ACC.2,K3 JNB A...

单片机C语言怎样编程才可也使两个不用的I\/O口同时执行程序
理论上的同时执行是不可能的,单片机运行程序的有顺序的,顺序执行每一条指令,同一个时间只能执行一条指令。但是单片机速度比较快,执行起来给人感觉就是同时执行。可以尝试一下用中断方式吧,主程序里面控制流水灯,中断程序里面控制蜂鸣器。

怎么用c51单片机汇编语言编程实现两个数的比较,不相等则继续执行,相 ...
紧跟在你的CJNE指令后根据你的比较方式再加一条判C指令再次判断或转移就行了。

岳西县13621043514: 怎样实现两片单片机之间的并行通信 -
察玲羧苄: 1.直接使用一个8位口就可以实现. 2.使用8位口以及一个中断和使能端,每个单片机使用10个端口 3.使用8位口以及一个时钟输出和使能端,每个单片机使用10个端口 你也可以参照一些ad/da的使用.

岳西县13621043514: 求51单片机大神指导,怎么实现两个单片机间的通信 -
察玲羧苄: 做双机通信实验时候可用3根杜邦线连接2块开发板的RXD TXD 和GNd, 注意的是RXD和TXD要交叉连接. 然后就是串口程序了

岳西县13621043514: 51单片机双机并行通信 第一个单片机的p1口发数据第二个单片机的p0口接受数据,要怎么连接 程序怎么写啊
察玲羧苄: 这个简单,1机把数据发个2机就可以,2机随时监控,或1机和2机之间再联一线作为同时开关.

岳西县13621043514: PC与单片机并口通讯中实现远距离传输 -
察玲羧苄: 利用VB 6.0实现网络远程PC与单片机通信 2008-12-08 嵌入式在线 收藏 | 打印 在各种单片机应用系统的设计中,常常遇到单片机与PC的通信问题,在速度要求不高、传送距离不远的场合一般采用RS 232标准串行接口实现,在传送距离较远的场...

岳西县13621043514: 两片单片机做课程设计,一片负责采样,一片负责显示,这两片单片机之间如何通信. -
察玲羧苄: 这个通信看你的实际情况了.如果你要求快速通信,且单片机有空闲的好多引脚,就直接用8位并行通信.如果你的通信速度要求不高,或者单片机没有太多的空闲引脚,就可以用异步串行通信、SPI通信或IIC通信了.

岳西县13621043514: 求两块51单片机之间实现并行通信用C语言程序怎么写?
察玲羧苄: 实际应用是不会这么做的,主要是浪费资源,包括硬件软件的.一般都用串口通讯.要实现并行通信也是可以的,可以给你一些方法,硬件连接 Px 并口(8个 IO口)+ INTx 外部中断+ 发送请求(2个IO口), 发送端: 把要发送 的数据 写入 并口,同时写入 发送请求(如低电平有效 加一些延时后置高电平)接收端: 产生 接收 外部中断,把Px 接收并口 写入0xff , 并读取 数据,也可以发送 返回数据 与发送端相同.

岳西县13621043514: 怎么使两个单片机间进行CAN通信 -
察玲羧苄: 如果单片机本身带有CAN接口,那么外部加好CAN收发器、连好线、跳好终端电阻,之后配置好相应的寄存器,就能通信了. 如果单片机自身没有CAN接口,那么外部还需要额外添加CAN控制器,单片机通过SPI总线或并行总线访问CAN控制器进行配置和数据交换.

岳西县13621043514: 单片机多机通信是怎么回事? -
察玲羧苄: 单片机多机通信很复杂的,给你解释下原理,其他的自己到网上去搜下资料,看下程序就可以理解了的.我们学的是51单片机,我就给你说51单片机的通信原理哈! 51单片机具有多机通信的功能,可实现一台主机于多台从机的通信. 多机通...

岳西县13621043514: 如何使用两个单片机的i/o口通讯 -
察玲羧苄: 如何使用两个单片机的i/o口通讯 可以,PWM输出口做推挽,测量口做浮空输入. 如果单片机没有推挽模式,可以使用内部上拉模式.

岳西县13621043514: 单片机串行和并行是通过什么实现? -
察玲羧苄: 串行通过串口两根线一收一发.串行还有一种叫spi,是用来连接单片机系统内部的元器件,spi的元器件也很多.并行需要的数据线多,16根线,一般用来连接内存(ram)、程序存储器(rom)和一些并行的元器件.如老式的ad转换、键盘显示芯片等等.有些单片机没有外部并行数据接口.并行处于一种快淘汰的状态.因为占用管脚多,麻烦.速度也不是很快.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网