第7章-并行IO接口_第1页
第7章-并行IO接口_第2页
第7章-并行IO接口_第3页
第7章-并行IO接口_第4页
第7章-并行IO接口_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

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

文档简介

第7章 并行I/O接口接口的类型。MCS-51内部并行I/O接口。MCS-51并行I/O的扩展。MCS-51内部定时器/计数器。什么是接口为什么需要使用接口接口电路的功能数据缓冲数据格式转换地址译码及设备选择传递控制及状态信号电平转换接口的类型按照接口的功能分类:通用接口专用接口按照数据传送方式分类并行接口串行接口I/O接口的端口寻址CPU与外设间的信号CPU与外设之间交换的信息主要有3类:数据信息数字信号。“0或1”形式的二进制数据。模拟信号。传感器/控制器的输入/输出的表示温度、压力、流量、阀门等数据的电压或电流信号,需要A/D,D/A转换使用。开关量。表示开、关两种状态,例如电机的启动与停止等。状态信息反映外设的工作状态,如“准备好”或“忙”状态。控制信息读写控制信号、片选等。接口的一般结构接口电路一般包括以下部件:数据寄存器状态寄存器控制(命令)寄存器I/O数据的四种传送方式程序控制传送方式同步传送异步传送中断传送DMA(直接存储器存取)方式程序控制传送方式无条件传送方式条件传送方式中断传送方式中断传送方式的接口电路DMA传送方式不需要CPU参与。需要专用控制芯片控制总线的使用及数据存取。7.2MCS-51内部并行I/O端口一、内部并行IO端口二、MCS-51并行I/O端口的应用

(一)端口操作方式(二)、IO直接输入输出(三)8位IO改装成非8位IO(四)对外部三态门和锁存器的接口三态门(缓冲器)缓冲器:对输入不作运算,输出和输入一致,计算机设计中有重要作用。作用:使高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。

输入缓冲器:将外设送来的数据暂时存放,以便处理器将它取走。输出缓冲器:暂时存放处理器送往外设的数据。常规缓冲器:不同系统之间连接,推动电流到高一级电路系统,如外设的工作电流和控制器不一样,驱动电流超过驱动器驱动能力,缓冲器作用。三态缓冲器:用于总线连接三种状态:高电平;低电平;高阻态锁存器

锁存器就是把当前的状态锁存起来,使CPU送出的数据在接口电路的输出端保持一段时间锁存后状态不再发生变化,直到解除锁定。作用:最主要作用是缓存;其次完成高速的控制其与慢速的外设的不同步问题;再其次是解决驱动的问题;最后是解决一个I/O口既能输出也能输入的问题对外部三态门和锁存器的接口7.3并行接口芯片8255A。8155。上海工程技术大学机械工程学院一、8255/专用接口芯片

作用:1)能提供三个8位IO口2)IO数据传送有同步、异步、中断三种方式上海工程技术大学机械工程学院上海工程技术大学机械工程学院控制字和状态字上海工程技术大学机械工程学院工作模式CPU内部RAM以20H为起始地址的连续50个单元中的数据输出打印程序扩展举例1综合例子Org1000HMOVDPTR#2000H(数据首地址)MOVR7#08H(8个通道)MOVR0#7EH(C口地址)MOVR2#C0H(通道0开始地址)MAIN:MOVAR2MOVX@R0A(启动A/D)MOVR1#7CH(A口)LOOP1:MOVXA@R1ANLA#80H(检测STS)JNZLOOP1MOVA#10HORLAR2MOVX@R0AMOVXA@R1ANLA#0FHMOVX@DPTRAINCDPTRINCR1MOVXA@R1MOVX@DPTRAINCR2DJNZR7MAINRET二、8155A2*8位I/O1*6位I/O256字节RAM1*14位定时器8155A引脚及内部结构8155A端口地址8155A命令字8155A状态字8155A定时器长度字8155工作方式C口引脚在各种方式下的定义选通I/O输入选通I/O输出8155A定时器长度字格式8155A定时器初始化8155A定时器应用举例借用外部RAM地址扩展I/O端口应用举例采用8155扩展并行I/O端口(1)采用8155扩展并行I/O端口(2)采用8155扩展并行I/O端口(3)7.5MCS-51对LED/键盘的接口单片机应用系统经常需要连接一些外部设备,其中键盘和显示器是构成人机对话的一种基本方式,使用最为频繁。键盘主要用于输入数据、代码和命令等,显示器主要用来显示过程控制和运算结果。MCS-51对LED的接口MCS-51对键盘的接口一、单片机与LED数码管接口在单片机系统中,经常采用LED数码管来显示单片机系统的工作状态、运算结果等各种信息,LED数码管是单片机人机对话的一种重要输出设备。LED数码管的工作原理LED数码管可分为共阳极和共阴极两种结构。COMabcdefgDpCOMabcdefgDp共阳极共阴极显示原理:控制相应的发光二极管导通/截止,使某些段点亮而另一些段不亮就可以显示0---9,A---F等字型。使某段点亮必须具备2个条件:①共阴极管的公共端接地和共阳极管的公共端接电源。②共阴极管的控制端接电源和共阳极管的控制端接地。LED数码管的工作原理例如,欲使LED数码管显示0,对于八段共阴LED数码,可依次给dp、g、f、e、d、c、b、a字段加上00111111B=3FH,即使dp、g两段为0V,不亮,其余为高电平而被点亮。对于八段共阳LED数码管显示0,可依次给dp、g、f、e、d、c、b、a字段加上11000000B,即使dp、g两段为1V,不亮,其余为低电平而被点亮。把00111111B=3FH称为使八段共阴LED数码管显示0的字形码或段码,把11000000B=C0H称为使八段共阴LED数码管显示0的字形码或段码。7段码.gfedcba形状符号7段码.gfedcba形状符号01110001’F’00000111’7’01111001’E’01111101’6’01011110’D’01101101’5’00111001’C’01100110’4’01111100’B’01001111’3’01110111’A’01011011’2’01100111’9’00000110’1’01111111’8’00111111’0’LED数码管的工作原理LED数码管的工作原理八段LED数码管的部分字形码表显

