基于8051单片机的外部设备交换信息的三种数据传输方式解析

贸泽电子设计圈 2018-01-09 15:50 次阅读

单片机CPU与外部设备交换信息通常有如下几种方式:无条件传送方式,查询传送方式和中断传送方式。我们以单片机与微型打印机接口为例讲述这三种方式。假定用户要打印三个数据,这三个数据保存在单片机的内部数据存储器10H,11H,和12H中,8051用并口P2与微型打印机的并行数据口DB进行数据交换。

(1)无条件传送方式

这种数据传送方式中没有联络信号,即CPU总是认为打印机在如何时候都是处于“准备好”的状态。这种传送方式中只需要在程序中加入数据送往P2的指令,数据传送便可以实现。但这种数据传送方式有一个致命弱点,数据易丢失,这是因为CPU的速度相当快,而打印机的速度相对来说较慢,其结果是在打印机打印一个数据的时间内,CPU已送来了多个数据。

(2)查询传送方式

查询传送也称条件传送是,在这种传送方式中,无论是输入还是输出,都是以计算机为主动一方。为了数据传送的正确性,计算机在传送数据之前,要首先查询外部设备是否已处于“准备好”状态;对于输出操作,则要知道外设是否已把上一次计算机输出的数据处理完毕。只有通过查询,确信外设已处于“准备好”的状态,计算机才能发出访问外设的指令,实现数据交换。状态信息一般只需要一位二进制码表示“准备好”和“未准备好”两种状态,所以,在接口中只用一个D触发器就可用来保存和产生状态信息。例如,“准备好”有D触发器Q=1表示;“没准备好”用Q=0表示.查询方式过程:查询,即读“准备好”引脚,若该引脚为“准备好”状态,则进行数据传送,若引脚为“未准备好”状态,则继续查询,直到该引脚为“准备好”状态,再进行数据传送。

在我们这个例子中可以在打印机上增加一条名为BUSY的引脚,打印机开始打印一个数据前,使该引脚为高电平,打印完一个数据后,使该引脚为低电 ,该引脚的初始化为0。我们将该引脚与单片机的引脚INT0相连,单片机每发送一个数据前,都查询该引脚状态是否为0,若为0,则发送数据。否则,就继续查询,直到该引脚为0时,再发送数据,请看例子:

上电后打印机的BUSY引脚为0。

单片机运行第一条指令,设置打印缓冲区起点。

单片机运行第二条指令,设置打印字节。

单片机运行第三条指令,读入打印机BUSY引脚的状态,判断该状态是否为0。为0,则发送第一个数据,打印机设置BUSY引脚为0,开始打印。

单片机运行下一个指令,打印缓冲区加1,使下一次能发送第二个数据。判断数据是否已经发完,未发完,准备发送下一个数据,读打印机引脚BUSY的状态 。

引脚BUSY状态为1,继续查询。

引脚BUSY状态为0,发送第二个数据,打印缓冲区加1,使下一次能发送第三个数据,判断数据是否已经发完,未发完,准备发送下一个数据,打印缓冲区加1,判断数据是否已经发完。三个数据都发送完,程序结束。

可以看出,这种方式的缺点是需要有一个等待的过程,特别是在连续进行数据传送时,由于外设工作速度比CPU慢得多,所以CPU在完成一次数据传送后要等待很长的时间才能进行下一次传送。在等待过程中,CPU不能进行其他操作,所以效率比较低,提高CPU效率的一个有效方式是采用中断方式。

(3)中断方式

刚才我们讲到,无条件传送方式不可靠,查询传送方式太浪费CPU的时间。

为了解决这个问题,单片机设置了另一个传送方式—中断方式。所谓中断,就是指中央处理器CPU正在处理某件事情的时候,外部发生某一事件,请求CPU迅速去处理,于是,CPU暂时中断当前的工作,转入处理所发生的事件;中断服务处理以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统,产生中断的请求源称为中断源。

原文标题:8051单片机的这三种数据传输方式,你了解多少?

文章出处:【微信号:Mouser-Community,微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

用串口控制PWM信号的输出

我想用串口控制PWM信号的输出,比如说:我单片机收到一个数据,我就调整占空比,收到另外一个数据,又调整占空比这样。不知道...

发表于 08-19 12:57 123次 阅读
用串口控制PWM信号的输出

以FPGA为核心控制的电子设计竞赛电路板设计和实现

