搜档网
当前位置:搜档网 › 第10章 AT89C51单片机与输入外设和输出外设的接口设计

第10章 AT89C51单片机与输入外设和输出外设的接口设计

第10章    AT89C51单片机与输入外设和输出外设的接口设计
第10章    AT89C51单片机与输入外设和输出外设的接口设计

第10章 AT89C51单片机与输入外设和输出外设的接口设计1.下列项说法正确。

A.HD7279是一个用于键盘和LED显示器的专用接口芯片

B.在单片机与微型打印机的接口中,打印机的BUSY信号可作为查询信号或中断请求信号使用

C.为给扫描法工作的8 8键盘提供接口电路,在接口电路中只需要提供两个输入口和一个输出口

D.LED显示器的字型码是固定不变的

答:A.对;B.对;C.错;D.错。

2.为什么要消除按键的机械抖动?软件消除按键机械抖动的原理是什么?

答:在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产生。如果不消除按键的机械抖动,按键的状态读取将有可能出现错误。消除按键抖动一般是采用软件或硬件去抖。软件去抖的原理是,在第一次检测到有键按下时,该键所对应的行线为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认该行确实有键按下。

3.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?答:静态显示时,数据是分开送到每一位LED上的。而动态显示时,则数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。静态显示亮度很高,但口线占用较多。动态显示口线占用较少,适合用在显示位数较多的场合。

4.写出表10-1中仅显示小数点“.”的段码。

答:80H(共阴极);7FH(共阳极)。

5.说明矩阵式键盘按键按下的识别原理。

答:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。

6.对于图10-10所示的键盘,采用线反转法原理编写出识别某一按键被

按下并得到其键号的程序。

答:先对P1口高4位送低电平,读取P1口低4位的值;再对P1口低4位送低电平,读取P1口高4位的值,将两次读到的值组合在一起就得到了按键的特征码,再根据特征码查找键值。参考程序如下:

KEYIN: MOV P1,#0FH ;反转读键

MOV A,P1

ANL A,#0FH

MOV B,A

MOV P1,#0F0H

MOV A,P1

ANL A,#0F0H

ORL A,B

CJNE A,#0FFH,KEYIN1

RET ;未按键

KEYIN1: MOV B,A ;暂存特征码

MOV DPTR,#KEYCOD ;指向特征码表

MOV R3,#0FFH ;顺序码初始化

KEYIN2: INC R3

MOV A,R3

MOVC A,@A+DPTR

CJNE A,B,KEYIN3

MOV A,R3 ;找到,取顺序码

RET

KEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查

RET ;已查完,未找到,以未按键处理

KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征码表

DB 0D7H,0DBH,0DDH,0DEH

DB 0B7H,0BBH,0BDH,0BEH

DB 77H,7BH,7DH,7EH

7.键盘有哪3种工作方式,它们各自的工作原理及特点是什么?

答:(1)编程扫描方式。当单片机空闲时,才调用键盘扫描子程序,反复扫描键盘,等待用户从键盘上输入命令或数据,响应键盘的输入请求。

(2)定时扫描方式。单片机每隔一定的时间对键盘扫描一次。

(3)中断扫描方式。只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘。

8.根据图10-11所示的电路,编写在6个LED显示器上轮流显示“1,2,3,4,5,6”的显示程序。

答:参见教材P170的显示程序。

9.简述TPP-40A/16A微型打印机的Centronics接口的主要信号线及功能,与AT89C51单片机相连接时,如何连接几条控制线?

答:DB0~DB7——数据线,单向传输,由单片机输入给打印机。STB(STROBE)——数据选通信号。在该信号的上升沿,数据线上的8位并行数据被打印机读入机内锁存。

BUSY——打印机忙状态信号。当该信号有效(高电平)时,表示打印机正忙于处理数据。此时,单片机不得使STB信号有效,向打印机送入新的数据。

ACK——打印机的应答信号。低电平有效,表明打印机已取走数据线上的数据。

ERR——出错信号。当送入打印机的命令格式出错时,打印机立即打印1行出错信息,提示出错。在打印出错信息之前。该信号线出现一个负脉冲,脉冲宽度为30νs。

用一条地址线来控制写选通信号STB和读取BUSY引脚状态。

10.如果把图10-25所示的打印机的BUSY线断开,然后与AT89C51单片机的线相接,请简述电路的工作原理并编写将以20H为起始地址的连续20个内存单元中的内容输出的打印程序。

答:本程序采用外部中断来完成数据打印,先打印一个数据,当BUSY 线从高电平变成低电平时,再打印下一个数据。参考程序如下:

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP IN

ORG 0030H

MAIN: SETB EX0 ;允许外部中断

SETB IT0

SETB EA

MOV R0,#7FH ;控制口地址

MOV A,#81H ;控制字

MOVX @R0,A

