版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机的I/O引脚结构众多功能各异的I/O引脚源于它结构的不同单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时寻址外部程序存储器时分时分时作为作为双向双向8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口复用口;不接外部程序存储器不接外部程序存储器时可时可作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34Vcc控制控制=0 时时,输出口,开漏输出输出口
2、,开漏输出控制控制 =021DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34控制控制=0 时时,此脚作,此脚作输入口输入口(事先必须对它写(事先必须对它写“1”)00100截截止止截截止止=0Vcc单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器寻址外部程序存储器时分时作为时分时作为双向双向8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为8 8
3、位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(1)输出地址输出地址/数据数据 =0 时时1011=0导导通通截截止止=0Vcc单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口;不接外部程序存储器
4、复用口;不接外部程序存储器时可作为时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(2)输出地址输出地址/数据数据 =1 时时1100=1截截止止导导通通=1Vcc单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程序存储器时分时作为双向双向8 8位数据口位数据口和和输出低输
5、出低8 8位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口: (3)输入数据时,输入指令将使引脚与内部总线直通输入数据时,输入指令将使引脚与内部总线直通Vcc单片机的引脚(P0口)lP0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时分时作为寻址外
6、部程序存储器时分时作为双向双向8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口;不接外部程序存储器复用口;不接外部程序存储器时可作为时可作为8 8位位准双向准双向I/OI/O口口使用。使用。单片机的引脚(P1口)lP1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口口(内置内置了上拉电阻)了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻21DQCK/Q读引脚读引脚读锁存器读锁存器写锁
7、写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 1 时时110截截止止=1单片机的引脚(P1口)lP1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口口(内置内置了上拉电阻)了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 0 时时001=0导导通通单片机的引脚(P1口)lP1.0P1.0P1.7: P1.7: 准双向准双向I/O
8、I/O口(口(内置内置了上拉电阻了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输入入数据时,要先对其写数据时,要先对其写“1”110截截止止单片机的引脚单片机的引脚(P1P1口)口)lP1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口(口(内置内置了上拉电阻了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。单片机的引脚(P2
9、口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外不接外部程序存储器时可部程序存储器时可作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制引脚引脚 P2.X3内部上拉电阻内部上拉电阻Vcc21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作
10、通用输出口输出口: 输出输出=1时时110截截止止3内部上拉电阻内部上拉电阻11Vcc=1=0单片机的引脚(P2口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输出口输出口:输出输出=0时时001
11、导导通通3内部上拉电阻内部上拉电阻00Vcc=0=0单片机的引脚单片机的引脚(P2P2口)口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制=1 引脚引脚P2.X控制控制=1 时,此脚作时,此脚作高高8位地址位地址A8A15输出口:输出口:当当输出输出 =
12、1 时时10截截止止3内部上拉电阻内部上拉电阻1=1Vcc=1单片机的引脚(P2口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制=1 引脚引脚P2.X01导导通通3内部上拉电阻内部上拉电阻0=0Vcc=0控制控制=1 时,此脚作时,此脚作高高8位地址位地
13、址A8A15输出口:输出口:当当输出输出 =0 时时单片机的引脚单片机的引脚(P2P2口)口)lP2.0P2.0P2.7: P2.7: 双向双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部程序存储器时寻址外部程序存储器时输出高输出高8 8位地址位地址;不接外;不接外部程序存储器时可作为部程序存储器时可作为8 8位位准双向准双向I/OI/O口口使用。使用。单片机的引脚(P3口)lP3.0P3.0P3.7: P3.7: 双功能口双功能口(内置了上拉电阻)(内置了上拉电阻) 它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普
14、通的通用准双向通用准双向I/OI/O口口。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二功能输出引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc第二功能输入第二功能输入421DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线第二功能输出第二功能输出(WRWR,RDRD,TxDTxD)引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc4第二功能输出时,内部自动第二功能输出时,内部自动 D=1D=1111反相器反相器单片机的引脚(P3口)lP3.0P3.0P3.7: P3.7: 双功能口双功能口(内置了上拉电阻)(内置了上拉电阻
15、) 它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普通的通用准双向通用准双向I/OI/O口口。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线此端自动此端自动1 1引脚引脚 P3.X3内部上拉电阻内部上拉电阻Vcc 第二功能输入第二功能输入(RxDRxD,T0T0,T1T1,INT0INT0,INT1INT1)4第二功能输入时,信号经第二功能输入时,信号经缓冲器缓冲器4 4 直接进入内总线直接进入内总线1 11 11 10 0截截止止单片机的引脚(P3口)lP3.0P3.0P3.7: P3.7: 双功能口双
16、功能口(内置了上拉电阻)(内置了上拉电阻) 它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功能时它就是普通的能时它就是普通的通用准双向通用准双向I/OI/O口口。P3口第二功能表(P.26 表23)51单片机的4个8位的I/O口P0.0P0.0P0.7:P0.7:8 8位数据口位数据口和和输出低输出低8 8位地址位地址复用口复用口 ( (复用时是复用时是双向口双向口;不复用时也是;不复用时也是准双向口准双向口) )P1.0P1.0P1.7: P1.7: 通用通用I/OI/O口口(准双向口)(准双向口)P2.0P2.0P2.7:P2.7: 输出高输出高8 8位地址
17、位地址(用于寻址时是(用于寻址时是输出口;输出口;不寻址时是不寻址时是准双向口准双向口)P3.0P3.0P3.7: P3.7: 具有特定的第二功能具有特定的第二功能(准双向口)(准双向口)注意:注意:在不外扩在不外扩ROM/RAMROM/RAM时,时,P0P0P3P3均可作通用均可作通用I/OI/O口使用,而且口使用,而且都是都是准双向准双向I/OI/O口!口!在单片机的在单片机的I/OI/O口线不够用的情况下,可以借助口线不够用的情况下,可以借助外部器件对外部器件对I/OI/O口进行扩展。可以选用的器件很口进行扩展。可以选用的器件很多,方案也有多种。多,方案也有多种。简单简单I/OI/O扩展
18、:(锁存器扩展)扩展:(锁存器扩展)CLRCLR VCC VCC 1Q 8Q 1Q 8Q 1D 8D 1D 8D 2D 7D 2D 7D 2Q 7Q 2Q 7Q 3Q 6Q 3Q 6Q 3D 6D 3D 6D 4D 5D 4D 5D 4Q 5Q 4Q 5Q GND GND CLKCLKOEOE VCC VCC 1Q 8Q 1Q 8Q 1D 8D 1D 8D 2D 7D 2D 7D 2Q 7Q 2Q 7Q 3Q 6Q 3Q 6Q 3D 6D 3D 6D 4D 5D 4D 5D 4Q 5Q 4Q 5Q GND GND G GOEOE VCC VCC 1Q 8Q 1Q 8Q 1D 8D 1D 8D
19、2D 7D 2D 7D 2Q 7Q 2Q 7Q 3Q 6Q 3Q 6Q 3D 6D 3D 6D 4D 5D 4D 5D 4Q 5Q 4Q 5Q GND GND CLKCLK74LS27374LS37374LS374通常输出需要锁存,输入需要缓冲。通常输出需要锁存,输入需要缓冲。但并非一成不变但并非一成不变MCS-51MCS-51的总线结构的总线结构简单简单I/OI/O扩展:扩展:( (缓冲缓冲/ /驱动器扩展驱动器扩展) )单片机单片机锁存器锁存器74LS373P0.0-P0.7P2.0P2.1RDWRD0 D0 D7D7D0 D0 D7D7D0 D0 D7D7D0 D0 D7D7缓冲器缓冲器
20、74LS244& & &CLKCLKCE1CE1CE2CE2输出输出输入输入与门与门与门与门输入指令:输入指令: MOV DPTRMOV DPTR,#0100H#0100H MOVX A MOVX A, DPTRDPTR输出指令:输出指令: MOV DPTRMOV DPTR,#0200H#0200H MOVX DPTR MOVX DPTR, A A可编程并行可编程并行I/OI/O接口芯片接口芯片82558255扩展扩展I/OI/O:PA3 PA4PA3 PA4PA2 PA5PA2 PA5PA1 PA6PA1 PA6PA0 PA7PA0 PA7RD WRRD WRGNDG
21、ND D0D0A1A1 D1 D1A0A0 D2D2PC7PC7 D3 D3PC6PC6 D4 D4PC5PC5 D5 D5PC4PC4 D6 D6PC0PC0 D7 D78255PC2PC2 PB7PB7PC3PC3 PB6PB6PB0PB0 PB5PB5PB1PB1 PB4PB4PB2PB2 PB3PB3CSCS RESETRESETPC1PC1 VCCVCC82558255的基本特性与引脚:的基本特性与引脚: PAPA,PBPB,PC PC 三个三个8 8位位I/OI/O口口; ;40 PIN PCPC口分口分高高4 4位位和和低低4 4位。位。高高4 4位位 可与可与PAPA口合为一组
22、口合为一组(A(A组组),),低低4 4 位可与位可与PBPB口合为一组口合为一组(B(B组组) )。 3 3种工作方式。种工作方式。内部有内部有4 4个寄存个寄存 器,器,由由A1,A0A1,A0与与读读, ,写写信号选择。信号选择。 片选片选低有效低有效, ,复位复位高有效。高有效。 PCPC可按位置位可按位置位/ /复位。复位。 4040条引脚,条引脚,DIPDIP封装。须注意封装。须注意 VCCVCC与与GNDGND引脚的位置。引脚的位置。 一个一个8 8位的数据口位的数据口D0D0D7D7。82558255内部结构:内部结构:82558255的的PA,PB,PCPA,PB,PC口的三
23、种工作方式:口的三种工作方式: 三种方式中只有三种方式中只有方式方式 0 0 用得最多用得最多且且最容易使用最容易使用。 基本基本输入输入/ /输出方式输出方式 就是就是简单简单输入输入/ /输出方式。输出方式。 方式方式1 1 和方式和方式2 2 使用复杂使用复杂。因单片机能因单片机能自动提供自动提供 各种应答信号各种应答信号,这两种方式已这两种方式已很难见到再有人用很难见到再有人用 于单片机系统。于单片机系统。PA,PB,PCPA,PB,PC口的三种工作方式示意图:口的三种工作方式示意图:RD WR D7RD WR D7D0 D0 A1 A0A1 A0地址地址总线总线控制总线控制总线数据总
24、线数据总线A AB BC CPA0-7PA0-7PB0-7PB0-7PC4-7PC4-7PC0-3PC0-3A A组组B B组组82558255的方式的方式 0 0A AB BPA0-7PA0-7PB0-7PB0-7控制线控制线控制线控制线A A组组B B组组A AB BPA0-7PA0-7PB0-7PB0-7控制线控制线I/OI/OA A组组B B组组7 6 5 4 3 2 1 07 6 5 4 3 2 1 0PCPC口口82558255的方式的方式 1 182558255的方式的方式 2 27 6 5 4 3 2 1 07 6 5 4 3 2 1 0PCPC口口82558255的端口选择表
25、:的端口选择表:注意:注意:对对PA,PB,PCPA,PB,PC三个口的任何读三个口的任何读/ /写操作,就是对写操作,就是对 PA,PB,PCPA,PB,PC这三个寄存器进行这三个寄存器进行I/OI/O操作操作. . 第第4 4个寄存器是个寄存器是控制字寄存器控制字寄存器( (命令字寄存器命令字寄存器) ) D7 D6 D5 D4 D3 D2 D1 D0 特征位特征位=1=1A A组组方式选择方式选择0 00 0:方式:方式 0 00 10 1:方式:方式 1 11 X1 X:方式:方式 2 2A A 口口B B 口口C CL L 口口C CH H 口口B B组组方方式选择式选择=0=0,方
26、式,方式0 0=1=1,方式,方式1 1=0=0,输出,输出=1=1,输入,输入=0=0,输出,输出=1=1,输入,输入=0=0,输出,输出=1=1,输入,输入=0=0,输出,输出=1=1,输入,输入82558255控制寄存器控制寄存器接受控制命令接受控制命令, ,告诉告诉82558255以何种方式工作。以何种方式工作。其地址其地址是:是:A1,A0 = 11A1,A0 = 11。它可以接受两条命令,第一条。它可以接受两条命令,第一条命令叫命令叫“方式控制字方式控制字”,方式控制字格式如下:,方式控制字格式如下:A 组组B 组组注意:注意:对同一控制寄存器可写对同一控制寄存器可写两种两种命令命
27、令, ,故必须在命令本身用故必须在命令本身用“特征位特征位”加以区别。第二条命令的加以区别。第二条命令的特征位特征位= =0 0 D7 D6 D5 D4 D3 D2 D1 D0 特征位特征位=0=0DonDont care bitst care bits选中的选中的位将要位将要输出的输出的状态状态= 0= 0,清,清0 0= 1= 1,置,置1 182558255控制寄存器控制寄存器 可以接受的第可以接受的第2 2条命令是条命令是: :可以对可以对PCPC口按位进行口按位进行“置置1”1”和和“清清0”0”操作操作。具体命令格式如下具体命令格式如下: :(地址同样是:(地址同样是:A1,A0
28、= 11A1,A0 = 11)例如:设例如:设82558255的控制寄存器在的控制寄存器在系统中的地址是系统中的地址是: 0003H,: 0003H,要将要将PC5PC5引脚置引脚置 1 1, , 可用如下指令可用如下指令完成:完成: MOV DPTRMOV DPTR,#0003H#0003H MOV A MOV A, # #0BH0BH MOVX DPTR MOVX DPTR,A A82558255与单片机的连接:与单片机的连接:AT89C51AT89C518255825574LS37374LS373P0.0-P0.7P0.0-P0.7ALEALEP2.7P2.78D8DQ0Q0Q1Q1CS
29、CSRESETRESETA0A0A1A1D0-D7D0-D7G GEAEAOEOERESETRESETRDRDWRWRWRWRRDRD+5VPAPCPBP2.7P2.7接片选接片选/CS/CS端端,8255,8255的的( (一组一组) )寄存器地址寄存器地址可以是可以是:PAPA口口: :7000H 7000H PBPB口口: :7001H 7001H PCPC口口: :7002H 7002H 命令口命令口: :7003H7003H82558255与单片机的连接:与单片机的连接:AT89C51AT89C518255825574LS37374LS373P0.0-P0.7P0.0-P0.7ALE
30、ALE8D8DQ0Q0Q1Q1Q7Q7CSCSRESETRESETA0A0A1A1D0-D7D0-D7G GEAEAOEOERESETRESETRDRDWRWRWRWRRDRD+5VPAQ7Q7接片选接片选/CS/CS端端,8255,8255的的( (一组一组) )寄存器地址寄存器地址可以是可以是:PAPA口口: :0000H 0000H PBPB口口: :0001H 0001H PCPC口口: :0002H 0002H 命令口命令口: :0003H0003H也可以是:也可以是:00007C7CH,00H,007D7DH,00H,007E7EH,00H,007F7FH HPC7PC7PC0PC
31、0微型微型 打印机打印机82558255的编程应用的编程应用例:初始化例:初始化A A口口,B,B口口,C,C口为基本口为基本I/OI/O输出口输出口MOV DPTR,#MOV DPTR,#7003H7003H ; ;指向控制字寄存器指向控制字寄存器MOV A, #MOV A, #80H80H ; ; A,B,CA,B,C口均为输出口口均为输出口MOVX DPTR, A ;MOVX DPTR, A ;装入装入按照按照82558255控制寄存器控制寄存器方式控制字格式写命令:方式控制字格式写命令: D7 D6 D5 D4 D3 D2 D1 D0 特征位特征位=1=1A A组组方式选择方式选择0
32、00 0:方式:方式 0 00 10 1:方式:方式 1 11 X1 X:方式:方式 2 2A A 口口B B 口口C CL L 口口C CH H 口口B B组组方方式选择式选择= =0 0,方式,方式0 0=1=1,方式,方式1 1= =0 0,输出,输出=1=1,输入,输入= =0 0,输出,输出=1=1,输入,输入= =0 0,输出,输出=1=1,输入,输入= =0 0,输出,输出=1=1,输入,输入8255:8255:8255 A.B.C8255 A.B.C口输出方波口输出方波PA0输出输出PA1输出输出PA2输出输出PA3输出输出PA4输出输出PA5输出输出PA6输出输出PA7输出输
33、出PB0输出输出8255:8255: A.B.C A.B.C口输出方波口输出方波 ORG 0100HORG 0100HWAVEWAVE: MOV DPTR,#7003H ;8255 : MOV DPTR,#7003H ;8255 控制字寄存器地址控制字寄存器地址 MOV A, #MOV A, #8080H ;H ;初始化初始化A,B,CA,B,C口为基本输出口口为基本输出口 MOVX MOVX DPTR, ADPTR, A MOV A, #55H ;8 MOV A, #55H ;8位高位高/ /低电平相间输出低电平相间输出REPTREPT: MOV DPTR,#700: MOV DPTR,#7
34、000 0H ;8255 AH ;8255 A口地址口地址 MOVX MOVX DPTR, ADPTR, A INC DPTR ;8255 B INC DPTR ;8255 B口地址(口地址(7007001 1H H) MOVX MOVX DPTR, ADPTR, A INC DPTR ;8255 C INC DPTR ;8255 C口地址(口地址(7007002 2H H) MOVX MOVX DPTR, A DPTR, A LCALL DELY1S ; LCALL DELY1S ;延时延时 CPL A ;CPL A ;取反取反 SJMP SJMP RETPRETP ; ;跳到跳到REPTR
35、EPT去循环去循环LEDLED数码管的数码管的结构结构:共阳与共阴共阳与共阴 单片机系统扩展单片机系统扩展LEDLED数码管时数码管时多用多用共阳共阳LEDLED: :共阳数码管每个段笔画是用低电平共阳数码管每个段笔画是用低电平( (“0 0”) )点亮的点亮的, ,要求驱动要求驱动功率很小;而共阴数码管段笔画是用高电平功率很小;而共阴数码管段笔画是用高电平( (“0 0”) )点亮的,点亮的,要求驱动功率较大。要求驱动功率较大。 通常每个段笔画要串一个数百欧姆的通常每个段笔画要串一个数百欧姆的降压电阻降压电阻。公共公共阳阳极极h g f e d c b ah g f e d c b aa a
36、b bc cd dg ge ef fh h公共公共阴阴极极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮低电平点亮低电平点亮接高电平接高电平接地接地LEDLED数码管的数码管的译码译码:硬件译码与软件译码硬件译码与软件译码硬件译码特点硬件译码特点: :采用专用的译码采用专用的译码/ /驱动器件驱动器件, ,驱动功驱动功率较大率较大; ;增加了硬件的开销增加了硬件的开销; ;软件软件编程简单编程简单; ;字型固字型固定定( (比如比如: :只有七段只有七段, ,只可译数字只可译数字, ,
37、字型不好看字型不好看) )。共阴共阴LEDa ab bc cd dg ge ef fh hg gf fe ed dc cb b a aD DC CB BA AP1.3P1.3P1.2P1.2P1.1P1.1P1.0P1.0CD4511CD4511AT89C51AT89C5174LS48/CD451174LS48/CD4511是是“BCDBCD码码七段七段共阴共阴译码译码/ /驱动驱动”IC; IC; 74LS4774LS47是是“BCDBCD码码七段七段共阳共阳译码译码/ /驱动驱动”ICICLEDLED数码管的译码:数码管的译码:软件译码软件译码软件译码特点软件译码特点: : 不用专用的译码
38、不用专用的译码/ /驱动器件,驱动驱动器件,驱动功率较小功率较小;不增不增加加硬件的开销;软件硬件的开销;软件编程较复杂编程较复杂;字型;字型灵活灵活( (比如:比如:有八段,只可译多种字符,字型好看有八段,只可译多种字符,字型好看) )。共阳共阳LEDa ab bc cd dg ge ef fh hP1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5VAT89C51AT89C51硬件译码特点硬件译码特点: : 采用专用译码采用专用译码/ /驱动器件,驱动器件,驱动功率较大;增加了硬驱动功率较大;增加了硬件的
39、开销;软件编程简单;件的开销;软件编程简单;字型固定字型固定( (比如:只有七比如:只有七段,只可译数字,字型不段,只可译数字,字型不好看好看) )。LEDLED数码管的软件译码数码管的软件译码八段八段LEDLED数码管数码管段代码编码表段代码编码表( (连线不同可有多种表连线不同可有多种表):):公共阳极公共阳极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共阴极公共阴极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮低电
40、平点亮低电平点亮接高电平接高电平接地接地LEDLED数码管的数码管的显示方式显示方式:静态与动态静态与动态动态显示特点动态显示特点: : 有闪烁有闪烁,用,用元器件少元器件少,占占I/OI/O线少线少,必须扫描必须扫描,花费花费CPUCPU时间时间,编程复杂。编程复杂。( (有多个有多个LEDLED时尤为突出)时尤为突出)静态显示特点静态显示特点: : 无闪烁无闪烁,用,用元器件多元器件多,占占I/OI/O线多线多,无须扫描无须扫描,节省节省CPUCPU时间时间,编程简单。编程简单。静态显示静态显示: : 各数码管在显示过程中各数码管在显示过程中持续持续得到送显信号,与各数码管接口得到送显信号
41、,与各数码管接口的的I/OI/O口线口线是是专用专用的。的。动态显示动态显示: : 各数码管在显示过程中各数码管在显示过程中轮流轮流得到送显信号,与各数码管接口得到送显信号,与各数码管接口的的I/OI/O口线口线是是共用共用的。的。A AB BCLKCLKh g f e d c b ah g f e d c b aCLRCLRA AB BCLKCLKCLRCLRA AB BCLKCLKCLRCLR+5V+5VVCCVCCTxDTxDRxDRxD 89C51单片机单片机74LS16474LS16474LS164h g f e d c b ah g f e d c b ah g f e d c b
42、 ah g f e d c b a+5V+5V共阳共阳LED数码管数码管LEDLED数码管数码管静态静态显示举例显示举例有几个有几个LEDLED就要几个就要几个74LS16474LS164,但只要数据不变,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单。送一次就保持住了,且不闪烁,编程十分简单。要求:要求:根据上图编写通过串行口和根据上图编写通过串行口和74LS16474LS164驱动驱动共共 阳阳LEDLED数码管数码管查表显示的子程序。查表显示的子程序。条件:条件:系统有系统有6 6个个LEDLED数码管数码管, ,待显数据待显数据(00H(00H09H)09H)已放在已放在35
43、H35H30H30H单元中单元中( (分别对应分别对应十万位十万位个位个位) ),DSPLYDSPLY:MOV DPTR, #TABLE :MOV DPTR, #TABLE ; ;共阳共阳LEDLED数码管译码数码管译码表首址表首址 MOV R0MOV R0,#30H #30H ; ;待显数据缓冲区的待显数据缓冲区的个位个位地址地址REDOREDO:MOV AMOV A, R0 R0 ; ;通过通过R0R0实现寄存器实现寄存器间接寻址间接寻址 MOVC A, A+DPTR MOVC A, A+DPTR ; ;查表查表 MOV SBUF, A MOV SBUF, A ; ;经串行口经串行口发送发
44、送到到74LS16474LS164 JNB TI, $ JNB TI, $ ; ;查询查询送完一个字节的第送完一个字节的第8 8位?位? CLR TI CLR TI ; ;为下一字节发送为下一字节发送作准备作准备 INC R0 INC R0 ;R0;R0指向下一个指向下一个数据缓冲单元数据缓冲单元 CJNE R0CJNE R0,#36H#36H,REDO REDO ; ;判断判断是否发完是否发完6 6个数?个数? RET RET ; ;发完发完6 6个数就个数就返回返回TABLETABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 0C0H,0F9H,0A4H,0B0H,99
45、H ; ;共阳共阳LEDLED译码表译码表 DB 92H, 82H, 0F8H, 80H,90HDB 92H, 82H, 0F8H, 80H,90HLEDLED数码管数码管动态动态显示举例显示举例P1.5 P1.5 P1.4P1.4P1.3P1.3P1.2P1.2P1.2P1.2P1.0P1.0P0.7 P0.7 P0.6 P0.6 P0.5 P0.5 P0.4 P0.4 P0.3 P0.3 P0.2 P0.2 P0.1 P0.1 P0.0P0.07406 OC7406 OC门门 X 3X 3上拉上拉电阻电阻1414+5V+5VAT89C51工作原理工作原理:从从P0P0口送段代码口送段代码,
46、P1,P1口送位选信号口送位选信号。段码虽同时。段码虽同时到达到达 6 6个个LEDLED,但,但一次仅一个一次仅一个LEDLED被选中被选中。利用。利用“视觉暂视觉暂留留”,每送一个字符并选中相应位线,延时一会儿,每送一个字符并选中相应位线,延时一会儿, ,再送再送/ /选下一个选下一个循环扫描循环扫描即可。即可。共阴共阴 数码管数码管位位选选线线段段代代码码P1.5 P1.5 P1.4P1.4P1.3P1.3P1.2P1.2P1.2P1.2P1.0P1.0P0.7 P0.7 P0.6 P0.6 P0.5 P0.5 P0.4 P0.4 P0.3 P0.3 P0.2 P0.2 P0.1 P0.
47、1 P0.0P0.07406 OC7406 OC门门 X 3X 3+5V+5VAT89C51位位选选线线段段代代码码要求要求:此处为共阴数码管,此处为共阴数码管,P0P0口送段代码,口送段代码,P1P1口送位选信号。口送位选信号。通过查表实现动态显示。通过查表实现动态显示。条件条件:待显数据待显数据(00H(00H09H)09H)已放在已放在: : 7FH7FH7AH7AH单元中单元中( (分别对分别对应应十万位十万位个位个位) )说明说明:由于用了由于用了反相驱动器反相驱动器74067406,要用共阳译码表。,要用共阳译码表。共阴共阴 数码管数码管上拉上拉电阻电阻14147406 OC740
48、6 OC门门 X 3X 3+5V+5V(7FH) (7EH) (7DH) (7CH) (7BH) (7AH)十万十万 万位万位 千位千位 百位百位 十位十位 个位个位数据缓冲区数据缓冲区 / / 显示缓冲区显示缓冲区P0P0口口送段代码,送段代码,P1P1口口送位选信号。送位选信号。待显数据待显数据已经放已经放在在: : 7FH7FH7AH7AH单单元元( (分别对应分别对应十万十万位位个位个位) )使用共阳译码表使用共阳译码表。DIRDIR: MOV DPTR, : MOV DPTR, #DSEG #DSEG ; ;数码管译码数码管译码表首址表首址 MOV R0MOV R0,#7AH #7A
49、H ; ;待显缓冲区待显缓冲区个位个位地址地址 MOV R3MOV R3,#01H #01H ; ;个位的个位的位选信号位选信号=01H=01HLD1LD1: MOV AMOV A, R0 R0 ; ;通过通过R0R0间接寻址间接寻址 MOVC A, A+DPTRMOVC A, A+DPTR ; ;查表查表 MOV P0, A MOV P0, A ; ;字段码送到字段码送到P0P0口口 MOV P1MOV P1,R3 R3 ; ;字位选择送到字位选择送到P1P1口口 LCALL DELYLCALL DELY ; ;调延时调延时1ms1ms子程序子程序 INC R0 INC R0 ;R0 ;R0
50、 指向下一字节指向下一字节 MOV AMOV A,R3R3 JB ACC.5 JB ACC.5,LD2LD2 ; ;判判是否发完是否发完6 6个数?个数? RL A RL A ;R1;R1指向下一个位指向下一个位 MOV R3MOV R3,A A ; ;位选信号存回位选信号存回R1R1 SJMP SJMP LD1LD1 ; ;跳去再显示下一个数跳去再显示下一个数LD2LD2: RET RET ; ;发完发完6 6个数就个数就返回返回DSEGDSEG:DB 0C0H,0F9H,0A4H,0B0H,99HDB 0C0H,0F9H,0A4H,0B0H,99H; ;共阳译码表共阳译码表 DB 92H,
51、 82H, 0F8H, DB 92H, 82H, 0F8H, 80H80H,90H,90HP0P0口口送段送段代码,代码,P1P1口口送位选送位选信号。信号。待显数据待显数据已经放在已经放在: : 7FH7FH7AH7AH单元单元( (分别分别对应对应十万十万位位个位个位) )使用共阳使用共阳译码表译码表。动态动态显示举例显示举例 ( (循环显示循环显示“8 8”的实验的实验) )实验箱实验箱从从P0P0口扩展了两个口扩展了两个8 8位的简单位的简单I/OI/O口口: : 一个送段代码一个送段代码( (字形状字形状) ),地址是,地址是0DCH0DCH; ; 一个送位选信号一个送位选信号( (
52、字位置字位置) ),地址是,地址是0DDH0DDH。 ORG 0000HORG 0000H MOV R0,# MOV R0,#0DCH0DCH ; ;指向指向字形口字形口 MOV A, #80H ;MOV A, #80H ;送送“8 8”的字形代码的字形代码 MOVX MOVX R0,AR0,A ; ;输出字形代码输出字形代码 MOV R1,#MOV R1,#0DDH0DDH ; ;指向指向字位口字位口 MOV A,#20HMOV A,#20H ; ;从最高位开始从最高位开始LEDO:LEDO: MOVX MOVX R1,AR1,A ; ;输出字位代码输出字位代码 ACALL DEYSACAL
53、L DEYS ; ;调延时子程序调延时子程序 RR A RR A ; ;右移一位右移一位 SJMP LEDO SJMP LEDO ; ;循环显示循环显示“8 8”例:用8255A设计2位静态LED显示接口电路,PA口送高位字型PB口送低位字型,PC0、PC1分别控制高低位。LED共阳极。要求:(1)写出8255的控制字及初始化程序,假设PA口地址为4000H。 (2)写出LED上显示1,2的字型码。 (3)写出编程实现在LED上显示“12”的程序。 解答:PA口:4000H; PB口:4001H PC口:4002H; 控制口:4003H(1) 控制字=10000000B MOV DPTR,#4
54、003H MOV A,10000000B MOVX DPTR,A (2)写出LED上显示1,2的字型码。 1 F9H 或 9FH 2 A4H 或 25H(3) MOV DPTR #4003H MOV A,10000000B MOVX DPTR,A ;控制口 MOV DPTR #4000H MOV A,#0F9H MOVX DPTR,A ;A 口 INC DPTR MOV A,#0A4H MOVX DPTR,A ;B 口 INC MOV A,#03H MOVX DPTR,A ;C 口 SJMP $ 键盘键盘 单片机系统中完成控制参数输入及修改的单片机系统中完成控制参数输入及修改的基本输基本输入设
55、备入设备,是人工干预系统的重要手段。,是人工干预系统的重要手段。单片机与计算机在键盘规模单片机与计算机在键盘规模/ /键符设置等方面差别键符设置等方面差别很大。很大。键盘分类键盘分类 按键值按键值编码方式编码方式分分 ( (硬件硬件) )编码键盘编码键盘与与非非( (硬件硬件) )编码键盘编码键盘。 按键组按键组连接方式连接方式分分 独立连接键盘独立连接键盘与与矩阵连接键盘矩阵连接键盘。编码键盘编码键盘: : 采用专用的编码采用专用的编码/ /译码译码器件器件, ,被按下的键被按下的键由该器件译码输出相应的由该器件译码输出相应的键码键码/ /键值键值。特点:特点:增加了硬件开销,编码因选用器件
56、而异,编增加了硬件开销,编码因选用器件而异,编码固定,但编程简单。适用于规模大的键盘。码固定,但编程简单。适用于规模大的键盘。非编码键盘非编码键盘: : 单片机系统多采用此类键盘单片机系统多采用此类键盘 采用采用软件软件编编/ /译码的方式译码的方式, ,通过扫描,对每个被按下通过扫描,对每个被按下的键判别输出相应的的键判别输出相应的键码键码/ /键值键值。特点:特点:不增加硬件开销,编码灵活,适用于小规模不增加硬件开销,编码灵活,适用于小规模的键盘,特别是单片机系统。但编程较复杂的键盘,特别是单片机系统。但编程较复杂, ,占占CPUCPU时间,还须软件时间,还须软件“消抖消抖”。按键值编码方
57、式:编码键盘与非编码键盘按键组连接方式:独立连接键盘与矩阵连接键盘独立连接键盘独立连接键盘: : 每键相互独立,各自与一条每键相互独立,各自与一条I/OI/O线线相连,相连,CPUCPU可直接读取该可直接读取该I/OI/O线的高线的高/ /低电平状态。低电平状态。特点:特点:占占I/OI/O口线多,但判键速度快,多用于设置控口线多,但判键速度快,多用于设置控制键、功能键。适用于键数少的场合。制键、功能键。适用于键数少的场合。矩阵连接键盘矩阵连接键盘: : 键按矩阵排列键按矩阵排列, ,各键处于矩阵行各键处于矩阵行/ /列列的的结点结点处处,CPU,CPU通过对连在通过对连在行行( (列列) )
58、的的I/OI/O线送已知电线送已知电平的信号平的信号, ,然后读取然后读取列列( (行行) )线的状态信息。逐线扫描线的状态信息。逐线扫描, ,得出键码。得出键码。特点:特点:键多时键多时占用占用I/OI/O口线少口线少, ,但判键速度慢但判键速度慢, ,多用多用于设置数字键。适用于键数多的场合。于设置数字键。适用于键数多的场合。独立连接式键盘独立连接式键盘例例:特点:特点:此子程序需此子程序需不断不断( (或或定时定时) )调用调用,否则可能,否则可能漏判。漏判。4 4个键的优先级由指令顺序决定。个键的优先级由指令顺序决定。P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3KE
59、Y: JNB P1.0,FUNC1 KEY: JNB P1.0,FUNC1 ; ;逐键判别逐键判别 JNB P1.1,FUNC2 JNB P1.1,FUNC2 JNB P1.2,FUNC3 JNB P1.2,FUNC3 JNB P1.3,FUNC4JNB P1.3,FUNC4 RET RET ; ;无任何键按下由此返回无任何键按下由此返回FUNC1: FUNC1: ; ;做做P1.0P1.0要求的要求的“功能功能1 1” RET RETFUNC2: FUNC2: ; ;做做P1.1P1.1要求的要求的“功能功能2 2” RET RETFUNC3: FUNC3: ; ;做做P1.2P1.2要求的
60、要求的“功能功能3 3” RET RETFUNC4: FUNC4: ; ;做做P1.3P1.3要求的要求的“功能功能4 4” RET RETAT89C51 特点:特点:此子程序采用此子程序采用中断中断查询查询不会漏判不会漏判, ,省时。省时。键的优先级由指令键的优先级由指令顺序决定。顺序决定。为防止一次按键多为防止一次按键多次中断,在功能子程次中断,在功能子程序里应安排序里应安排“关关/ /开中开中断指令断指令”并并“延时延时”。P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3 ORG 0003H ORG 0003H LJMP KEY LJMP KEY KEY: JNB P1.0,FUNC1 KEY: JN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024工程招标合同范本
- 2024年度云服务租赁合同
- 公司春节晚会活动策划3篇
- 2024年度智能家居安防监控系统安装与维护合同
- 2024年商业物业管理合同
- 2024双方关于环保设备的买卖合同
- 2024年废物分类与回收协议
- 2024年度CFG桩基工程项目管理合同
- 2024年度产品质量保证与维修服务合同
- 2024年夫妻双方关于房产买卖及产权分配协议
- 2024版人教版英语初一上单词默写单
- 化学实验室安全智慧树知到期末考试答案2024年
- 经典房地产营销策划培训(全)
- 工人入场安全教育课件
- 【川教版】《生命 生态 安全》二年级上册第12课 少点儿马虎 多点儿收获 课件
- 人教版数学四年级上册第五单元 《平行四边形和梯形》 大单元作业设计
- 静配中心差错预防
- 送教上门体育、健康教案教学内容
- 高夫品牌市场分析报告
- 职业规划书-数字化设计与制造技术
- 国家临床重点专科建设项目申报书
评论
0/150
提交评论