符共阴字形码共阳字形码显

符共阴字形码共阳字形码03FHC0Hb7CH83H106HF9HC39HC6H25BHA4Hd5EHA1H34FHB0HE79H86H466H99HF71H8EH56DH92H空格00HFFH67DH82HPF3H0CH707HF8HH76H89H87FH80H·80H7FH96FH90H—40HBFHA77H88H上海工程技术大学机械工程学院译码方式从要显示数字的BCD码转换成对应的段选码称为译码。1)硬件译码,微机输出的是要显示数字的BCD码,微机与LED段选端之间接口电路包括锁存器(锁存显示数字的BCD码)、译码器(将BCD码输入转换成段选码输出)、驱动器(驱动发光二极管发光)。2)软件译码,微机输出的是通过查表软件得到的段选码。因此接口电路中无需译码器,只需锁存器和驱动器。单片机与LED数码显示管的接口静态显示接口静态显示是指LED数码管显示字符时,在时间上是连续恒定发光的。特点是亮度较大,显示稳定,无闪烁现象。缺点是由于每个LED数码管都需要一个并行输出芯片与之连接,所以显示位数较多时,硬件开销较大。动态显示接口动态显示,是一位一位地轮流点亮各个LED数码管。每一位LED数码管每隔一段时间才点亮一次。虽然在任一时刻只有一位LED数码管点亮,但只要使点亮的间隔时间小于人眼的视觉暂留时间,我们看到的现象仍然是多个LED数码管在“同时”显示。静态显示接口DpP0.0P0.1P0.2P0.389C51P0.4P0.5P0.6P0.7COMabcdefg共阴极LEDDpP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7COMabcdefgDpP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7COMabcdefgMOVDPTR,#TABUP0:MOVA,30HMOVCA,@A+DPTRMOVP0,AMOVA,31HMOVCA,@A+DPTRMOVP1,AMOVA,32HMOVCA,@A+DPTRMOVP2,AMOVA,33HMOVCA,@A+DPTRMOVP3,ASJMPUP0TAB:DB3FH,06H,5BHDB4FH,66H,6DHDB7DH,07H,7FH,6FH动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。显示器的8个笔划段a-h同名端连在一起公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,就可以自行决定何时显示哪一位了。动态扫描就是采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1-2ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。动态显示接口(1)P2.0P2.1P2.2P2.389C51P2.4P2.5P2.6P2.7COMabcdefgABCDLTRBORBIabcdefg74LS48+5VCOMabcdefgCOMabcdefgCOMabcdefg1234START:MOVR0,#30HMOVR7,#4MOVR2,#0E0HUP:MOVA,@R0ORLA,R2MOVP1,ALCALLD2MSINCR0MOVA,R2RLAMOVR2,ADJNZR7,UPSJMPSTART动态显示(2)DISP:ORLP1,#80H;选择8155为I/O口MOVR1,#0F8H;置8155命令/状态寄存器地址MOVA,#0F3HMOVX@R1,A;送8155工作方式命令字START:MOVDPTR,#TABMOVR0,#00H;字型码地址偏移量MOVR2,#80H;选择第1位显示SCAN:MOVR1,#0FAH;置8155PB口地址MOVA,#00HMOVX@R1,A;熄灭显示器MOVA,R0MOVCA,@A+DPTR;取字型码DECR1;置8155PA口地址MOVX@R1,A;送字型码MOVA,R2INCR1MOVX@R1,A;送位选码ACALLDELAY1ms;延时1msINCR0;指向下一字型码MOVA,R2CLRCRRCA;指向下一位MOVR2,AXRLA,#00H;8位未完,扫描显示下一位JNZSCANAJMPSTART;开始下一轮扫描DELAY1ms:SETBD3HMOVR2,#83HLL0:NOPNOPDJNZR2,LL0CLRD3HRETTAB:DB0C6H,8CH,0C1H,0CEH,86H,88H,0A1H,91H;显示字符字型码二、单片机对键盘接口键盘是单片机控制系统最常用、最简单的输入设备。用户可以通过键盘输入数据或命令,实现简单的人机通信。单片机控制系统所用的键盘有编码键盘和非编码键盘两种。编码键盘除了键开关外,还有专门的硬件电路,用于识别闭合键并产生键代码。不仅如此,编码键盘一般还有去键抖动电路和防串键保护电路等。这种键盘的优点是所需软件简短,但硬件电路较复杂,价格较昂贵。目前在单片机控制系统中使用不多。非编码键盘仅由键开关组成,其它工作如键识别、键代码的产生、去抖动等,不是由硬件完成而是由软件完成的。为了简化硬件电路,降低成本,目前单片机控制系统中大多数采用非编码键盘。非编码键盘的键开关可以独立连接式或矩阵形式。1、独立式非编码键盘(1)独立式键盘每一个按键的电路是独立的,占用一条数据线。这种键盘占用硬件资源多,适合少量按键的情况。优点:硬件电路简单;缺点:每个按键都需要独立占用一条I/O通道。START: MOVA,#0FFH;MOVP1,A;置P1口为输入状态MOVA,P1;键状态输入CPLAJZSTART;没有键按下,则转开始JBACC.0,K0;检测0号键是否按下,按下转JBACC.1,K1;检测1号键是否按下,按下转JBACC.2,K2;检测2号键是否按下,按下转JBACC.3,K3;检测3号键是否按下,按下转JBACC.4,K4;检测4号键是否按下,按下转JBACC.5,K5;检测5号键是否按下,按下转JBACC.6,K6;检测6号键是否按下,按下转JBACC.7,K7;检测7号键是否按下,按下转JMPSTART;无键按下返回,再顺次检测K0: AJMPKEY0K1: AJMPKEY1……K7: AJIMPKEY7KEY0:…… ;0号键功能程序JMPSTART;0号键功能程序执行完返回KEY1:……;0号键功能程序JMPSTART;1号键功能程序执行完返回……KEY7:……;7号键功能程序JMPSTART;7号键功能程序执行完返回2、行列式非编码键盘(矩阵)行列式非编码键盘是一种把所有按键排列成行列矩阵的键盘。在这种键盘中,每根行线和列线的交叉处都接有一个按键,每当某个按键被按下时,与这个按键相连的行线和列线就会接通,否则是断开状态。因此,一个M×N的行列式非编码键盘只需M条行线和N条列线,共占用M+N条单片机的I/O端口线。上海工程技术大学机械工程学院上海工程技术大学机械工程学院1)基本原理(1)扫描法扫描法的接口特点是:每条作为键输入线的行线(或列线)都通过一个上拉电阻接到+5V上,并与该行(或列)各按键的测试端相连,每条作为键扫描输出的列线(或行线)都不接上拉电阻和+5V,只与该列(或行)各键的接零端相连。1)监测有无键被按下。让所有键扫描输出线均置0电平,检查各键输入线电平是否有变化。例如图中,将P1.0~P1.3编程为输出线,P1.4~P1.7编程为输入线。第一步使P1.0~P1.3输出全“0”,然后读入P1.4~P1.7,若为全“1”则无键按下,若非全“1”则有键按下。2)识别哪一个键被按下。键扫描输出线逐线置“0”电平,其余各输出线均置高电平,检查各条键输入线电平的变化,如果某输入线由高电平变为零电平,则可确定此输入线与此输出线交叉处的按键被按下。例如图中,如果P1.0~P1.3输出0111,而P1.4~P1.7读入0111,则可判定图中第3号键被按下了。上海工程技术大学机械工程学院2)反转法扫描法要逐行或逐列扫描查询,当被按下的键处于最后一行或列时,则要经过多次扫描才能最后获得此按键所处的行列值,而反转法只要经过两步就能获得此按键所在的行列值。反转法的特点是:行线和列线都要通过上拉电阻接+5V,按键所在行号和列号分别由两步操作判定上海工程技术大学机械工程学院1)将行线编程为输入线,列线编程为输出线,并使输出线输出全“0”,则行线中电平由高变到低的所在行为按键所在行。2)和第一步完全相反,将行线编程为输出线,列线编程为输入线,并使输出线输出全“0”,则列线中电平由高到低的所在列为按键所在列。上海工程技术大学机械工程学院软件消除抖动(见程序)7.6MCS-51内部的定时器/计数器8051内部有两个16位可编程加法定时器/计数器,命名为T0和T1。T0(T1)由两个8位工作寄存器TH0和TL0(TH1和TL1)拼装而成。T0和T1有定时器和计数器两种工作模式,每种工作模式又分为若干个工作方式。四种工作方式(1)定时功能:

(启动定时器工作后,每隔一个机器周期加一)定时发出脉冲信号,向CPU申请中断,其定时间隔的长短及起始控制的时间均可由程序控制。(2)计数功能:(启动定时器工作后,每来一个脉冲加一)对外界发生的事件脉冲进行计数,当达到程序规定的计数值时,输出一脉冲信号,申请中断。(1)方式0(2)方式1(3)方式2(4)方式3定时器控制寄存器TCON字节地址88H可位寻址

D7D6D5D4D3D2D1D0TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H0:停止T0计数1:启动T0计数0:无T0中断(硬件复位)1:有T0中断0:停止T1计数1:启动T1计数0:无T1中断(硬件复位)1:有T1中断定时器方式寄存器TMOD字节地址89H不可位寻址

00:方式001:方式110:方式211:方式30:定时器模式1:计数器模式0:与INT0有关1:与INT1有关GATEM1M0GATEM1M0与T0相同定时器计数器方式控制逻辑振荡器TH0TL0TF0中断&GATEINT0TR0控制÷12T0端与门或门计数脉冲信号选择及门控端的作用C/T若C/T=0,则T0为定时器模式,fosc经12分频使T0计数;若C/T=1,则T0为计数器模式,T0线上脉冲使T0计数;若GATE=0,INT0对T0无控制,T0仍由TCON中TR0控制计数;若GATE=1,INT0对T0有控制,INT0=0,禁止TR0对T0控制;INT0=1,允许TR0对T0控制。MCS-51内部定时器工作方式工作方式功能方式013位计数器方式116位计数器方式2自动重装8位计数器方式3T0位两个独立8位计数器,T1为无中断重装计数器方式0T0/T1为13位加1计数器(无自动重装入),13位由TH中8位和TL中低5位组成,故计数范围为1~8192

