




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第章单片机扩展及应用第一页,共68页。7.1I/O接口概述 一.I/O接口地位二.I/O接口作用三.I/O编址技术四.I/O数据的四种传送方式五.I/O接口的类型第二页,共68页。7.1I/O接口概述 一.I/O接口地位I/O接口处于外设与CPU之间,
是CPU与外设间的桥梁与通道。二.I/O接口作用CPU与外设速度匹配
(输入缓冲,输出锁存)数据转换;如:串/并,A/D,D/A电平转换;实现地址译码,总线隔离;第三页,共68页。7.1I/O接口概述 三.I/O编址技术1、接口与端口接口:指CPU与外设间的I/O接
口芯片。端口:I/O芯片内可寻址的数据
寄存器或缓冲器。2、I/O编址I/O与RAM独立编址(地址重叠,两套访问指令)I/O与RAM统一编址(存储器直接映像)8255内部结构第四页,共68页。7.1I/O接口概述 四.I/O数据的四种传送方式1、无条件传送方式无条件传送也称为同步程序传送。无条件传送适用于以下两类外部设备的数据输入输出具有常驻的或变化缓慢的数据信号的外部设备。例如:机械开关、数码管等。
工作速度非常快,足以和CPU同步工作的外部设备。例如数/模转换器DAC,由于DAC是并行工和的,速度很快,因此CPU可以随时向其传送数据,进行数/模转换第五页,共68页。7.1I/O接口概述 四.I/O数据的四种传送方式2、程序查询方式查询方式又称之为有条件传送方式。适用于各种外部的设备的数据输入输出传送但查询过程占用CPU,查询方式只能适用于单项作业、规模比较小的计算机系统第六页,共68页。7.1I/O接口概述 四.I/O数据的四种传送方式3、程序中断方式
程序中断方式与查询方式的主要区别程序中断方式,大大提高了系统的效率中断处理常需现场保护和现场恢复4、DMA方式(DirectMemoryAccess)
适合批量传送数据传送速度极快第七页,共68页。7.1I/O接口概述 五.I/O接口的类型并行I/O接口串行I/O接口简单I/O接口可编程I/O接口第八页,共68页。7.2单片机简单I/O扩展 一.简单输入口扩展操作指令:MOVXA,@DPTR(控制信号:RD)适用:控制简单外设,如开关量输入。常用芯片:74LS244/245,8286/8287
特点:三态输出,片选信号无效时,输出高阻应用电路:注意建立有效地址以及使能端。输入输出ENAY0000111XZ74LS244真值表+5V……考虑RD与地址选通应用程序设计举例:MOVDPTR,#0BFFFH;P2.6=0MOVXA,@DPTR;RD=0第九页,共68页。7.2单片机简单I/O扩展 二.简单输出口扩展操作指令:MOVX@DPTR,A(控制信号:WR)适用:控制简单外设,如驱动发光二极管,
数码管等。常用芯片:74LS373/377,8282/8283
特点:输出锁存,以使速度匹配应用电路:注意建立有效地址以及锁存信号。74LS377真值表8051输入输出ECPDQ1XXQ00
110
00X0XQ0应用程序设计举例:MOVDPTR,#7FFFH;P2.7=0MOVX@DPTR,A;WR=0第十页,共68页。7.2单片机简单I/O扩展 三.简单输入/输出口应用举例将74LS244的输入端接8个开关用来设置数据,将74LS377的输出端接8个LED用来显示数据,
应用电路:程序设计:应用程序设计举例:LOOP:MOVDPTR,#0BFFFH;P2.6=0MOVXA,@DPTR;从244输入数据MOVDPTR,#7FFFH;P2.7=0MOVX@DPTR,A;从377输出数据LCALLDELAY ;延时LJMPLOOPDELAY:… …RETENDYA……74LS37774LS244805188P0WRP2.7RDP2.6DQ+5V+ENCPE第十一页,共68页。7.38255A可编程通用并行接口芯片 一.可编程I/O接口芯片的特点二、8255A的逻辑结构和信号引脚三、8255A的控制字四、8255A的工作方式五、8255A应用举例第十二页,共68页。7.38255A可编程通用并行接口芯片 一.可编程I/O接口芯片的特点芯片端口包含数据口状态口命令口(控制字)工作方式可编程
工作方式可通过命令口设定。第十三页,共68页。7.38255A可编程通用并行接口芯片 二、8255A的逻辑结构和
信号引脚数据端口A、B和C8位输入/输出端口总线接口电路8位双向数据总线缓冲器(DB)读/写控制逻辑CS—片选信号RD—读信号WR—写信号A0、A1—端口选择信号
(00/01/10/11-〉A/B/C/CON)复位信号控制逻辑电路A组控制+B组控制--〉
8位控制字(命令端口)A组B组CSA1A0RDWR所选端口操作00001A口读端口A00101B口读端口B01001C口读端口C00010A口写端口A00110B口写端口B01010C口写端口C01110控制寄存器写控制字1XXXX/数据总线输出Z第十四页,共68页。7.38255A可编程通用并行接口芯片 三、8255A控制字1、工作方式控制字用于确定各个数据口的工作方式及数据传送方向A口有三种工作方式,B口只有两种工作方式;最高位标志位,‘1’—表示工作方式控制字;
‘0’—C口复位/置位控制字D7D6D5D4D3D2D1D0A组B组C低4位I/O方向--‘1’为输入,‘0’为输出B口I/O方向--‘1’为输入,‘0’为输出B口工作方式:01C高4位I/O方向--‘1’为输入,‘0’为输出A口I/O方向--‘1’为输入,‘0’为输出A口工作方式:00011-‘1’操作:要求:端口A输入口,工作方式=0,
端口B输出口,工作方式=0,
C口高4位输出,低4位输入控制字=10010001B=91H设:控制口地址=FFF3HMOVA,#91HMOVDPTR,#0FFF3HMOV@DPTR,A第十五页,共68页。7.38255A可编程通用并行接口芯片 三、8255A控制字2、C口复位/置位控制字用于对C口进行位操作D7D6D5D4D3D2D1D0任意值C口位选择‘1’置位‘0’复位要求:端口A输入口,工作方式=0,
端口B输出口,工作方式=0,
C口高4位输出,低4位输出操作:C口最高位置‘1’C口最低位置‘0’控制字=10010000B=90H设:控制口地址=FFF3HMOVA,#90HMOVDPTR,#0FFF3HMOVX@DPTR,A;设置控制字MOVA,#0FH ;00001111MOVX@DPTR,A;PC.7=‘1’ MOVA,#00H ;00000000MOVX@DPTR,A;PC.0=‘0’‘0’第十六页,共68页。7.38255A可编程通用并行接口芯片 四、8255A的工作方式
1、方式0—基本输入/输出方式2、方式1—选通输入/输出方式3、方式2—双向数据传送方式第十七页,共68页。7.38255A可编程通用并行接口芯片 四、8255A的工作方式
1、方式0—基本输入/输出方式适用于无应答I/O数据传送方式为无条件传送方式应用举例
第十八页,共68页。7.38255A可编程通用并行接口芯片 四、8255A的工作方式
2、方式1—选通输入/输出方式适用于查询或中断方式(1)选通输入方式C口握手信号有:STB(strobe):输入选通IBF(Inputbufferfull):输入缓冲器满INTR(Interruptrequest):中断请求时序流程图:RD外设送数发选通信号STB8255输入锁存向CPU发IBFSTB&IBF=1向CPU中断请求CPU读取数据清空bufferSTBIBFINTRRD第十九页,共68页。7.38255A可编程通用并行接口芯片 四、8255A的工作方式
2、方式1—选通输入/输出方式适用于查询或中断方式(2)选通输出方式C口握手信号有:ACK(acknowledge):外设应答信号IBF(Inputbufferfull):输出缓冲器满INTR(Interruptrequest):中断请求时序流程图:中断请求有效CPU发送数指令清除中断请求8255锁存数据向外设发OBF外设取走数据发应答ACK清空buffer发中断请求WRWROBFACKINTR等待第二十页,共68页。7.38255A可编程通用并行接口芯片 四、8255A的工作方式
2、方式2—双向数据传送方式仅适用于A口适用于查询或中断方式适用于双向数据传送方式第二十一页,共68页。7.38255A可编程通用并行接口芯片 四、8255A的应用举例
用8255A控制键盘及6位LED,实现动态显示1、应用电路设计2、确定端口地址3、程序设计8255初始化控制字:10000010主程序: ORG0000H LJMPMAIN ORG 0030HMAIN:MOVSP,#60H MOVDPTR,#0003H MOVA,#82H MOV@DPTR,ALOOP: LCALLKEYSCAN LCALLDISPLAY
LJMPLOOP第二十二页,共68页。7.38255A可编程通用并行接口芯片 四、8255A的应用举例
用8255A控制键盘及6位LED,实现动态显示显示程序:DISPLAY:MOVR0,#79H;显示区首址 MOVR1,#06H;显示位数 MOVR2,#0FEH;位控码LOOP:MOVA,@R0 ;取显示数据 ADDA,#19 MOVCA,@A+PC;查表求字型码 MOVDPTR,#0000H;A口 MOVX@DPTR,A;A口送字型码 MOVDPTR,#0002H;C口 MOVA,R2 ;取位控码MOVX@DPTR,A;C口送位控码 SETBC RLCA ;位控码左移一位 MOVR2,A INCR0 LCALLDELAY1MS;延时 DJNZR1,LOOP ;显示6位 RETLEDTAB:DB3FH,06H,5BH,4FH,66H DB6DH,7DH,07H,7FH,6FH显示程序初始化结束取显示数据查表求字型码送A口调整数据指针,以及位控码取位控码送B口6位显示完第二十三页,共68页。7.4MCS-51单片机键盘接口技术 一、按键类型二、机械式按键三、独立式按键接口设计四、行列式键盘键接口设计返回本章首页第二十四页,共68页。7.4MCS-51单片机键盘接口技术一、按键类型按材料分类机械式薄膜式电容式霍尔效应式按接口电路分独立式按键行列式键盘第二十五页,共68页。7.4MCS-51单片机键盘接口技术二、机械式按键机械式按键输入的特点机械式按键的触点为簧片按键操作时,输出电压抖动抖动时间5~10ms在设计机械式键盘接口时,需解决的问题:
开关状态的可靠输入——可设计硬件去抖动
电路或设计去抖动软件。
键盘状态的监测方法——中断方式还是查询
方式。消抖硬件消抖双稳态消抖滤波消抖软件消抖
延时5~10ms,比较前后两次检测电平,
均为有效状态,则按键有效。8051P1.0+5v&&+5V+5V开关第二十六页,共68页。7.4MCS-51单片机键盘接口技术三、独立式按键—每个按键占用一根I/O口线,适用按键较少时接口电路查询方式中断方式8031INT0+5VI/O8031独立式按键电路(a)(b)查询方式I/O中断方式+5VINT1&第二十七页,共68页。使用8255扩展I/O的独立式键盘返回本节第二十八页,共68页。7.4MCS-51单片机键盘接口技术三、独立式按键程序设计确定按键操作方式一次键作用。仅在压下或抬起时作用一次连续键作用。有效期间,连续多次作用按键作用信号电平检测。须等待按键释放,占用CPU
或设keybusy标志位边沿检测。设置标志位lastsign,cursign
定时逐个按键(位)检测。按键识别程序流程…8051+5VP1.0P1.1P1.7第二十九页,共68页。7.4MCS-51单片机键盘接口技术三、独立式按键按键识别程序流程
电平检测,一次键抬起作用…8051+5VP1.0P1.1P1.7结束键识别子程序保护现场延时10ms,再读键码延时1ms,读键码A
键码键抬起有键闭合读键码两次键码比较,相等恢复现场NYNNYY源程序输入参数:无输出参数:A键码A=0FFH,无键影响资源:PSW,R0,
R1KEYSCAN:PUSH PSW PUSH 00H PUSH 01H MOV P1,#0FFH MOV A,P1 MOV R0,A XRL A,#0FFH JZ BACK0 MOV R1,#0AHLOOP1: LCALL DELAY1 DJNZ R1,LOOP1 MOV P1,#0FFH MOV A,P1 XRL A,R0 JNZ BACK0LOOP2: LCALL DELAY1 MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,LOOP2 MOV A,R0 LJMP BACK1BACK0: MOV A,#0FFHBACK1: RET保护现场读键码,暂存至R0键闭合判断延时10ms读键码并比较等待键释放思考:如何实现
一次键闭合作用第三十页,共68页。7.4MCS-51单片机键盘接口技术三、独立式按键键处理流程PROCESS键码散转处理A=FFH调用键码识别程序NY初始化KEY0KEY1KEY7…PROCESS:MOV 10H,#00H;按键对应位 LCALL KEYSCAN CJNE A,#0FFH,BACK;无键LOOP: RRC A ;求转移码 INC 10H JC LOOP ;C=1,继续右移 MOV A,10H DEC A MOV A,#06H MUL AB MOV DPTR,#BRTAB JMP @A+DPTRBRTAB: LCALLKEY0 LJMP BACK LCALLKEY1 LJMP BACK …… LCALL KEY7BACK: RETKEY0:MOVR7,#06HLOOP:MOVR0, #79HMOV@R0,#00HDJNZR7,LOOPRET(清零)KEY2:MOVR7,#06HLOOP:MOVR0, #79HMOV@R0,#09HDJNZR7,LOOPRET(满值)KEY2:MOVR7,#05HMOVR0, #79HMOVA,@R0ADDA,#01HLOOP:ADAMOVB,AANLB,#0FHMOV@R0,BANLA,#0F0HSWAPAJZBACKINCR0MOVB,@R0ADDA,BDJNZR7,LOOPBACK:RET个位+1进位处理第三十一页,共68页。7.4MCS-51单片机键盘接口技术三、独立式按键按键识别程序流程
电平检测,设置keybusu标志无须等待键释放结束键识别子程序保护现场延时10ms,再读键码A
键码有键闭合读键码两次键码比较,相等恢复现场NYNYKeybusu=0Keybusu=0A
FFHKeybusu=1A
FFHYN第三十二页,共68页。四、行列式键盘 1.键盘分类非编码键盘
用软件计算产生键码编码键盘
用硬件逻辑产生键码第三十三页,共68页。四、行列式键盘 2.非编码键盘工作原理行列式键盘电路原理如图。判断键盘中有无按键由列线送入全扫描字(0000)行线读入行线状态来判断的(无键1111)键盘中哪一个键按下可由列线逐列置低电平后检查行输入状态来判断。第三十四页,共68页。3.键盘工作方式键盘的工作方式:编程扫描方式、定时扫描方式、中断扫描方式三种。在键盘扫描子程序中完成下述几个功能。(1)判断键盘上有无键按下(2)去键的机械抖动影响。(3)求按下键的键号。(4)键功能操作,一次或连续作用。第三十五页,共68页。8255扩展I/O口组成的行列式键盘第三十六页,共68页。图8-7中断方式键盘接口第三十七页,共68页。4.键盘扫描方式扫描法:在判定有键按下后逐列
(或逐行)置低电平,同时读入行(或列)的
状态,这时0状态的行、列交点
的键就是所按下的键。特点是逐列(或逐行)扫描查询。相应行(或列)应有上拉电阻接高电平。反转法:只要经过两个步骤就可获得键值。反转法原理如
下图所示。按键编码=行号*列数+列号第三十八页,共68页。
(a)线反转法第一步(b)线反转法第二步线反转法原理第三十九页,共68页。7.5MCS-51单片机LED显示器接口技术LED显示器LED显示控制及显示方式LED静态显示LED动态显示典型键盘/显示器接口实例返回本章首页第四十页,共68页。7.5MCS-51单片机LED显示器接口技术
(a)共阴极(b)共阳极(c)管脚配置一、LED显示器分类按形状分—七段LED、米字段LED按连接方法分—共阴极LED、共阳极LED七段LED及字型码七段LED引脚定义七段LED字型码显示驱动电流:5mA~20mA压降:1.5V~2.0V第四十一页,共68页。七段LED的字型码(段选码)第四十二页,共68页。7.5MCS-51单片机LED显示器接口技术 二、LED显示控制及显示方式显示控制段控线(段选线):控制显示的字型(可由硬件BCD译码器/或软件控制)位控线(位选线):公共端,控制显示位的亮或灭。显示方式静态显示:所有显示位可同时显示。故各段选线须独立控制,硬件成本高。动态显示:每一时刻只有一位显示。故段选线可统一控制,但需动态扫描。
位避免闪烁,一般扫描频率>50Hz第四十三页,共68页。四位静态LED显示器电路第四十四页,共68页。八位LED动态显示器电路第四十五页,共68页。7.5MCS-51单片机LED显示器接口技术 三、LED静态显示方式接口电路段控线(段选线):每位LED段控线由独立的I/O控制。位控线(位选线):公共端,常接GND(共阴)或Vcc(共阳)。显示驱动位驱动:静态,全显,接GND(共阴)或Vcc(共阳)。段驱动:驱动电路的驱动能力与LED显示器的工作电流匹配。
例用74LS373驱动:Iol=8mA,Ioh=-0.4mA,应选共阳极LED.第四十六页,共68页。7.5MCS-51单片机LED显示器接口技术 三、LED静态显示方式程序设计DPLAY:MOVR0,#79H ;显存首址 MOVR1,#00H ;段控端口地址 MOVR2,#04H ;显示位数LOOP:MOVA,@R0 ;取显示数据 MOVDPTR,#TAB MOVCA,@A+DPTR;查表求字型码 MOVX@R1,A ;送字型码到端控口 INCR0 INCR1 DJNZR2,LOOP RETTAB:DB0C0H,0F9H,0A4H DB…. DB0F8H,80H,90H373373373373DB0000H0001H0002H0003H第四十七页,共68页。图8-21串行口扩展的键盘/显示器接口第四十八页,共68页。7.5MCS-51单片机LED显示器接口技术 四、LED动态显示方式接口电路段控线(段选线):段控线由统一的驱动控制。位控线(位选线):公共端,动态扫描。显示驱动段驱动器:驱动电路的驱动能力与LED显示器的工作电流匹配。
例74LS373驱动:Iol=8mA,Ioh=-0.4mA,取R=1K,则I=5mA位驱动:提供的位驱动电流应约等于段控电流之和。Ioh=40mA第四十九页,共68页。7.5MCS-51单片机LED显示器接口技术四、LED动态显示方式用8255A控制键盘及6位LED,实现动态显示显示程序:DISPLAY:MOVR0,#79H;显示区首址 MOVR1,#06H;显示位数 MOVR2,#0FEH;位控码LOOP:MOVA,@R0 ;取显示数据 ADDA,#19 MOVCA,@A+PC;查表求字型码 MOVDPTR,#0000H;A口 MOVX@DPTR,A;A口送字型码 MOVDPTR,#0002H;C口 MOVA,R2 ;取位控码MOVX@DPTR,A;C口送位控码 SETBC RLCA ;位控码左移一位 MOVR2,A INCR0 LCALLDELAY1MS;延时 DJNZR1,LOOP ;显示6位 RETLEDTAB:DB3FH,06H,5BH,4FH,66H DB6DH,7DH,07H,7FH,6FH显示程序初始化结束取显示数据查表求字型码送A口调整数据指针,以及位控码取位控码送B口6位显示完第五十页,共68页。图8-14利用硬件译码器的七段LED接口电路第五十一页,共68页。图8-15通过8155扩展I/O口控制的8位LED动态显示接口第五十二页,共68页。7.6LCD显示器接口 1.LCD的基本结构及工作原理图8-17液晶显示器基本结构第五十三页,共68页。2.LCD的驱动方式静态驱动方式:静态驱动回路及波形如图8-18所示,图中LCD表示某个液晶显示段。时分割驱动电压平均化:当显示字段增多时,为减少引出线和驱动回路数,需要采用时分割驱动法。时分割驱动方式通常采用电压平均化法,其占空比有1/2,1/8,1/11,1/16,1/3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024北京高三一模生物汇编:生物技术与工程(非选择题)
- 2024年“羊城工匠杯”广州市电工技能竞赛理论考试题库(含答案)
- 金融科技助力财富管理行业:智能客服与客户体验提升报告
- 2023年监理工程师合同管理考前冲刺试题二
- 2025年氢燃料电池汽车关键零部件国产化产业链研究报告
- 2023心理健康教育活动说课稿模板
- 2023认证基础及管理体系认证基础部分考试题
- 第二章 有理数及其运算 单元测试卷(含部分解析) 2025-2026学年北师大版七年级数学上册
- 2025版高速公路服务区绿植采购合同范本
- 二零二五年特种车辆租赁合同示范文本
- GB/T 9754-2025色漆和清漆20°、60°和85°光泽的测定
- 快件处理员职业技能模拟试卷含答案
- 2025年7月浙江高中学业水平考试数学试卷真题(含答案详解)
- 高中校长考试试题及答案
- 【化学 东北卷】2025年东北地区高考招生考试真题化学试卷(适用 黑龙江、吉林、辽宁、内蒙古地区)
- 医院drg付费培训课件
- 食盐安全培训课件
- 企业孵化公司管理制度
- 海水晒盐教学课件
- 幼儿园疫情行政管理制度
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案
评论
0/150
提交评论