MOV R1,#20H ;数据区首地址

MOV R2,#19 ;计数器

MOV A,@R1 ;打印内容

MOV R0,#7CH ;A口地址

MOVX @R0,A

MOV R0,#7FH

MOV A,#0EH

MOVX @R0,A ;PC7=0

MOV A,#0FH

MOVX @R0,A ;PC7=1

SJMP $

IN: DJNZ R2,EX ;20个数据都结束了吗?

INC R1 ;指向下一个数据

MOV A,@R1

MOV R0,#7CH

MOVX @R0,A

MOV R0,#7FH

MOV A,#0EH

MOVX @R0,A

MOV A,#0FH

MOVX @R0,A

EX: RETI

mcs-51单片机的引脚和输入输出端口

MCS-51单片机的引脚和输入输出端口 MCS-51有4组8位I/O口,共占用32个引脚:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口。 ●P0口(P0.0~P0.7)占用32~39脚; ●P1口(P1.0~P1.7)占用1~8脚; ●P2口(P2.0~P2.7)占用21~28脚; ●P3口(P3.0~P3.7)占用10~17脚; 这四个口的主要功能如下: (1) P0 口是一个8位不带内部上拉电阻的漏极开路型准双向I/O口,因此该口输出时需外接上拉电阻,而P1 、P2 和P3口都是带内部上拉电阻的8位双向I/O口。 (2) 在访问片外ROM时,P0口分时兼作数据总线和低8位地址线;P2口作高位地址线。 (3) 内部带程序存储器的芯片,在EPROM编程和程序验证时,P1输入低8位地址,P2输入高8位地址,P0输入指令代码。(注:P1、P2作输入口时,必须要使每位先置“1”,才能读入外部数据。) (4) P3口除作双向I/0口外还兼有专用功能。 P0口和P2口: 图1为P0口和P2口其中一位的电路图,由图可见,电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能像P1、P3直接用作输出口。它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。 P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为216=64k,所以8051最大可外接64kB的程序存储器和数据存储器 P1口:图2为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至1,此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。 作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。需要说明的是,作为输入口使用时,有两种情况,其一是:首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,像JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。其二是:读P1口线状态时,打开三态门G2,将外部状态读入CPU。 P3口:P3口的电路如图3所示,P3口为准双向口,为适应引脚的第二功能的需要,增加了第二

单片机输入输出IO扩展

? ???? ? 1?? ? ?? ? ?? ??? ?П ?? 51 ? ? ? ? ???? ?? ??? ? ?? ?? ? ?? ? ? ? ?? ?? ? ? ?? ? ?51 ? ?? ?RAM ?? ???? ?? ?? ????? ㄝ??? ? ???? ?? ??? ?RAM ?? ? ??? ??? ?? ? ?? ?? ? ? ? ?? ?RAM ???? ?I/O ? ?? ?? ?? ?? ?LED??? ㄝ? ?? ??? ? ? ? I/O ?? г ゴ????????? ? ?? I/O ?? ???? ? ?? ?? ?М??? ? ?? ??? ? ? ? ?? ? г?????? ?? ?? ??? Ё???? ? ?? ? ?????佪 ?? ? ????? ? ? ?RAM ?? ? ? ?П??? ??????? ? ? ? ? ?? ? ???? ? ? ? ?? ????? ?? ? ? ? ? ??? ?? ???? ?? ? ?? ? ? ? ???? ? ? ? ???? ???? ? ?? ?????? ???? ????? ???? ????? ? ?? ? ?偠 ?? ??? ????乬? ??? ??乬 ?? ?? ?? ? ?? ? ?? ??? ?? ??? ? ?? ????? ??? ? ッ ?? ? ???? ? ? ? ?? ? ????? ???? ???? ? 2? ???? ? ??? ? ? 2.1 ???? ??? ? ?? ? ? ? ? ? ?? ??? ? ??? ?

??? ? ? ??? ?? ぎ?? ?? ?偅 ? ㄝㄝ??乬?? ??? ??? ? ? ??? ? ? ??? ? ? ?? ? ? ?? ? ? ?г ??? ? ?? ? ?г ? ? ?? ? ?? ? ?? ? ????? ???????? ? ?? ??? ? ??? ? ? Ё ? 乚 ? ? ? ?? ?? ????乚??? ? ??乚 ? ?有 ? 佪 ? ??51 ? ? ?RAM? ? 1?2 ?? 1?51 ? ? ?RAM? ? 1 51 ? ? ?RAM? ? ?? ? ?? ALE?RD?PORT0?PORT2 ? ? ??? PSEN ? ??? ? ? ?? ??? ?????? ? ?? ????お?? ??? ? ??????? ? ? ???? ????偠??? ???ALE ? ?? ? ??М ??М?? ???? ? ??? ???????乬 ? ? ?51 ? ?P0 / ??8?ッ ? ? ?RAM ?P0 ??乎 ? ???? ? ? ? ? ? ? ? ?8? ????М ???? ? ? ?? ??

