单片机基础-第七章-单片机IO扩展及应用_第1页
单片机基础-第七章-单片机IO扩展及应用_第2页
单片机基础-第七章-单片机IO扩展及应用_第3页
单片机基础-第七章-单片机IO扩展及应用_第4页
单片机基础-第七章-单片机IO扩展及应用_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章单片机I/O扩展及应用7.1单片机为什么需要I/O扩展1.单片机本身接口功能有限

P0口被作为低8位地址线和数据线使用,P2口被作为高8位地址线使用,而P3口线的第二功能是重要的控制信号.这样,真正能作为I/O使用的就只有P1口了.2.单片机控制应用中的复杂接口要求

1)速度差异大

2)设备种类繁多

3)数据信号形式多种多样单片机接口电路外部设备单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第1页。3.扩展I/O接口电路的功能

1.速度协调

2.输出数据锁存

3.输入数据三态缓冲

4.数据转换4.接口与端口接口是计算机与外部设备之间在数据传送方面的联系,其功能是通过电路实现的,因此称之为接口电路.接口电路中应包含有数据寄存器以保存输入/输出数据,状态寄存器以保护外界的状态信息,命令寄存器以保护来自单片机的控制命令.通常把接口电路中这些可编址并能进行读或写操作的寄存器称之为端口(Port),一个接口电路中可能包括多个端口,对应着多个口地址.单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第2页。5.单片机I/O编址技术统一编址方案:把I/O接口中的寄存器(端口)与存储器中的存储单元同等对待,统一进行编址,只有一个统一的地址空间,该地址空间既供存储器编址所用,也供I/O编址使用.

例:MOVDPTR,#7FFFHMOVXA,@DPTRMOVR0,#35HMOVX@R0,A6.单片机I/O控制方式:无条件转送方式;查询方式;中断方式单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第3页。7.38255A可编程通用并行接口芯片7.3.1可编程I/O接口扩展概述常用的可编程接口芯片有:8255A可编程通用并行接口

8155带RAM和定时器/计数器的可编程并行接口

8259可编程中断控制器

8279可编程键盘/显示器接口

8253可编程通用定时器这些芯片的最大特点:

工作方式的确定和改变要由程序以软件方法实现.7.3.28255A的逻辑结构和信号引脚它是一个40引脚的双列直插式集成电路芯片单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第4页。单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第5页。8255A的内部结构按功能可分为3个逻辑电路部分,即:口电路,总

线接口电路和控制逻辑电路,如图7.17所示.单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第6页。MOVXA,@DPTR;读有效

MOVX@DPTR,A;写有效单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第7页。1.口电路

8255A共有3个8位口,其中A口和B口是单纯的数据口,而C口既可作数据口又可作控制口使用,用于实现A口和B口的控制功能.把A口和C

口高位部分合在一起称为A组,把B口和C口低位部分合在一起称为B组.2.总线接口电路

用于实现8255A和单片机芯片的信号连接1.数据总线缓冲器

-----8位双向三态缓冲器2.读/写控制逻辑

CS----片选信号,低电平有效

RD----读信号,低电平有效

WR---写信号低电平有效

A0,A1---端口选择信号.8255A共有4个可寻址的端口(即A口,B口,C口和控制寄存器)RESET---复位信号,高电平有效.3.控制逻辑电路包括A组控制和B组控制,合在一起构成8位控制寄存器.

单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第8页。CSA1A0RDWR所选端口操作00001A口读端口A00101B口读端口B01001C口读端口C00010A口写端口A00110B口写端口A01010C口写端口A01110控制寄存器写控制字1××××/数据总线缓冲器输出高阻抗8255A读/写控制表单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第9页。7.3.38255A的工作方式及数据I/O操作1.8255A的工作方式

1.方式0基本输入/输出方式可供使用的是两个8位口(A口和B口)及两个4位口(C口高位部分和低位部分)

2.方式1选通输入/输出方式

A口和B口分别用于数据的输入/输出,而C口则作为数据传送的联络信号.

3.方式2双向数据传送方式只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据.如果把A口置于方式2下,则B口只能置于方式0.

单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第10页。C口位线方式1方式2输入输出输入输出PC7OBFAOBFAPC6ACKAACKAPC5IBFAIBFAPC4STBASTBAPC3INTRAINTRAINTRAINTRAPC2STBBACKBPC1IBFBOBFBPC0INTRBINTRB表7.4C口联络信号定义单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第11页。2.数据输入操作