大学生电子竞赛题目以模拟电子、数字电子、可编程逻辑器件及单片机技术为核心, 涉及电子仪器仪表、通信、....

发表于 08-18 10:03 63次 阅读
以FPGA为核心控制的电子设计竞赛电路板设计和实现

1394b数据传输有什么特点?如何利用FPGA设计一个1394b双向数据传输系统?

随着时代和技术的发展,对于数据总线带宽的要求越来越高,现有的总线标准越来越难以满足实际应用中对高总线....

发表于 08-18 09:40 47次 阅读
1394b数据传输有什么特点?如何利用FPGA设计一个1394b双向数据传输系统?

单片机的40个实验教程让你快速学会单片机的应用详细资料免费下载

如图4.14.2所示,用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以....

发表于 08-17 17:24 63次 阅读
单片机的40个实验教程让你快速学会单片机的应用详细资料免费下载

单片机分类及汇总大全的详细资料免费下载

经典的: 1、MCS-51系列Intel公司生产 2、61单片机 3、AVR单片机 4、MSP 43....

发表于 08-17 17:24 77次 阅读
单片机分类及汇总大全的详细资料免费下载

以C8051F020单片机为系统控制器件的实时检测和记录车辆散热系统动态参数电路设计

该散热系统参数测试电路由上位微型计算机和下位单片机控制系统组成。图1是车辆散热系统参数测点示意图。该....

发表于 08-17 17:07 69次 阅读
以C8051F020单片机为系统控制器件的实时检测和记录车辆散热系统动态参数电路设计

以AT89C51单片机为智能单元的全自动太阳跟踪系统设计

AT89C51单片机通过P2口输出控制脉冲信号,P2.0~P2.3为一路,P2.4~P2.7为一路,....

发表于 08-17 17:03 59次 阅读
以AT89C51单片机为智能单元的全自动太阳跟踪系统设计

以AT89C51单片机为控制器的LED显示屏控制电路设计

控制电路由AT89C51单片机作控制器,显示屏由4个16×16点阵LED模块组成,每个16×16点阵....

发表于 08-17 17:00 53次 阅读
以AT89C51单片机为控制器的LED显示屏控制电路设计

在航模无刷电调中SH79F168单片机主控芯片有什么应用?

SH79F169片内集成了三通道6路PWM端口,可分别独立配置为PWM输出或者IO输出。将PWM01....

发表于 08-17 16:49 51次 阅读
在航模无刷电调中SH79F168单片机主控芯片有什么应用?

硬件工程师(工作地点:北京)

岗位职责: 根据产品功能描述,设计实现方案,制作智能健身硬件的原型机,并进行调试和优化。 任职要求: 1、学历专业不限...

发表于 08-17 13:38 236次 阅读
硬件工程师(工作地点:北京)

半自动洗衣机改全自动教程

刚到福州,住进了一个套房,虽然有洗衣机,但是是半自动的,每次洗衣服很烦,就跟房东商量一下,然后就有了....

的头像 39度创意研究所 发表于 08-17 10:23 437次 阅读
半自动洗衣机改全自动教程

意法半导体发布即插即用的无线充电套件,为可穿戴设备和物联网设备带来超小体积充电器

中国,2018年8月16日——即插即用的无线充电器开发套件(STEVAL-ISB045V1)让用户用节省空间的20mm直径线圈,快速开发最...

发表于 08-17 09:58 435次 阅读
意法半导体发布即插即用的无线充电套件,为可穿戴设备和物联网设备带来超小体积充电器

单片机原理与应用及C51程序设计(第三版)PPT电子教材详细资料免费下载

单片机原理与应用及C51程序设计(第三版)是清华大学出版社的教材课件,包含各章节PPT、电路图、程序....

发表于 08-17 08:00 43次 阅读
单片机原理与应用及C51程序设计(第三版)PPT电子教材详细资料免费下载

如何以STM32F334单片机设计降压型DC-DC可调压开关电源

 相对于传统的线性稳压电源,开关电源具有效率高、输出功率大、体积小、重量轻、成本低等优点。随着电子元....

发表于 08-17 08:00 38次 阅读
如何以STM32F334单片机设计降压型DC-DC可调压开关电源

请问有没有CC2530的例程可以实现4个针脚输出的无线最小单片机系统

准备做一个可以实现4个针脚输出的无线最小单片机系统,设想使用CC2530,完成后,使用电脑连接SmartRF05 EB板对其进行控制...