单片机实验-IO口的输入输出实验

单片机实验-IO口的输入输出实验

实验二 I/O 口输入、输出实验 一、实验目的 1. 学习I/O 口的使用方法。 2. 学习延时子程序、查表程序的编写和使用。 二、参考程序框图 开延时 设置初始数据输左移开始 读入P1口置计数P1口置1 将读入的值P1=0 Y N 输入值右移Cy=0 N 计数Y 以计数值段码输出

DJNZ R6,DE2; DJNZ R7,DE1; RET END 2、I/O口输入输出(方法一) ORG 0000H; START : MOV P2,#00H; //初始化 MOV P0,#00H; MOV P1,#0FFH; //p1口初始化给ffh值 MOV DPTR,#TABLE; //表地址存入DPTR MOV 50H,#0FEH; //比较初值载入地址50h L0 :MOV A,P1; //按键消抖 CJNE A,#0FFH,L1; AJMP L0; L1 :MOV A,P1; CJNE A,#0FFH,LL1;

AJMP L0; LL1 :CJNE A,50H,LL2; //是否与地址50h 中数据相等 MOV P0,A; //相等输出对应led灯 MOV A,#00H; MOVC A,@A+DPTR; MOV P2,A; //输出表格数据到数码管 LCALL DELAY; //延时 LJMP START; //返回程序开头LL2 :XCH A,50H; //交换数据 RL A; //左移 XCH A,50H; //再次交换,此时地址50h中数据左移一位 INC DPTR; //表格数据地址加一 LJMP LL1; //返回继续比较 DELAY : MOV R7,#01H; //延时程序 DE1 : MOV R6,#28H;

第10章 AT89C51单片机与输入外设和输出外设的接口设计

第10章 AT89C51单片机与输入外设和输出外设的接口设计1.下列项说法正确。 A.HD7279是一个用于键盘和LED显示器的专用接口芯片 B.在单片机与微型打印机的接口中,打印机的BUSY信号可作为查询信号或中断请求信号使用 C.为给扫描法工作的8 8键盘提供接口电路,在接口电路中只需要提供两个输入口和一个输出口 D.LED显示器的字型码是固定不变的 答:A.对;B.对;C.错;D.错。 2.为什么要消除按键的机械抖动?软件消除按键机械抖动的原理是什么? 答:在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产生。如果不消除按键的机械抖动,按键的状态读取将有可能出现错误。消除按键抖动一般是采用软件或硬件去抖。软件去抖的原理是,在第一次检测到有键按下时,该键所对应的行线为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认该行确实有键按下。 3.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?答:静态显示时,数据是分开送到每一位LED上的。而动态显示时,则数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。静态显示亮度很高,但口线占用较多。动态显示口线占用较少,适合用在显示位数较多的场合。 4.写出表10-1中仅显示小数点“.”的段码。 答:80H(共阴极);7FH(共阳极)。 5.说明矩阵式键盘按键按下的识别原理。 答:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。 6.对于图10-10所示的键盘,采用线反转法原理编写出识别某一按键被

单片机实验-IO口输入输出实验

实验二I/O口输入、输出实验 一、实验目的 1. 学习I/O口的使用方法。 2. 学习延时子程序、查表程序的编写和使用。 二、参考程序框图 led灯 500ms DJNZ R6,DE2; DJNZ R7,DE1; RET END 2、I/O口输入输出(方法一) ORG 0000H; START : MOV P2,#00H; //初始化 MOV P0,#00H; MOV P1,#0FFH; //p1 MOV DPTR,#TABLE; // MOV 50H,#0FEH; // L0 :MOV A,P1; //按键消抖 CJNE A,#0FFH,L1; AJMP L0; L1 :MOV A,P1; CJNE A,#0FFH,LL1; AJMP L0; LL1 :CJNE A,50H,LL2; //是否与地址50h中数据相等MOV P0,A; //相等输出对应led灯 MOV A,#00H; MOVC A,@A+DPTR;