STB---选通脉冲(输入),低电平有效.当外设送来STB信号时,输入数据装入8255A的锁存器.IBF---输入缓冲器满信号(输出),高电平有效.此信号有效,表明数据已装入缓存器,因此它是一个状态信号.INTR---中断请求信号(输出),高电平有效.当IBF为高,STB信号由低变为高时,中断请求信号有效.向单片机发出中断请求.单片机接口电路外部设备STBIBFINTR单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第12页。3.数据输出操作

ACK---外设响应信号(输入),低电平有效.当接口设备取走数据,并处理完毕后向单片机发回的响应信号.OBF---输出缓冲器满信号(输出),低电平有效.当单片机把输出数据写入8255A锁存器后,该信号有效,并送去启动接口设备以接受数据.INTR---中断请求信号(输出),高电平有效.7.3.48255A控制字及初始化编程1.工作方式控制字单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第13页。D7D6D5D4D3D2D1D0B组口C(低半)1=输入0=输出口B1=输入0=输出方式选择0=方式01=方式1口C(高半)1=输入0=输出口A1=输入0=输出方式选择00=方式001=方式11X=方式2A组设定工作方式标志1=有效8255工作方式控制字格式工作方式控制字单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第14页。2.C口位置位/复位控制字

C口用来定义控制信号和状态信号,因此C口的每一位都可以进行置位/复位。单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第15页。D7D6D5D4D3D2D1D0位置“1”/置“0”1=置“1”0=置“0”位选择位置“1”/置“0”标志0=有效位置位/复位控制字×××任意图7.198255A位置位/复位控制字格式单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第16页。3.初始化编程例:对8255A各口作如下设置:A口方式0输入,B口方式1输出,C口高位部分为输出,低位部分为输入.设控制寄存器地址为003AH.解:按各口的设置要求,工作方式控制字为10010101,即95H.

初始化程序段应为:MOVR0,#3AHMOVA,#95HMOVX@R0,A单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第17页。练习

编写程序,使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组发光二极管上,然后通过对8255芯片编程来实现输入/输出功能,即将B口的开关状态通过A口的发光二极管显示出来。

单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第18页。7.48155带RAM和定时器/计数器的可编程并行接口芯片7.4.18155基本结构及工作方式命令/状态寄存器单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第19页。说明:

1)PA,PB是数据口,只有输入/输出两种工作方式。PC口既可以作为数据口,也可以作为控制口,用于传送控制信号和状态信息。2)定时/计数器:

14位的减法计数器,计数脉冲有TIMERIN引脚输入,计数溢出时,向TIMEROUT输出一个信号。D7D6D5D4D3D2D1D0M2M1T13T12T11T10T9T8D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0M2M1=00单个方波M2M1=01连续方波M2M1=10单个脉冲M2M1=11连续脉冲单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第20页。8155的可编程端口AD2AD1AD0

选择000命令/状态寄存器001PA口010PB口011PC口100定时器/计数器低8位101定时器/计数器高8位单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第21页。7.4.28155与MCS-51的单片机的连接1.用或非门产生IO/M信号单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第22页。

当P0.7~P0.3=00000时,对应6个可编程端口,其

地址范围是00H~05H.内部PAM地址范围08H~0FFH.2.以高位地址直接作为IO/M信号单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第23页。P2.7……………..P2.1P2.0P0.7…P0.2P0.1

P0.00..…………..010….…0000100H(命令/状态寄存器)0..…………..010….…0010101H(PA口)0..…………..010….…0100102H(PB口)0..…………..010….…0110103H(PC口)0..…………..010….…1000104H(定时/计数器低8位)

0..…………..010….…1010105H(定时/计数器低8位)

当IO/M=1时,端口地址范围是0100H~0105H.内部PAM地址范围0000H~00FFH.单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第24页。7.6MCS-51单片机键盘接口技术7.6.1单片机键盘和键盘接口概述从按一个键到键的功能被执行主要包括两项工作:一项是键的识别,即在键盘中找出被按的那个键;另一项是键功能的实现.第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务程序来完成.单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第25页。键盘接口应完成以下操作功能:1.键盘扫描,以判定是否有键被按下(称之为“闭合键”)2.键识别,以确定闭合键的行列位置3.产生闭合键的键码4.排除多键、串键(复按)及去抖动单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第26页。7.6.2单片机键盘接口和键功能的实现1.键盘接口处理的内容

1)键扫描单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第27页。单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第28页。2)去抖动采用时间延迟以躲过抖动(大约延时20

~30ms),待行线上状态稳定之后,再进行状态输入。3)键码计算键码=行首号+列号单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第29页。00H08H16H0FH0EH07H06H02H01H1EH1FH17H1AH12H0AH19H11H09H18H10H图7.33键码图单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第30页。

4)等待键释放计算键码之后,再以延时后进行扫描的方法等待键释放.2.键盘接口的控制方式何时执行键盘扫描和处理,有以下3种情况:

1)随机方式,每当CPU空闲时执行键盘扫描程序

2)中断方式,每当有键闭合时才向CPU发出中断请求,

中断响应后执行键盘扫描程序

3)定时方式,每隔一定时间执行一次键盘扫描程序,定时可由单片机的定时器完成单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第31页。3.键处理子程序每一个键都对应一个处理子程序,得到闭合键的键码后,就可以根据键码,转相应的键处理子程序,进行字符、数据的输入或命令的处理,这样就可以实现该键所设定的功能。单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第32页。开始键扫描JMP@A+DPTR键释放键码计算去抖动有无键按下00#键处理程序nn#键处理程序…#键处理程序01#键处理程序A=00HA=nnHA=HA=01HYN图7.34键处理流程图单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第33页。7.6.3使用8155作单片机键盘接口1.接口电路逻辑图以8155作8*4键盘的接口为例:A口为输出口,接键盘列线;C口为输入口,以PC3~PC0接键盘的4条行线单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第34页。单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第35页。7.7MCS-51单片机显示器接口技术7.7.1LED显示器接口

1.LED显示原理

LED显示器由7个发光二极管组成单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第36页。bdPgfedcbaafedcdPgfedcbaR×8R×8+5VggfGNDab

edGNDcdP

符号和引脚共阴极共阳极

七段LED显示器dp单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第37页。

通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母及其它符号.LED显示器中的发光二极管共有两种连接方法:1.共阳极接法

2.共阴极接法为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码.单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第38页。字型共阳极代码共阴极代码字型共阳极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHb83H7CH3B0H4FHCC6H39H499H66HdA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH表7-8十六进制数字形代码表单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第39页。2.用8155作为LED显示器接口

1)用8155作接口电路的连接对多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环地点亮各位显示器.多位LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线;另一个用于输出位控线,位控线的数目等于显示器的位数.单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第40页。同同单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第41页。C口为输出口(位控口),以PC5~PC0输出位控线.A口也为输出口(段控口),以输出8位字形代码(段控线)2)显示缓冲区通常在内部RAM中设置显示缓冲区,其单元个数与LED显示器位数相同例:6个显示器的缓冲单元是79H~7EHLED5LED4LED3LED2LED1LED07EH7DH7CH7BH7AH79H06H05H04H03H02H01H单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第42页。

动态扫描是从右向左进行,缓冲区的首地址应为79H.单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第43页。3)LED显示程序

假定位控口地址0103H,段控口地址0101H。以R0存放当前位控值,DL为延时子程序。DIR:MOVR0,#79H

;建立显示缓存区首址

MOVR3,#01H;从右数第一位显示器开始

MOVA,R3

;位控码初值LD0:MOVDPTR,#0103H;位控口地址

MOVX@DPTR,A;输出位控码

MOVDPTR,#0101H;得段控口地址

MOVA,@R0

;取出显示数据单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第44页。DIR0:ADDA,#0DHMOVCA,@A+PC;查表取字形代码DIR1:MOVX@DPTR,A;输出段控码

ACALLDL;延时,维持点亮

INCR0

;转向下一缓冲单元

MOVA,R3JNBACC.5,LD1;判是否到最高位,到则返回

RLA;不到,向显示器高位移位

单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第45页。MOVR3,A;位控码送R3保存

AJMPLD0;继续扫描LD1:RETDSEG:DBC0H;字形代码表

DBF9HDBA4H......

单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第46页。7.8MCS-51单片机打印机接口技术7.8.1µP系列打印机简介

点阵式打印机,可打印全部标准ASCII码、128个非标准字符,还可打印点阵图形,并能绘制曲线等。单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第47页。DB7~DB0:数据线,单向传送。STB:数据选通信号,打印机输入,该信号上升沿时打印数据被打印机读入并锁存。BUSY:打印机“忙”信号。ACK:打印机应答信号,作为打印机读入数据后的应答。ERR:出错信号,打印机输出。GNDGNDGNDGNDGNDGNDGNDGNDACKERRSTBDB0DB1DB2DB3DB4DB5DB6DB7BUSY单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第48页。图7.44µP系列打印机与80C51的连接7.8.2打印机接口与打印驱动程序单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第49页。打印机数据口的地址为7FFFH

MOVX@DPTR,AMOVXA,@DPTR单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第50页。图7.458255A作打印机接口单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第51页。P0.7…………..P0.1P0.0

0……………..007CH(A口地址)0……………..017DH(B口地址)0……………..107EH(C口地址)0……………..117FH(控制口地址)单片机基础-第七章-单片机IO扩展及应用全文共55页,当前为第52页。口地址:

A口-7CHB口-7DH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论