《单片机IO口扩展PPT》由会员分享,可在线阅读,更多相关《单片机IO口扩展PPT(79页珍藏版)》请在金锄头文库上搜索。
1、单单片片机机内内资资源源少少,容容量量小小,在在进进行行较较复复杂杂过过程程的的控控制制时时,它它自自身身的的功功能能远远远远不不能能满满足足需需要要。为为此此,应应扩展其功能。扩展其功能。89C51单片机的扩展性能较强,根据需要,单片机的扩展性能较强,根据需要,可扩展:可扩展:ROM、RAM;定时定时/计数器;计数器;并行并行I/O口、口、串行口;串行口;中断系统扩展等。中断系统扩展等。1 89C51 89C51单片机最小系统单片机最小系统一、一、8951硬件最小系统硬件最小系统对于片内有对于片内有ROM型单片机,其自身可以构成最小系统型单片机,其自身可以构成最小系统该系统的资源如下:该系统
2、的资源如下:4KBROM,256BRAM;五源中断系统;五源中断系统;两个十六位加一定时两个十六位加一定时/计数器;计数器;一个全双工串行一个全双工串行UART;四个并行四个并行I/O口。口。2三总线的概念三总线的概念: :地址总线地址总线AB,P0口提供(口提供(A7A0););P2口提供(口提供(A15A8),共),共16位。位。数据总线数据总线DB,P0口提供(口提供(D7D0),共),共8位。位。控制总线控制总线CB,ALE、等。等。3复习:复习: 存储器的扩展存储器的扩展一、三总线的连接一、三总线的连接 1、数据线的连接、数据线的连接P0口的八位线承担此任,此时不用外接上拉电阻。口的
3、八位线承担此任,此时不用外接上拉电阻。2、地址线的连接、地址线的连接P0口承担地址低八位线,口承担地址低八位线,A0A7;P2口承担地址高八位线。口承担地址高八位线。A8A15。注意:注意:P0口线地址口线地址/数据分时复用,需用地址锁存器数据分时复用,需用地址锁存器74LS373锁存地址。锁存地址。43、控制线的连接、控制线的连接对存储器来讲控制线无非是:芯片的对存储器来讲控制线无非是:芯片的选通选通控制、控制、读写读写控制。控制。单片机与外部器件数据交换要遵循两个重要原则单片机与外部器件数据交换要遵循两个重要原则:一是,地址唯一性,一个单元一个地址。一是,地址唯一性,一个单元一个地址。二是
4、,同一时刻,二是,同一时刻,CPU只能访问一个地址,即只能与一只能访问一个地址,即只能与一个单元交换数据。个单元交换数据。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。5读读/写写:CPU向外部设备发出的读向外部设备发出的读/写控制命令。写控制命令。EPROM:/OE/PSENSRAM:/WE/WR/OE/RD选通选通:CPU与器件交换数据或信息,需先发出选通信号与器件交换数据或信息,需先发出选通信号/CE或或/CS,以便选中芯片。,以便选中芯片。6二、存储器地址编码二、存储器地址编码SRAM6116:“16”2K8b=2KB21210=2
5、11即即6116有有11根地址线。根地址线。地址空间:地址空间:A10A9A8A7A6A5A4A3A2A1A0最低地址:最低地址:000000000000000H最高地址:最高地址:111111111107FFHMCS-51单片机寻址范围:单片机寻址范围:64KB26210=216即即16位地址线位地址线地址空间:地址空间:A15A14A13A12A11A10A9A8A7A0单片机单片机A10A9A8A7A0611625=322KB7上式中:上式中:“”表示表示0或或1。即单片机地址空间中包含有即单片机地址空间中包含有32个个2KB。某片。某片6116占据的是哪占据的是哪2KB不能确定不能确定
6、地址浮动。地址浮动。只只有有限限定定A15A11的的取取值值才才能能确确定定6116在在系系统统中中的的地地址址范范围围。如如,P2.6=0,选选中中6116的的/CS线线。设设P2.7P2.5P2.4P2.3假定全为假定全为1则则:6116地址范围是地址范围是B800HBFFFH。同理,同理,P27P25P24P23假定全为假定全为0则:则:6116地址范围是地址范围是0000H07FFH;再设再设P27选中选中6116(设(设P26P25P24P23全为全为1) 则:地址范围是则:地址范围是7800H7FFFH823=88KB可见:存储器芯片在系统中地址分布由两个因素决定:可见:存储器芯片
7、在系统中地址分布由两个因素决定:一是,芯片本身的地址线(与容量有关)一是,芯片本身的地址线(与容量有关)二是,芯片选通信号的获得方式。二是,芯片选通信号的获得方式。扩扩展展存存储储器器时时,总总是是让让单单片片机机低低位位地地址址与与存存储储器器芯芯片片地地址址线线相相接接;而而让让单单片片机机剩剩余余的的高高位位地地址址线线(在在P2口口)常常作作为为片片选选信信号号线。线。这种方法对这种方法对SRAM、EPROM、扩展、扩展I/O芯片、外设同样适用。芯片、外设同样适用。P25=0时,选中时,选中2764;“64”8K8b=23210=213A15A14A13A12A11A098-3 8-3
8、 并口的扩展方法并口的扩展方法并口扩展常用三种方法:并口扩展常用三种方法:1、利用、利用TTL、CMOS集成电路来扩展集成电路来扩展2、利用单片机串口扩展、利用单片机串口扩展3、利用可编程并行接口芯片来扩展、利用可编程并行接口芯片来扩展10一、利用一、利用TTLTTL、CMOSCMOS集成电路来扩展集成电路来扩展1、用锁存器扩展简单的、用锁存器扩展简单的8位输出口位输出口8951P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0/WR74LS377/ED7Q7D6Q6D5Q5D4Q4D3Q3D2Q2D1Q1D0Q0/CP输出设备输出设备D7D6D5D4D3D2D1D011
9、74LS377为为8D锁存器,八入八出,一时钟锁存器,八入八出,一时钟CP,一锁存允许,一锁存允许/E。/E=0时,时,CP的上升沿,输入数据并锁存。的上升沿,输入数据并锁存。MOVDPTR,#7FFFH;指向;指向74LS377MOVA,#data;取输出的数据;取输出的数据MOVXDPTR,A;通过;通过74LS377送出数据送出数据P2.7接接/E,所以,所以,74LS377的口地址为的口地址为7FFFH。P0口是数据总线口,作口是数据总线口,作I/O口用时只能分时使用,为此,输出口用时只能分时使用,为此,输出数据时需要锁存数据时需要锁存。122、用锁存器扩展简单的八位输入口、用锁存器扩
10、展简单的八位输入口外设与单片机在传输数据速度上存在着一定的差异,为了外设与单片机在传输数据速度上存在着一定的差异,为了保证数据能被单片机正确地接收,应采取以下电路:保证数据能被单片机正确地接收,应采取以下电路:输入设备输入设备STBIN7IN6IN5IN4IN3IN2IN1IN08951P2.6P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS373GQ7D7Q6D6Q5D5Q4D4Q3D3Q2D2Q1D1Q0D013在在STB的下降沿的下降沿,将数据锁存入将数据锁存入74LS373/E控制着控制着74LS373的输出的输出,由由P2.6和和/RD相或控制相或控制,所以所
11、以,74LS373的口地址为的口地址为BFFFH。例、设将上图例、设将上图74LS373中数据送入中数据送入8951片内数据存储器中首地片内数据存储器中首地址为址为50H的数据区。写出相应中断系统初始化及中断服务程序。的数据区。写出相应中断系统初始化及中断服务程序。中断系统初始化程序:中断系统初始化程序:PINT:SETBIT0;/INT0选为下降沿触发方式选为下降沿触发方式SETBEA;CPU开中断开中断MOVR0,#50H;置数据区首址;置数据区首址SETBEX0;/INT0中断允许中断允许14中断服务程序:中断服务程序:ORG0003HPINT0:AJMPINT0ORG1000HINT0
12、:MOVDPTR,#0BFFFH;指向;指向74LS373扩展输入口扩展输入口MOVXA,DPTR;8031读入数据读入数据MOVR0,A;输入数据送数据区输入数据送数据区INCR0RETI153、用三态门扩展、用三态门扩展8位输入并行口位输入并行口74LS244是是8位三态门,当位三态门,当/1G、/2G均为低电平时,允许输入数均为低电平时,允许输入数据;否则,为高阻态。据;否则,为高阻态。输入设备输入设备IN7IN6IN5IN4IN3IN2IN1IN08951P2.6P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS2441Y11A11Y21A21Y31A31Y41A
13、42Y12A12Y22A22Y32A32Y42A416二、用串行口扩展并行二、用串行口扩展并行I/O接口接口如果串口别无他用,则可让其工作于方式如果串口别无他用,则可让其工作于方式0,来扩展一个或多个,来扩展一个或多个8位并行位并行I/O口口1、用、用74LS165扩展并行扩展并行I/O口口8951P3.0P3.1P1.0HGFEDCBAQHSIN/QH74LS165(1)S/LMCPHGFEDCBAQHSIN/QH74LS165(2)S/LMCPD0.D7D0.D71774LS165是是8位并入、串出移位寄存器。位并入、串出移位寄存器。其中,其中,CP为移位脉冲输入端;为移位脉冲输入端;S/
14、L为移位为移位/装入端,以装入端,以P1.0控制。控制。两片两片74LS165的首尾相连,即的首尾相连,即QH与与SIN相连。相连。例、从上图两个八位并行口读入例、从上图两个八位并行口读入20H组(每组两个字节)字节组(每组两个字节)字节数据,并把它们转存到内部数据,并把它们转存到内部RAM(首址为(首址为30H)的数据区中。)的数据区中。解:以解:以PSW中的用中的用F0位来标志接收一组数中的前位来标志接收一组数中的前8位与后位与后8位,位,74LS165(1)并行口输入数据时,置)并行口输入数据时,置F0为为1;74LS165(2)并行口输入数据时,置)并行口输入数据时,置F0为为0;P1
15、.0高、低变化一次,就控制并行数据装入一次,即串行高、低变化一次,就控制并行数据装入一次,即串行口应接收到口应接收到2个个8位数据(一组)。位数据(一组)。串口工作在方式串口工作在方式0,波特率为,波特率为fosc/12=1Mb/s。18MOVR7,#20H;读入字节数组;读入字节数组MOVR0,#30H;内部;内部RAM数据区首址数据区首址SETBF0;假定;假定74LS165(1)先读入)先读入RCV0:CLRP1.0;165装入数据装入数据SETBP1.0;允许;允许165串行移位串行移位RCV1:MOVSCON,#00010000B;串行口设定;串行口设定STP:JNBRI,STP;等
16、待接收完一个八位数;等待接收完一个八位数CLRRI不胜数不胜数;清;清RI标志,以备下次接收标志,以备下次接收MOVA,SBUF;串口接收数据;串口接收数据198951P3.0P3.1P1.0ABCDEFGHAB74LS164(1)/CRCPABCDEFGHAB74LS164(2)/CRCPD7.D0D7.D02、用、用74LS164扩展并行输出口扩展并行输出口74LS164是是8位串入、并出移位寄存器,其中,位串入、并出移位寄存器,其中,CP为移位脉冲输为移位脉冲输入端;入端;/CR为清除端。为清除端。20上图接法中,由于移位寄存器无并行输出控制,在串行输入过上图接法中,由于移位寄存器无并行
17、输出控制,在串行输入过程中,其输出状态会不断变化,故在某些使用场合下,在程中,其输出状态会不断变化,故在某些使用场合下,在74LS164的输出端应加接输出三态门控制,以便保证串行输入的输出端应加接输出三态门控制,以便保证串行输入结束后再输出并行数据。结束后再输出并行数据。21小结:为什么要扩展并行小结:为什么要扩展并行I/O口?口?扩展并行扩展并行I/O口常用的三种方法是什么?口常用的三种方法是什么?用串口扩展时,串口应工作在方式几?用串口扩展时,串口应工作在方式几?228-4 8-4 可编程并行接口芯片可编程并行接口芯片8255A8255A一、一、8255A的结构和操作方式的结构和操作方式1
18、、8255A的组成及引脚的组成及引脚引脚图引脚图:23组成:24P2.7P089518951ALE/RD/WRRST/EA74LS37374LS3731D8D2Q1QG/OC/CS8255A8255APA0PA7A1A0PC7PC0D0D7/RD/WRRESET微型打印机微型打印机微型打印机微型打印机DB0DB7BUSY/STB8 888 825分三部分:分三部分: 总线接口部分;内部逻辑部分总线接口部分;内部逻辑部分;外设接口部分外设接口部分(1)总线接口部分)总线接口部分/CS片选线片选线A1、A0端口选择线(选片内四个端口寄存器)端口选择线(选片内四个端口寄存器)输入输入/RD读信号线读
19、信号线/WR写信号线写信号线(2)内部逻辑部分)内部逻辑部分PAPC7PC4A组控制电路组控制电路控制控制8255A工作方式工作方式PB二者合一成为端口控制寄存器。二者合一成为端口控制寄存器。PC3PC0B组控制电路组控制电路26(3)外设接口部分)外设接口部分可由编程决定三个端口的功能可由编程决定三个端口的功能输入输入输出输出其它其它A口口8位锁存位锁存/缓冲缓冲8位锁存位锁存双向双向B口口8位锁存位锁存/缓冲缓冲8位缓冲位缓冲C口口8位锁存位锁存/缓冲缓冲8位缓冲位缓冲可分成两组分别作可分成两组分别作A 口、口、B口的选通联络线口的选通联络线272、8255A的端口操作的端口操作A1A0选
20、中选中00PA口口01PB口口10PC口口11控制控制2 2 寄存寄存3 3 器器28二、二、8255A的工作方式及方式选择的工作方式及方式选择1、8255A的工作方式的工作方式(1)方式)方式0基本输入基本输入/输出方式输出方式A口、口、B口、口、C口均有此方式,无选通,口均有此方式,无选通,是单片机与外部设备之间的直接数据通道。是单片机与外部设备之间的直接数据通道。(2)方式)方式1选通输入选通输入/输出方式输出方式仅仅PA口、口、PB口有此方式,口有此方式,PC口中若干位作联络信号线,口中若干位作联络信号线,2930各联络信号线的意义各联络信号线的意义:/STB输入选通信号,外设发来。输
21、入选通信号,外设发来。IBF输入缓冲器满信号,发给外设(通知外输入缓冲器满信号,发给外设(通知外设数据未被取走,暂不能接收新数据)设数据未被取走,暂不能接收新数据)INTR中断请求信号,外部设备发给单片机中断请求信号,外部设备发给单片机INTE中断允许信号中断允许信号/OBF输出缓冲器满信号,发给外设(单片机将数据已送输出缓冲器满信号,发给外设(单片机将数据已送到指定口,外部设备可以取走)到指定口,外部设备可以取走)/ACK外设响应信号,由外部设备发来(数据已送到外部外设响应信号,由外部设备发来(数据已送到外部 设备)设备)31(3)方式)方式3双向方式双向方式仅仅PA口有此方式。口有此方式。
22、PC3PC7作联络线作联络线此时,此时, PB口可以是方式口可以是方式0;也可以是方式;也可以是方式1(PC0PC1作联络线)。作联络线)。2、8255A的方式控制字的方式控制字用编程方法向用编程方法向8255A的控制口写控制字,可决定它的工作的控制口写控制字,可决定它的工作方式。方式。有两个控制字:有两个控制字: (1)方式选择控制字)方式选择控制字1 D6D5D4D3D2D1D032“ 1”“ 1”方式控制标志位方式控制标志位D6、D5决定决定A组的工作方式,组的工作方式,00方式方式001方式方式11方式方式2D4A口的传输方向,口的传输方向,1入,入,0出。出。D3PC7PC4的传输方
23、向,的传输方向,1入,入,0出。出。D2决定决定B组的工作方式,组的工作方式,0方式方式0,1方式方式1。D1B口的传输方向,口的传输方向,1入,入,0出。出。D0PC3PC0传输方向,传输方向,1入,入,0出。出。33(2 2)PCPC口置位口置位/ /复位控制字复位控制字0D6D5D4D3D2D1D0“0”标志位。标志位。D6、D5不使用位。不使用位。D3、D2、D1位选择位,位选择位,000111分别对应分别对应PC7PC0。D0位状态位,位状态位,1置位,置位,0复位。复位。34三、三、89518951和和8255A8255A的连接及应用的连接及应用单片机单片机8255AA0A0A1A
24、1A15A2中任一线中任一线/CSP0D7D0/RD/RD/WR/WRRSTRESET35上图中,地址线连接采用线选法。上图中,地址线连接采用线选法。8255A的地址分布:的地址分布:A15A14A13A8A7A1A000000000000H010001H100002H110003H或或01111007FFCHPA017FFDHPB107FFEHPC117FFFH控制控制36例例、设设单单片片机机8851与与微微型型打打印印机机之之间间的的数数据据传传送送采采用用查查询询方方式式。要要求求将将存存放放在在8951单单片片机机内内RAM中中以以30H为为首首地地址址的的64个连续单元中的内容打印
25、输出,试编程。个连续单元中的内容打印输出,试编程。P2.7P089518951ALE/RD/WRRST/EA74LS37374LS3731D8D2Q1QG/OC/CS8255A8255APA0PA7A1A0PC7PC0D0D7/RD/WRRESET微型打印机微型打印机微型打印机微型打印机DB0DB7BUSY/STB8 888 837解解:因为:因为PC0连接连接BUSY,所以,所以,PC3PC0为输入为输入又因又因PC7连接连接/DATASTROBE,所以,所以PC7PC4为输出,为输出,STROBE表示重复的意思。表示重复的意思。/DATASTROBE数据选通信号。作用是通知打印机,数据选通
26、信号。作用是通知打印机,8255A要给它传数。要给它传数。PA口输出,口输出,PB口未用。口未用。故故8255A的控制字可设为:的控制字可设为:10000001B=81H38PA口地址:口地址:7FFCHPB口地址:口地址:7FFDHPC口地址:口地址:7FFEH控制口:控制口:7FFFHORG 1000HPRINT:MOVDPTR,#7FFFH;控制口地址;控制口地址MOVA,#81H;控制字;控制字MOVXDPTR,A;写入控制字;写入控制字MOVR1,#30H;数据指针;数据指针MOVR2,#40H;64个数个数39NEXT:MOVDPTR,#7FFEH;PC口地址口地址MOVA,#80
27、H;使;使PC7为高电平为高电平MOVXDPTR,A;输出;输出/DATASTROBE为为;高电平;高电平;无效,不准备送数;无效,不准备送数WAIT:MOVXA,DPTR;查询打印机状态;查询打印机状态JBACC.0,WAIT;若;若PC0即即BUSY=1忙,则等待忙,则等待MOVDPTR,#7FFCH;若;若BUSY=0空闲,则指向空闲,则指向PA口口MOVA,R1;输出数据;输出数据MOVXDPTR,AMOVDPTR,#7FFEH库库;指向;指向PC口口MOVA,#00H;8255A输出输出/DATASTROBE信号信号;通知打印机,给它传数。;通知打印机,给它传数。40MOVXDPTR
28、,AACALLPDELAY;调延时子程序,以形成一个宽度;调延时子程序,以形成一个宽度;定时值的负脉冲为;定时值的负脉冲为INCR1DJNZR2,NEXT;判断打印输出完成否?;判断打印输出完成否?SJMP$PDELAY:(延时程序略):(延时程序略)END41小结:小结:1、8255A有几个并行有几个并行I/O口?几种工作方式?口?几种工作方式?2、工作方式控制字、置位、工作方式控制字、置位/复位控制字是如何定义的?复位控制字是如何定义的?428-5 8-5 可编程并行接口芯片可编程并行接口芯片81558155 包括:包括:256B静态静态RAM;2个个8位和位和1个个6位可编程并行位可编程
29、并行I/O口;口;1个个14位定时器(减位定时器(减1计数);计数);1个个8位地址锁存器;位地址锁存器;一些控制逻辑电路等。一些控制逻辑电路等。43一、引脚一、引脚AD0AD7地址地址/数据线。数据线。传送地址、数据、命令、状态等。传送地址、数据、命令、状态等。ALE地址锁存(输入)地址锁存(输入)IO/MIO口口/RAM选择;选择;0:选内:选内RAM;1:选内:选内IO口口/CE片选线片选线/RD、/WR读、写控制读、写控制PA7PA0A口输入口输入/输出线输出线PB7PB0B口输入口输入/输出线输出线PC5PC0C口输入口输入/输出线输出线TIMERIN定时器输入(输入定时器所需时钟)
30、定时器输入(输入定时器所需时钟)TIMEROUT定时器输出(输出所产生的方波脉冲)定时器输出(输出所产生的方波脉冲)44二、二、81558155的的RAMRAM和和I / OI / O口地址编码口地址编码包括:内包括:内RAM256B对应对应256个地址个地址命令命令/状态寄存器地址状态寄存器地址1个地址个地址PA口地址口地址1个地址个地址由由AD7AD0及及PB口地址口地址1个地址个地址IO/M决定。决定。PC口地址口地址1个地址个地址定时器低定时器低8位地址位地址1个地址个地址定时器高定时器高8位地址位地址1个地址个地址45三、三、81558155的工作方式与基本操作的工作方式与基本操作有
31、三种基本操作有三种基本操作:1、作单片机片外、作单片机片外256B数据存储器数据存储器IO/M=0,与其它数据存储器统一编址。用,与其它数据存储器统一编址。用MOVX访问。访问。2、作扩展、作扩展I/O口使用口使用IO/M=1,PA口、口、PB口、口、PC口,可通过编程决定如何使用。口,可通过编程决定如何使用。命令寄存器(命令控制字)命令寄存器(命令控制字)I/O口工作方式口工作方式状态标志寄存器状态标志寄存器PA口、口、PB口状态标志。口状态标志。46I/O口工作方式有四种:口工作方式有四种:A口、口、B口口基本基本I/O口,口,C口输入;口输入;A口、口、B口口基本基本I/O口,口,C口输
32、出;口输出;A口选通口选通I/O、B口基本口基本I/O、C口作联络线;口作联络线;A口、口、B口选通口选通I/O、C口作联络线。口作联络线。状态标志寄存器:状态标志寄存器:BF缓冲器满标志;缓冲器满标志;INTR端口中断请求标志;端口中断请求标志;INTE端口中断允许标志;端口中断允许标志;TIMER定时器中断请求。定时器中断请求。命令寄存器,只写不读命令寄存器,只写不读状态标志寄存器,只读不写状态标志寄存器,只读不写二者使用同一地址二者使用同一地址473、作定时器扩展使用、作定时器扩展使用可以通过编程决定输出可以通过编程决定输出4种信号,即有四种工作台方式种信号,即有四种工作台方式单方波;单
33、方波;连续方波;连续方波;单脉冲;单脉冲;连续脉冲。连续脉冲。由两个由两个8位寄存器,决定位寄存器,决定14位定时器计数常数及四种工作方式。位定时器计数常数及四种工作方式。由命令寄存器的最高两位对定时器进行四种控制。由命令寄存器的最高两位对定时器进行四种控制。48四、单片机与四、单片机与81558155的接口及操作软件的接口及操作软件如图连线后地址分布是:内如图连线后地址分布是:内RAM地址地址7E00H7EFFHI/O口地址:口地址:命令状态口命令状态口7F00HPA口口7F01HPB口口7F02HPC口口7F03H定时器低定时器低8位位7F04H定时器高定时器高8位位7F05H49操作软件
34、:操作软件:MOVDPTR,#RAM或或I/O口地址口地址MOVA,#欲写内容或命令字欲写内容或命令字MOVDPTR,A508-6 常用通道配置及接口基础一、按键、键盘及其接口一、按键、键盘及其接口1、按键操作存在的问题、按键操作存在的问题键抖动键抖动图图硬件消除抖动硬件消除抖动,RS触发器构成单稳电路触发器构成单稳电路软件去抖软件去抖延时延时10ms左右。左右。512、按键分类、按键分类(1)独立式按键)独立式按键单片机一条单片机一条I/O口线对应一个按键。口线对应一个按键。(2)键盘)键盘一般指矩阵式键盘。一般指矩阵式键盘。若干若干I/O口线作行线;若干口线作行线;若干I/O口线作列线,在
35、每个行列交点设口线作列线,在每个行列交点设置按键组成。置按键组成。523、按键监测方法、按键监测方法(1)监测有无键按下)监测有无键按下(中断方式或查询方式)(中断方式或查询方式)(2)按键的识别)按键的识别(哪一个键被按下)(哪一个键被按下)扫描法扫描法有键按下时,读入行或列值,有键按下时,读入行或列值,则为则为0值的行列交点的键便是。值的行列交点的键便是。线反转法院线反转法院第一步,行线输出全第一步,行线输出全0,列线输入;,列线输入;第二步,列线输出全第二步,列线输出全0,行线输入;,行线输入;输入的行值、列值均为输入的行值、列值均为0的相应键便是。的相应键便是。53二、七段二、七段LE
36、DLED显示器及接口显示器及接口1、字形码表的产生、字形码表的产生,2、显示方式、显示方式1)静态显示)静态显示2)动态显示(利用人眼的视觉暂留效应)动态显示(利用人眼的视觉暂留效应)3、接口方法、接口方法1)与单片机直接相接:取字形码表中的码值来显示。)与单片机直接相接:取字形码表中的码值来显示。2)通过硬件七段译码器相接:单片机利用口线输出十六进制数)通过硬件七段译码器相接:单片机利用口线输出十六进制数来显示。来显示。54小结:小结:8155有哪些功能?有几个并行有哪些功能?有几个并行I/O口?口?如何去除按键抖动?按键查询有几种方法?如何去除按键抖动?按键查询有几种方法?558-7 D
37、/ A8-7 D / A转换转换一、一、D/A转换的作用转换的作用图56二、二、D/A转换的重要指标转换的重要指标分辨率的定义:分辨率的定义:最小输出电压与最大输出电压所对应的数字量最小输出电压与最大输出电压所对应的数字量之比。之比。如如10位位D/A转换器:转换器:分辨率分辨率=1/(2101)=1/1023=0.001反映了反映了D/A转换的灵敏度。转换的灵敏度。三、三、D/A转换器转换器DAC083008328位分辨率位分辨率具有两个输入数据寄存器(具有两个输入数据寄存器(8位);可单缓冲、双缓冲或位);可单缓冲、双缓冲或直接输入,实现多通道直接输入,实现多通道D/A同步转换输出。同步转
38、换输出。须外接参考电压源须外接参考电压源 为电流输出型为电流输出型D/A转换器转换器571、DAC0832内部结构内部结构有有20个引脚。个引脚。2、与、与8951单片机接口及操作软件单片机接口及操作软件(1)单缓冲方式)单缓冲方式58有有20个引脚。个引脚。DI0DI7数据输入线数据输入线ILE数据允许锁存数据允许锁存/CS输入寄存器选择输入寄存器选择/WR1输入寄存器的写选通输入寄存器的写选通/WR2DAC寄存器的写选通寄存器的写选通/XREF数据传送信号数据传送信号Vref基准电源输入基准电源输入Rfb反信号输入(内有反馈电阻)反信号输入(内有反馈电阻)Iout1、Iout2电流输出电流
39、输出Vcc、AGND、DGND电源、地电源、地59完成一次完成一次D/A转换:转换:MOVDPTR,#7FFFH;DAC0832口地址口地址MOVA,#DATA;欲转换的数字量;欲转换的数字量MOVXDPTR,A;转换;转换(2)双缓冲器同步方式)双缓冲器同步方式图中:图中:P2.5选中选中DAC0832(1)P2.6选中选中DAC0832(2)输入锁存器输入锁存器P2.7控制两芯片控制两芯片/XREF同步转换同步转换603、应用、应用例例、利利用用单单片片机机及及DAC0832产产生生阶阶梯梯波波,DAC0832采采用用单单缓缓冲方式,定时冲方式,定时1ms,增幅,增幅10,10ms一循环。
40、一循环。解:解:START:MOVA,#00HMOVDPTR,#7FFFH;转换器地址;转换器地址MOVR1,#0AH;10个台阶(个台阶(10ms)(图)(图)61LOOP:MOVXDPTR,A;送欲转换数字量;送欲转换数字量CALLDL1;延时;延时1msDJNZR1,NEXT;10个台阶未完继续增幅个台阶未完继续增幅SJMPSTARTNEXT:ADDA,#10JMPLOOPDL1:MOV20H,#249DLL:NOPNOPDJNZ20H,DLLRET 如此,还可产生锯齿波,三角波等。如此,还可产生锯齿波,三角波等。628-8 A / D8-8 A / D转换转换一、常用一、常用A/D转换
41、器的转换原理转换器的转换原理1、逐次逼近式、逐次逼近式2、双积分式、双积分式63分辨率的定义:分辨率的定义:输出数字量变化一个相邻数码所需要输入模拟输出数字量变化一个相邻数码所需要输入模拟电压的变化量。用公式表示为:电压的变化量。用公式表示为:满刻度电压满刻度电压/2n(n为位数)为位数)二、二、ADC0808/08098路路8位位A/D转换器转换器采用逐次逼近式采用逐次逼近式A/D转换原理(时钟:转换原理(时钟:101280KHz) 模拟输入有模拟输入有8个通道(任一通道模拟都可以转换为一个个通道(任一通道模拟都可以转换为一个8位数字量输出)位数字量输出)641、ADC0809内部结构及引脚
42、内部结构及引脚65图中图中SAR是逐次逼近寄存器;引脚(有是逐次逼近寄存器;引脚(有28条):条):IN0IN78路模拟量输入通道的输入口;路模拟量输入通道的输入口;2-12-88位数字量输出口;位数字量输出口;START启动输入口启动输入口启动转换启动转换ALE通道地址锁存通道地址锁存EOC转换结束输出信号转换结束输出信号OE输出允许输出允许CLK时钟端时钟端ADDA、ADDB、ADDC8路模拟开关的路模拟开关的3位地址选择端位地址选择端REF(+)、)、REF(-)参电压输入端参电压输入端Vcc、GND电源、地。电源、地。662、ADC0809与与8951单片机接口设计单片机接口设计有查询
43、方式、中断方式、等待延时方式。有查询方式、中断方式、等待延时方式。片内无时钟,由单片机的片内无时钟,由单片机的ALE(fosc/6)经二分频后接入。)经二分频后接入。若若fosc=6MHz,则接入时钟为,则接入时钟为500KHz,满足:满足:101280KHz的要求。的要求。67P2.7(片选)(片选)地址码地址码输入通道输入通道CBA7FF8H0000IN07FFFH0 111IN768例例、对对通通道道IN0,采采样样一一次次,转转换换,并并将将转转换换结结果果存存到到数数据据存存储储区。区。解:解:MAIN:MOVR1,#data;存数地址;存数地址MOVDPTR,#7FF8H;P2.7
44、=0,指向,指向IN0MOVXDPTR,A;不论;不论A中为何内容都启动转换中为何内容都启动转换MOVR6,#0AH;软件延时;软件延时DLAY:NOPNOPNOPNOPNOPDJNZR6,DLAYMOVXA,DPTR;读转换结果;读转换结果MOVR1,A;存储数据;存储数据69A/D转换接口的设计转换接口的设计1、硬件连线、硬件连线70图中,图中,ALE=START=/(/WR+P2.7)OE=/(/RD+P2.7)通通道道地地址址:P27P26P20P07P0.3P0.2P0.1P0.0A15A14A8A7A3A2A1A07FFBH00007FFFH0111712、软件设计方法、软件设计方
45、法(1)延时等待方式)延时等待方式分别分别8路模拟信号轮流采样一次,并依次把结果转存路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采到数据存储区的采样转换程序如下(设数据区首地址样转换程序如下(设数据区首地址30H; 采样采用循环程序,采样采用循环程序,R7作计数器):作计数器):ORG0000HAJMPMAINORG0100HMAIN:MOVR1,#30HMOVDPTR,#7FF8HMOVR7,#08H72LOOP:MOVXDPTR,AMOVR6,#0FHDLAY:NOPNOPNOPNOPDJNZR6,DLAYMOVXA,DPTRMOVR1,AINCDPTRINCR1DJNZR7,L
46、OOPRET73(2)中断方式中断方式合合上上K1,启启动动转转换换后后,经经tEOC时时间间,EOC输输出出负负脉脉冲冲波波形形,表表示示某某通通道转换已结束,单片机可以取走数据。让八个通道轮流转换一遍。道转换已结束,单片机可以取走数据。让八个通道轮流转换一遍。ORG0000HAJMPMAIN2ORG0013HAJMPINTR1ORG0300HMAIN2:MOVR1,#30HSETBIT1;下降沿触发;下降沿触发/INT1中断中断SETBEX1;允许;允许/INT1中断中断SETBEA;开中断;开中断MOVR7,#08H;待转换的通道个数,即循环次数;待转换的通道个数,即循环次数MOVDPT
47、R,#7FF8H;指向通道;指向通道0MOVDPTR,A;启动首次转换;启动首次转换74WAIT:CJNER7,#00H,$;等待中断;等待中断CLREX1;8个通道转换完成,结束个通道转换完成,结束SJMP$ORG0500HINTR1:MOVXA,DPTR;读取转换结果;读取转换结果MOVR1,A;存数;存数INCDPTR;通道号加;通道号加1INCR1DECR7MOVXDPTR,A;启动下一次转换;启动下一次转换RETIEND75(3)查询方式查询方式启动转换后,经启动转换后,经tOEC时间后,转换结束,时间后,转换结束,EOC输出负脉冲。输出负脉冲。所所以以,启启动动转转换换后后,延延时
48、时tEOC时时间间,检检查查EOC电电平平,若若为为0说说明明仍仍在在转转换换中中,若若为为高高电电平平说说明明转转换换结结束束,书书中中只只针针对对IN0通通道模似量转换一次而编程。道模似量转换一次而编程。ADC08010804转换芯片与转换芯片与ADC0809芯片的区别是:芯片的区别是:ADC08010804是单通道模拟信号。是单通道模拟信号。76P00DB0REF+P01DB1REF-P02DB2P07DB7P27/CSVIN+/WR/WRVIN-/RD/RD/INT1INTR8951ADC0801上图中,模拟通道地址是:上图中,模拟通道地址是:7FFFH。 编程同编程同ADC0809,只是仅有一个通道。,只是仅有一个通道。77小结:小结:DAC0832的作用是什么?分辨率是多少位?的作用是什么?分辨率是多少位?ADC0809的作用是什么?有几个模拟通道?的作用是什么?有几个模拟通道?78 刚才的发言,如刚才的发言,如有不当之处请多指有不当之处请多指正。谢谢大家!正。谢谢大家!79