MOV P2,A; //输出表格数据到数码管 LCALL DELAY; //延时 LJMP START; //返回程序开头 LL2 :XCH A,50H; //交换数据 RL A; //左移 XCH A,50H; //再次交换,此时地址50h中数据左移一位 INC DPTR; //表格数据地址加一 LJMP LL1; //返回继续比较 DELAY : MOV R7,#01H; //延时程序 DE1 : MOV R6,#28H; DE2 : MOV R5,#5AH; DJNZ R5,$; DJNZ R6,DE2; DJNZ R7,DE1; RET TABLE : ;//DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H; DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH; //表格数据 END 程序二(方法二) ORG 0000H MOV P2,#00H; //I./O口初始化 MOV P1,#0FFH; //P1口赋FFH初值 MOV P0,#00H; START : MOV P2,#00H; //P2清0; MOV P0,#00H; //P0清0; MOV R1 ,P1; MOV A,R1; //读P1口 CJNE A,#0FFH,L1; //是否有数据输入 AJMP START; //无输入则跳转,继续查询 LCALL DELAY; L1 : MOV R1,P1; //消除按键抖动 MOV A,R1; CJNE A, #0FFH,LL1; AJMP START; LL1 : CJNE A,#0FEH,LL2; //是否按键1输入 MOV P2,#06H; //是则P2输出相应的按键号码 CPL A; //A取反 MOV P0,A; //输出到P0口 LCALL DELAY; //延迟 AJMP LP; //跳转到LP LL2 : CJNE A,#0FDH,LL3; //是否按键2输入 MOV P2,#5BH; //以下同上 CPL A;

最新单片机的常见输入输出电路介绍

单片机的常见输入输出电路介绍 引言 传统电气设备采用的各种控制信号,必须转换到与单片机输入/输出口相匹配的数字信号。用户设备须输入到单片机的各种控制信号,如限位开关,操作按钮、选择开关、行程开关以及其他一些传感器输出的开关量等,通过输入电路转换成单片机能够接收和处理的信号。输出电路则应将单片机送出的弱电控制信号转换、放大到现场需要的强输出信号,以驱动功率管、电磁阀和继电器、接触器、电动机等被控制设备的执行元件,能方便实际控制系统使用。 1 输入电路设计 一般输入信号最终会以开关形式输入到单片机中,以工程经验来看,开关输入的控制指令有效状态采用低电平比采用高电平效果要好得多,。其中,D1为保护二极管,反向电压 ≥50V。 为了防止外界尖峰干扰和静电影响损坏输入引脚,可以在输入端增加防脉冲的二极管,形成电阻双向保护电路,。二极管D1、D2、D3的正向导通压降UF≈0.7 V,反向击穿电压UBR≈30 V,无论输入端出现何种极性的破坏电压,保护电路都能把浚电压的幅度限制在输入端所能承受的范围之内。即:VI~VCC出现正脉冲时,D1正向导通; V1~VCC 出现负脉冲时,D2反向击穿;VI与地之间出现正脉冲时,D2反向击穿;V1与地之间出现负脉冲时,D3正向导通,二极管起钳位保护作用。缓冲电阻RS约为1.5~2.5kΩ,与输入电容C构成积分电路,对外界感应电压延迟一段时间。若干扰电压的存在时间小于t,则输入端承受的有效电压将远低于其幅度;若时间较长,则D1导通。电流在RS上形成一定的压降,从而减小输入电压值。 此外,一种常用的输入方式是采用光耦隔离电路。,R为输入限流电阻,使光耦中的发光二极管电流限制在10~20 mA。输入端靠光信号耦合,在电气上做到了完全隔离。同时,发光二极管的正向阻抗值较低,而外界干扰源的内阻一般较高,根据分压原理,干扰源能馈送到输入端的干扰噪声很小,不会产生地线干扰或其他串扰,增强了电路的抗干扰能力。 在满足功能的前提下,提高单片机输入端可靠性最简单的方案是:在输入端与地之间并联一只电容来吸收干扰脉冲,或串联一只金属薄膜电阻来限制流入端口的峰值电流。 2 输出电路设计 单片机输出端口受驱动能力的限制,一般情况下均需专用的接口芯片。其输出虽因控制对象的不同而千差万别,但一般情况下均满足对输出电压、电流、开关频率、波形上升下降速率和隔离抗干扰的要求。在此讨论几种典型的单片机输出端到功率端的电路实现方法。 2.1 直接耦合 在采用直接耦合的输出电路中,要避免出现图5所示的电路。 T1截止、T2导通期间,为了对T2提供足够的基极电流,R2的阻值必须很小。因为T2处于射极跟随器方式工作,因此为了减少T2损耗,必须将集射间电压降控制在较小范围内。这样集基间电压也很小,电阻R2阻值很小才能提供足够的基极电流。R2阻值过大,会大幅

视频输入输出常用接口介绍

