版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 8.1 8.1 单片机扩展的基础知识单片机扩展的基础知识8.2 8.2 可编程并行接口芯片可编程并行接口芯片825582558.3 8.3 键盘扩展技术键盘扩展技术8.4 LED8.4 LED显示器接口技术显示器接口技术8.4 A/D8.4 A/D、D/AD/A接口技术接口技术 8.18.1单片机扩展的基础知识单片机扩展的基础知识8.1.1 I/O I/O接口电路的功能和特点接口电路的功能和特点8.1.2 I/O I/O接口电路的编址技术接口电路的编址技术8.1.3 单片机单片机I/OI/O控制方式控制方式8.1.1 I/O8.1.1 I/O接口电路的功能和特点接口电路的功能和特点I/I/O
2、接口电路的功能:接口电路的功能:1、速度协调:速度协调: 接口电路产生状态信号或中断信号,实现和外设处理速接口电路产生状态信号或中断信号,实现和外设处理速度匹配。度匹配。 对于不同速度外设的数据传输,单片机对于不同速度外设的数据传输,单片机I/OI/O口只能口只能采取异步传输方式,即只能在确认设备已经为数据的传送做采取异步传输方式,即只能在确认设备已经为数据的传送做好准备的前提下才能进行好准备的前提下才能进行I/OI/O操作,实现单片机与外设之间操作,实现单片机与外设之间的速度协调。的速度协调。单片机两类数据传送单片机两类数据传送: : 单片机和存储器单片机和存储器, ,单片机和外部设备单片机
3、和外部设备单片机和存储器单片机和存储器: :电路和信号形式相同,时序满足就可工作电路和信号形式相同,时序满足就可工作单片机和外部设备:种类复杂,特性差异大必须有接口电路才能完成控制单片机和外部设备:种类复杂,特性差异大必须有接口电路才能完成控制。2 . 2 . 输出锁存驱动:输出锁存驱动: 单片机工作速度快,数据在数据总线上保留的时间根短暂,无法满足单片机工作速度快,数据在数据总线上保留的时间根短暂,无法满足慢速度输出的外设的需要。因此慢速度输出的外设的需要。因此I/OI/O接口电路中应具有数据锁存器接口电路中应具有数据锁存器保存输出数据直至能为输出外设所接受。保存输出数据直至能为输出外设所接
4、受。3.3.数据格式数据格式/ /逻辑电平转换:逻辑电平转换: 并并-串转换、串转换、A/DA/D、D/AD/A转换转换, , 单片机只能输入和输出数字信号,但有些设备提供或需要的并单片机只能输入和输出数字信号,但有些设备提供或需要的并不止数字信号形式,因此,需要使用接口电路进行数据信号的转换,不止数字信号形式,因此,需要使用接口电路进行数据信号的转换,包括模数转换和数模转换。包括模数转换和数模转换。4.4.实现数据总线隔离实现数据总线隔离 站在总线的角度上看,数据总线上连接着多个数据源设备站在总线的角度上看,数据总线上连接着多个数据源设备( (输入输入数据数据) )和多个数据负载设备和多个数
5、据负载设备( (输出数据输出数据) )。但是在任。但是在任时刻、只能进行一时刻、只能进行一个源和一个负载之间的数据传送,当一对源和负载的数据传送正在进行个源和一个负载之间的数据传送,当一对源和负载的数据传送正在进行时,要求所有其他不参与的设备在电性能上必须同数据总线隔开。时,要求所有其他不参与的设备在电性能上必须同数据总线隔开。8.1.2 I/O8.1.2 I/O接口电路的编址技术接口电路的编址技术一、存储器地址方式:统一编址一、存储器地址方式:统一编址 I/OI/O接口接口共用外数据存储器共用外数据存储器的地址空间,每个的地址空间,每个I/OI/O端口视为一个外部端口视为一个外部数据存储单元
6、统一编址。数据存储单元统一编址。 MCS-51MCS-51单片机有片内单片机有片内I/OI/O接口和扩展接口和扩展I/OI/O接口。接口。 片内片内I/OI/O接口寄存器在接口寄存器在SFRSFR中,使用片内数据存储器空间,扩展中,使用片内数据存储器空间,扩展I/OI/O接接口使用片外数据存储器地址空间:口使用片外数据存储器地址空间: 输出指令:输出指令:输入指令:输入指令:片内寻址:片内寻址:MOVP1,A MOV A,P1片外寻址:片外寻址:MOVX DPTR,A MOVX A,DPTR MOVX R0,A MOVX A,R0二、专用二、专用I/I/O地址方式:独立编址地址方式:独立编址
7、有专用有专用I/OI/O控制信号和控制信号和I/OI/O指令。指令。I/OI/O接口独立编址,不占用存储器的接口独立编址,不占用存储器的地址空间地址空间, ,使用较少使用较少. . 8.1.3 8.1.3 单片机单片机I/OI/O控制方式控制方式一、无条件传送(同步程序传送)方式:一、无条件传送(同步程序传送)方式:无条件传送也称为同步程序传送无条件传送也称为同步程序传送, , 传送方式不需要测试传送方式不需要测试外部设备的状态外部设备的状态, , 可以根据需要随时进行数据传送操作。可以根据需要随时进行数据传送操作。 特点:已知特点:已知I/OI/O设备准备就绪,可直接进行数据传送。设备准备就
8、绪,可直接进行数据传送。适用:适用:1 1、具有常驻的或变化缓慢的数据信号的设备。、具有常驻的或变化缓慢的数据信号的设备。 如:指示灯、数码管等;如:指示灯、数码管等; 2 2、工作速度快,足以和单片机同步工作的设备。、工作速度快,足以和单片机同步工作的设备。 如:如:DACDAC等。等。二、查询方式:(有条件传送方式)二、查询方式:(有条件传送方式)DBAB微型机微型机AB数据数据端口端口状态状态端口端口外部外部设备设备I/O接口接口D6 查询传送又称为条件传送查询传送又称为条件传送, , 即数据的传送是有条件的。即数据的传送是有条件的。 在输入在输入/ /输出之前输出之前, , 先要检测外
9、设的状态先要检测外设的状态, , 以了解外设是以了解外设是否已为数据输入输出作好了准备,否已为数据输入输出作好了准备, 只有在确认外设已只有在确认外设已“准备好准备好”的情况下的情况下, CPU, CPU才能执行数据输入才能执行数据输入/ /输出操作。输出操作。先查询先查询I/O设备当前状态,设备当前状态,若准备就绪,则交换数据,若准备就绪,则交换数据,否则循环查询状态。否则循环查询状态。1.硬件查询电路硬件查询电路:设置状态锁存和数据锁存电设置状态锁存和数据锁存电路。路。 2.2.软件查询程序:软件查询程序:INPUTINPUT:M MOV DPTRV DPTR,#SATUS #SATUS
10、;状态口地址;状态口地址 WAITWAIT:M MOVX AVX A,DPTRDPTR JB JBACC.6ACC.6,WAIT WAIT ;为;为1 1继续查询继续查询 M MOV DPTRV DPTR,#DATA #DATA ;数据口地址;数据口地址 M MOVX AVX A,DPTRDPTR查询状态查询状态输入输入/ 输出数据输出数据准备就绪准备就绪?YN查询方式只适用:查询方式只适用:单道作业、规模比较小的单片机系统。单道作业、规模比较小的单片机系统。三、中断方式(程序中断方式):三、中断方式(程序中断方式): 大多数时间计算机与外设并行工作,计算机不必因等待大多数时间计算机与外设并行
11、工作,计算机不必因等待而浪费资源。当外设准备就绪,向而浪费资源。当外设准备就绪,向CPUCPU发出中断请求信号。发出中断请求信号。CPUCPU暂停当前程序,执行暂停当前程序,执行I/OI/O操作。操作。当当I/OI/O操作结束,操作结束,CPUCPU仍继仍继续被中断的工作。续被中断的工作。8.28.2 可编程通用并行接口芯片可编程通用并行接口芯片825582558.2.18.2.1 结构与引脚结构与引脚一、结构:一、结构:1. 31. 3个个8 8位并行位并行I/I/O接口接口PAPA、PBPB和和PCPC:包含:包含I/OI/O数据锁存器,控制寄存器和状态寄存器。数据锁存器,控制寄存器和状态
12、寄存器。2. 22. 2组控制:组控制: A A组:组:PAPA和和PCPC0 03 3; B B组:组:PBPB和和PCPC4 47 7:8255A的内部结构图的内部结构图(1 1) 端口端口A A、 B B、 C C。 8255A内部有内部有3个可编程的并行个可编程的并行I/O端口:端口:PA口、口、PB口和口和PC口口,数据输出数据输出/ /输入可锁存输入可锁存. . 其中其中C口又可分为两个独立的口又可分为两个独立的4位端位端口:口:PC0PC3和和PC4PC7。通常通常, A, A口口#, B#, B口作为数据输入口作为数据输入/ /输出端口输出端口, C, C口作为控制口作为控制/
13、 /状态信息端口。状态信息端口。(2 2) 工作方式控制。工作方式控制。A口和口和C口的高四位合在一起称为口的高四位合在一起称为A组,通过图中的组,通过图中的A组控制组控制部件控制;部件控制;B口和口和C口的低四位合在一起称为口的低四位合在一起称为B组,通过图中的组,通过图中的B组控制部件控制。组控制部件控制。这两组控制电路共用一个控制命令寄存器这两组控制电路共用一个控制命令寄存器, , 用来接收中央处理器发来的控制字。用来接收中央处理器发来的控制字。 (3 3) 总线数据缓冲器总线数据缓冲器数据总线缓冲器是一个数据总线缓冲器是一个8 8位双向三态缓冲器,是位双向三态缓冲器,是8255A825
14、5A与系统总线之间的接口,与系统总线之间的接口,8255A8255A与与CPUCPU之间传送的数据之间传送的数据信息、命令信息、状态信息都通过数据总线缓冲器实现传信息、命令信息、状态信息都通过数据总线缓冲器实现传送。送。 (4 4) 读读/ /写控制逻辑电路。写控制逻辑电路。 读写控制部件接收读写控制部件接收CPUCPU送来的控制信号、地址信号,经译送来的控制信号、地址信号,经译码选中内部的端口寄存器,并从这些寄存器中读出信息或码选中内部的端口寄存器,并从这些寄存器中读出信息或向这些寄存器写入相应的信息。向这些寄存器写入相应的信息。CSCSA1A1A0A0RDRDWRWRI/OI/O操作操作0
15、 00 00 00 01 1读读A A口寄存器内容到数据总线口寄存器内容到数据总线0 00 01 10 01 1读读B B口寄存器内容到数据总线口寄存器内容到数据总线0 01 10 00 01 1读读C C口寄存器内容到数据总线口寄存器内容到数据总线0 00 00 01 10 0数据总线上内容写到数据总线上内容写到A A口寄存器口寄存器0 00 01 11 10 0数据总线上内容写到数据总线上内容写到B B口寄存器口寄存器0 01 10 01 10 0数据总线上内容写到数据总线上内容写到C C口寄存器口寄存器0 01 11 11 10 0数据总线上内容写到控制口寄存数据总线上内容写到控制口寄存
16、器器 8255A 8255A有有4 4个端口寄存器:个端口寄存器:A A寄存器、寄存器、B B寄存器、寄存器、C C寄存寄存器和控制口寄存器,通过控制信号和地址信号对这器和控制口寄存器,通过控制信号和地址信号对这4 4个端个端口寄存器的操作如表所示。口寄存器的操作如表所示。8.2.2. 82558.2.2. 8255的的3 3种工作方式种工作方式: (1 1) 方式方式 0: 0: 基本输入基本输入/ /输出方式。输出方式。 这种方式不需选通信号。这种方式不需选通信号。PA,PBPA,PB和和PCPC中任一端口都中任一端口都可以通过方式控制字设定为输入或输出。可以通过方式控制字设定为输入或输出
17、。 (2 2) 方式方式 1: 1: 选通输入选通输入/ /输出方式。共有输出方式。共有 3 3 个口个口, , 被分为两组。被分为两组。 A A组包括组包括A A口和口和PC7PC4, APC7PC4, A口可由编程设定口可由编程设定为输入或输出为输入或输出, PC7PC4 , PC7PC4 作为输入作为输入/ /输出操作的选通信号输出操作的选通信号和应答信号。和应答信号。B B组包括组包括B B口和口和PC3PC0, PC3PC0, 这时这时C C口作为口作为 8255A8255A和外设或和外设或CPUCPU之间传送某些状态信息及中断请求信号。之间传送某些状态信息及中断请求信号。 (3 3
18、) 方式方式 2: 2: 双向传送方式。双向传送方式。 只有只有A A口有方式口有方式 2(B2(B口只能工作方式口只能工作方式0), 0), 此时此时, A, A口为口为8 8位双向传送数据口位双向传送数据口, C, C口的高口的高5 5位位PC7PC3PC7PC3用来作为指定用来作为指定A A口输口输入入/ /输出的控制联络线输出的控制联络线 8255A的C口联络控制信号线 8.2.3. 8255A 8.2.3. 8255A的控制字的控制字(1 1) 方式控制字方式控制字(2) 端口端口C置位置位/复位控制字复位控制字 8255A端口C置位/复位控制字 例例 1 要求A口工作在方式0输入,
19、 B口为方式1输出, C口高4位PC7PC4为输入, C口低4位PC3PC0为输出。实现上述要求的初始化程序为: MOV R1, 03H; 03H为 8255A 控制寄存器地址 MOV A, 9CH; 8255A工作方式字为 9CH MOVX R1, A; 方式字送入 8255A 控制口 4. 8255A 和和 8031 单片机的硬件接口单片机的硬件接口 8255A与8031单片机接口 设 8255A的A、B、C口和控制寄存器地址依次为 00H、 01H、 02H 和 03H。 如果用户需要将C口的PC3 置 1, PC5 置 0, 可编程如下: MOV R0, 03H; 8255A 控制口地
20、址 MOV A, 07H ; 将PC3 置 1 控制字(00000111b) MOVX R0, A ; 置PC3=1 MOV A, 0AH; 将PC5 置 0 控制字(00001010b) MOVX R0, A; 置PC5=0 例例 2 图 7.20 是 8031 扩展 8255A 与打印机接口的电路。 8255A 的片选线为P0.7, 打印机与 8031 采用查询方式交换数据。打印机的状态信号输入给PC7, 打印机忙时BUSY=1, 打印机的数据输入采用选通控制, 当STB上出现负跳变时数据被打入, 要求编写自内部RAM 20H单元开始 向打印机输出 80 个数据的程序。设 8255A 的A
21、、 B、C和控制寄存器的口地址分别为: 7CH、7DH、7EH和7FH。 8031扩展打印机接口8255A 8255A 的方式1中OBF为低电平有效, 而打印机STB要求下降沿选通。所以8255A采用方式0, 由PC0 模拟产生STB信号。因PC7输入, PC0输出, 则方式选择命令字为: 10001110B=8EH。 自内部RAM 20H单元开始向打印机输出80个数据的程序如下: MOV R0, 7FH ; R0 指向控制口MOV A, 8EH ; 方式控制字为8EHMOVX R0 , A ; 送方式控制字MOV R1, 20H ; 送内部RAM数据块首地址至指针R1MOV R2, 50H
22、; 置数据块长度LP: MOV R0, 7EH ; R0指向C口LP1: MOVX A, R0 ; 读PC7连接BUSY状态 JB ACC.7, LP1 ; 查询1忙等待打印机 MOV R0, 7CH ; 指向A口 MOV A, R1 ; 取RAM 数据 MOVX R0, A ; 数据输出到8255A口锁存 INC R1 ; RAM地址加1 MOV R0, 7FH ; R0指向控制口 MOV A, 00H ; PC0复位控制字 MOVX R0, A ; PC0=0, 产生STB的下降沿 MOV A, 01H ; PC0置位控制字 MOVX R0, A ; PC0=1, 产生STB的上升沿 DJ
23、NZ R2, LP ; 未完, 则反复 8.3 MCS-51单片机与键盘接口8.3.1 8.3.1 键盘的工作原理键盘的工作原理 键盘实际上是一组按键开关的集合,平时按键开关总是处键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。它的结构和产生的波形如于断开状态,当按下键时它才闭合。它的结构和产生的波形如图所示。图所示。P1.1VCCGND( a )KP1.1( b )抖动时间抖动时间10ms开关动作时间开关动作时间100ms“ 断开断开 ”“ 闭合闭合 ”10ms“ 断开断开 ”8.3.2 独立式键盘与单片机的接口独立式键盘与单片机的接口键盘的结构形式一般有两
24、种:键盘的结构形式一般有两种:独立式键盘与矩阵式键盘独立式键盘与矩阵式键盘。 独立式键盘就是各按键相互独立,每个按键各接一根独立式键盘就是各按键相互独立,每个按键各接一根I/O口线,口线,每根每根I/O口线上的按键都不会影响其它的口线上的按键都不会影响其它的I/O口线。口线。 GNDVCCGNDVCC与与( b )查询方式工作的查询方式工作的独立式键盘的结构形式独立式键盘的结构形式8051( a )中断方式工作的中断方式工作的独立式键盘的结构形式独立式键盘的结构形式INT08051P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P1.1P1.2P1.3P1.4P1.5P
25、1.6P1.7 矩阵键盘的连接方法有多种:矩阵键盘的连接方法有多种:可直接连接于单片机的可直接连接于单片机的I/O口线;口线;可利用扩展的并行可利用扩展的并行I/O口(口(8255、8155等)连接;等)连接;也可利用可编程的键盘、显示专用接口芯片也可利用可编程的键盘、显示专用接口芯片 (8279等)进行连接等)进行连接等等。等等。 其中,利用扩展的并行其中,利用扩展的并行I/O口连接方便灵活,在单片口连接方便灵活,在单片机应用系统中比较常用。机应用系统中比较常用。8.3.3 矩阵键盘与单片机的接口矩阵键盘与单片机的接口 矩阵式键盘又叫矩阵式键盘又叫行列式键盘行列式键盘。用。用I/O口线组成行
26、、列口线组成行、列结构,键位设置在行列的交点上。例如结构,键位设置在行列的交点上。例如44的行、列结的行、列结构可组成构可组成16个键的键盘,比一个键位用一根个键的键盘,比一个键位用一根I/O口线的独口线的独立式键盘少了一半的立式键盘少了一半的I/O口线。口线。 下图就是通过下图就是通过8255A芯片扩展的并行芯片扩展的并行I/O口连接口连接4 8的矩阵键盘。的矩阵键盘。P2.7=0:A口地址为:口地址为:7F00H;C口地址为:口地址为:7F02H。扫描法:列线输出,行线输入。扫描法:列线输出,行线输入。列线逐列输出列线逐列输出0 0,某行有按键,行线输入就为,某行有按键,行线输入就为0 0
27、;若无按键,行线输入全部为若无按键,行线输入全部为1 1。PA7PA6PA5PA4PA3PA2PA1PA0PC0PC1PC2PC30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 CS74LS373WRRDA1A0P2.7WRRDALEP0.0P0.7D0D7RESET1K 20 F+5V+5V82555.1K48051一矩阵键盘的工作过程一矩阵键盘的工作过程对矩阵键盘的工作过程可分两步对矩阵键盘的工作过程可分两步(假设假设19按下):按下):第一步是第一步是CPU首先检测
28、键盘上首先检测键盘上;第二步是再识别是第二步是再识别是。1检测键盘上是否有键按下处理方法是:将列线送入全扫描字,检测键盘上是否有键按下处理方法是:将列线送入全扫描字,读入行线的状态来判别。其具体过程如下:读入行线的状态来判别。其具体过程如下:PA口输出口输出00H,即所有,即所有列线置成低电平,然后将行线电平状态读入累加器列线置成低电平,然后将行线电平状态读入累加器A中。如果有键按中。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为1。2识别键盘中哪一个键按下处理方法是:识别键盘中哪一个键按下处理方法是: 从从PA口
29、输出列扫描码口输出列扫描码(FEH,FDH,FBH,F7H,EFH,DFH,BFH,7FH)置对应的列线(置对应的列线(0-7列)为低电平,然后从列)为低电平,然后从PC口读入行线状态,如口读入行线状态,如果全为果全为“1”,则按下的键不在此列;如果不全为,则按下的键不在此列;如果不全为“1”,则按下的键,则按下的键必在此列,而且是该列与必在此列,而且是该列与“0”电平行线相交的键,可判出电平行线相交的键,可判出2行行3列有列有键按下。键按下。为求取编码,在逐列扫描时,可用计数器记录下当前扫描列的列为求取编码,在逐列扫描时,可用计数器记录下当前扫描列的列号,检测到第几行有键按下,就用该行的首键
30、码加列号得到当前按号,检测到第几行有键按下,就用该行的首键码加列号得到当前按键的编码。键的编码。1查询工作方式查询工作方式 键盘扫描子程序流程如图键盘扫描子程序流程如图 。二矩阵键盘的工作方式二矩阵键盘的工作方式开始开始有键按下否?有键按下否?调用调用6ms延时子程序延时子程序调用调用12ms延时子程序延时子程序有键按下否?有键按下否?判闭合键,编码入栈保护判闭合键,编码入栈保护闭合键释放否?闭合键释放否?编码编码A返回返回否否否否否否是是是是是是 键盘扫描子程序如下:(硬件线路如图键盘扫描子程序如下:(硬件线路如图7.4,8255A的的A口、口、B口、口、C口和控制口地址分别为口和控制口地址
31、分别为7F00H、7F01H、7F02H、7F03H,设,设8255A已在主程序中初始化。已设定为已在主程序中初始化。已设定为A口方式口方式0输出,输出,C口的低口的低4位位方式方式0输入。)输入。)KEY1:ACALL KS1 ;调用判断有无键按下子程序;调用判断有无键按下子程序 JNZ LK1 ;有键按下时,;有键按下时,(A)0转消抖延时转消抖延时KEY2:ACALL TM6ms AJMP KEY1 ;无键按下返回;无键按下返回LK1: ACALL TM12ms ;调;调12 ms延时子程序延时子程序 ACALL KS1 ;查有无键按下,若有则真有键按下;查有无键按下,若有则真有键按下
32、JNZ LK2 ;键;键(A) 0逐列扫描逐列扫描 AJMP KEY2 ;不是真有键按下,返回;不是真有键按下,返回LK2: MOV R2,#0FEH ;初始列扫描字;初始列扫描字(0列列)送入送入R2 MOV R4,#00 ;初始列;初始列(0列列)号送入号送入R4LK4: MOV DPTR,#7F00H ;DPTR指向指向8255PA口口 MOV A,R2 ;列扫描字送至;列扫描字送至8255PA口口 MOVX DPTR,A INC DPTR ;DPTR指向指向8255PC口口 INC DPTR MOVX A,DPTR ;从;从8255 PC口读入行状态口读入行状态JB ACC.0,LON
33、E ;查第;查第0行无键按下,转查第行无键按下,转查第1行行MOV A,#00 ;第;第0行有键按下,行首键码行有键按下,行首键码#00AAJMP LKP ;转求键码;转求键码LONE: JB ACC.1,LTWO ;查第;查第1行无键按下,转查第行无键按下,转查第2行行MOV A,#08 ;第;第1行有键按下,行首键码行有键按下,行首键码#08AAJMP LKP ;转求键码;转求键码LTWO:JB ACC.2,LTHR ;查第;查第2行无键按下,转查第行无键按下,转查第3行行MOV A,#10 ;第;第2行有键按下,行首键码行有键按下,行首键码#10AAJMP LKP ;转求键码;转求键码L
34、THR: JB ACC.3,NEXT ;查第;查第3行无键按下,转该查下一列行无键按下,转该查下一列 MOV A,#18 ;第;第3行有键按下,行首键码行有键按下,行首键码#18ALKP: ADD A,R4 ;求键码,键码;求键码,键码=行首键码行首键码+列号列号PUSH ACC ;键码进栈保护;键码进栈保护LK3: ACALL KS1 ;等待键释放;等待键释放JNZ LK3 ;键未释放,等待;键未释放,等待POP ACC ;键释放,键码;键释放,键码ARET ;键扫描结束,出口状态;键扫描结束,出口状态(A)=键码键码NEXT:INC R4 ;准备扫描下一列,列号加;准备扫描下一列,列号加1
35、MOV A,R2 ;取列扫描字送累加器;取列扫描字送累加器AJNB ACC.7,KEND ;判断;判断8列扫描否?扫描完返回列扫描否?扫描完返回RL A ;扫描字左移一位,变为下一列扫描字;扫描字左移一位,变为下一列扫描字MOV R2,A ;扫描字送入;扫描字送入R2保存保存AJMP LK4 ;转下一列扫描;转下一列扫描KEND: AJMP KEY1 KS1: MOV DPTR,#7F00H ;DPTR指向指向8255的的PA口口MOV A,#00H ;全扫描字;全扫描字AMOVX DPTR,A ;全扫描字送往;全扫描字送往8255的的PA口口INC DPTR ;DPTR指向指向8255的的P
36、C口口INC DPTR MOVX A,DPTR ;读入;读入PC口行状态口行状态CPL A ;变正逻辑,以高电平表示有键按下;变正逻辑,以高电平表示有键按下ANL A,#0FH ;屏蔽高;屏蔽高4位,只保留低位,只保留低4位行线值位行线值RET ;出口状态:;出口状态:(A)0时有键按下时有键按下执行执行KS1子程序的结果是:有闭合键则(子程序的结果是:有闭合键则(A) 0; 无闭合键则(无闭合键则(A) 0。CPL A;负逻辑不直观,常采取行列线加反相器或;负逻辑不直观,常采取行列线加反相器或 软件求反的方法把键盘改成正逻辑。软件求反的方法把键盘改成正逻辑。8.4 单片机与LED显示器接口8
37、.4.1 LED显示器的结构与原理显示器的结构与原理 在单片机应用系统中通常使用的是在单片机应用系统中通常使用的是8段式段式LED数码管显示器,数码管显示器,它有共阴极和共阳极两种,如图所示。它有共阴极和共阳极两种,如图所示。abcdefgdpcomabcdefgdpcomabcdefgdp10 9 8 7 61 2 3 4 5 g f com a be d com c dp( a )共阴极结构共阴极结构(c )管脚图管脚图( b )共阳极结构共阳极结构代码位代码位D7D6D5D4D3D2D1D0显示段显示段hgfedcbaLED(Light Emiting Diode)共阴极和共阳极的字段码
38、互为反码共阴极和共阳极的字段码互为反码 显示字符显示字符共阴极共阴极字段码字段码共阳极共阳极字段码字段码显示字符显示字符共阴极共阴极字段码字段码共阳极共阳极字段码字段码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH00HA77H88H“灭灭”00FFHB7CH83H8.4.2 8.4.2 显示程序任务显示程序任务:1、设置显示缓冲区,存放待设置显示缓冲区,存放待显示数据
39、和字符(位置码)。显示数据和字符(位置码)。2 2、显示译码:程序存储器中显示译码:程序存储器中建立字形码常数表,查表得出对建立字形码常数表,查表得出对应数据和字符的字形码。应数据和字符的字形码。3 3、输出显示:输出字形码到输出显示:输出字形码到显示端口。显示端口。例:例: MOV DPTR,#WTAB ;指向字形码表首地址;指向字形码表首地址MOV A,R0 ;取显示缓冲区中数据;取显示缓冲区中数据MOVC A,A+DPTR ;查表显示译码;查表显示译码MOV P1,A ;输出显示;输出显示WTAB:DB3FH,06H,5BH ;字形代码表(共阴极);字形代码表(共阴极)COM P1.01
40、.7 MCS-51a f b g e c d habh8.4.3 LED8.4.3 LED接口电路接口电路:显示多位数据的两种电路:显示多位数据的两种电路:静态显示和动态显示。静态显示和动态显示。1 1静态显示:静态显示: 多位多位LEDLED共用一个共用一个8 8位字位字段口(共阴极或共阳极),段口(共阴极或共阳极), 各位各位LEDLED公共端用字位口控制,公共端用字位口控制,扫描输出显示不同字形。扫描输出显示不同字形。 显示缓冲区与多位显示缓冲区与多位LED对应关系:对应关系: 每个每个LEDLED需要一个需要一个8 8位并行口。位并行口。 a b hCOM a b hCOM a b h
41、COMa f b g e c d h 2 2动态显示:动态显示: 分时轮流选通数码分时轮流选通数码管的公共端,使得各数管的公共端,使得各数码管轮流导通,在选通码管轮流导通,在选通相应相应LED后,即在显示后,即在显示字段上得到显示字形码。字段上得到显示字形码。 特点:提高数码管的特点:提高数码管的发光效率,可简化硬件发光效率,可简化硬件线路。线路。 COMhCOMD7D1D0D0D1D2hbbhCOMa f b g e c d haabaD0D1D2D7Q0Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7G OEVCC74LS373Q0Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D
42、4D5D6D7G OEVCC74LS373PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7CSWRRD74LS373P2.7WRRDALEP0.0P0.78051D0D7A1A0GA1A08255地址:地址:A口:口: 7F00H B口:口: 7F01H C口:口: 7F02H控制口:控制口:7F03H 共阴极共阴极 软件译码动态显示汇编语言程序为:软件译码动态显示汇编语言程序为: (设(设8个数码管的显示缓冲区为片内个数码管的显示缓冲区为片内RAM的的57H50H单元)单元)DISPLAY:MOV A,#10000000B ;8255初始化初始
43、化 MOV DPTR,#7F03H ;使;使DPTR指向指向8255控制寄存器端口控制寄存器端口 MOVX DPTR,A MOV R0,#57H ;动态显示初始化,使;动态显示初始化,使R0指向缓冲区首址指向缓冲区首址 MOV R3,#7FH ;首位位选字送;首位位选字送R3 MOV A,R3 LD0: MOV DPTR,#7F01H ;使;使DPTR指向指向PB口口 MOVX DPTR,A ;选通显示器高位;选通显示器高位(最右端一位最右端一位) DEC DPTR ;使;使DPTR指向指向PA口口 MOV A,R0 ;读要显示数;读要显示数 ADD A,#TAB ;调整距段选码表首的偏移量;
44、调整距段选码表首的偏移量 MOVC A,A+PC ;查表取得段选码;查表取得段选码 MOVX DPTR,A ;段选码从;段选码从PA口输出口输出 ACALL DL1 ;调用;调用1ms延时子程序延时子程序 DEC R0 ;指向缓冲区下一单元;指向缓冲区下一单元 MOV A,R3 ;位选码送累加器;位选码送累加器AJNB ACC.0,LD1 ;判断;判断8位是否显示完毕,显示完返回位是否显示完毕,显示完返回RR A ;未显示完,把位选字变为下一位选字;未显示完,把位选字变为下一位选字MOV R3,A ;修改后的位选字送;修改后的位选字送R3AJMP LD0 ;循环实现按位序依次显示;循环实现按位
45、序依次显示LD1: RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;共阴极字段码表;共阴极字段码表DL1:MOV R7,#02H ;延时子程序;延时子程序DL: MOV R6,#0FFHDL0:DJNZ R6,DL0 DJNZ R7,DL RET7.5 A/D和和D/A接口功能的扩展接口功能的扩展 7.5.1 A/D转换器接口转换器接口 1. 概述概述 A/D转换器用以实现模拟量向数字量的转换。 按转换原理可分为 4 种: 计数式、 双积分式、逐次逼近式以及并行式A/D转换器。 逐次逼
46、近式A/D转换器是一种速度较快, 精度较高的转换器, 其转换时间大约在几微秒到几百微秒之间。常用的这种芯片有: (1) ADC0801ADC0805型 8 位MOS型A/D转换器; (2) ADC0808/0809 型 8 位MOS型A/D转换器; (3) ADC0816/0817 型 8 位MOS型A/D转换器; 量化间隔和量化误差是A/D转换器的主要技术指标之一。 量化间隔由下式计算: 12 n满量程输入电压 其中n为A/D转换器的位数。 量化误差有两种表示方法: 一种是绝对量化误差; 另一种是相对量化误差。 绝对量化误差 22量化间隔121n2. 典型典型A/D转换器芯片转换器芯片ADC
47、0809 简介简介 图 7.32 ADC0809的内部结构 图 7.33 ADC0809引脚图 表 7.9 地址码与输入通道的对应关系 图 7.34 ADC0809时序图 3. ADC0809与与8031 的接口电路的接口电路 1) 查询方式 下面的程序是采用查询方法, 分别对 8 路模拟信号轮流采样一次, 并依次把结果转存到数据存储区的采样转换程序。 MOV R1, data ; 置数据区首址 MOV DPTR, 7FF8H ; P2.7=0, 指向通道 0 MOV R7, 08H ; 置通道数LP1: MOVX DPTR, A ; 启动A/D转换 MOV R6, 0AH ; 软件延时DALY: NOP NOP NOP NOPNOPDJNZ R6, DALYMOVX A, DPTR ; 读取转换结果MOV R1, A ; 存储数据INC DPTR ; 指向下一个通道INC R1 ; 修改数据区指针DJNZ R7, LP1 ; 8 个通道全采样完了吗? 4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工新员工培训纲要
- 行政管理体系与方法
- 单因素方法分析
- 建筑动画设计简介
- 校园防范诈骗安全教育课件
- 儿科白血病患儿口腔护理
- 全科医学科慢性病综合管理方案
- 儿科常见病护理常规
- 摩托车新车交易合同
- 新购房物业合同
- 视野报告简单分析-课件
- 项目推进缓慢表态发言稿三篇
- 自然辩证法智慧树知到期末考试答案章节答案2024年浙江大学
- 2024年西藏开发投资集团有限公司招聘笔试参考题库含答案解析
- 第二章-生命的物质基础
- 我院药学专业药理课程期末试卷成绩分析与评价
- 四川省河长制湖长制基础数据表结构与标识符(试行稿)
- 维克多高中英语3500词汇
- 顶板危险源辨识及防范措施
- 2023年广东省佛山市南海区桂城街道东二社区工作人员考试模拟题及答案
- GB/T 18615-2002波纹金属软管用非合金钢和不锈钢接头
评论
0/150
提交评论