单片机第5章--输入输出接口P0P3讲解课件

上传人:hloru****lorv6 文档编号:243098382 上传时间:2024-09-15 格式:PPT 页数:42 大小:8.08MB
返回 下载 相关 举报
单片机第5章--输入输出接口P0P3讲解课件_第1页
第1页 / 共42页
单片机第5章--输入输出接口P0P3讲解课件_第2页
第2页 / 共42页
单片机第5章--输入输出接口P0P3讲解课件_第3页
第3页 / 共42页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单片微型计算机与,接口技术,第,5,章,输入、输出接口,P0P3,PO,P3,端口的功能,PO,P3,端口的编程,用并行口设计,LED,数码显示,用并行口设计键盘电路,本章介绍的主要内容,计算机对外设进行数据操作时,外设的数据线不能直,接与,CPU,的数据线相连,必须经过接口电路,(,简称接口或,I/O,口,),。,需要接口的原因:,1. CPU,的数据线是外设或存贮器与,CPU,进行数据交,换的唯一公共通道,为了避免数据线的使用产生冲突,,一般在接口电路中使用地址译码器产生片选信号以选中,各个外设(地址不同);,2.,为了快速的,CPU,和慢速的外设在速度上的匹配。,第五章,输入、输出接口,P0,P3,I/O,接口的分类:,并行接口、串行接口、定时,/,计数器、,A/D,、,D/A,等,现在的接口电路一般封装在一个芯片内,部,而且一个芯片有时候具有多种接口功能;同,时,芯片一般是可编程的,可以用来使一个类型,的接口具有多种不同的工作模式。,接口的功能:,数据的缓冲或锁存、地址译码、信息格式转换、,状态采集(外设状态:忙,/,闲)、初始化命令等。,MCS-51,单片机有,P0,、,P1,、,P2,、,P3,四个,8,位,双向,I/O,口,每个端口可以按字节(,8,位)输入或,输出,也可以按位(,1,位)进行输入或输出,四,个口共,32,根口线,用作位控制十分方便。,5.1 P0,P3,端口的功能,大多数口线都有双重功能,具体介绍如下:,?,PO,口,1.,作为一般的输入,/,输出接口。,2.,作为地址,/,数据总线,接外围芯片时,分时输,出低,8,位地址与数据信号。,?,P,1,口,1.,作为一般的输入,/,输出口。,2.,在增强型,(52,系列,),和,ISP,型,(,在系统编程型,),中,有如下功能,:,P1.0,T2,引脚,定时,/,计数器,2,外部计数脉冲输入,P1.1,T2EX,引脚,定时,/,计数器,2,触发和方向控制,?,P2,口,1.,作为输入,/,输出口。,2.,作为高,8,位地址总线。,?,P3,口,P3,口为双功能,1.,作第一功能使用时,其功能为输入,/,输出口。,2.,作第二功能使用时,每一位功能定义如下表,所示,:,RD,(外部数据存储器读选通信号入),P3.7,WR,(外部数据存储器写选通信号入),P3.6,T1,(定时器,1,外部计数脉冲输入),P3.5,T0,(定时器,0,外部计数脉冲输入),P3.4,P3.3,P3.2,TXD,(串行输出线),P3.1,RXD,(串行输入线),P3.0,第,二,功,能,端口引脚,INT0,(,外部中断,0,输入线),INT1,(,外部中断,1,输入线),四个并行口使用的注意事项如下:,1.,如果单片机内部有程序存贮器,不需要扩展外,部存贮器和,I/O,接口,单片机的四个口均可作,I/O,口使用。,2.,四个口在输入数据时,均应先对其写,“,1,”,(以,避免误读)然后读入数据。,3.,P0,口作,I/O,口使用时应外接,10K,的电阻,其它,口则可不必。,4.,P2,口某几根线作地址使用时,剩下的线不能作,I/O,口线使用。,5.,P3,口的某些口线作第二功能时,剩下的口线可,以单独作,I/O,口线使用。,5.2,编程举例,例,5-1,设计一电路,监视某开关,K,,用发光二极管,LED,显示开关状态,如果开关合上,:LED,亮,;,开关打开,:,LED,熄灭。,LED,89C51,+,5V,Vcc,-,EA,RST,10uF,1K,P1.0,89S51,+5V,P1.1,1K,30P,30P,XTAL1,XTAL2,GND,K,图,5-1,LED,正偏时才能发亮,按电路接法,,当,P1.0,输出,“,1,”,,,LED,正偏而发亮,当,P1.0,输出,“,0,”,,,LED,的两端电压为,0,而熄灭。,LED,89C51,+,5V,Vcc,-,EA,RST,10uF,1K,P1.0,89S51,+5V,P1.1,1K,30P,30P,XTAL1,XTAL2,GND,K,编程如下:,CLR P1.0,;,Next : SETB P1.1,;先对,P1,口写入,“,1,”,JB P1.1,,,Off,;开关断开,转,Off,SETB P1.0,;,SJMP Next,Off : CLR P1.0,;,SJMP Next,+5V,P1.0,LED,在上述电路图中二极管亮度不够,按下,面两种电路接法,可增加驱动能力,二极管,亮度增加。,接成灌电流形式:,P1.0,+5V,LED,1,加驱动电路:,330,330,例,5-2.,在图,5.2,中,P1.4,P1.7,接四个发光二,极管,LED,P1.0,P1.3,接四个开关,编程将开关,的状态反映到发光二极管上。,89C51/89S51,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,+5V,+5V,1K,4,330,?,4,图,5-2,EA,用汇编语言编程,ORG 0000H,MOV P1,#0FFH,;,高四位置,”,1,”,,,LED,全灭,;,低四位置,”,1,”,以便正确读入开关状态,Next: MOV A,P1 ;,读,P1,口引脚开关状态,并送入,A,SWAP A ;,低四位开关状态换到高四位,ANL A,#0F0H ;,保留高四位,MOV P1,A ;,从,P1,口输出,;,高四位不变,低四位置,“,1,”,,准备下一轮读开关,ORL P1,#0FH,SJMP Next,5.3,设计,LED,数码显示器和键盘电路,键盘和显示器是单片机应用系统中常用的,输入输出装置。,LED,数码显示器是常用的显示器,之一,下面分别介绍利用单片机并口设计,LED,数,码显示电路和键盘电路的方法。,5.3.1,用并行口设计,LED,显示电路,1. LED,显示器及其原理,LED,有着显示亮度高,响应速度快的特点。最常用,的是七段式,LED,显示器,又称数码管。,七段,LED,显示器内部由七个条形发光二极管和一个小,圆点发光二极管组成,根据各管的亮暗组合行成字符。,常见,LED,的管脚排列见图,5.4(a),。其中,COM,为公共点,,根据,COM,的接线形式,可分成共阴极型和共阳极型。,a,b,c,d,e,f,g,dp,(a),(b),共阴,(c),共阳,c,d,e,dp,1,2,3,4,5,6,7,8,9,10,a,b,f,g,com,com,a,b,c,e,f,a,b,c,d,e,f,g,dp,com,公共点,com,公共点,图,5.4,d,g,0 0 1 1 1 1 1 1 3fh,dp g f e d c b a,a,b,c,d,e,f,g,dp,c,d,e,dp,1,2,3,4,5,6,7,8,9,10,a,b,f,g,com,com,a,b,c,e,f,com,g,LED,共阴数码管的,a,g,七个发光二极管因加正电压而发亮,,零电压则灭,不同亮暗的组合就能形成不同的字形,这种组合称之,为字形码,(,段码,),,如显示,”0”,字形码为,3fh(dp,gfedcba:0011,1111).,显示,”,2,”,字形码为,5BH.,(b),dp,com,a,b,c,d,e,f,g,dp,c,d,e,1,2,3,4,5,6,7,8,9,10,com,com,a,b,c,e,f,g,dp g f e d c b a,0 1 0 1 1 0 1 1 5BH,共阳极和共阴极的字形码是不同的,,其字,形码见表,5.2,。,LED,数码管每段需,10,20mA,的驱,动电流。,字形码的控制输出可采用硬件译码方式,,也可用软件查表法。,如采用,BCD 7,段译码,/,驱动器:,共阴极:,74LS48,、,74LS49,、,CD4511,共阳极:,74LS46,、,74LS47,、,CD4513,显示,字符,段,符,号,十六进制代码,dp,g,f,e,d,c,b,a,共阴,共阳,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,H,P,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,0,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,0,1,1,0,1,1,1,1,1,1,0,1,0,1,1,0,1,3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,76H,73H,C0,F9,A4,B0,99,92,82,F8,80,90,88,83,C6,A1,86,8E,89,8C,2.LED,数码管的接口,数码管的接口有静态接口和动态接口。,静态接口,为固定显示方式,无闪烁,其电路采用,一个并行口接一个数据管,数码管的公共端按共阴或,共阳分别接,地,/Vcc,。这种接法占用接口多,如果,PO,口和,P2,口要用作数据线和地址线,仅用单片机的并行,口就只能接两个数码管,一般很少采用。,动态接口,采用各数码管循环轮流显示的方法,,当循环显示频率较高时,利用人眼的暂留特性(每秒,亮灭各,24,次),,看不出闪烁显示现象,这种显示需要,一个接口完成字形码的输出,(,字形选择,),,另一接口完,成各数码管的轮流点亮,(,数位选择,),。,1,1,1,1,1,+5V,Vcc,/EA,RST,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,P3.0,P3.1,P3.2,P3.3,P3.4,XTAL1,XTAL2,GND,89C51,Q0,Q6,/OE,D0,D6,G,373,a,g,图5-5 接五个共阴极数码管的动态显示接口,1,2,图,5-5,是接有五个共阴极数码管的动态显示,电路,用,74LS373,接成直通的方式作驱动电路,,阴极用非门,74LS04,反相门驱动,字形选择由,P1,口提供,数位选择由,P3.0P3.4,控制。,当,P3.0,P3.4,轮流输出,“,1,”,时,五个数码,管轮流显示。,P1.7,接开关,当开关打向位置,“,1,”,( P1.7 =0),时,,显示数字,“,12345,”,字样,当开关打,向,“,2,”,(,P1.7 =1),时,显示文本,“,HELLO,”,字,样,.,1,1,1,1,1,+5V,Vcc,/EA,RST,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,P3.0,P3.1,P3.2,P3.3,P3.4,XTAL1,XTAL2,GND,89C51,Q0,Q6,/OE,D0,D6,G,373,a,g,图5-5 接五个共阴极数码管的动态显示接口,1,2,用汇编语言编程,ORG 0000H,MOV P3,,,#0,;清显示,全灭,Test: SETB P1.7,JB P1.7,,,DIR1,;,MOV DPTR,,,#TAB 1 ;,开关置于,1,,,0:,12345,字形表头地址,SJMP DIR,DIR1: MOV DPTR,,,#TAB2 ;,开关置于,2,,,1:,“,HELLO,”,字形表头,DIR: MOV R0,,,#0,;,R0,:字形选择(,0,4,MOV R1,,,#01,;,R1,Next: MOV A,,,R0,MOVC A,,,A+DPTR ;,MOV P1,,,A,;送,P1,口输出到,74LS373,MOV A,,,R1,MOV P3,,,A,;,ACALL DAY,;,INC R0,;,RL A,;,MOV R1,,,A,;,五个数码管是否显示完?(移,5,次,:01H-20H,),CJNE R1,,,#20H,,,Next,SJMP Test,TAB1 : db 06H,5BH,4FH,66H,6DH ;,“,1,5,”,的字形码,TAB2 : db 78H,79H,38H,38H,3FH ;,“,HELLO,”,的字形码,DAY: MOV R6,,,#20 ;,延时,20ms,子程序,DL2: MOV R7,,,#7DH,DL1: NOP,NOP,DJNZ R7,,,DL1,DJNZ R6,,,DL2,RET,END,?,5.3.2,用并行口设计键盘电路,键盘是计算机系统中不可缺少的输入设备,当按,键少时可接成线性键盘,(,一个按键对应一位,如,图,5.2,中的按键,),,按键较多时,这样的接法占用口线较多。,为了节省口线,可将按键接成矩阵的形式。,例如:,8,8,的形式接,64,个按键,行列用两个接口,表示。每个按键都有行值和列值,行值和列值的组合,(称为,按键的扫描码,)就可以唯一的标识某个按键。,矩阵的行线和列线分别通过两个并口与,CPU,通信。按键,的状态用开关量,“,0/1,”,表示。,键盘处理程序的任务是:,?,确定有无键按下;,?,判哪一个键按下,,?,键的功能是什么;,?,还要消除按键在闭合或断开时的抖动。,两个并行口中,一个输出扫描码,使按,键逐行动态接地,(,称行扫描,),,另一个并行口输,入按键状态,(,称回馈信号,键盘的列值,),,由行,扫描值和回馈信号共同形成键编码而识别按键、,通过软件查表,查出该键的功能。也可由硬件,编码器完成键的编码。,下图中,用,8XX51,的并行口,P1,接,4,4,以,P1.0,P1.3,作输出线,以,P1.4,P1.7,作输入线,键盘,扫描程序的流程如图,5.7,5,a,EE DE BE 7E,ED DD BD 7D,EB DB BB 7B,E7 D7 B7 77,置行扫描初值,从,P1,口输出扫描位,N(,有键按下),N,开始,P1.0,P1.3,输出,0,延时去抖动,P1.4,P1.7,全为,1?,P1.4,P1.7,全为,1?,Y,Y(,无键按下,),读,P1.4,P1.7,值,循,环,行,扫,描,Y,转处理程序,P1,口的高四位和低四位,相或得键编码,扫到最后一行,?,N,Y,形成下一行扫描码,该行有键按下,?,N,对键盘的程序流程图,5.7,当,P1.0,P1.3,输出,0,时,如无键按下,,P1.4,P1.7,的输入值均为,“,1,”,,如果其中有一个不是,“,1,”,,说明有键按下,再使,P1.0,P1.3,逐个输出零,(,行扫描,),,检查,P1.4,P1.7,的输入值有无零,从而,查出是哪行哪列的键按下。在判按键时,按键有,抖动,可采用延时后再重读以跳过抖动时段,(,也可,用,R-S,触发器闩锁电路硬件消抖,但这样电路复杂,,在矩阵键盘中不采用,),。,程序清单如下:,ORG 0000H,Test: MOV P1,#0F0H,;P1.0,P1.3,输出,0, P1.4,P1.7,输出,1,作输入位,MOV A,P1,;读键盘,检测有无键按下,ANL A,#0F0H,;,屏蔽,P1.0,P1.3,,检测,P1.4,P1.,是否全为,1,CJNE A, #0F0H,Have,;P1.4,P1.7,不全为,1,有键按下,SJMP Test,;P1.4,P1.7,全为,1,无键按下,重检测键盘,Have: MOV A,#0FE,;,有键按下,逐行扫描键盘,置扫描初值,Next:,MOV B,A,;扫描码暂存于,B,MOV P1,A,;输出扫描码,Read: MOV A,P1,;读键盘,ANL A , #0F0H,;,屏蔽,P1.0,P1.3,,检测,P1.4,P1.7,是否全为,1,CJNE A,0F0H,Yes,;,P1.4,P1.7,不全为,1,,该行有键按下,MOV A,B,;被扫行无键按下,准备查下一行,RL A,;置下一行扫描码,CJNE A , #0EFH , Next,;未扫到到最后一行循环,Yes: ACALL DAY,;延时去抖动,ARead:,MOV A,P1,;再读键盘,ANL A,#0F0H,;,屏蔽,P1.0,P1.3,,保留,P1.4,P1.7(,列码,),MOV R2,A,;暂存列码,MOV A, B,ANL A,#0FH,;取行扫描码,ORL A,R2,;行码、列码合并为键编码,Yes1: MOV B,A,;键编码存于,B,LJMP SAM38,;转键分析处理程序,例如图,5-6,中的,“,a,”,键,的编码为同样可得,“,5,”,键编码为,BBH,,由此可将每个按键的编,码排出来,通过查表程序转不同的按键处,理程,序。此程序部分请读者自行编出。该程序同样,可用汇编语言编出。,小,结,1.,四个并行口均可作为输入输出接口使用,但又有,各自的特点。因,PO,口是数据线和低八位的,地址线,,因此不用它作输入,/,输出接口,而是用它传输数据和,低八位的地址信息,除非在不,接其他外围芯片的情,况下才作,I/O,接口使用,此时由于内部漏极开路,需,外接上拉电阻。四个口的使用特点是本章的重点。,并行接口是单片机用得最多的部分,可直接接外,部设备,(,要注意电平的匹配,),。本章以最简单,的实验室,最容易实现的外部设备,开关和发光二极管为例说明,并行口的应用设计,其他外设,的测控原理与其一样。,3.,在应用设计中应理解,计算机内由数字电路,组成只存在两种,TTL,电平,高电平,3.5,5V,和低,电平,0V,,对应着的数字为,“,1,”,和,“,0,”,外设的状态要通过电路转换成高、低电平,计算,机才能识别,(,如开关电路,),计算机输出数据,“,1,”,即输出,3.5V,5V,,输出数据,“,0,”,即输出,0V,,根据外设需要的电平要求,输,出,“,1,”,或,“,0,”,数据,这就是程序控制外设的,2.,当并行口作为输入口使用时,应对所用的口线写,“,1,”,,使其内部的驱动场效应管截止,,防止误读。写,“,1,”,以后不影响读引脚指令,因为读入的信息是经缓,冲器,2(,见图,5.1),进入,CPU,的,而不是读的锁存器。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!