视频输入输出常用接口介绍 随着视频清晰度的不断提升,这也促使我们对高清视频产生了浓厚的兴趣,而如果要达某些清晰度的视频就需要配备相应的接口才能完全发挥其画质。所以说视频接口的发展是实现高清的前提,从早期最常见且最古老的有线TV输入到如今最尖端的HDMI数字高清接口,前前后后真是诞生了不少接口。但老期的接口信号还在继续使用,能过信号转换器就能达到更清晰的效果,比如:AV,S-VIDEO 转VGA AV,S-VIDEO转HDMI,图像提升几倍,效果更好。 从现在电视机背后的接口也能看出这点,背后密密麻麻且繁琐的接口让人第一眼看过去有点晕的感觉。今天小编就将这些接口的名称与作用做一个全面解析,希望能对选购电视时为接口而烦恼的朋友起到帮助。 随着视频清晰度的不断提升,这也促使我们对高清视频产生了浓厚的兴趣,而如果要达某些清晰度的视频就需要配备相应的接口才能完全发挥其画质。所以说视频接口的发展是实现高清的前提,从早期最常见且最古老的有线TV输入到如今最尖端的HDMI数字高清接口,前前后后真是诞生了不少接口。但老期的接口信号还在继续使用,能过信号转换器就能达到更清晰的效果,比如:AV,S-VIDEO 转VGA AV,S-VIDEO转HDMI,图像提升几倍,效果更好。

TV接口 TV输入接口 TV接口又称RF射频输入,毫无疑问,这是在电视机上最早出现的接口。TV 接口的成像原理是将视频信号(CVBS)和音频信号(Audio)相混合编码后输出,然后在显示设备内部进行一系列分离/ 解码的过程输出成像。由于需要较多步骤进行视频、音视频混合编码,所以会导致信号互相干扰,所以它的画质输出质量是所有接口中最差的。 AV接口 AV接口又称(RCARCA)可以算是TV的改进型接口,外观方面有了很大不同。分为了3条线,分别为:音频接口(红色与白色线,组成左右声道)和视频接口(黄色)。

第8章 微型计算机输入输出接口技术习题参考答案

第八章习题及答案 8.1 CPU与外设传送数据时为什么需要I/O接口?I/O接口的基本功能有那些? 答:由于外部设备和装置的工作原理、驱动方式、信息格式和数据处理速度等各不相同,必须经过中间电路才能与CPU相连,这部分中间电路就是I/O接口。 I/O接口的基本功能有: 1、设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异; 2、进行信息格式的转换,如串行和并行的转换; 3、协调CPU与外设在信息类型和电平上的差异,如电平转换驱动器、数/模和模/数转换器等; 4、协调时序差异,同步CPU与外设的工作; 5、地址译码和设备选择功能,使CPU在某一时刻只能选中一个I/O端口; 6、提供联络信号,承担CPU与外设之间的联络工作,联络的具体信息有控制信息、状态信息和请求信号等,如外设的“Ready”、“Busy”等状态; 7、设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下,产生中断和DMA 请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。 8.2 I/O接口传送的信息分为哪几类?传送的数据信息分为哪几种? 答:I/O接口信息通常包括数据信息、状态信息和控制信息等。其中数据信息包括数字量、模拟量和开关量三种基本形式。 8.3 统一编址方式和独立编址方式各有什么特点和优缺点? 答:统一编址方式的主要优点是: 1、端口寻址手段丰富,对其数据进行操作可与对存储器操作一样灵活,且不需要专门的I/O指令,有利于I/O程序的设计; 2、I/O寄存器数目与外设数目不受限制,而只受总存储容量的限制,读写控制逻辑比较简单。 其缺点是: 1、I/O端口要占用存储器的一部分地址空间,使可用的内存空间减少; 2、存储器操作指令通常要比I/O指令的字节多,故加长了I/O操作的时间。 独立编址方式的优点是: 1、I/O口的地址空间独立,且不占用存储器地址空间; 2、地址线较少,寻址速度相对较快; 3、使用专门I/O指令,编制的程序清晰,便于理解和检查。 其缺点是: 1、I/O指令较少,访问端口的手段远不如访问存储器的手段丰富,导致程序设计的灵活性较差; 2、需要存储器和I/O端口两套控制逻辑,增加了控制逻辑的复杂性。 8.4 简述CPU与外设之间进行数据传送的几种常用形式,各有何优缺点? 答:CPU与外设之间的数据传送方式主要有直接程序控制方式、中断控制方式、直接存储器存取方式等。 直接程序控制方式可分为无条件传送方式和条件传送方式两种:无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定或已知的场合;条件传送方式在执行输入/

单片机实验IO口的输入输出实验

实验二 I/O 口输入、输出实验 一、实验目的 1. 学习I/O 口的使用方法。 2. 学习延时子程序、查表程序的编写和使用。 二、参考程序框图 三、程序设计 1、P0口循环点亮程序 ORG 0030H START : MOV P2,#00H; O 口初始化 MOV P1,#0FFH; //P1口赋FFH 初值 MOV P0,#00H; 开始 延时 设置初始值 数据输出 左移一位 开始 读入P1口值 置计数初值=0 P1口置1 将读入的值输出到P0 P1=0FFH? Y N 输入值右移1位到Cy Cy=0? N 计数值+1 Y 以计数值查段码表 段码输出到P2