发表于 08-17 07:14 47次 阅读
请问有没有CC2530的例程可以实现4个针脚输出的无线最小单片机系统

请问TM4C的JTAG口与单片机怎么连接?

我用的XDS100V2,JTAG与单片机怎么连接?我是这么设计的,ICDI-RST与单片机RESET连接。    &nbs...

发表于 08-17 06:49 47次 阅读
请问TM4C的JTAG口与单片机怎么连接?

请问ADI有没有高速数据实时传输系统要求速率在200Mhz以上

我想问一下,ADI 有没有高速数据实时传输系统,系统结构为AD+FPGA+DA,要求速率在200Mhz以上,上不封顶,光信号经过光...

发表于 08-17 06:24 48次 阅读
请问ADI有没有高速数据实时传输系统要求速率在200Mhz以上

以MSP430F449单片机为控制系统核心的悬挂运动控制系统设计

根据设计要求和方案选择,本系统主要由3个模块电路组成:步进电机控制模块、红外传感和人机交互模块。电机....

发表于 08-16 17:44 89次 阅读
以MSP430F449单片机为控制系统核心的悬挂运动控制系统设计

浅析51单片机IO口的四种使用方法

传统51单片机IO接口只可以作为标准双向IO接口,如果用其来驱动LED只能用灌电流的方式或是用三极管....

的头像 玩转单片机 发表于 08-16 17:43 159次 阅读
浅析51单片机IO口的四种使用方法

以STC89C52单片机为核心的电子密码锁设计

图2中U1为STC89C52是个系统的核心,编写的程序以二进制的文件导入其中;U2为AT24C02,....

发表于 08-16 17:38 98次 阅读
以STC89C52单片机为核心的电子密码锁设计

以单片机为主控制器的垃圾分类计量收费设备控制装置设计

非接触式IC卡又称射频卡,与接触式IC卡相比,解决了无源和免接触的问题,具有可靠性高、操作方便的优点....

发表于 08-16 17:27 75次 阅读
以单片机为主控制器的垃圾分类计量收费设备控制装置设计

请问单片机串口如何接收上位机不断发送的数据帧并将该帧的有效数据提取出来?

各位大虾:本人菜鸟请教一个问题,单片机如何接送串口不断发送的数据帧,并将该帧的有效数据提取出来,请赐教一个完整程序。 注...

发表于 08-16 17:19 97次 阅读
请问单片机串口如何接收上位机不断发送的数据帧并将该帧的有效数据提取出来?

SYSCLK时钟源三个来源:HSI RC、HSE OSC、PLL

ARM公司只生产内核标准,不生产芯片。ST、TI这样的公司从ARM公司那里购买内核,然后外加自己的总....

的头像 电子发烧友网 发表于 08-16 10:11 247次 阅读
SYSCLK时钟源三个来源:HSI RC、HSE OSC、PLL

请问单片机进入休眠状态前gpio引脚怎么处理?

最近在做微功率无线通信的项目,那肯定得低功耗了,那么在单片机进入休眠前 gpio 引脚该怎么处理呢? 分 以下几种情况: 1.&...

发表于 08-16 07:46 330次 阅读
请问单片机进入休眠状态前gpio引脚怎么处理?

智能无人驾驶汽车的计算机控制系统详细介绍和要求及设计资料概述

智能无人驾驶汽车是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,对车辆的操作实质上....

发表于 08-15 17:56 43次 阅读
智能无人驾驶汽车的计算机控制系统详细介绍和要求及设计资料概述

以AT89C2051单片机为控制核心的数字温度计设计

由AT89C2051构成的温度计主要由三部分组成:DSl8B20温度传感器、单片机AT89C2051....

发表于 08-15 17:20 55次 阅读
以AT89C2051单片机为控制核心的数字温度计设计

以AT89S51单片机为主控芯片的密码锁设计

密码锁主控部分电源需要用5 V 直流电源供电, 其电路图如图2 所示。它可以把频率为50 Hz、有效....

发表于 08-15 17:16 63次 阅读
以AT89S51单片机为主控芯片的密码锁设计

以89C51单片机为核心控制器件的液体点滴速度监控系统设计

液体点滴速度控制系统对于大型医院来说是一套能够提高效率和服务质量的控制设备,特别是远程监控功能能使护....

发表于 08-15 17:12 67次 阅读
以89C51单片机为核心控制器件的液体点滴速度监控系统设计

