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

收藏 人收藏
分享:

评论

相关推荐

STM8L系列单片机教程

发表于 05-25 21:45 57次阅读
STM8L系列单片机教程

PICmicro中档单片机系列中文参考手册-第31章 器件特性

Microchip 为其制造的器件提供特性信息。这些信息是在器件进行了完整的特性测试和数据分析 后....

发表于 05-25 17:19 8次阅读
PICmicro中档单片机系列中文参考手册-第31章 器件特性

PICmicro中档单片机系列参考手册-第35章术语表

BCD 参见二进制编码的十进制 (Binary Coded Decimal)。 BOR 参见欠....

发表于 05-25 17:19 4次阅读
PICmicro中档单片机系列参考手册-第35章术语表

三分钟告诉你:AVR单片机的熔丝与解锁

AVR单片机的熔丝位配置是AVR单片机初学者很容易出错的地方,其实只要注意一些事项,还是能够尽量避免....

发表于 05-25 17:10 33次阅读
三分钟告诉你:AVR单片机的熔丝与解锁

一文带你深入了解:AVR单片机程序设计架构

最精彩的部分要数多任务并行运行。简单的多进程程序还是很容易的,比方同时控制流水灯和数码管(动态),单....

发表于 05-25 16:43 38次阅读
一文带你深入了解:AVR单片机程序设计架构

大神教你快速上手:标准80C51单片机模拟I2C总线的主机程序

在做程序是我在网上找的是周立功的程序,感觉还不错顺便转载;在使用的过程中一定要注意时序、时间的问题。

发表于 05-25 16:37 43次阅读
大神教你快速上手:标准80C51单片机模拟I2C总线的主机程序

支持传感器数据传递的能量采集的特殊方法

大多数那些应用也需要一颗微小的电池来储存采集到的电能,并释出储存的能量做为电子组件的运作电源;依据设....

的头像 面包板社区 发表于 05-25 16:28 128次阅读
支持传感器数据传递的能量采集的特殊方法

单片机工控常用IC—sn74lvc07a资料下载.pdf

单片机,工控常用IC

发表于 05-25 15:46 18次阅读
单片机工控常用IC—sn74lvc07a资料下载.pdf

单片机的一生如同人类

一阵铃声吵醒你(wake up,激活),你感觉很饿,于是大哭(Alarm Ring),父母马上来喂你....

的头像 39度创意研究所 发表于 05-25 15:13 123次阅读
单片机的一生如同人类

大神手把手教你:单片机DS18B20水温控制系统设计

在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成A....

发表于 05-25 15:09 34次阅读
大神手把手教你:单片机DS18B20水温控制系统设计

霍尔测速51源码用于自行车测速

通过串口发送霍尔获取的速度值

发表于 05-25 14:43 13次阅读
霍尔测速51源码用于自行车测速

基于STM32F103系列单片机的无线解说器

本实例是以STM32F103系列单片机作为核心处理器,利用VS1003芯片进行音频解码的一种无线解....

的头像 电子设计 发表于 05-25 10:00 505次阅读
基于STM32F103系列单片机的无线解说器

请问谁有基于51单片机和nrf24l01的遥控小车?

发表于 05-25 08:53 66次阅读
请问谁有基于51单片机和nrf24l01的遥控小车?

基于HT1621B段式液晶模块的驱动应用设计

段式液晶由于其功耗低、价格便宜在很多家电中得到广泛的应用,其驱动其实并不复杂,大多是情况下都是用HT....

的头像 电子设计 发表于 05-25 03:48 80次阅读
基于HT1621B段式液晶模块的驱动应用设计

运行stc程序后就烧写不了程序了,请问这是怎么回事?

发表于 05-25 01:21 33次阅读
运行stc程序后就烧写不了程序了,请问这是怎么回事?

分享STC892单片机的使用手册

发表于 05-24 21:42 113次阅读
分享STC892单片机的使用手册

请问STC89c52最小开发系统和BT08-B蓝牙模块相连,手机无法搜到蓝牙的信号,蓝牙模块上的指示灯也不亮是什么原因?

发表于 05-24 19:56 75次阅读
请问STC89c52最小开发系统和BT08-B蓝牙模块相连,手机无法搜到蓝牙的信号,蓝牙模块上的指示灯也不亮是什么原因?

请问有大佬帮我讲解下单片机四向交通灯原理及其PCB布线的方法吗?

发表于 05-24 17:56 81次阅读
请问有大佬帮我讲解下单片机四向交通灯原理及其PCB布线的方法吗?

如何使用8051单片机和闪存的精密模数转换器(ADC)的详细概述

本文详细的描述的如何使用8051单片机和闪存的精密模数转换器(ADC)的详细资料概述 MSC12....

发表于 05-24 17:01 29次阅读
如何使用8051单片机和闪存的精密模数转换器(ADC)的详细概述

mega16单片机科学计算器程序源代码

支持最大八位的无符号长整型数值计算

发表于 05-24 16:08 44次阅读
mega16单片机科学计算器程序源代码