。启动T0/T1的顺序:给TMOD装方式控制字给TH和TL装定时/计数初值给TCON装启动字计满为0时产生溢出中断请求,中断服务程序应安排重装时间常数初值的指令。T13T12T11T10T9T8T7T6T5T4T3T2T1THTL弃用计数方式1T0/T1为16位加1计数器(无自动重装入),16位由TH中8位和TL中8位组成,故计数范围为1~65536

。启动T0/T1的顺序:给TMOD装方式控制字给TH和TL装定时/计数初值给TCON装启动字计满为0时产生溢出中断请求,中断服务程序应安排重装时间常数初值的指令。T8T7T6T5T4T3T2T1THTL计数T16T15T14T13T12T11T10T9方式2T0/T1为被拆分为一个8位寄存器TH和一个8位加1计数器TL(自动重装入),8位计数器计数范围为1~256

。启动T0/T1的顺序:给TMOD装方式控制字给TH和TL装定时/计数初值给TCON装启动字TL计满为0时产生溢出中断请求,中断服务程序无需给TL重装时间常数初值。T8T7T6T5T4T3T2T1THTL计数T16T15T14T13T12T11T10T9方式3(只有T0才有)TH0和TL0按两个独立的8位计数器工作,T1按照不需要中断的方式2工作。几点说明:TL0---有定时器/计数器模式两种,TR0控制启停,TF0指示溢出中断TH0---只能按定时器模式工作,TR1控制启停,TF1指示溢出中断TL1---8位重装计数器,TL1计满回0时不产生溢出中断请求,但TL1被自动重装TH1的初值。T8T7T6T5T4T3T2T1TH1TL1计数T16T15T14T13T12T11T10T9T8T7T6T5T4T3T2T1TH0TL0计数T16T15T14T13T12T11T10T9计数MCS-51对内部定时器的初始化给定时器

温馨提示

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

评论

0/150

提交评论