START : MOV P2,#00H; //P2清0; MOV P0,#00H; //P0清0; MOV R1 ,P1; MOV A,R1; //读P1口 CJNE A,#0FFH,L1; //是否有数据输入 AJMP START; //无输入则跳转,继续查询 LCALL DELAY; L1 : MOV R1,P1; //消除按键抖动 MOV A,R1; CJNE A, #0FFH,LL1; AJMP START; LL1 : CJNE A,#0FEH,LL2; //是否按键1输入 MOV P2,#06H; //是则P2输出相应的按键号码 CPL A; //A取反 MOV P0,A; //输出到P0口 LCALL DELAY; //延迟 AJMP LP; //跳转到LP LL2 : CJNE A,#0FDH,LL3; //是否按键2输入 MOV P2,#5BH; //以下同上 CPL A; MOV P0,A; LCALL DELAY; AJMP LP; LL3 : CJNE A,#0FBH,LL4; //判断按键3是否按下 MOV P2,#4FH; CPL A; MOV P0,A; LCALL DELAY; AJMP LP; LL4 : CJNE A,#0F7H,LL5; //判断按键4是否按下 MOV P2,#66H; CPL A; MOV P0,A; LCALL DELAY; AJMP LP; LL5 : CJNE A,#0EFH,LL6; //判断按键5是否按下 MOV P2,#6DH; CPL A; MOV P0,A; LCALL DELAY; AJMP LP; LL6 : CJNE A,#0DFH,LL7; //判断按键6是否按下 MOV P2,#7DH;

计算机输入输出系统与接口技术

第七章计算机输入/输出系统与接口技术 7.1计算机的输入/输出系统 一、输入/输出系统的基本组成 二、接口电路Interface 计算机的CPU和外部设备之间一般不是直接相连的,而是通过一定的接口来连接的。主机和外设之间的适配电路称为接口电路,相应的程序称为接口程序。 为什么要使用接口: 1、接口电路使得CPU可以管理多个外部设备; 2、不同外设的工作方式不同,应用不同的接口电路可以将不同的工作方式转换为有利于CPU 操作的相同工作方式;比如:电压不同,信号方式不同。 3、外部设备有些速度快,有些速度慢,接口电路可以实现设备与CPU之间的速度匹配; 4、有些设备是串行传送数据的,而CPU是并行传送数据的,接口电路可以实现串-并行格式转 换; 5、CPU只能读写数字信息,通过接口电路可以实现模拟信息的输入输出。 总线接口电路I/O设备 接口:接口电路和接口程序

三、CPU和输入/输出设备之间传输的信号 1、数据信息:数字量、模拟量、开关量; 2、状态信息:外设的工作状态; 3、控制信息: 7.2 微型计算机的常用外部设备 1、输入设备:键盘、鼠标 2、输出设备:显示器、打印机 3、多媒体设备:声卡、图像卡 7.3 总线技术Bus 一、为什么要用总线? 1、分散连接结构 2、总线连接方式 总线是连接多个部件的信息传输线,是各部件共享的传输介质。 总线要求在任何一个时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。 二、两种总线结构 1、单总线结构: 2、双总线结构 三、总线分类 1、片内总线:连接CPU内部个部件,寄存器,ALU等; 2、系统总线:包括数据总线,地址总线,控制总线; 3、通讯总线:USB,485总线,串行通信总线,并行通信总线。

第7章基本输入输出接口

第7章基本输入输出接口 一、内容简介: 1 I/O口概述 2 简单I/O接口芯片:244,245,273,373┅ 3 CPU与外设间的数据传送方式 程序控制;中断;DMA 4 DMA控制器8237A 二、教学目标: 掌握输入/输出接口电路和基本概念、掌握I/O端口编址方法和特点及地址译码方法。l掌握CPU与外设数据传送的方式方法。了解DMA控制器8237A。 三、重点内容: CPU与外设间的数据传送方式;8237A 四、教学时数:4 7.1 I/O接口概述 7.1.1 CPU与外设之间的数据传输 一.CPU与I/O接口 接口电路按功能可分为两类: ①是使微处理器正常工作所需要的辅助电路:时钟信号或中断请求等; ②是输入/输出接口电路:CPU与外部设备信息的传送(接收、发送)。 最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入/输出接口和总线相连的,完成检测和控制的仪表装置也属于外部设备之列,也是通过接口电路和主机相连。 1.为什么要用接口电路: 需要分析一下外部设备的输入/输出操作和存储器读/写操作的不同之处: 存储器都是用来保存信息的,功能单一,传送方式单一(一次必定是传送1个字节或者1个字),品种很有限(只有只读类型和可读/可写类型),存取速度基本上和CPU的工作速度匹配.。 外部设备的功能多种多样的(输入设备,输出设备,输入设备/输出设备),信息多样(数字式的,模拟式的),信息传输的方式(并行的,串行的),外设的工作速度通常比CPU 的速度低得多,而且各种外设的工作速度互不相同,这也要求通过接口电路对输入/输出过程起一个缓冲和联络的作用。 注:接口电路完成相应的信号转换、速度匹配、数据缓冲等功能。