深圳宝安高层次人才组建创业团队

发表于 05-24 15:56 135次阅读
深圳宝安高层次人才组建创业团队

目前较为主流的手势检测方案简要分析

ELMOS推出的汽车级多用途传感器IC-E909.06,同样可以实现手势检测。E909.06基于目标....

的头像 周立功单片机 发表于 05-24 15:42 243次阅读
目前较为主流的手势检测方案简要分析

大神告诉你:基于单片机的多电机软起动系统

随着国民经济的飞速发展,交流电动机在工业生产中扮演了极为重要的角色,作为各行业中的主要拖动电机,应用....

发表于 05-24 15:18 119次阅读
大神告诉你:基于单片机的多电机软起动系统

AVR单片机C语言开发入门与典型实例,单片机学习必看

发表于 05-24 15:17 147次阅读
AVR单片机C语言开发入门与典型实例,单片机学习必看

一种基于单片机的便携防盗密码输入器方案设计详细讲解

在信息化的今天,很多情况下都需要输入密码。由于输入方式和装置采用按键的限制,密码输入方式变为开放式,....

发表于 05-24 15:03 34次阅读
一种基于单片机的便携防盗密码输入器方案设计详细讲解

致爱好单片机学习的朋友

发表于 05-24 14:55 159次阅读
致爱好单片机学习的朋友

学习单片机的八大步骤

发表于 05-24 14:53 126次阅读
学习单片机的八大步骤

51单片机转换程序(51Hex_bin)下载绿色版

16进制转2进制 51单片机转换程序(51Hex_bin)

发表于 05-24 09:47 21次阅读
51单片机转换程序(51Hex_bin)下载绿色版

esp8266中文资料汇总(esp8266引脚图_与单片机连接_串口wifi实例)

本文首先介绍了esp8266引脚图功能与esp8266特性,其次介绍了 单片机与ESP8266串口....

发表于 05-24 08:36 217次阅读
esp8266中文资料汇总(esp8266引脚图_与单片机连接_串口wifi实例)

单片机时钟设计详细教程

X1226具有时钟和日历的功能,时钟依赖时、分、秒寄存器来跟踪,日历依赖日期、星期、月和年寄存器来跟....

发表于 05-23 16:35 89次阅读
单片机时钟设计详细教程

Microchip PIC24F32KA304超低功耗16位单片机技术讲解

这讲我们讲:Microchip PIC24F32KA304超低功耗16位单片机

的头像 亚德诺半导体(ADI)视频 发表于 05-23 15:47 99次阅读
Microchip PIC24F32KA304超低功耗16位单片机技术讲解

单片机USB-ISP下载线制作详细教程

现在的笔记本包括台式机都渐渐地舍弃了并口、串口;很多网友也跟我说,台式没有并口了,下载线没法用了,让....

发表于 05-23 14:57 97次阅读
单片机USB-ISP下载线制作详细教程

Microchip全新的PIC32MX3/4系列高性能低成本32位单片机

本视频介绍了Microchip全新的PIC32MX3/4系列高性能低成本32位单片机。该系列是对原有....

的头像 亚德诺半导体(ADI)视频 发表于 05-23 14:47 109次阅读
Microchip全新的PIC32MX3/4系列高性能低成本32位单片机

单片机的发展历程

单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个....

的头像 传感器技术 发表于 05-23 14:45 1467次阅读
单片机的发展历程

PIC®单片机与LED驱动及控制相关外设介绍(上篇)

本课讲述PIC®单片机与LED驱动及控制相关外设介绍上篇

的头像 亚德诺半导体(ADI)视频 发表于 05-23 13:48 234次阅读
PIC®单片机与LED驱动及控制相关外设介绍(上篇)

STM32串口接收陀螺仪数据-2016-04-15

stm32f103串口接收MPU6050数据

发表于 05-23 10:24 24次阅读
STM32串口接收陀螺仪数据-2016-04-15

单片机应用程序综合实例——单片机与接口技术

单片机应用程序综合实例——单片机与接口技术

发表于 05-23 10:09 35次阅读
单片机应用程序综合实例——单片机与接口技术

掌握段式数码管的工作原理和如何通过动态驱动的方法设计电路以及程序