以C8051F023单片机为控制核心的OLED显示方案设计

VGG12864G内置128×64 bits的显示存储器,用于存储显示数据,图5为RAM的地址结构。....

发表于 08-15 17:06 69次 阅读
以C8051F023单片机为控制核心的OLED显示方案设计

在汽车的动力总成系统中单片机有什么应用?

当前,全球汽车工业面临的重要课题是如何不断地降低汽车油耗、减少排放以及进一步提高其驾驶性能。要做到这....

发表于 08-15 17:03 208次 阅读
在汽车的动力总成系统中单片机有什么应用?

四路控制开关程序的详细资料免费下载

本文档的主要内容详细介绍的是四路控制开关程序的详细资料免费下载

发表于 08-15 16:38 33次 阅读
四路控制开关程序的详细资料免费下载

STC8系列单片机技术参考数据手册和详细资料免费下载

STC8系列单片机是不需要外部晶振和外部复位的单片机,是以超强抗干扰/超低价/高速/低功耗为目标的8....

发表于 08-15 16:38 41次 阅读
STC8系列单片机技术参考数据手册和详细资料免费下载

TX1C学习板:示例程序和自己写的程序显示下载程序成功,单片机没有运行

示例程序和自己写的程序显示下载程序成功,单片机没有运行。但是测试程序,单片机可以运行...

发表于 08-15 15:46 131次 阅读
TX1C学习板:示例程序和自己写的程序显示下载程序成功,单片机没有运行

30例51单片机汇编实例程序的详细资料免费下载

第一例,了解单片机及单片机的控制原理和DX516 的用法,控制一个LED 灯的亮和灭 本章学习内容....

发表于 08-15 08:00 44次 阅读
30例51单片机汇编实例程序的详细资料免费下载

请问TM4C123单片机的Brown Reset的门限电平可不可以设置?

请问TM4C123单片机的Brown Reset的门限电平VVDD_BOR0、VVDD_BOR1是否可以修改?比如VVDD_BOR0为3.02V...

发表于 08-15 06:38 44次 阅读
请问TM4C123单片机的Brown Reset的门限电平可不可以设置?

以C8051F020单片机为控制核心的人机交互系统设计

该LCM 的FS1 引脚用于控制显示字符的字体。FS1 为高时,LCD 显示6×8 字符;FS1 为....

发表于 08-14 17:25 83次 阅读
以C8051F020单片机为控制核心的人机交互系统设计

为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

FPGA 即现场可编程门阵列, 它是作为专用集成电路(ASIC) 领域中的一种半定制电路, 既解决了....

发表于 08-14 17:21 60次 阅读
为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计

如何制作一个用单片机驱动的LED旋转球?

如何制作一个用单片机驱动的LED旋转球?

的头像 39度创意研究所 发表于 08-14 17:12 311次 阅读
如何制作一个用单片机驱动的LED旋转球?

液态硬盘的传输速度及相关参数分析

硬盘的传输速率:作为电脑中最重要的数据存储设备和数据交换媒介,硬盘传输速率的快慢直接影响了系统的运行....

发表于 08-14 15:00 163次 阅读
液态硬盘的传输速度及相关参数分析

单片机开发板典型应用案例106个经典案例资料合集包括程序

本文档的主要内容详细介绍的是单片机开发板典型应用案例106个经典案例资料合集包括程序案例包括了:点亮....

发表于 08-14 08:00 62次 阅读
单片机开发板典型应用案例106个经典案例资料合集包括程序

怎么编写一个最简单的单片机程序?

在以上汇编程序中,延时子程序每一行的具体含义先不管他,以后慢慢学到,上面的程序需要在一个名为“Kei....

的头像 畅学单片机 发表于 08-13 17:56 420次 阅读
怎么编写一个最简单的单片机程序?

以SPCE061A单片机为核心的红外测温计设计

SPCE061A是台湾凌阳公司生产的性价比很高的一款十六位单片机,使用它可以非常方便的实现控制和语音....

发表于 08-13 17:29 63次 阅读
以SPCE061A单片机为核心的红外测温计设计

物联网全栈教程-从云端到设备(十三)所需软件的详细资料免费下载

 硬件是实现设备功能的躯壳,软件才是设备的灵魂!今天就教你安装一下编写单片机程序需要的软件,并示范一....

发表于 08-13 16:49 38次 阅读
物联网全栈教程-从云端到设备(十三)所需软件的详细资料免费下载

