两台8031单片机通过串行口进行数据交换程序

发布者:MagicalSerenade最新更新时间:2017-10-14 来源: eefocus关键字:8031单片机  串行口  数据交换 手机看文章 扫描二维码
随时随地手机看文章

有两台8031单片机相距很近,直接将它们的串行口相连,1#机的TXD接2#机的RXD,2#机的TXD接1#机的RXD,二机的GND相连。二机的晶振频率均为11.0592MHZ,通信的波特率为4800bps。现将第一台8031单片机片内RAM40H~5FH单元内的数据,串行发送到第二台8031单片机片内RAM60H~7FH单元中。


发送与接收的参考程序如下:1#单片机发送程序:

ORG 1000H

TX:MOV  TMOD , #02H


      MOV  TH1 , #0FAH 

      MOV  TL1 , #0FAH


MOV  SCON , #80H      ;


设定工作方式2

MOV  PCON, #00H     ;

波特率为fosc/64 

SETB  TR0


MOV  R0 , #40H;设发送数据的地址指针


MOV  R2 , #20H;设发送数据长度 

LOOP:MOV  A , @R0;取发送数据送A 

MOV  C , PSW.0           


MOV  TB8 , C;奇偶位送TB8 

MOV  SBUF , A;启动发送


WAIT:JBC  TI , LL1;判发送中断标志

SJMP  WAIT                  


LL1:INC  R0                          

DJNZ  R2 , LOOP          


RET


2#单片机接收程序:


ORG 1000H


RX:MOV  TMOD , #02H      

MOV  TH1 , #0FAH             


MOV  TL1 , #0FAH       


MOV  SCON , #90H;设定工作方式2,并允许接收


MOV  PCON , #00H      

              SETB  TR0              


              MOV  R0 , #60H            

              MOV  R2 , #20H             

LOOP:   JBC  RI , MM1;等待接收数据 

              SJMP  LOOP                 

MM1:    MOV  A , SBUF;读入一帧数据

              JB  PSW.0 , PP1;判接收端奇偶 

              JB  RB8 , ERROR    ;判发送端奇偶


              SJMP  RIGHT                


PP1:JNB  RB8 , ERROR;接收出错 

RIGHT:  MOV  @R0 , A;接收正确 

              INC  R0                          


              DJNZ  R2 , LOOP          


ERROR: SETB  PSW.5;置出错标志 

              RET


关键字:8031单片机  串行口  数据交换 引用地址:两台8031单片机通过串行口进行数据交换程序

上一篇:编写单片机串行通信的数据发送程序
下一篇:一对多的通讯单片机汇编语言编程举例

推荐阅读最新更新时间:2024-03-16 15:40

基于DSP的实时红外热成像系统的数据交换及实时显示
    摘要: 在以PC机和DSP数字信号处理板构成的实时红外热成像系统原理的基础上,阐述了主机通过PCI口与DSP实现数据交换及在Windows下实现实时图像显示的技术。由于通过PCI口数据交换速度快,在数据显示时采用直接写屏和翻页技术,系统可达到理想图像实时显示效果。     关键词: 红外图像 实时性 DSP 随着科学技术的高速发展,红外热像仪在军事、科研、工农业生产、医疗卫生等领域的应用越来越广泛。由于红外焦平面固有的非均匀性,在红外图像处理过程中,必须对每帧中的每个像元进行非均性校正处理,才能到较好的效果。因此红外图像实时处理的数据量很大,如256×256的一个红外焦平面面阵,像元数为64K,如果每个
[应用]
AD574与8031单片机及前置电路的一种实用接口电路
  AD574是美国核拟器件公司Analog Devices) 生产的12 位逐次逼近型快速A/D 转换器。其转换35us,转换误差为土0.05%,是前我国应用广泛,价格适中的A/D转换器。其内部含三态电路,可直接与各种微处理器连接,且无须附加逻辑接口电路,便能与CMOS 及TTL 电平兼容。内部配置的高精度参考电压源和时钟电路,使它不需要任何外部电路和时钟信号,就能实现A/D转换功能,应用非常方便。   许多文献有关于AD574与8031单片机接口技术的介绍, 但其控制功能引线基本局限于单一的AD574与8031的连接。由于8031无内部程序存贮器, 其内部数据存贮器也有限, 因而8031构成的测控系统, 往往都需外扩存贮器