74HC138 是常用的3-8 线译码器, 即具有3 个输入端( 管脚1,2,3) 与8 个输出端(....

的头像 玩转单片机 发表于 05-23 09:34 333次阅读
掌握段式数码管的工作原理和如何通过动态驱动的方法设计电路以及程序

MCU单片机主流芯片公司有哪些_十大主流MCU单片机公司汇总

本文主要盘点了全球十家主流MCU单片机公司,分别有瑞萨电子、恩智浦、微芯科技、意法半导体、英飞凌、德....

发表于 05-22 16:44 371次阅读
MCU单片机主流芯片公司有哪些_十大主流MCU单片机公司汇总

单片机C语言之串口通信协议

本文首先介绍了串口的基本结构,其次介绍了串口通信方式,最后详细介绍了单片机C语言之串口通信协议。

发表于 05-22 12:37 204次阅读
单片机C语言之串口通信协议

单片机外接键盘电路

键盘接口电路是单片机系统设计非常重要的一环,作为人机交互界面里最常用的输入设备。我们可以通过键盘输入....

的头像 玩转单片机 发表于 05-22 11:21 1955次阅读
单片机外接键盘电路

STM32控制oled SPI通信资料下载

STM32 控制oled SPI通信,测试可用

发表于 05-22 10:14 42次阅读
STM32控制oled SPI通信资料下载

基于单片机的集成运放主要参数测量系统设计论文报告下载

基于单片机的集成运放主要参数测量系统设计论文报告下载

发表于 05-22 10:00 35次阅读
基于单片机的集成运放主要参数测量系统设计论文报告下载

单片机常用PID滤波算法资料汇总

单片机常用PID滤波算法资料汇总

发表于 05-21 11:45 24次阅读
单片机常用PID滤波算法资料汇总

五大单片机全解析--51、AVR、PIC、MSP430、ARM

AVR和pic都是跟8051结构不同的8位单片机,因为结构不同,所以汇编指令也有所不同,而且区别于使....

的头像 畅学单片机 发表于 05-21 11:15 1004次阅读
五大单片机全解析--51、AVR、PIC、MSP430、ARM

单片机外部中断程序下载

单片机外部中断程序和电路图,通过按键控制计数和清零操作

发表于 05-21 10:57 19次阅读
单片机外部中断程序下载

430怎么复位_430软复位方法详解

最近在搞430的FLASH的自定义法(利用串口)程序烧写,烧写完成后断电复位,reset按键就可以运....

的头像 电子发烧友网工程师 发表于 05-20 10:04 466次阅读
430怎么复位_430软复位方法详解

MCS-51与中断有关的寄存器、中断入口地址及编号详解

MCS-51单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CP....

的头像 陈翠 发表于 05-18 15:46 531次阅读
MCS-51与中断有关的寄存器、中断入口地址及编号详解

TSC2014的英文原版资料详细概述(免费下载)

TSC2014支持I2C串行总线和数据传输协议在所有三种定义的模式:标准,快速和高速。它提供10 0....

发表于 05-18 15:40 14次阅读
TSC2014的英文原版资料详细概述(免费下载)

51单片机的中断体系结构_中断的响应过程

51单片机的中断系统十分重要,分为外部中断和定时器中断。本文主要详解51单片机的中断体系结构以及中断....

的头像 陈翠 发表于 05-18 15:28 386次阅读
51单片机的中断体系结构_中断的响应过程

基于单片机的直流稳压电源设计的实验报告

这个是基于单片机的直流稳压电源设计的实验报告

发表于 05-18 10:30 30次阅读
基于单片机的直流稳压电源设计的实验报告

单片机的进制及其转换_单片机中进制转换知识

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处....

发表于 05-17 16:07 190次阅读
单片机的进制及其转换_单片机中进制转换知识

64位单片机有哪些_东芝64位单片机介绍

单片机主要用于一些控制领域,其外设和接口丰富,价格便宜,对运算能力要求不很高,虽然目前32位单片机已....

的头像 陈翠 发表于 05-17 15:47 296次阅读
64位单片机有哪些_东芝64位单片机介绍

PHILIPS 单片 16/32 位微控制器-LPC2131/2132/2134/2136/2138

单片机LPC21芯片中文资料

发表于 05-17 10:01 46次阅读
PHILIPS 单片 16/32 位微控制器-LPC2131/2132/2134/2136/2138

单片机at89s52和其他单片机比有什么优劣势

单片机at89s52是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,它提供下列标准特征:8K....

的头像 陈翠 发表于 05-16 16:52 3596次阅读
单片机at89s52和其他单片机比有什么优劣势

16位单片机对AD9854控制的探讨

本文首先介绍了AD9854的优势和特点,其次介绍了AD9854高精度频率信号发生器的电路图,最后详细....

的头像 电子魔法师 发表于 05-16 16:16 364次阅读
16位单片机对AD9854控制的探讨

树莓派、Arduino、传统单片机开发板该如何选择

2015年贴片技术的不断普及,让面包板不再那么有用武之地,经济的发展也让现成的板卡价格降到了一个合理....

发表于 05-16 15:22 405次阅读
树莓派、Arduino、传统单片机开发板该如何选择

单片机相关的实用电子小软件例程

单片机相关的实用电子小软件例程

发表于 05-16 10:57 53次阅读
单片机相关的实用电子小软件例程

基于TMS320C2834x单片机的DC/DC变换器高效电源解决方案

这个参考设计是为用户设计的TMS3C21334微控制器。

发表于 05-16 08:59 32次阅读
基于TMS320C2834x单片机的DC/DC变换器高效电源解决方案

gsm模块如何与单片机通信?

本文首先介绍了51单片机与GSM模块实现通信的方法,其次介绍了gsm模块和单片机连接方法与注意事项,....

发表于 05-15 16:49 335次阅读
gsm模块如何与单片机通信?