物联网全栈教程从云端到设备(十二)设备端的开发详细资料免费下载

经过前面的铺垫,你已经学会了在linkDevelop 上新建一个项目,然后通过使用MQTT 电....

发表于 08-13 16:49 37次 阅读
物联网全栈教程从云端到设备(十二)设备端的开发详细资料免费下载

物联网全栈教程从云端到设备(1到11)资料免费下载

使用NB-IOT 技术做一个小的模块,可以直接接到挖掘机的电器盒里,那么我们就可以制作几百个几千个这....

发表于 08-13 16:48 43次 阅读
物联网全栈教程从云端到设备(1到11)资料免费下载

基于ldc1000的单片机测试数据程序

在传感技术领域,不管是高端灵敏度、高精度的超声传感器,或者是低端、低成本的开关式传感器,这些工作LD....

发表于 08-13 09:50 46次 阅读
基于ldc1000的单片机测试数据程序

MSP430单片机详细资料原理和基本实践实验的资料免费下载

MSP430 单片机的程序设计可以使用汇编语言,也可以使用 C 语言,这一部分将讲述这 些内容。如果....

发表于 08-13 08:00 37次 阅读
MSP430单片机详细资料原理和基本实践实验的资料免费下载

如何精确设计三极管开关电路?

对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行....

的头像 电子发烧友网 发表于 08-12 08:56 317次 阅读
如何精确设计三极管开关电路?

《STM32物联网实战教程》单片机教学,计算机网络以及物联网实战概述

《STM32物联网实战教程》集成了单片机教学、计算机网络以及物联网实战这三部分。配合着风媒电子出品的....

发表于 08-10 17:41 198次 阅读
《STM32物联网实战教程》单片机教学,计算机网络以及物联网实战概述

基于单片机控制系统的远程数据传输系统设计

对MODEM的性能要求为:有电话号码参数存储器;有自动拨号功能、自动应答功能;可进行速度缓冲和流量控....

发表于 08-10 17:16 103次 阅读
基于单片机控制系统的远程数据传输系统设计

利用单片机远程控制设计的无线温度监测系统

该模块的主要功能是接收和处理数据,由单片机控制无线模块接收数据,同时控制USB模块将数据发送到PC机....

发表于 08-10 17:11 97次 阅读
利用单片机远程控制设计的无线温度监测系统

以AT89C52单片机控制系统为核心的备料机械手控制系统设计

机械手的工作方式分为手动或自动状态。手动由本工作站的控制按钮控制,自动采用串行通信接收上位机命令,并....

发表于 08-10 17:03 127次 阅读
以AT89C52单片机控制系统为核心的备料机械手控制系统设计

以单片机控制为中心的高精度PWM式12位D/A电路设计

在用单片机制作的变送器类和控制器类的仪表中,需要输出1—5V或4—20mA的直流信号的时候,通常采用....

发表于 08-10 16:59 113次 阅读
以单片机控制为中心的高精度PWM式12位D/A电路设计

告诉你怎么编写一个最简单的单片机程序

这样还不够,单片机工作还需要两个条件,一是需要加上一定的工作电压,AT89S51工作电压为5V,第2....

的头像 玩转单片机 发表于 08-10 16:22 380次 阅读
告诉你怎么编写一个最简单的单片机程序

教你如何玩转STM8单片机!

最初从单片机学习整个计算机系统是个非常正常的阶梯学习方法。因为直到今天,计算机系统的那些事,也没逃离....

的头像 玩转单片机 发表于 08-10 15:46 285次 阅读
教你如何玩转STM8单片机!

以单片机为主控中心的高精度温度测量显示系统设计

整个系统主要由主控中心(单片机)、温度传感器DS18B20、数码管显示及开关控制等功能模块组成。可以....

发表于 08-09 17:06 107次 阅读
以单片机为主控中心的高精度温度测量显示系统设计

如何设计一个以单片机为核心的继电器控制电路?

现代自动化控制设备都存在一个电子与电气电路的互相联结问题,一方面要使电子电路的控制信号能够控制电气电....

发表于 08-09 16:59 187次 阅读
如何设计一个以单片机为核心的继电器控制电路?

以单片机为核心的频率响应测试仪方法设计

本设计中的单片机C8051F060可控制扫频信号源, 以产生一系列不同频率的正弦信号, 然后将这些信....

发表于 08-09 16:55 314次 阅读
以单片机为核心的频率响应测试仪方法设计