单片机常用输入输出电路

引言 随着微电子技术和计算机技术的发展,原来以强电和电器为主、功能简单的电气设备发展成为强、弱电结合,具有数字化特点、功能完善的新型微电子设备。在很多场合,已经出现了越来越多的单片机产品代替传统的电气控制产品。属于存储程序控制的单片机,其控制功能通过软件指令来实现,其硬件配置也可变、易变。因此,一旦生产过程有所变动,就不必重新设计线路连线安装,有利于产品的更新换代和订单式生产。 传统电气设备采用的各种控制信号,必须转换到与单片机输入/输出口相匹配的数字信号。用户设备须输入到单片机的各种控制信号,如限位开关,操作按钮、选择开关、行程开关以及其他一些传感器输出的开关量等,通过输入电路转换成单片机能够接收和处理的信号。输出电路则应将单片机送出的弱电控制信号转换、放大到现场需要的强输出信号,以驱动功率管、电磁阀和继电器、接触器、电动机等被控制设备的执行元件,能方便实际控制系统使用。 1 输入电路设计 一般输入信号最终会以开关形式输入到单片机中,以工程经验来看,开关输入的控制指令有效状态采用低电平比采用高电平效果要好得多,如图1如示。当按下开关Sl时,发出的指令信号为低电平,而平时不按下开关S1时,输出到单片机上的电平则为高电平。该方式具有较强的耐噪声能力。 若考虑到由于TTL电平电压较低,在长线传输中容易受到外界干扰,可以将输人信号提高到+24 V,在单片机入口处将高电压信号转换成TTL信号。这种高电压传送方式不仅提高了耐噪声能力,而且使开关的触点接触良好,运行可靠,如图2所示。其中,D1为保护二极管,反向电压≥50 V。

为了防止外界尖峰干扰和静电影响损坏输入引脚,可以在输入端增加防脉冲的二极管,形成电阻双向保护电路,如图3所示。二极管D1、D2、D3的正向导通压降UF≈0.7 V,反向击穿电压UBR≈30 V,无论输入端出现何种极性的破坏电压,保护电路都能把浚电压的幅度限制在输入端所能承受的范围之内。即:VI~VCC出现正脉冲时,D1正向导通;V1~VCC出现负脉冲时,D2反向击穿;VI与地之间出现正脉冲时,D2反向击穿;V1与地之间出现负脉冲时,D3正向导通,二极管起钳位保护作用。缓冲电阻RS约为1.5~2.5kΩ,与输入电容C构成积分电路,对外界感应电压延迟一段时间。若干扰电压的存在时间小于t,则输入端承受的有效电压将远低于其幅度;若时间较长,则D1导通。电流在RS上形成一定的压降,从而减小输入电压值。 此外,一种常用的输入方式是采用光耦隔离电路。如图4所示,R为输入限流电阻,使光耦中的发光二极管电流限制在10~20 mA。输入端靠光信号耦合,在电气上做到了完全隔离。同时,发光二极管的正向阻抗值较低,而外界干扰源的内阻一般较高,根据分压原理,干扰源能馈送到输入端的干扰噪声很小,不会产生地线干扰或其他串扰,增强了电路的抗干扰能力。 在满足功能的前提下,提高单片机输入端可靠性最简单的方案是:在输入端与地之间并联一只电容来吸收干扰脉冲,或串联一只金属薄膜电阻来限制流入端口的峰值电流。 2 输出电路设计 单片机输出端口受驱动能力的限制,一般情况下均需专用的接口芯片。其输出虽因控制对象的不同而千差万别,但一般情况下均满足对输出电压、电流、开关频率、波形上升下降速率和隔离抗干扰的要求。在此讨论几种典型的单片机输出端到功率端的电路实现方法。 2.1 直接耦合 在采用直接耦合的输出电路中,要避免出现图5所示的电路。

输入输出接口参考题答案

