第4章并行接口P0P3和单片机的中断系统ppt课件.ppt
《第4章并行接口P0P3和单片机的中断系统ppt课件.ppt》由会员分享,可在线阅读,更多相关《第4章并行接口P0P3和单片机的中断系统ppt课件.ppt(80页珍藏版)》请在三一办公上搜索。
1、第4章 并行接口P0P3和单片机的中断系统,单片机原理、接口及应用,单片机的并行接口P0P3 POP3端口的功能和内部结构 POP3端口的编程 用并行口设计LED数码显示和键盘电路 并行接口小结MCS-51单片机的中断系统 中断的基本概念 中断的系统结构 中断的响应过程 中断的的应用编程小结,内容提要,4.1单片机的并行接口接口P0P3 MCS-51单片机有P0、P1、P2、P3四个8位双向I/O口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,四个口共32根口线,用作位控制十分方便。P0口为三态双向口,能带8个TTL电路;P1、P2、P3口为准双向口,负载能力为4个TTL电路。4.
2、1.1 POP3端口的功能和内部结构 4.1.1.1 POP3接口功能 大多数口线都有双重功能,具体介绍如下:,PO口1.作为输入/输出口。2.作为地址/数据总线,接外围芯片时PO口分时输出低 8 位地址与数据信号。P1口1.作为输入/输出口。2.在增强型(52系列)和ISP型(在系统编程型)中有如下功能:,P1.0 T2引脚,定时/计数器2外部计数脉冲输入 P1.1 T2EX引脚,定时/计数器2触发和方向控制 P1.5 MOSI引脚,在系统编程数据输入 P1.6 MISO引脚,在系统编程数据输出 P1.7 SCK引脚,在系统编程时钟输入,P2口1.作为输入/输出口。2.作为高8位地址总线。P
3、3口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输入线),4.1.1.2 端口的内部结构 四个端口的一位结构见图5.1,同一个端口的各位具有相同的结构。由图可见,四个端口的 结构有相同之处:
4、,依据每个端口的不同功能,内部结构亦有不同之处,以下重点介绍不同之处。,都有两个输入缓冲器,分别受内部读锁存器和读引脚控制信号的控制。,都有锁存器(即专用寄存器POP3),都是场效应管输出驱动。,1.PO口 PO口的输出驱动电路由上拉场效应管T1和驱动场效应T2组成,控制电路包括一个与门,一个非门和一个模拟开关MUX。,PO作I/O口使用 CPU发控制电平“0”封锁与门,使T1管截止,同时使MUX开关同下面的触点接通,使锁存器的 Q 与T2栅极接通。当CPU向端口输出数据时,写脉冲加在锁存器的 CL上、内部总线的数据经反相,再经T2管反相,PO口的这一位引脚上出现正好和内部总线同相的数据。由于
5、输出驱动级是漏极开路电路(因T1截止),在作I/O口使用时应外接10K的上拉电阻。,当输入操作时,端口中两个三态缓冲器用于读操作。缓冲器2用于读端口引脚的数据。当执行端口读指令时,读引脚脉冲打开三态缓冲器2,于是端口引脚数据经三态缓冲器2送到内部总线。缓冲器1用于读取锁存器Q端的数据。当执行“读-修改-写”指令(即读端口信息,在片内加以运算修改后,再输出到该端口的某些指令如:ANL PO,A指令),即是读的锁存器Q的数据。,这是为了避免错读引脚的电平信号,例如用一根口线去驱动一个晶体管基极,当向口线写“1”,晶体管导通,导通的PN结会把引脚的电平拉低,如读引脚数据,则会读为0,而实际上原口线的
6、数据为1。因而采用读锁存器Q的值而避免了错读。究竟是读引脚还是读 锁存器,CPU内部会自行判断是发读引脚脉冲还是读锁存器脉冲,读者不必在意。应注意,当作输入端口使用时,应先对该口写入“1”使场效应管T2截止,再进行读入操作,以防场效应管处于导通状态,使引脚箝位到零,而引起误读。,当PO口作地址/数据线使用时,CPU及内部控制信号为“1”,转换开关MUX打向上面的触点,使反相器的输出端和T2管栅极接通,输出的地址或数据信号通过与门驱动T1管,同时通过反相器驱动T2管完成信息传送,数据输入时,通过缓冲器进入内部总线。,P1口作通用I/O口使用,因电路结构上输出驱动部分接有上拉电阻。当作输入时,同P
7、O一样,要先对该口写“1”。,2.P1口 P1口的结构见下图,3.P2口 P2口的位结构比P1多了一个转换控制部分,当P2口作通用I/O口时,多路开关MUX倒向左;,当扩展片外存贮器时,MUX开关打向右,P2口作高八位地址线输出高八位地址信号。其MUX的的倒向是受CPU内部控制的。应当注意:当P2口的几位作地址线使用时,剩下的P2口线不能作I/O口线使用。,4.P3口 P3口 P3口为双功能I/O口,内部结构中增加了第二输入/输出功能。,当作为普通I/O口使用时,第二输出功能端保持“1”,打开与非门3,用法同P1口。当作第二功能输出时,锁存器输出为“1”打开与非门3,第二功能内容通过与非门3和
8、T送至引脚。输入时,引脚的第二功能信号通过三态缓冲器4进入第二输入功能端。两种功能的引脚输入都应使T截止,此时第 二输出功能端和锁存器输出端Q均为高电平。P3的各位如不设定为第二功能则自动处于第一功能,在更多情况下,根据需要,把几条口线设为第二功能,剩下的口线可作第一功能(I/O)使用,此时,宜采用位操作形式。,归纳四个并行口使用的注意事项如下:1.如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用。2.四个口在作输入口使用时,均应先对其写“1”,以避免误读。3.P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必。4.P2可某几根线作地址使
9、用时,剩下的线不能作I/O口线使用。5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。,4.1.2 编程举例,下面举例说明端口的输入、输出功能,其他功能的应用实例在后面章节说明。例4-1.设计一电路,监视某开关K,用发光二极管LED显示开关状态,如果开关合上,LED 亮、开关打开,LED熄灭。分析:设计电路如图5.2如示。开关接在P1.1口线,LED接P1.0口线,当开关断开时,P1.1为+5V,对应数字量为“1”,开 关合上时P1.1电平为0V,对应数字量为“0”,这样就可以用JB指令对开关状态进行检测。,LED正偏时才能发亮,按电路接法,当P1.0输出“1”,LED正偏
10、而发亮,当P1.0 输出“0”,LED 的两端电压为 0 而熄灭。,编程如下:CLR P1.0;使发光二极管灭AGA:SETB P1.1;先对P1口写入“1”JB P1.1,LIG;开关开,转LIG SETB P1.0;开关合上,二极管亮 SJMP AGALIG:CLR P1.0;开关开,二极管灭 SJMP AGA,在上述电路图中二极管亮度不够,按下面两种电路接法,增加了驱动能力,二极管更亮些。接成灌电流形式:,加驱动电路:,例4-2.在下图中P1.4P1.7接四个发光二极管LED,P1.0P1.3接四个开关,编程将开关的状态反映到发光二极管上。,1,1,1,1,89C51,P1.0,P1.1
11、,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,+5V,+5V,1K4,3304,EA,上述程序中每次读开关之前,输入位都先置“1”,保证了开关状态的正确读入。编程如下:ORG 0000HABC:MOV P1,#0FFH;高四位灭,低四位送“1”MOV A,P1;读P1口引脚开关状态至A SWAP A;低四位开关状态转换到高四位 ANL A,#0F0H;保留高四位 MOV P1,A;从P1口输出 SJMP ABC;循环,例3.用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行
12、控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。分析:500Hz信号周期为2ms,信号电平为每1ms变反1次。1KHz的信号周期为1ms,信号电平 每500S变反1次,编一个延时500S子程序,延时1ms只需调用2次。用R2控制音响时间长短,A作音响频率的交换控制的标志。A=FF时产生1KHz信号,A=0时产生500Hz信号。,ORG 0000H CLR A;A作1KHz,500Hz 转换控制BEG:JB P1.7,;检测P1.7的开关状态 MOV R2,#200;开关闭合报警,R2控制音响时间DV:CPL P1.0 CJNE A,#0FFH,N1;AFFH,延时500S ACA
13、LL D500;A=FFH;延时1ms P1.0变反N1:ACALL D500 DJNZ R2,DV CPL A SJMP BEGD500:MOV R7,#250;延时500 S子程序 DJNZ R7,RET END,4.1.3 用并行口设计LED数码显示器和键盘电路,键盘和显示器是单片机应用系统中常用的输入输出装置。LED数码显示器是常用的显示器之一,下面介绍用单片机并行口设计LED数码显示电路和键盘电路的方法。,4.1.3.1用并行口设计LED显示电路1.LED显示器及其原理 LED有着显示亮度高,响应速度快的特点,最常用的是七段式LED显示器,又称数码管。七段LED显示器内部由七个条形发
14、光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见LED的管脚排列见图4(a)。其中COM为公共点,根据内部发光二极管的接线 形式,可分成共阴极型图4(b)和共阳极型图4(c)。,LED数码管的ga七个发光二极管因加正电压而发亮,因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,显然共阳极和共阴极的字形码是不同的,其字形码见下表。LED数码管每段需1020ma的驱动电流,可用TTL或CMOS器件驱动。字形码的控制输出可采用硬件译码方式,如采用BCD 7段译码/驱动器74LS48、74LS49、CD4511(共阴极)或74LS46、74LS47、CD4
15、513(其阳极)也可用软件查表方式输出。,2.LED数码管的接口 数码管的接口有静态接口和动态接口。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数据管,数码管的公共端按共阴或共阳分别接地或Vcc。这种接法占用接口多,如果PO口和P2口要用作数据线和地址线,仅用单片机的并行口就只能接二个数码管。也可以用串行接口的方法接多个数码管,使之静态显示.动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完 成各数码管的轮流点亮(数位选择)。,例如图5是接有五个共阴极数码管的动态显示
16、接口电路,用74LS373接成直通的方式作驱动 电路,阴极用非门74LS04反相门驱动,字形选择由P1口提供,位选择由P3口控制。当P3.0P3.4轮流输出1时,五个数码管轮流显示。P1.7接开关,当开关打向位置“1”时,显示“12345”字样,当开关打向“2”时,显示“HELLO”字样,程序清单如下:,1,2,用汇编语言编程 ORG 0000H MOV P3,#0;清显示TEST:SETB P1.7 JB P1.7,DIR1;检测开关 MOV DPTR,#TAB 1;开关置于1,12345字形表头地址 SJMP DIRDIR1:MOV DPTR,#TAB2;开关置于2,“HELLO”字形表头
17、DIR:MOV R0,#0;R0存字形表偏移量 MOV R1,#01;R1置数码表位选代码NEXT:MOV A,R0 MOVC A,A+DPTR;查字形码表1 MOV P1,A;送P1口输出,MOV A,R1 MOV P3,A;输出位选码 ACALL DAY;延时 INC R0;指向下一位字形 RL A;指向下一位 MOV R1,A CJNE R1,#20H,NEXT;五个 数码管显示完?SJMP TESTDAY:MOV R6,#20;延时20ms子程序DL2:MOV R7,#7DHDL1:NOP NOP,DJNZ R7,DL1 DJNZ R6,DL2 RETTAB1:db 06H,5BH,4
18、FH,66H,6DH;“15”的字形码TAB2:db 78H,79H,38H,38H,3FH;“HELLO”的字形码 END,4.1.3.2用并行口设计键盘电路 键盘是计算机系统中不可缺少的输入设备,当按键少时可接成线性键盘(如图5.3中的按键),当按键较多时,这样的接法占用口线较多。将按键接成矩阵的形式,可以节省口线,例如两个接口可按8*8的形式接64个按键。每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端通过电阻接Vcc(列)、而接地是通过程序输出数字“0”实现的。,键
19、盘处理程序的任务是:确定有无键按下;判哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地(称行扫描),另一个并行口输入按键状态(称回馈信号,键盘的列值),由行扫描值和回馈信号共同形成键编码而识别按键、通过软件查表,查出该键的功能。也可由硬件编码器完成键的编码。,下图中,用8XX51的并行口P1接44矩阵键盘,以P1.0P1.3作输出线,以P1.4P1.7作输入线,键盘扫描程序的流程如图5.7所示。,Y,返回键编码,读P1.3P1.4值,置行扫描初值,扫描位从P1口输出,P1口的高四位和低四位相或得键编码,扫到最后一行?,N,N(有键
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并行 接口 P0P3 单片机 中断 系统 ppt 课件
链接地址:https://www.31ppt.com/p-6614895.html