




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 CPU输入接口输入接口输入设备输入设备输出接口输出接口输出设备输出设备输入接口和输出接口输入接口和输出接口第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 4.1单片机的并行接口接口单片机的并行接口接口P0P3 MCS-51单片机有单片机有P0、P1、P2、P3四个四个8位双向位双向I/O口,每个端口可以按字节输入或输出,也可以按位口,每个端口可以按字
2、节输入或输出,也可以按位进行输入或输出,四个口共进行输入或输出,四个口共32根口线,用作位控制十根口线,用作位控制十分方便。分方便。P0口为三态双向口,能带口为三态双向口,能带8个个TTL电路;电路;P1、P2、P3口为准双向口,负载能力为口为准双向口,负载能力为4个个TTL电路。电路。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 4.1.1 PO4.1.1 POP3P3端口的功能和内部结构端口的功能和内部结构 4.1.1.1 4.1.1.1 POPOP3P3接接口功能口功能 大多数口线都有双重功能,具体介绍如下:大多数口线都有双重功能,具体介绍如下:P0口口 1.
3、作为输入作为输入/输出口。输出口。 2.作为地址作为地址/数据总线数据总线 ,接外围芯片时接外围芯片时PO口分口分时输出低时输出低 8 位地址与数据信号。位地址与数据信号。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 P P1 1口口 1.1.作为作为输入输入/ /输出口。输出口。 2.2.在增强型在增强型(52(52系列系列) )和和ISPISP型型( (在系统编程型在系统编程型) )中有如中有如下功能(仅了解即可)下功能(仅了解即可) : : P1.0 T2 P1.0 T2引脚引脚, ,定时定时/ /计数器计数器2 2外部计数脉冲输入外部计数脉冲输入 P1.1
4、T2EXP1.1 T2EX引脚引脚, ,定时定时/ /计数器计数器2 2触发和方向控制触发和方向控制 P1.5 P1.5 MOSIMOSI引脚引脚, ,在系统编程数据输入在系统编程数据输入 P1.6 P1.6 MISOMISO引脚引脚, ,在系统编程数据输出在系统编程数据输出 P1.7 P1.7 SCKSCK引脚引脚, ,在系统编程时钟输入在系统编程时钟输入第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 P2P2口口 1.1.作为输入作为输入/ /输出口。输出口。 2.2.作为高作为高8 8位地址总线。位地址总线。 P3P3口口P3P3口为双功能口为双功能 1.1.作
5、第一功能使用时,其功能为输入作第一功能使用时,其功能为输入/ /输出口。输出口。 2.2.作第二功能使用时,每一位功能定义如下表作第二功能使用时,每一位功能定义如下表所示所示: : 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 RD (外部数据存储器读选通信号输入)(外部数据存储器读选通信号输入) P3.7 P3.7 WR (外部数据存储器写选通信号输入)(外部数据存储器写选通信号输入)P3.6 P3.6 T1 T1 (定时器(定时器1 1外部计数脉冲输入)外部计数脉冲输入)P3.5 P3.5 T0 T0 (定时器(定时器0 0外部计数脉冲输入)外部计数脉冲输入)P
6、3.4 P3.4 P3.3 P3.3 P3.2 P3.2 TXD TXD (串行输出线)(串行输出线)P3.1 P3.1 RXD RXD (串行输入线)(串行输入线) P3.0 P3.0 第第 二二 功功 能能 端口引脚端口引脚 INT0 INT0(外部中断外部中断0 0输入线)输入线)INT1 INT1 (外部中断外部中断1 1输入线)输入线) 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 4.1.1.2 4.1.1.2 端口的内部结构端口的内部结构 四个端口的一位结构见图四个端口的一位结构见图5.15.1,同一个端口的各位具,同一个端口的各位具有相同的结构。由图
7、可见,四个端口的有相同的结构。由图可见,四个端口的 结构有相同之处:结构有相同之处: 依据每个端口的不同功能,内部结构亦有不同依据每个端口的不同功能,内部结构亦有不同之处,以下重点介绍不同之处。之处,以下重点介绍不同之处。 都有两个输入缓冲器,分别受内部读锁存器和读都有两个输入缓冲器,分别受内部读锁存器和读引脚控制信号的控制。引脚控制信号的控制。 都有锁存器都有锁存器( (即专用寄存器即专用寄存器POPOP3)P3) 都是场效应管输出驱动。都是场效应管输出驱动。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 1.PO1.PO口口 POPO口的输出驱动电路由上拉场效应管
8、口的输出驱动电路由上拉场效应管T1T1和驱动和驱动场效应场效应T2T2组成,控制电路包括一个与门,组成,控制电路包括一个与门, 一个非门和一个非门和一个模拟开关一个模拟开关MUXMUX。(a)P0口位结构11读锁存器内部总线写锁存器读引脚地址/数据控制&T1T2VccP0.x引脚MUX2DQCLP0.x锁存器Q第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 POPO作作I/OI/O口使用口使用 CPUCPU发控制电平发控制电平“0”0”封锁与门,使封锁与门,使T1T1管截止,管截止,同时使同时使MUXMUX开关同下面的触点接通,使锁存器的开关同下面的触点接通,使锁存器
9、的 Q Q 与与T2T2栅极接通。栅极接通。 当当CPUCPU向端口输出数据时向端口输出数据时,写脉冲加在锁存,写脉冲加在锁存器的器的 CLCL上、内部总线的数据经反相,再经上、内部总线的数据经反相,再经T2T2管反管反相,相,POPO口的这一位引脚上出现正好和内部总线同口的这一位引脚上出现正好和内部总线同相的数据相的数据。由于输出驱动级是漏极开路电路由于输出驱动级是漏极开路电路( (因因T1T1截止截止) ),在作,在作I/OI/O口使用时应外接口使用时应外接10K10K的上拉电阻。的上拉电阻。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 当输入操作时,当输入操
10、作时,端口中两个三态缓冲器用于读端口中两个三态缓冲器用于读操作。缓冲器操作。缓冲器2 2用于读端口引脚的数据。当执行端用于读端口引脚的数据。当执行端口读指令时,读引脚脉冲打开三态缓冲器口读指令时,读引脚脉冲打开三态缓冲器2 2,于是,于是端口引脚数据经三态缓冲器端口引脚数据经三态缓冲器2 2送到内部总线。缓冲送到内部总线。缓冲器器1 1用于读取锁存器用于读取锁存器Q Q端的数据。当执行端的数据。当执行“读读- -修改修改- -写写”指令指令( (即读端口信息,在片内加以运算修改即读端口信息,在片内加以运算修改后,再输出到该端口的某些指令如:后,再输出到该端口的某些指令如:ANL P0ANL P
11、0,A A指指令令) ),即是读的锁存器,即是读的锁存器Q Q的数据。的数据。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 这是为了避免错读引脚的电平信号,例如用一这是为了避免错读引脚的电平信号,例如用一根口线去驱动一个晶体管基极,当向口线写根口线去驱动一个晶体管基极,当向口线写“1”1”,晶体管导通,导通的晶体管导通,导通的PNPN结会把引脚的电平拉低,如结会把引脚的电平拉低,如读引脚数据,则会读为读引脚数据,则会读为0 0 ,而实际上原口线的数据,而实际上原口线的数据为为1 1。因而采用读锁存器。因而采用读锁存器Q Q的值而避免了错读。究竟的值而避免了错读。究
12、竟是读引脚还是读是读引脚还是读 锁存器,锁存器,CPUCPU内部会自行判断是发内部会自行判断是发读引脚脉冲还是读锁存器脉冲,读者不必在意。读引脚脉冲还是读锁存器脉冲,读者不必在意。 应注意应注意 ,当作输入端口使用时,应先对该口写,当作输入端口使用时,应先对该口写入入“1”1”使场效应管使场效应管T2T2截止,再进行读入操作,以截止,再进行读入操作,以防场效应管处于导通状态,使引脚箝位到零,而引防场效应管处于导通状态,使引脚箝位到零,而引起误读。起误读。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 当当POPO口作地址口作地址/ /数据线使用时数据线使用时,CPU
13、CPU及及内部控制信号为内部控制信号为“1”1”,转换开关,转换开关MUXMUX打向打向上面的触点,上面的触点, 使反相器的输出端和使反相器的输出端和T2T2管栅管栅极接通,输出的地址或数据信号通过与门极接通,输出的地址或数据信号通过与门驱动驱动T1T1管,同时通过反相器驱动管,同时通过反相器驱动T2T2管完成管完成信息传送,数据输入时,通过缓冲器进入信息传送,数据输入时,通过缓冲器进入内部总线。内部总线。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 P1P1口作通用口作通用I/OI/O口使用,因电路结构上输出驱动部分接口使用,因电路结构上输出驱动部分接有上拉电阻。
14、当作输入时,同有上拉电阻。当作输入时,同POPO一样,一样, 要先对该口写要先对该口写“1”1”。 (b)P1口 位 结 构1读 锁 存 器内 部 总 线写 锁 存 器读 引 脚TVccP1.x引 脚2DQCLP1.x锁 存 器内 部 上 拉 电 阻Q2.P12.P1口口 P1P1口的结构见下图口的结构见下图第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 地址控制Vcc内部上拉电阻T1MUX12DCLQP2.x锁存器P2.x引脚读锁存器内部总线写锁存器读引脚3.P23.P2口口 P2P2口的位结构比口的位结构比P1P1多了一个转换控制部分,当多了一个转换控制部分,当P
15、2P2口作通用口作通用I/OI/O口时,多路开关口时,多路开关MUXMUX倒向左;倒向左;第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 当扩展片外存贮器时,当扩展片外存贮器时,MUXMUX开关打向右,开关打向右,P2P2口作口作高八位地址线输出高八位地址信号。高八位地址线输出高八位地址信号。 其其MUXMUX的的倒向是受的的倒向是受CPUCPU内部控制的。内部控制的。 应当注意:当应当注意:当P2P2口的几位作地址线使用时,剩下口的几位作地址线使用时,剩下的的P2P2口线不能作口线不能作I /OI /O口线使用。口线使用。第第4章章 并行接口并行接口P0P3和单片机
16、的中断系统和单片机的中断系统 读读 锁锁 存存 器器内 部 总 线写 锁 存 器读 引 脚第 二 输 出 功 能第 二 输 入 功 能内 部 上 拉 电 阻P3.x引 脚TVcc1234DCLQP3.x锁 存 器( (d d) )P P3 3口口 位位 结结 构构 4.P34.P3口口 P3P3口口 P3P3口为双功能口为双功能I/OI/O口,内部结构中增加了第二输入口,内部结构中增加了第二输入/ /输出功能。输出功能。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 当作为普通当作为普通I/OI/O口使用时,第二输出功能端保口使用时,第二输出功能端保持持“1”1”,打
17、开与非门,打开与非门3 3,用法同,用法同P1P1口。口。 当作第二功能输出时,锁存器输出为当作第二功能输出时,锁存器输出为“1”1”打开打开与非门与非门3 3,第二功能内容通过与非门,第二功能内容通过与非门3 3和和T T送至引脚。送至引脚。 输入时,引脚的第二功能信号通过三态缓冲器输入时,引脚的第二功能信号通过三态缓冲器4 4进入第二输入功能端。两种功能的引脚输入都应使进入第二输入功能端。两种功能的引脚输入都应使T T截止,此时第截止,此时第 二输出功能端和锁存器输出端二输出功能端和锁存器输出端Q Q均均为高电平。为高电平。 P3P3的各位如不设定为第二功能则自动处于第一的各位如不设定为第
18、二功能则自动处于第一功能,在更多情况下,根据需要,功能,在更多情况下,根据需要, 把几条口线设把几条口线设为第二功能,剩下的口线可作第一功能为第二功能,剩下的口线可作第一功能(I/O)(I/O)使用,使用,此时,宜采用位操作形式此时,宜采用位操作形式 。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 归纳四个并行口使用的注意事项如下:归纳四个并行口使用的注意事项如下:1.1.如果单片机内部有程序存贮器,不需要扩展外部存如果单片机内部有程序存贮器,不需要扩展外部存贮器和贮器和I/OI/O接口,单片机的四个口均可作接口,单片机的四个口均可作I/OI/O口用。口用。2.2
19、.四个口在作输入口使用时,均应先对其写四个口在作输入口使用时,均应先对其写“1”1”,以避免误读。以避免误读。3.3.P0P0口作口作I/OI/O口使用时应外接口使用时应外接10K10K的上拉电阻,其它口的上拉电阻,其它口则可不必。则可不必。4.4.P2P2可某几根线作地址使用时,剩下的线不能作可某几根线作地址使用时,剩下的线不能作I/OI/O口线使用。口线使用。5.5.P3P3口的某些口线作第二功能时,剩下的口线可以单口的某些口线作第二功能时,剩下的口线可以单独作独作I/OI/O口线使用。口线使用。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 4.1.2 4.1.
20、2 编程举例编程举例 下面举例说明端口的输入、输出功能,其他功能的应用下面举例说明端口的输入、输出功能,其他功能的应用实例在后面章节说明。实例在后面章节说明。 例例4-1.设计一电路,监视某开关设计一电路,监视某开关K,用发光二极管,用发光二极管LED显示开关状态,如果开关合上,显示开关状态,如果开关合上,LED 亮、亮、 开关打开,开关打开,LED熄灭。熄灭。 分析:设计电路如图分析:设计电路如图5. 2如示。如示。 开关接在开关接在P1.1口线,口线,LED接接P1.0口线,当开关断开时,口线,当开关断开时,P1.1为为+5V,对应数字量为,对应数字量为“1”,开,开 关合上时关合上时P1
21、.1电平为电平为0V,对应数字量为,对应数字量为“0”,这样就可以用,这样就可以用JB指令对开关状态指令对开关状态进行检测进行检测 。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 LED正偏时才能发亮,按电路接法,当正偏时才能发亮,按电路接法,当P1.0输出输出“1”,LED正偏而发亮,当正偏而发亮,当P1.0 输出输出“0” ,LED 的两端电压为的两端电压为 0 而而熄灭。熄灭。 LEDLED+5V5VVccVcc-EAEARSTRST10uF 10uF 1K1KP1.0P1.089S5189S51P1.1P1.11K1K30P30P30P30PXTAL1XTA
22、L1XTAL2XTAL2GNDGND89C5189C51+5V5VVccVcc-EAEARSTRST10uF10uF 1K1KP1.0P1.089S5189S51+5V+5VP1.1P1.11K1K30P30P30P30PXTAL1XTAL1XTAL2XTAL2GNDGND89C5189C51K K第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 编程如下:编程如下: CLR P1.0 ;使发光二极管灭;使发光二极管灭 AGA:SETB P1.1 ;先对;先对P1口写入口写入“1” JB P1.1,LIG ;开关开,转;开关开,转LIG SETB P1.0 ;开关合上,
23、二极管亮;开关合上,二极管亮 SJMP AGA LIG: CLR P1.0 ;开关开,二极管灭;开关开,二极管灭 SJMP AGA 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 +5V+5VP1.0P1.0LEDLED 在上述电路图中二极管亮度不够,按下面两在上述电路图中二极管亮度不够,按下面两种电路接法,增加了驱动能力,二极管更亮些。种电路接法,增加了驱动能力,二极管更亮些。接成灌电流形式:接成灌电流形式:P1.0P1.0+5V+5VLEDLED1加驱动电路:加驱动电路:第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 例例4-24-2.
24、.在下图中在下图中P1.4P1.4P1.7P1.7接四个发光二极管接四个发光二极管LED,P1.0LED,P1.0P1.3P1.3接四个开关,编程将开关的状态反映到发光接四个开关,编程将开关的状态反映到发光二极管上。二极管上。 111189C5189C51P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V+5V+5V1K1K4 4330330 4 4EA第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 上述程序中每次读开关之前,输入位都先置上述程序中每次读开关之前,输入位都先置“1
25、”1”,保证了开关状态的正确读入。,保证了开关状态的正确读入。 编程如下:编程如下: ORG 0000HABC: MOV P1, #0FFH ;高四位灭,低四位送高四位灭,低四位送“1” MOV A, P1 ;读读P1口引脚开关状态至口引脚开关状态至A SWAP A ;低四位开关状态转换到高四位低四位开关状态转换到高四位 ANL A, #0F0H ;保留高四位保留高四位 MOV P1, A ;从从P1口输出口输出 SJMP ABC ;循环循环第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 例例3 3. .用用P1.0P1.0输出输出1KHz1KHz和和500Hz500
26、Hz的音频信号驱动扬的音频信号驱动扬声器,作报警信号,要求声器,作报警信号,要求1KHz1KHz信号响信号响100ms 100ms ,500Hz500Hz信信号响号响200ms200ms,交替进行,交替进行,P1.7P1.7接一开关进行控制,当开接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出关合上响报警信号,当开关断开告警信号停止,编出程序。程序。 分析分析:500Hz信号周期为信号周期为2ms,信号电平为每信号电平为每1ms变反变反1次。次。1KHz的信号周期为的信号周期为1ms,信号,信号电平电平 每每500S变反变反1次,编一个次,编一个延时延时500S子程序,延时
27、子程序,延时1ms只只需调用需调用2次。用次。用R2控制音响时间控制音响时间长短,长短,A作音响频率的交换控制作音响频率的交换控制的标志。的标志。A=FF时产生时产生1KHz信号,信号,A=0时产生时产生500Hz信号。信号。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 P1.0 波波 形形 图图 1ms 1ms100个个T (变反变反200次即次即200ms)。500S500S100个个T (变反变反200次即次即100ms)。TT第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 ORG 0000H CLR A ;A作作1KHz,500Hz
28、 转换控转换控 BEG: JB P1.7, $ ;检测;检测P1.7的开关状态的开关状态 MOV R2, #200 ;开关闭合报警,;开关闭合报警,R2控制音响控制音响 时间时间DV: CPL P1.0 CJNE A, #0FFH, N1 ;AFFH,延时,延时500S ACALL D500 ;A=FFH ; 延时延时1ms P1.0变变 N1: ACALL D500 DJNZ R2,DV CPL A SJMP BEG D500: MOV R7, #250 ;延时;延时500 S子程序子程序 DJNZ R7, RET END 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断
29、系统 4.1.3 4.1.3 用并行口设计用并行口设计LEDLED数码显示器和键盘电路数码显示器和键盘电路 键盘和显示器是单片机应用系统中常用的输入输键盘和显示器是单片机应用系统中常用的输入输出装置。出装置。LEDLED数码显示器是常用的显示器之一,下面介数码显示器是常用的显示器之一,下面介绍用单片机并行口设计绍用单片机并行口设计LEDLED数码显示电路和键盘电路的数码显示电路和键盘电路的方法。方法。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 4.1.3.14.1.3.1用并行口设计用并行口设计LEDLED显示电路显示电路1. LED1. LED显示器及其原理显
30、示器及其原理 LEDLED有着显示亮度高,响应速度快的特点,最有着显示亮度高,响应速度快的特点,最常用的是七段式常用的是七段式LEDLED显示器,又称数码管。显示器,又称数码管。 七七段段LEDLED显示器内部由七个条形发光二极管和一个小显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。圆点发光二极管组成,根据各管的亮暗组合成字符。常见常见LEDLED的管脚排列见图的管脚排列见图4(a)4(a)。其中。其中COMCOM为公共点,为公共点,根据内部发光二极管的接线根据内部发光二极管的接线 形式,可分成共阴极形式,可分成共阴极型图型图4(b)4(b)和共阳极型图和
31、共阳极型图4(c)4(c)。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 a ab bc cd de ef fg gdpdp(a)(b)(c)cdedp12345678910a bfgcomcomabcefabcdefgdpcomcom图图4 4第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 0 0 1 1 1 1 1 1 3fh x g f e d c b a a ab bc cd de ef fg gdpdpcdedp12345678910a bfgcomcomabcefcomgLED数码管的数码管的ga七个发光二极管因加正电压而发亮
32、,七个发光二极管因加正电压而发亮,因加零电压而不能发亮,不同亮暗的组合就能形成不因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,例如显示同的字形,这种组合称之为字形码,例如显示”0”第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 a ab bc cd de ef fg gdpdp12345678910a bfgcomcomabcefgx g f e d c b a 0 0 0 0 0 1 1 0 06h 例如显示例如显示”1”第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 a ab bc cd de ef fg
33、gdpdpcdedp12345678910comcomabcefcomgx g f e d c b a 0 1 0 1 1 0 1 1 5bh 例如显示例如显示”2”第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 显然共阳极和共阴极的字形码是不同的显然共阳极和共阴极的字形码是不同的 ,其字,其字形码见下表。形码见下表。LED数码管每段需数码管每段需1020ma的的驱动电流,可用驱动电流,可用TTL或或CMOS器件驱动。器件驱动。 字形码的控制输出可采用硬件译码方式,如字形码的控制输出可采用硬件译码方式,如采用采用BCD 7段译码段译码/驱动器驱动器74LS48、74L
34、S49、CD4511(共阴极共阴极)或或74LS46、74LS47、CD4513(其阳极其阳极)也可用软件查表方式输出。也可用软件查表方式输出。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 显示字符段段 符符 号号十六进制代码dpgfedcba共阴共阳0123456789ABCDEFHP000000000000000001001111101111011111100011101111101111101000101011111111101101101101111000110111111111010000111110011110010001101101111110101
35、1113FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H76HF3HC0F9A4B0999282F880908883C6A18684FFBF第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 2.LED2.LED数码管的接口数码管的接口 数码管的接口有静态接口和动态接口。数码管的接口有静态接口和动态接口。 静态接口静态接口为固定显示方式,无闪烁,其电路可采用一个并为固定显示方式,无闪烁,其电路可采用一个并行口接一个数据管,数码管的公共端按共阴或共阳分别接地或行口接一个数据管,数码管的公共端按共阴或共阳分别接地或VccVcc。接
36、法占用接口多,如果接法占用接口多,如果POPO口和口和P2P2口要用作数据线口要用作数据线和地址线,仅用单片机的并行口就只能接二个数码管。和地址线,仅用单片机的并行口就只能接二个数码管。也可以用串行接口的方法接多个数码管,也可以用串行接口的方法接多个数码管, 使之静态显使之静态显示示. . 动态接口动态接口采用各数码管循环轮流显示的方法,当采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性循环显示频率较高时,利用人眼的暂留特性 ,看不出,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输闪烁显示现象,这种显示需要一个接口完成字形码的输出出(字形选择字形选择),另一接口
37、完,另一接口完 成各数码管的轮流点亮成各数码管的轮流点亮(数数位选择位选择)。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 11111+5VVcc/EARSTP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4XTAL1XTAL2GND89C51Q0Q6/OED0D6G373ag图 5-5 接 五 个 共 阴 极 数 码 管 的 动 态 显 示 接 口12 例如图例如图5.5是接有五个共阴极数码管的动态显示接口是接有五个共阴极数码管的动态显示接口电路,用电路,用74LS373接成直通的方式作驱动接成直通的方式作驱
38、动 电路,阴极电路,阴极用非门用非门74LS04反相门驱动,字形选择由反相门驱动,字形选择由P1口提供,位口提供,位选择由选择由P3口控制。口控制。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 (1)编程使在最右边的数码管上显示)编程使在最右边的数码管上显示 “P”。汇编语言程序:汇编语言程序:ORG 0000HMOV P1, #73H;P1口输出口输出“P”的段码的段码MOC P3,#10H;最右边的数码管亮最右边的数码管亮SJMP $如果不对如果不对P1和和P3重新输出新的数据,最右重新输出新的数据,最右边的数码管将一直显示边的数码管将一直显示“P”。思考一下为
39、什么。思考一下为什么。(2) 当当P3.0P3.4 轮流输出轮流输出1时,五个数码管轮流显时,五个数码管轮流显示。示。P1.7接开关,当开关打向位置接开关,当开关打向位置“1”时,时, 显示显示“12345” ,当开关打向,当开关打向“2”时,显示时,显示“HELLO” 样,样,如下图:如下图:第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 11111+5VVcc/EARSTP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4XTAL1XTAL2GND89C51Q0Q6/OED0D6G373ag图5-5 接五个共阴极
40、数码管的动态显示接口12第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 用汇编语言编程用汇编语言编程 ORG 0000H MOV P3,#0 ;清显示;清显示 TEST:SETB P1.7 JB P1.7,DIR1 ;检测开关;检测开关 MOV DPTR,#TAB 1 ; 开关置于开关置于1,12345字形表头地址字形表头地址 SJMP DIR DIR1: MOV DPTR,#TAB2 ; 开关置于开关置于2,“HELLO”字形表头字形表头DIR: MOV R0,#0 ;R0存字形表偏移量存字形
41、表偏移量 MOV R1,#01 ;R1置数码表位选代码置数码表位选代码 NEXT:MOV A,R0 MOVC A,A+DPTR ; 查字形码表查字形码表1 MOV P1,A ;送;送P1口输出口输出 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 MOV A,R1 MOV P3,A ;输出位选码;输出位选码 ACALL DAY ;延时;延时 INC R0 ;指向下一位字形;指向下一位字形 RL A ;指向下一位;指向下一位 MOV R1,A CJNE R1,#20H,NEXT ;五个五个 数码管显示完数码管显示完? SJMP TEST DAY:MOV R6,#20 ;
42、 延时延时20ms子程序子程序DL2: MOV R7,#7DH 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 DL1: NOP NOP DJNZ R7,DL1 DJNZ R6,DL2 RET TAB1:db 06H,5BH,4FH,66H,6DH ; “15”的字形码的字形码TAB2:db 78H,79H,38H,38H,3FH ; “HELLO”的字形码的字形码 END 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 4.1.3.24.1.3.2用并行口设计键盘电路用并行口设计键盘电路 键盘是计算机系统中不可缺少的输入设备,键盘是计算机系
43、统中不可缺少的输入设备,当按键少时可接成线性键盘当按键少时可接成线性键盘( (如图如图5.35.3中的按键中的按键 ) ),当按键较多时,这样的接法占用口线较多。将按当按键较多时,这样的接法占用口线较多。将按键接成矩阵的形式,可以节省口线,例如两个接键接成矩阵的形式,可以节省口线,例如两个接口可按口可按8 8* *8 8的形式接的形式接6464个按键。每个按键有它的行个按键。每个按键有它的行值和列值,行值和列值的组合就是识别这个按键值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口的编码。矩阵的行线和列线分别通过两并行接口和和CPUCPU通信。每个按键的状态同
44、样需变成数字量通信。每个按键的状态同样需变成数字量“0”0”和和“1”1”,开关的一端通过电阻接,开关的一端通过电阻接Vcc(Vcc(列列) )、而接地是通过程序输出数字而接地是通过程序输出数字“0”0”实现的。实现的。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 键盘处理程序的任务是:键盘处理程序的任务是:确定有无键按下;确定有无键按下;判哪一个键按下,判哪一个键按下, 键的功能是什么;键的功能是什么;还要消除按键在闭合或断开时的抖动。还要消除按键在闭合或断开时的抖动。 两个并行口中,一个输出扫描码,两个并行口中,一个输出扫描码, 使按键使按键逐行动态接地逐行动
45、态接地( (称行扫描称行扫描) ),另一个并行口输入按,另一个并行口输入按键状态键状态( (称回馈信号,键盘的列值称回馈信号,键盘的列值) ), 由行扫描由行扫描值和回馈信号共同形成键编码而识别按键、通过值和回馈信号共同形成键编码而识别按键、通过软件查表,查出该键的功能。也可由硬件编码器软件查表,查出该键的功能。也可由硬件编码器完成键的编码。完成键的编码。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 下图中,用下图中,用8XX518XX51的并行口的并行口P1P1接接4 44 4矩阵键盘,以矩阵键盘,以P1.0P1.0P1.3P1.3作输出作输出线,以线,以P1.4
46、P1.4P1.7P1.7作输入线,键盘扫描程序的流程如图作输入线,键盘扫描程序的流程如图5.75.7所示。所示。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 EE DE BE 7E ED DD BD 7D EB DB BB 7B E7 D7 B7 77 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 Y返回键编码返回键编码读读P1.3P1.4值值置行扫描初值置行扫描初值扫描位从扫描位从P1口输出口输出P1口的高四位和低四位口的高四位和低四位相或得键编码相或得键编码扫到最后一行扫到最后一行?NN(有键按下)有键按下)N开始开始P1.0P1.
47、3输出输出0延时去抖动延时去抖动P1.4P1.7全为全为1?P1.4P1.7全为全为1?YYY(无键按下无键按下)第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 对键盘的程序流程图对键盘的程序流程图5.7说明如下说明如下: 当当P1.0P1.3输出输出0时,如无键按下,时,如无键按下,P1.4P1.7的输入值均为的输入值均为“1”,如果其中有一个不是,如果其中有一个不是 “1”,说明有键按下,再使说明有键按下,再使P1.0P1.3逐个输出零逐个输出零(行扫行扫描描),检查,检查P1.4P1.7的输入值有的输入值有 无零,从而查出是无零,从而查出是哪行哪列的键按下。在判
48、按键时,按键有抖动,可哪行哪列的键按下。在判按键时,按键有抖动,可采用延时后再重读以跳采用延时后再重读以跳 过抖动时段过抖动时段(也可用也可用R-S触发触发器闩锁电路硬件消抖,但这样电路复杂,在矩阵键器闩锁电路硬件消抖,但这样电路复杂,在矩阵键盘中不采用盘中不采用)。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 程序清单如下:程序清单如下: ORG 0000H TEST: MOV P1,#0F0H ; P1.0P1.3输出输出0, P1.4P1.7输出输出1,作输入位作输入位 MOV A,P1 ;读键盘,检测有无键按下;读键盘,检测有无键按下ANL A,#0F0H
49、; 屏蔽屏蔽P1.0P1.3,检测,检测P1.4P1.是否全为是否全为1 CJNE A, #0F0H,HAVE ; P1.4P1.7不全为不全为1,有键按下,有键按下SJMP TEST ;P1.4P1.7全为全为1,无键按下,重检测键盘,无键按下,重检测键盘HAVE: MOV A,#0FE ;有键按下,逐行扫描键盘,置扫描初值;有键按下,逐行扫描键盘,置扫描初值 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 NEXT: MOV B,A ;扫描码暂存于;扫描码暂存于BMOV P1,A ;输出扫描码;输出扫描码READ: MOV A,P1 ;读键盘;读键盘ANL A,#
50、0F0H ; 屏蔽屏蔽P1.0P1.3, 检测检测P1.4P1.是否全为是否全为1CJNE A,0F0H,YES ;P1.4P1.7不全为不全为1, 该行有键按下该行有键按下MOV A,B ;被扫行无键按下,准备查下一行;被扫行无键按下,准备查下一行RL A ;置下一行扫描码;置下一行扫描码CJNE A,#0EFH,NEXT ;未扫到到最后一行循环;未扫到到最后一行循环YES: ACALL DAY ;延时去抖动;延时去抖动第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 AREAD: MOV A,P1 ;再读键盘;再读键盘ANL A,#0F0H ; 屏蔽屏蔽P1.0P1
51、.3,保留,保留P1.4P1.7(列码列码)MOV R2,A ;暂存列码;暂存列码MOV A, B ANL A,#0FH ;取行扫描码;取行扫描码ORL A,R2 ;行码、列码合并为键编码;行码、列码合并为键编码YES1: MOV B,A ;键编码存于;键编码存于BLJMP SAM38 ;转键分析处理程序(见例;转键分析处理程序(见例3-8)第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 例如图例如图5-6中的中的“a”键,当行扫描值键,当行扫描值sccode=feH=11111110B,读入列值到,读入列值到P1口和口和f0H相与相与即保即保 留高四位读入值,屏蔽了
52、低四位,再和留高四位读入值,屏蔽了低四位,再和0fh相或相或得得recole=dfH=11011111B. sccode+ recode=00100001B,所以,所以“a”键的编码键的编码21H,此值是,此值是A的键码,同样可得的键码,同样可得“5” 键编码为键编码为01000100B即即44H,由此可将每个按键的编码排出来,由此可将每个按键的编码排出来,通过查表程序转不同的按键处通过查表程序转不同的按键处 理程序。此程序部分理程序。此程序部分请读者自行编出。该程序同样可用汇编语言编出。请读者自行编出。该程序同样可用汇编语言编出。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片
53、机的中断系统 4.1.4 4.1.4 并行接口小结并行接口小结 1. 1. 四个并行口均可作为输入输出接口使用,但又有各自的特四个并行口均可作为输入输出接口使用,但又有各自的特点。因点。因POPO口是数据线和低八位的口是数据线和低八位的 地址线,因此不用它作输地址线,因此不用它作输入入/ /输出接口,而是用它传输数据和低八位的地址信息,除输出接口,而是用它传输数据和低八位的地址信息,除非在不非在不 接其他外围芯片的情况下才作接其他外围芯片的情况下才作I/OI/O接口使用,此时由接口使用,此时由于内部漏极开路,需外接上拉电阻。四个口的使用特点是本于内部漏极开路,需外接上拉电阻。四个口的使用特点是
54、本章的重点。章的重点。 并行接口是单片机用得最多的部分,可直接接外部设备并行接口是单片机用得最多的部分,可直接接外部设备( (要注意电平的匹配要注意电平的匹配) )。本章以最简单。本章以最简单 的实验室最容易实现的外的实验室最容易实现的外部设备部设备开关和发光二极管为例说明并行口的应用设计,其他开关和发光二极管为例说明并行口的应用设计,其他外设外设 的测控原理与其一样。的测控原理与其一样。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 3. 3. 在应用设计中应理解,计算机内由数字电路组成只存在两种在应用设计中应理解,计算机内由数字电路组成只存在两种TTLTTL电平,
55、高电平电平,高电平3.53.55V5V和低和低 电平电平0V0V,对应着的数字为,对应着的数字为“1”1”和和“0”0”。 外设的状态要通过电路转换成高、低电平,计算机才能识外设的状态要通过电路转换成高、低电平,计算机才能识别别( (如开关电路如开关电路) )。 计算机输出数据计算机输出数据“1”1”即输出即输出3.5V3.5V5V5V,输出数据,输出数据“0”0”即即输出输出0V0V,根据外设需要的电平要求,根据外设需要的电平要求 输出输出“1”1”或或“0”0”数据,数据,这就是程序控制外设的本质。这就是程序控制外设的本质。 2. 2. 当并行口作为输入口使用时,应对所用的口线写当并行口作
56、为输入口使用时,应对所用的口线写“1”1”,使,使其内部的驱动场效应管截止其内部的驱动场效应管截止 ,防止误读。写,防止误读。写“1”1”以后不影响以后不影响读引脚指令,因为读入的信息是经缓冲器读引脚指令,因为读入的信息是经缓冲器2( 2(见图见图5.1)5.1)进入进入C PUC PU的,而不是读的锁存器。的,而不是读的锁存器。第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 在在CPU和外设交换信息时,存在着快速和外设交换信息时,存在着快速CPU和慢速和慢速外设间的矛盾,机器内部有时也可能出现突发事件,为外设间的矛盾,机器内部有时也可能出现突发事件,为此,计算机中通
57、常采用中断技术。此,计算机中通常采用中断技术。中断中断 CPU和外设并行工作,当外设数据准备好和外设并行工作,当外设数据准备好( 或有某种或有某种突发事件发生突发事件发生)时向时向CPU提出请求,提出请求,CPU暂停正在执行的暂停正在执行的程序转而为该外设服务程序转而为该外设服务(或处或处 理紧急事件理紧急事件),处理完毕再,处理完毕再回到原断点继续执行原程序。回到原断点继续执行原程序。中断源中断源 引起中断的原因引起中断的原因,中断申请的来源,中断源可以是中断申请的来源,中断源可以是4.2 MCS51单片机的中断系统单片机的中断系统第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片
58、机的中断系统 I/O设备、故障、时钟、调试中人为设置。设备、故障、时钟、调试中人为设置。中断优先级中断优先级 当有多个中断源同时当有多个中断源同时 向向CPU申请中断时,申请中断时,CPU优优先响应最需紧急处理的中断请求,处理完毕再响应优先响应最需紧急处理的中断请求,处理完毕再响应优先级别较低的先级别较低的 ,这种预先安排的响应次序。,这种预先安排的响应次序。 中断的嵌套中断的嵌套 在中断系统中,高优先级的在中断系统中,高优先级的 中断请求能中断正在中断请求能中断正在进行的较低级的中断源处理。进行的较低级的中断源处理。中断系统中断系统 能实现中断功能并能对中断进行管理的硬件和软能实现中断功能并
59、能对中断进行管理的硬件和软件称为中断系统。件称为中断系统。 本章将讨论本章将讨论MCS51系列单片机的中断系统。系列单片机的中断系统。 第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系统 中断请求是在执行程序的过程中的随机发生的,中中断请求是在执行程序的过程中的随机发生的,中断系统要解决的问题是:断系统要解决的问题是:1)CPU在不断的执行指令中,是如何检测到随机发生在不断的执行指令中,是如何检测到随机发生的中断请求?的中断请求?2)如何使中断的双方()如何使中断的双方(CPU方和中断源方)均能人为方和中断源方)均能人为控制,允许中断或禁止中断。控制,允许中断或禁止中断。
60、3)由于中断产生的随机性,不可能在程序中安排调子)由于中断产生的随机性,不可能在程序中安排调子程序指令或转移指令,那么如何实现正确的转移,以程序指令或转移指令,那么如何实现正确的转移,以便为该中断源服务呢?便为该中断源服务呢?4)中断源有多个,而)中断源有多个,而CPU只有一个,当有多个中断源只有一个,当有多个中断源同时有中断请求时,用户怎么控制同时有中断请求时,用户怎么控制 CPU 按照自己的按照自己的需要安排响应次序?需要安排响应次序?5)中断服务完毕,如何正确地返回到原断点处?)中断服务完毕,如何正确地返回到原断点处?第第4章章 并行接口并行接口P0P3和单片机的中断系统和单片机的中断系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考专业(电子商务)市场营销(三)-商法(二)参考题库含答案解析(5卷)
- 2025年学历类自考专业(电子商务)互联网数据库-市场信息学参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)法理学-公司法参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)国际法-房地产法参考题库含答案解析(5卷)
- 2025年学历类自考专业(法律)保险法-法律文书写作参考题库含答案解析(5卷)
- 2025年学历类自考专业(国贸)国际运输与保险-世界市场行情参考题库含答案解析(5卷)
- 2025年亚马逊AWS云服务合同范本参考
- 2025年学历类自考专业(公共关系)公共关系策划-新闻学概论参考题库含答案解析(5卷)
- 2025年学历类自考专业(公共关系)传播学概论-公共关系口才参考题库含答案解析(5卷)
- 2025仓库代存协议书范文仓库货物储藏合同仓库代保管协议
- 外墙翻新施工方案
- 交运交通运输工程课件道路交通安全
- 胆管空肠吻合术护理查房课件
- 结核病防治知识培训
- 《生理学》课程标准
- 千字文-带拼音A4完美打印版
- 主动脉夹层-课件
- 胸痹的中西医治疗课件
- 心理健康教育活动课《学习加油站》
- 中国邮政储蓄银行理财考试真题模拟汇编(共542题)
- 总经理助理岗位竞聘PPT范文-竞聘总经理助理演讲稿
评论
0/150
提交评论