基于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,微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

请问ADF4350跳频杂散怎么解决

最近正在学习ADF4350,用单片机控制它产生几个跳频点,问题是,在不跳时产生的频率很好,但跳频时产生了很多其他的频率,想请...

发表于 11-21 09:45 4次 阅读
请问ADF4350跳频杂散怎么解决

【转】不同单片机之间的通信方式

电子技术的飞速发展,单片机也步入一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。对于一些场...

发表于 11-20 22:23 98次 阅读
【转】不同单片机之间的通信方式

MCS51单片机的指令系统和汇编语言程序示例资料概述

本文档的主要内容详细介绍的是MCS51单片机的指令系统和汇编语言程序示例资料概述。

发表于 11-20 17:08 27次 阅读
MCS51单片机的指令系统和汇编语言程序示例资料概述

基于PIC12C508单片机对灯光系统的控制

以下程序使用PIC12C508 单片机 ,内部4MHz时钟,4脚输入50HZ脉冲信号,7,6,3脚(....

发表于 11-20 15:37 30次 阅读
基于PIC12C508单片机对灯光系统的控制

数码相机微单便携充电器单片机方案芯片—深圳单片机开发方案公司

深圳单片机开发方案公司英锐恩推出数码相机微单便携充电器单片机芯片方案,让数码相机的充电器不再那么笨重了。 随着国民生活...

发表于 11-20 15:32 12次 阅读
数码相机微单便携充电器单片机方案芯片—深圳单片机开发方案公司

msOS简介嵌入式微系统

嵌入式微系统msOS 2001年,作者接触了MCU51 C语言开发,心中产生了要开发一套属于自己的平台的思想。2002年,接触了手机软...

发表于 11-20 15:32 345次 阅读
msOS简介嵌入式微系统

如何使用SAM4E单片机点亮LCD并显示出文字

在Atmel Studio 6中,集成了Atmel Software Framework(ASF框架....

发表于 11-20 15:20 31次 阅读
如何使用SAM4E单片机点亮LCD并显示出文字

单片机的空闲和掉电模式的应用

单片机进入空闲模式的时候,除了cpu处于休眠状态外,其余的硬件全部处于活动状态,芯片中未涉及的数据存....

发表于 11-20 15:00 26次 阅读
单片机的空闲和掉电模式的应用

请问怎样实现单片机控制WiFi模块将信息传到app上

请问怎么实现通过单片机控制WiFi模块将采集到的温度信号传到手机上,并在手机APP上显示,app该如何和WiFi模块连接?app该如...

发表于 11-20 13:33 93次 阅读
请问怎样实现单片机控制WiFi模块将信息传到app上

基于双模式USB接口的便携式比色计设计

位耀东 马海涛董春波    引言: 目前市场上的光电比色计一般都是通过 RS232串口与计算机通信,随着计算机技术的发...

发表于 11-20 11:18 89次 阅读
基于双模式USB接口的便携式比色计设计

单片机实时控制输出电压

想用一块单片机来控制LDO的输出电压,不知道大家有没有什么好的办法。我自己的想法是将接地的反馈电阻不接地,接到DAC上,...

发表于 11-20 10:59 174次 阅读
单片机实时控制输出电压

请问ADuC824正弦波转方波时频带要比较宽时怎么办

[table=98%] [tr][td]正弦波转方波时频带要比较宽时怎么办呢!我用lm393做了一个过零比较器给单片机(aduc824)识别(频率计)但...

发表于 11-20 09:23 26次 阅读
请问ADuC824正弦波转方波时频带要比较宽时怎么办

24V地与3.3V地的隔离该用什么样的方法来做

请问下,用STM32做控制系统,DC24V供电,外部输入信号都是用DC24V,输出带的继电器也是DC24V。 那么,我这个DC24...

发表于 11-20 08:53 161次 阅读
24V地与3.3V地的隔离该用什么样的方法来做

usb转vcp接收与连接回调函数如何处理 ?

现在 使用 usb 转vcp 功能,基本的功能以及实现了,现在的问题有如下几点: 1、使用 pc端发送 数据给单片机时,接收要如何处理 ...

发表于 11-20 08:44 71次 阅读
usb转vcp接收与连接回调函数如何处理 ?

单片机实验程序实例源码详细资料免费下载

本文档的主要内容详细介绍的是单片机实验程序实例源码详细资料免费下载。

发表于 11-20 08:00 31次 阅读
单片机实验程序实例源码详细资料免费下载

使用单片机设计的音乐门铃程序资料免费下载

本文档的主要内容详细介绍的是使用单片机设计的音乐门铃程序资料免费下载。

发表于 11-20 08:00 8次 阅读
使用单片机设计的音乐门铃程序资料免费下载

Launchpad app教程之Launchpad口袋实验平台使用手册免费下载

自 TI 推出超低功耗 MSP430 单片机以来,MSP430 凭借其优越的性能,丰富的外设,易于上....

发表于 11-19 17:35 28次 阅读
Launchpad app教程之Launchpad口袋实验平台使用手册免费下载

单片机中的拉电流和灌电流是什么意思

单片机的拉电流和灌电流都是对单片机的输出而言的,是单片机驱动能力的具体体现。

发表于 11-19 16:22 59次 阅读
单片机中的拉电流和灌电流是什么意思

STM32F4的FPU性能的设置及要点

浮点运算一直是定点CPU的难题,比如一个简单的1.1+1.1,定点CPU必须要按照IEEE-754标....

发表于 11-19 15:47 64次 阅读
STM32F4的FPU性能的设置及要点

PIC16C5X系列单片机的四种振荡方式解析

PIC16C5X系列可以使用4种类型振荡方式:标准晶体/陶瓷振荡XT、高速晶体振荡HS(4MHz以上....

发表于 11-19 15:43 28次 阅读
PIC16C5X系列单片机的四种振荡方式解析

Proteus电路设计与仿真软件的介绍和应用及实例资料说明免费下载

PROTEUS软件是来自英国Labcenter electronics公司开发的EDA工具软件。该软....

发表于 11-19 09:51 49次 阅读
Proteus电路设计与仿真软件的介绍和应用及实例资料说明免费下载

AVR单片机的学习笔记详细资料免费下载

本文档的主要内容详细介绍的是AVR单片机的学习笔记详细资料免费下载。

发表于 11-19 08:00 23次 阅读
AVR单片机的学习笔记详细资料免费下载

单片机控制的TC9153数字音量电位器的详细资料合集免费下载

本文档的主要内容详细介绍的是单片机控制的TC9153数字音量电位器的详细资料合集免费下载。

发表于 11-19 08:00 45次 阅读
单片机控制的TC9153数字音量电位器的详细资料合集免费下载

使用单片机设计的音乐播放器资料合集免费下载

本文档的主要内容详细介绍的是使用单片机设计的音乐播放器资料合集免费下载,有仿真也有源代码,以及HEX....

发表于 11-19 08:00 33次 阅读
使用单片机设计的音乐播放器资料合集免费下载

使用单片机设计的智能计算器资料合集免费下载

本文档的主要内容详细介绍的是使用单片机设计的智能计算器资料合集免费下载,有实物截图,有源代码,有仿真....

发表于 11-19 08:00 20次 阅读
使用单片机设计的智能计算器资料合集免费下载

使用单片机设计的室内空气净化系统资料合集免费下载

本文档的主要内容详细介绍的是使用单片机设计的室内空气净化系统资料合集免费下载,可以烧录到开发板。有芯....

发表于 11-19 08:00 24次 阅读
使用单片机设计的室内空气净化系统资料合集免费下载

单片机调试有那些常见问题如何解决

error: #18: 6.error: #18: expected a ")" 如果是出现在c....

的头像 单片机精讲吴鉴鹰 发表于 11-17 11:50 488次 阅读
单片机调试有那些常见问题如何解决

如何使用STC12C5A60S2单片机实现汽车倒车雷达系统的设计

以STC12C5A60S2单片机和倒车主控芯片GM3101为核心部件,辅以温度传感器、液晶显示器、语....

发表于 11-16 16:17 66次 阅读
如何使用STC12C5A60S2单片机实现汽车倒车雷达系统的设计

浅谈智能仪表未来发展趋势

智能仪表是以微型计算机(单片机)为主体,将计算机技术和检测技术有机结合,组成新一代“智能化仪表”。微....

发表于 11-16 15:04 58次 阅读
浅谈智能仪表未来发展趋势

如何使用单片机设计一个温湿度监测系统的设计报告免费下载

随着科学技术的日新月异,在居家生活、工农业生产、气象、环保、国防、科研、航天等部门,经常需要对环境中....

发表于 11-16 15:02 62次 阅读
如何使用单片机设计一个温湿度监测系统的设计报告免费下载

计算机编程单片机嵌入式安卓的详细资料合集免费下载

本资料共享的内容涉及到单片机,计算机,编程算法,机械模具设计,行业软件教程,数学,包括大学部分课程资....

发表于 11-16 11:15 70次 阅读
计算机编程单片机嵌入式安卓的详细资料合集免费下载

单片机设计的简易电压表的程序和仿真资料免费下载

本文档的主要内容详细介绍的是单片机设计的简易电压表的程序和仿真资料免费下载。

发表于 11-16 08:00 36次 阅读
单片机设计的简易电压表的程序和仿真资料免费下载

STC15F104八脚单片机的10例源代码资料免费下载

本文档的主要内容详细介绍的是STC15F104八脚单片机的10例源代码资料免费下载主要内容包括了:1....

发表于 11-15 17:10 64次 阅读
STC15F104八脚单片机的10例源代码资料免费下载

如何使用ATmega16单片机实现步进电机加减速控制的资料概述

  步进电机是一种易于精确控制的电机。本系统中步进电机用于绕线机排线机构的驱动, 要求步进电机应反复....

发表于 11-15 16:44 51次 阅读
如何使用ATmega16单片机实现步进电机加减速控制的资料概述

浅析单片机数码管的8个段显示效果

数码管的 8 个段,我们直接当成 8 个 LED 小灯来控制,那就是 a、b、c、d、e、f、g、d....

的头像 玩转单片机 发表于 11-15 16:21 181次 阅读
浅析单片机数码管的8个段显示效果

STM8单片机电路原理图免费下载

本文档的主要内容详细介绍的是STM8单片机电路原理图免费下载。

发表于 11-15 11:32 85次 阅读
STM8单片机电路原理图免费下载

深度解析单片机复位电路

射频干扰,它是以空间电磁场的形式传递 在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁....

的头像 玩转单片机 发表于 11-15 11:32 282次 阅读
深度解析单片机复位电路

STM32F1 UCOS单片机的开发使用手册免费下载

在以前学习的例程中大多都不带操作系统,也就是裸奔,本教程将带领大家进入RTOS的世界,关于RTOS类....

发表于 11-15 11:07 44次 阅读
STM32F1 UCOS单片机的开发使用手册免费下载

GA8PX53基于EPROM和ROM的8位单片机的详细数据手册免费下载

GA8PX53系列是一款低功耗,高速,高噪声容限,EPROM/ROM基于8位CMOS工艺制造的单片机....

发表于 11-15 11:07 24次 阅读
GA8PX53基于EPROM和ROM的8位单片机的详细数据手册免费下载

STM8单片机开发板的详细资料介绍

这是一款适用于初学STM8单片机的朋友的开发板,板载资源都是一些基础的模块,可以进行一系列stm8单....

发表于 11-15 10:28 44次 阅读
STM8单片机开发板的详细资料介绍

如何使用ATmega48单片机进行微功耗电刺激器的设计

介绍了基于ATmega48 单片机设计、用于动物实验的电刺激实验器的硬件结构和软件设计要点。叙述了A....

发表于 11-14 17:59 36次 阅读
如何使用ATmega48单片机进行微功耗电刺激器的设计

英飞凌XC800系列单片机的开发工具的使用说明资料概述

本篇内容为英飞凌科技有限公司(Infineon Technologies CO., LTD)的XC8....

发表于 11-14 17:59 34次 阅读
英飞凌XC800系列单片机的开发工具的使用说明资料概述

STM8单片机的电路原理图详细资料免费下载

本文档的主要内容详细介绍的是STM8单片机的电路原理图资料免费下载。

发表于 11-14 17:10 89次 阅读
STM8单片机的电路原理图详细资料免费下载

单片机教程之单片机入门到单片机工程师的教程免费下载

本文档的主要内容详细介绍的是单片机教程之单片机入门到单片机工程师的教程免费下载主要内容包括了:第一章....

发表于 11-14 17:06 76次 阅读
单片机教程之单片机入门到单片机工程师的教程免费下载

PIC12F675单片机用于热释红外传感器中的应用设计

现在用于检测人员进出的探测器主要采用热释红外传感器。人体能够发射10μm左右的红外线,热释红外传感器....

发表于 11-14 16:38 81次 阅读
PIC12F675单片机用于热释红外传感器中的应用设计

探讨STC单片机烧写时出现的情况

MAX232转换板出口接三条线到STC单片机RXD,TXD和GND,单片机未通电,但这时RXD上有电....

的头像 畅学单片机 发表于 11-14 16:34 178次 阅读
探讨STC单片机烧写时出现的情况

单片机入门教程之单片机入门的二十二个实验的详细资料概述

本文档的主要内容详细介绍的是单片机入门教程之单片机入门的四十个实验的详细资料概述主要内容包括了:1.....

发表于 11-14 16:30 53次 阅读
单片机入门教程之单片机入门的二十二个实验的详细资料概述

单片机最小系统的组成及其原理解析

单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。

发表于 11-14 16:06 130次 阅读
单片机最小系统的组成及其原理解析

STM8系列单片机入门教程资料免费下载

ST的8位微控制器平台基于高性能8位内核,配有先进的成套外设。 该平台采用ST的130 nm嵌入式非....

发表于 11-14 10:02 39次 阅读
STM8系列单片机入门教程资料免费下载

如何使用51单片机设计家庭热释红外防盗报警系统

随着社会经济的飞速发展和人民生活水平的提高,人们对住宅的要求也越来越高,表现在不仅希望拥有舒适、安逸....

发表于 11-14 09:24 50次 阅读
如何使用51单片机设计家庭热释红外防盗报警系统

使用义隆单片机点亮不同亮度LED PWM全接触的程序免费下载

本文档的主要内容详细介绍的是使用义隆单片机点亮不同亮度LED PWM全接触的程序免费下载。

发表于 11-14 08:00 33次 阅读
使用义隆单片机点亮不同亮度LED  PWM全接触的程序免费下载

单片机教程之51单片机C语言程序设计教程(王云)资料合集

本文档的主要内容详细介绍的是单片机教程之51单片机C语言程序设计教程(王云)资料合集主要内容包括了:....

发表于 11-14 08:00 66次 阅读
单片机教程之51单片机C语言程序设计教程(王云)资料合集

Keil软件公司8051单片机软件开发工具的介绍和Keil入门实例教程

本文档的主要内容详细介绍的是Keil软件公司8051单片机软件开发工具的介绍和Keil入门实例教程主....

发表于 11-14 08:00 39次 阅读
Keil软件公司8051单片机软件开发工具的介绍和Keil入门实例教程

80C51单片机教程之80C51的汇编语言程序设计详细资料总结

本文档的主要内容详细介绍的是80C51单片机教程之80C51的汇编语言程序设计详细资料总结主要内容包....

发表于 11-13 19:05 56次 阅读
80C51单片机教程之80C51的汇编语言程序设计详细资料总结

80C51单片机教程之80C51单片机的指令系统详细资料概述

本文档的主要内容详细介绍的是80C51单片机教程之80C51单片机的指令系统详细资料概述主要内容包括....

发表于 11-13 19:05 36次 阅读
80C51单片机教程之80C51单片机的指令系统详细资料概述

单片机教程之80C51的中断系统及定时和计数器的详细资料概述

本文档的主要内容详细介绍的是单片机教程之80C51的中断系统及定时和计数器的详细资料概述主要内容包括....

发表于 11-13 19:05 36次 阅读
单片机教程之80C51的中断系统及定时和计数器的详细资料概述

单片机采用串行方式对LCD12864的驱动

#i nclude #i nclude sbit SCLK =P1^3 //E s....

发表于 11-12 15:19 96次 阅读
单片机采用串行方式对LCD12864的驱动

如何测试单片机的数据类型字节数

i = sizeof(char);//char是一字节的变量 if(i == 1) { ....

发表于 11-12 15:13 81次 阅读
如何测试单片机的数据类型字节数

单片机中断源情况大汇总 嵌入式时代已经到来

嵌入式时代已经来了,不要纠结要不要踏入嵌入式的领域了,

发表于 11-12 10:44 235次 阅读
单片机中断源情况大汇总 嵌入式时代已经到来

STC15F204W单片机开发板原理图资料免费下载

本文档的主要内容详细介绍的是STC15F204W单片机开发板原理图资料免费下载。

发表于 11-12 08:00 35次 阅读
STC15F204W单片机开发板原理图资料免费下载