输入输出接口参考题答案 1、什么是接口?什么是端口?接口有哪些功能?接口中传送的信息有哪几类? ①I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 ②接口中那些CPU可直接访问的寄存器又被称为I/O端口(Port)、外设端口或端口。一个接口中包含多个端口,如数据端口、状态端口和控制端口。一般数据端口可被CPU进行读写操作,而状态端口则只能读,控制端口只能写。 ③1.寻址功能2.输入/输出功能3.联络功能4.数据输入缓冲和输出锁存功能 ④1.数据信息,一般由外设通过接口传递给系统的。2.状态信息,由外设通过接口往CPU传送的。3.控制信息,是CPU通过接口传送给外设的。 2、I/O端口的寻址方式有哪些?在8086/8088微机系统中,CPU是如何实现对I/O端口寻址的? ①I/O端口的编址方式有两种:I/O端口和存储器统一编址,I/O端口独立编址。 ②Intel 8086就是采用的独立编址方式,访问存储器用MOV指令,而输入输出则使用专用的I/O指令:从I/O端口输入用IN,向端口输出用OUT。 3、CPU与外设之间的输入输出数据传输方式有哪几种?何谓程序控制方式?它有哪几种基本方式? ①程序控制方式和DMA方式 ②程序控制方式是指CUP依靠执行一定的指令代码完成与外设间的输入输出。程序控制方式包括无条件传送方式、状态查询传送方式和中断传送方式。 4、有一外设接口,其数据端口地址为100H,状态端口地址为101H端口的D7位表示输入设备的状态。当D7=1 时,表示外设数据已经准备好。用状态查询方式实现从外设输入数据。 WAIT: MOV DX, 101H IN AL, DX TEST AL, 80H JZ WAIT MOV DX, 100H IN AL, DX

8051单片机输入输出口工作原理

8051单片机I/O口的工作原理 一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与 门及场效应管驱动电路构成。 下面,先分析组成P0口的各个部分: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这个三态缓冲器有效,引脚上的数据才会传输到内部数据总线上。 D锁存器:在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 多路开关:在51单片机中,不需要外扩展存储器时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。当多路开关与下面接通时,P0口是作为普通

的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。 输出驱动部份:P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。 P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),V1管截止,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。作为地址/数据线使用时,多路开关的控制信号为1,V1管由地址/数据线决定,多路开关与地址/数据线连接。 输出过程: 1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。这时多路开关的控制信号为低电平0,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。 下图就是由内部数据总线向P0口输出数据的流程图(红色箭头)。 2、地址输出过程

经典51单片机IO端口的四种输入输出模式详细介绍11

51单片机IO端口的四种输入输出模式(by wuleisly) 单片机I O口的使用对所有单片机玩家来说都是“家常便饭”,但是你真的了解I O 口吗?你真的能按你的需要配置I O口吗? 一、准双向口输出 准双向口输出类型可用作输出和输入功能而不需重新配置 口线输出状态。这是因为当口线 输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强, 可吸收相当大的电流。(准双向口有3个上拉晶体管适应不同的需要) 准双向口读外部状态前,要先锁存为…1?,才可读到外部正确的状态. 二、强推挽输出 推挽输出配置的下拉结构与开漏输出以及准双向口的下拉 结构相同,但当锁存器为1时提供持续的强上拉。推挽模式一般用于需要更大驱动电流的情况。 三、仅为输入(高阻) 输入口带有一个施密特触发输入以及一个干扰抑制电路。 四、开漏输出配置(若外加上拉电阻,也可读) 当口线锁存器为0时,开漏输出关闭所有上拉晶体管。当作为一个逻辑输出时,这种配置方式必须有外部上拉,一般通过电阻外接到V c c。如果外部有上拉电阻,开漏的I/O口还可读外部状态,即此时被配置为开漏模式的I/O口还可作为输入I/O口。这种方式的下拉与准双向口相同。 开漏端口带有一个施密特触发输入以及一个干扰抑制电路。 关于I/O口应用注意事项: 1.有些是I/O口由低变高读外部状态时,读不对,实际没有损坏,软件处理一下即可。 因为1T的8051单片机速度太快了,软件执行由低变高指令后立即读外部状态,此时由于实际输出还没有变高,就有可能读不

对,正确的方法是在软件设置由低变高后加1到2个空操作指令延时,再读就对了. 有些实际没有损坏,加上拉电阻就O K了 有些是外围接的是NP N三极管,没有加上拉电阻,其实基极串多 大电阻,I/O口就应该上拉多大的电阻,或者将该I/O口设置为强 推挽输出. 2.驱动L E D发光二极管没有加限流电阻,建议加1K以上的限流电阻,至少也要加470欧姆以上 做行列矩阵按键扫描电路时,实际工作时没有加限流电阻,实际工作时可能出现2个I/O口均输出为低,并且在按键按下时,短接在一起,我们知道一个C MO S电路的2个输出脚不应该直接短接在一起,按键扫描电路中,此时一个口为了读另外一个口的状态,必须先置高才能读另外一个口的状态,而8051单?片机的弱上 拉口在由0变为1时,会有2时 钟的强推挽高输出电流输出到另外一个输出为低的I/O口,就有 可能造成I/O口损坏.建议在其中的一侧加1K限流电阻,或者在 软件处理上,不要出现按键两端的I/O口同时为低. 一种典型三极管控制电路: 如果用弱上拉控制,建议加上拉电阻R1(3.3K~10K),如果不加上拉电阻R1(3. 3K~10K), 建议R2的值在15K以上,或用强推挽输出。 典型发光二极管控制电路:

相关主题