[单片机]
AD574与<font color='red'>8031</font><font color='red'>单片机</font>及前置电路的一种实用接口电路
51单片机 第八节:串行口应用
第八节:串行口应用 一、 使用晶体频率为22.1184MHz的AT89C52单片机,串行口应用工作方式1,以9600bps的波特率向外发送数据,数据为十个数字 0 到 9 ,循环不断地发送。 解:数字字符为增量进二进制码, 0 对应0x30, 1 = 0 + 1 = 0x31,从 0 到 9 对应编码为0x30到0x39,记忆二进制编码较难,实际编程中用单引号括起对应字符表示引用该字符的二进制编码值,如 ? 表示引用?号的编码值。 在用11.0592MHz晶体时,9600bps的初始化分频初值为-6,现晶频加倍,如果其它条件不变,只有分频初始加倍为-12,才能得到9600bps;如果想得到2400bps(速率降4倍),分频初始自然
[单片机]
单片机串行口通信程序设计
单片机串行口通信程序设计硬件连接图 例:用8051单片机串行口外接CD4094扩展8位并行输出口,如图所示,8位并行口的各位都接一个发光二极管,要求发光管呈流水灯状态。 串行口方式0的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,能靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送下一帧数据,或者通过查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。无论采用什么方式,在开始通信之前,都要先对控制寄存器SCON进行初始化。在方式0中将,将00H送SCON就能了。 ---
[单片机]
<font color='red'>单片机</font><font color='red'>串行口</font>通信程序设计
AVR单片机学习(七)异步串行口UART
串行通讯技术概述 异步串行通讯原理 UART与电脑的通讯 M16的USART 中断方式使用USART步骤 一、串行通讯技术概述 串行通讯的通俗定义: 一位发送一位(相对与并行,)当然通过 位同步 帧同步 串行通讯的分类 同步串行通讯 时钟线、数据线、通过时钟保持数据同步 SPI,IIC 属于同步串口通讯 异步串口通信 只有一根数据线,通过波特率保证数据同步(顾名思义没有时钟线只有数据线) UART 无线通信一般均为异步串行通信(相对于无形之中只能有一根天线) 波特率 每秒发送码元时间宽度为(1/9600)S 大概是在100个微妙左右 发送方按照
[单片机]
AVR<font color='red'>单片机</font>学习(七)异步<font color='red'>串行口</font>UART
单片机基础(八):单片机串行口结构与工作方式及应用
单片机串行口结构   串行口结构如上图   发送时,SBUF中写入数据后,串行口通过发送控制器,将SBUF中的数据逐个逐位地通过串行输出口TXD引脚逐个发出,当一个字节发送结束后,触发TI中断位,通知单片机发送结束   接收时,先向REN引脚写1,外部引脚RXD会实时检测电平变化,当满足串行接收数据的条件时,会逐位接收数据并保存到SBUF,当一个字节接收结束后,触发RI中断位,通知单片机接收结束 串行口控制寄存器SCON SM0、SM1用于设定串行口工作方式   fosc :晶振频率 SM2:多机通信控制位 REN:允许接收控制位 TB8/RB:发送/接收的第9位数据 TI:发送中断标志位 RI:接收中断标志位
[单片机]
<font color='red'>单片机</font>基础(八):<font color='red'>单片机</font><font color='red'>串行口</font>结构与工作方式及应用
proteus与keil Cx51的单片机仿真(串行口单工通信2)
单片机U1和U2串行口均工作于方式3,其中U1作为接收机,U2作为发送机,波特率为9600,U1接收U2发送数据后,依次送P1、P0和P2口进行流水灯显示,编写程序,并用Proteus仿真。 电路图: U1程序: #include reg51.h //包含单片机寄存器的头文件 sbit p=PSW^0; unsigned char receive(void)//接收一个字节数据 { unsigned char dat; while(RI==0); RI=0;//只要接收中断标志位RI没有被置1,等待,直至接收完(RI1) ACC=SBUF;//将接收缓冲器中的数据存于dat if(RB8==P)//奇校验 {dat=ACC
[单片机]
21课:单片机串行口介绍
介绍:串行口是单片机与外界进行信息交换的工具。 8051单片机的通信方式有两种: 并行通信:数据的各位同时发送或接收。 串行通信:数据一位一位次序发送或接收。参看下图: 串行通信的方式: 异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下: 在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(能省略),最后是停止位1。用这种格式表示字符,则字符能一个接一个地传送。 在异步通信中,CPU与外设之间必须有两项规定,即字符格式和波特率。字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义。原则上字符格式能由通信的双方自由制定,但从通用、方便的角
[单片机]
21课:<font color='red'>单片机</font><font color='red'>串行口</font>介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved