第三章 MCS51系统扩展技术

上传人:鲁** 文档编号:577874993 上传时间:2024-08-22 格式:PPT 页数:61 大小:801KB
返回 下载 相关 举报
第三章 MCS51系统扩展技术_第1页
第1页 / 共61页
第三章 MCS51系统扩展技术_第2页
第2页 / 共61页
第三章 MCS51系统扩展技术_第3页
第3页 / 共61页
第三章 MCS51系统扩展技术_第4页
第4页 / 共61页
第三章 MCS51系统扩展技术_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《第三章 MCS51系统扩展技术》由会员分享,可在线阅读,更多相关《第三章 MCS51系统扩展技术(61页珍藏版)》请在金锄头文库上搜索。

1、第三章 MCS-51系统扩展技术3.1 3.1 单片机扩展的基本概念单片机扩展的基本概念3.2 3.2 单片机存储器的扩展单片机存储器的扩展 3.3 3.3 单片机单片机I/OI/O接口扩展电路设计接口扩展电路设计3.4 3.4 单片机键盘接口技术单片机键盘接口技术3.5 3.5 单片机单片机LEDLED显示器接口技术显示器接口技术 第一节第一节 单片机扩展的基本概念单片机扩展的基本概念一、单片机最小系统一、单片机最小系统 使单片机能运行的最少器件构成的系统,就是最小使单片机能运行的最少器件构成的系统,就是最小系统。系统。无无ROMROM芯片:芯片:(8031)(8031) 必须扩展必须扩展R

2、OMROM,复位、晶振电路。复位、晶振电路。有有ROMROM芯片:不必扩展芯片:不必扩展ROMROM,只只须扩展须扩展复位、晶振电路。复位、晶振电路。2、P0、P2: 地址总线地址总线 AB,P0为低为低8 8位位, P2为高为高8 8位位 。1、P0: 数据总线数据总线 DB 。3、P3: 控制总线控制总线 CB 。二、二、单片机三总线构成单片机三总线构成RD、 WR、 ALE、 PSEN 、 EA读、读、 写、写、 地址锁存、读外部程序存储器、地址锁存、读外部程序存储器、 控制内外控制内外ROM第二节第二节 单片机存储器的扩展单片机存储器的扩展 P0 ALE8031 P2 PSEN WR

3、RD EAD0D7A8A15373 LE OEA0A7AB A0A15 DB D0D7A15A14A13Vcc总线扩展逻辑图总线扩展逻辑图138 Y7 . . . Y1 Y0A B C G1 G2A G2B译码法译码法 DB D0D7AB A0A15A15A14A13Vcc138 Y7 . . . Y1 Y0A B C G1 G2A G2BCE D0D7A0A12 2764CE1 D0D7A0A12 6264 PSENRDWR接接80318031OE存储器扩展存储器扩展OEWR P0 ALE8031 P2 PSEN WR RD EAD07A8A15373 LE OEA07AB A0A15 DB

4、 D0D7D0D7 2764 CE OEA012D0D7 2764CE OEA012线选法线选法A15 P0.7 P0.0 ALE8031 P2 PSEN WR RD EA373 LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A14A13 D0 D7 2764OE CEA0 A12D0 D7A0A12译码法电路图译码法电路图接6264 D0 D7WR 6264OE CE1A0 A12接8031RDWR接138 Y1DBABD0 D7A0A121、存储器、存储器 CPU同步传送,靠时钟控制传送速度。只需要同步传送,靠时钟控制传送速度。

5、只需要 地址线、数据线、读写线。地址线、数据线、读写线。2、外部设备、外部设备 CPU异步传送,传送速度不同,除地址线、数据线、读写线异步传送,传送速度不同,除地址线、数据线、读写线 外,还需要应答线。外,还需要应答线。第三节第三节 I /O I /O 接口技术概述接口技术概述一、接口电路一、接口电路(interface circuit) 数据传送数据传送 存储器存储器 CPU 外部设备外部设备 CPU外部设备情况复杂,导致外部设备与外部设备情况复杂,导致外部设备与CPUCPU不能同步。不能同步。1 1)工作速度差别大)工作速度差别大; ;2 2)信号形式多样)信号形式多样 : : 电压、电流

6、等模拟量、开关量;电压、电流等模拟量、开关量;3 3)外部设备与外部设备与CPUCPU距离差别大:数米、数十米;距离差别大:数米、数十米;4 4)数据转换)数据转换 :电流转电压,:电流转电压,D / A、A / D,并行转串行,串行转并行转串行,串行转并行。并行。接口电路的任务:接口电路的任务:1 1)协调速度,解决应答信号问题;)协调速度,解决应答信号问题;2 2)解决数据锁存问题,输出时外设与数据总线之间要有锁存器;)解决数据锁存问题,输出时外设与数据总线之间要有锁存器;3 3)解决数据缓冲问题,输入时外设与数据总线之间要有缓冲器;)解决数据缓冲问题,输入时外设与数据总线之间要有缓冲器;

7、二、二、 简单简单I/O扩展扩展输入:使用三态门(缓冲器)输入:使用三态门(缓冲器)74LS24474LS24474LS24574LS245输出:使用锁存器输出:使用锁存器74LS27374LS27374LS37374LS3731 1、输入扩展,使用、输入扩展,使用2 2个个74LS24474LS244输入输入BCDBCD码:码:存放在存放在 R4 R4 (低字节),个位、十位(低字节),个位、十位(244 244 ) R5R5 (高字节),百位、千位(高字节),百位、千位(244 244 ) 74LS24474LS244输入端接外设(键),输出端接数据总线。输入端接外设(键),输出端接数据总

8、线。工作内容:工作内容:1. 1. 设计电路设计电路2. 2. 地址译码地址译码3. 3. 设计程序设计程序 y0 y7244 A0 A7 y0 y7 244 A0 A7 Vcc个位个位 十位十位百位百位千位千位A0A1A Y0 Y1B Y2139E Y3RD或门Y7E000HE001HE000H1G2GDBAB1G2GE002HE003H编写程序编写程序由由244 244 读回数据读回数据(低字节)存放在低字节)存放在 R4 R4 由由244 244 读回数据读回数据(高字节)存放在高字节)存放在 R5R5MOV DPTR , #E000H ; 244244(I I)口地址送数据指针)口地址

9、送数据指针DPTRDPTRMOVX A , DPTR ;地址的内容送累加器地址的内容送累加器A AMOV R4 , A ; 个位、十位数据送个位、十位数据送 R4R4INC DPTR ; 数据指针加数据指针加 1 1 ,指向,指向244244(IIII)MOVX A , DPTR ;地址的内容送累加器地址的内容送累加器A AMOV R5 , A ; 百位、千位数据送百位、千位数据送 R5R5 A12、输出扩展,使用、输出扩展,使用2个个74LS273输出数据输出数据DBAB或门Y7E000HWRA Y0B Y1139 ED0 D7 273 I CLKQ0 Q7D0 D7 273 II CLKQ

10、0 Q7 E000HE001HE002HE003HA0编写程序编写程序把把#35H#35H由由273273(I I) 送出,把送出,把#45H#45H由由273273(IIII) 送出。送出。MOV DPTR , #E000H ; 273 I 口地址送数据指针口地址送数据指针DPTRMOV A , #35HMOVX DPTR , A ;累加器累加器A A的内容送地址的内容送地址E000HINC DPTR ; 数据指针加数据指针加 1 1 ,指向,指向273 IIMOV A , #45HMOVX DPTR , A ;累加器累加器A A的内容送地址的内容送地址E001H三、三、 81558155作

11、作5151系列单片机可编程系列单片机可编程I/OI/O扩展扩展1 1、81558155可编程并行接口芯片结构可编程并行接口芯片结构 按芯片功能,按芯片功能,81558155由三部分组成:由三部分组成:2 2) I/OI/O接口:接口:端口端口A A,8 8位位I/OI/O端口端口PA0-7PA0-7。端口端口B B,8 8位位I/OI/O端口端口PB0-7PB0-7。端口端口C C,6 6位位I/OI/O端口端口PC0-5PC0-5。命令寄存器,命令寄存器,8 8位,只允许写入。位,只允许写入。状态寄存器,状态寄存器,8 8位,只允许读出。位,只允许读出。3 3)计数器)计数器/ /定时器:一

12、个定时器:一个1414位的二进制减法计数器位的二进制减法计数器/ /定时器。定时器。1 1) 随机存储器随机存储器RAMRAM:256256字节字节2、8155引脚及内部逻辑结构引脚及内部逻辑结构 (P310)256BRAM计计数数器器ABCIO/MAD70CEALERDWRRESETTIMER INTIMER OUTPA70PB70PC50PC3PC4PC5PC0PC1PC2VccTIMER INRESETTIMER OUTIO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssPB0PB1PB2PB3PB4PB5PB6PB7PA7PA6PA5PA4PA3PA2PA1

13、PA0AD0AD0AD7AD7:地址地址/ /数据线数据线ALEALE: 地址锁存信号地址锁存信号RD:RD:读信号读信号WR:WR:写信号写信号CE:CE:片选信号片选信号TIMER IN:TIMER IN:计时器输入信号计时器输入信号TIMER OUT:TIMER OUT:计计数数器输出信号器输出信号RESET:RESET:复位信号复位信号IO / M:IO / M: 输入输入“1”1”为为 I/OI/O端口操作端口操作I/O I/O 、RAMRAM操作选择操作选择 输入输入“0”0”为片内为片内 256B RAM256B RAM读写读写操作操作PA0-7PA0-7, , PB0-7PB0

14、-7, , PC0-5PC0-5 : : 三个通用三个通用I/OI/O端口端口3 3、I/OI/O口工作方式口工作方式 (用软件设置)(用软件设置) 输入输入 C C口:口:输出输出控制控制A A口的应答口的应答 四种工作方式;四种工作方式;控制控制B B口的应答口的应答 A A口:口: 输入、输出两种工作方式;输入、输出两种工作方式;B B口:口:4 4、81558155片内片内RAMRAM及及I/OI/O口地址口地址2)I/O口地址口地址: 00H 命令命令/ /状态寄存器地址状态寄存器地址 01H 端口端口A A地址地址 02H 端口端口B B地址地址 03H 端口端口C C地址地址 0

15、4H 计计数数器低器低 8 8 位地址位地址 05H 计计数数器高器高 8 8 位地址位地址以上地址均为以上地址均为81558155芯片内部的芯片内部的 8 8 位地址位地址1)RAM地址地址:00HFFH 256 B 8155MCS - 51AD 07P 0.0 0.7ALEALERESET.RSTRD.RDWR.WR5 5、81558155与与5151单片机连接单片机连接81558155与与5151单片机的许多信号兼容,可以直接连接。单片机的许多信号兼容,可以直接连接。6 6、5151单片机可编程单片机可编程I/OI/O扩展(译码法)扩展(译码法)ALERSTA8AD0AD1 .AD7AL

16、ERESETIO / MCE 138 Y3B07A07C056000H7FFFHDBAB AD0AD7 1) I/O扩展电路图扩展电路图接803181552 2)扩展后)扩展后8155 RAM8155 RAM及及I/OI/O口地址口地址 I/O:6100H命令命令/ /状态寄存器地址状态寄存器地址6101H端口端口A地址地址6102H端口端口B地址地址6103H端口端口C地址地址6104H 计数器低计数器低 8 位地址位地址 6105H计数器高计数器高 8 位地址位地址 IO / M 接地址线接地址线A8 RAM( M ): 6000H60FFH 共共 256 B7、命令、命令 / 状态字状态

17、字1)命令字:)命令字:8 位寄存器,用来定义端口及计数器的工作方式,位寄存器,用来定义端口及计数器的工作方式,对此寄存器只能写,不能读。对此寄存器只能写,不能读。格式:格式:A口口 “0” 输输入入B口口 “1”输出输出 “00” 输入输入C口口 “11” 输出输出 “01” 控制控制A口选通口选通 “10” 控制控制A、B口选通口选通A口口中断中断B口中断口中断“1”允许中断允许中断“0”不允许中不允许中断断计数器工计数器工作方式,作方式,四种:四种:00、01、10、11。D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPA 00 : 无操作无操作计数器工作方式计

18、数器工作方式: 01 : 停止计数停止计数 10 : 计数完成后停止计数完成后停止 11 : 开始计数开始计数D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPAD6D5D4D3D2D1D0格式:格式:2)状态字)状态字 : 8 位寄存器,用低位寄存器,用低 7 位来寄存各端口及计时器的位来寄存各端口及计时器的工作工作 状态,对此寄存器只能读,不能写。状态,对此寄存器只能读,不能写。INTRA : A口中断请求口中断请求ABF : A口缓冲器满口缓冲器满/ 空空INTEA : A口空中断允许口空中断允许INTRB : B口中断请求口中断请求BBF : B口缓冲器满口缓冲

19、器满/ 空空INTEB : B口口中断允许中断允许TIMER : 计时器中断计时器中断8、8155 计数器计数器/ / 定时器定时器1)结构:)结构:14 位减法计数器位减法计数器,由两个由两个 8 位寄存器组成位寄存器组成M2M1T13T12T11T10T9T8D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0输出方式输出方式计数器高计数器高 6 位位计数器低计数器低 8 位位05H04H 0 0 单方波单方波 0 1 连续方波连续方波 1 0 单脉冲单脉冲 1 1 连续脉冲连续脉冲开始计数开始计数终止计数终止计数2)M2M1 :定义计数器输出信

20、号方式定义计数器输出信号方式9、8155 命令字命令字, ,计数器计数器/ / 定时器应用定时器应用 ( (初始化初始化) ) 要求对计数脉冲进行千分频,并重新置数以产生连续方波。要求对计数脉冲进行千分频,并重新置数以产生连续方波。分频的概念:分频的概念:二分频:输出频率是输入频二分频:输出频率是输入频 率的二分之一率的二分之一计数脉冲:输入计数脉冲:输入连续方波:输出连续方波:输出500500计数常数计数常数: : 500输入输入输出输出A口口: :输入输入B口口: :输出输出 C口口: :输入输入AB口口: :禁止中断禁止中断TM2TM1 命令字:命令字: 1 1 0 0 0 0 1 0输

21、出连续方波输出连续方波 :M2M1 0 1 ; 计数常数计数常数: 500 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0计数器低计数器低 8 8 位位计数器高计数器高 8 8 位位计数初值为:计数初值为:41F4H41F4H0 C 2 H 2 )5002 )250 0 2 )125 0 2 )62 12 )310 2 )15 12 ) 712 ) 312 ) 1 12 ) 0 1高高低低1 1 1 1 1 0 1 0 000 00 0001 1111 010 014 位位计数常数计数常数 500 转换成二进制数转换成二进制数:“ 除除 2 取余取余 ”0 1 F 4 H高高低

22、低2 ) 0 0命令字:命令字: 0 C 2 H,地址:地址:6100H计数初值为:计数初值为:4 1 F 4 H , , 地址:地址:6104H 存放存放 0F4H 6105H 存放存放 41H8155初始化程序:初始化程序:MOVDPTR ,# # 6100HMOVA,# # 0C2HMOVXDPTR ,AMOVDPTR ,# # 6104HMOVA,# # 0F4HMOVXDPTR ,AINCDPTRMOVA,# # 41HMOVXDPTR ,A写入命令字写入命令字装入计数初值装入计数初值第四节第四节 单片机键盘接口技单片机键盘接口技术术非编码:用软件产生键码,单片机用。非编码:用软件产

23、生键码,单片机用。 键盘分为两种键盘分为两种编码法编码法: : 用硬件产生键码。用硬件产生键码。键盘(矩阵)键盘(矩阵)键键机械开关机械开关列线列线行线行线一、一、5151单片机键盘单片机键盘结构结构(在前述扩展电路中使用)(在前述扩展电路中使用) PA 0 PA 1PA 2. PA 7PC 0PC 1PC 2PC 3+5V5.1K40行行1行行2行行3行行0列列1列列2列列3列列4列列5列列6列列7列列01234567816232431结构结构结构结构815581559ABCDEF键识别键识别键测试键测试有键按下否?有键按下否?去抖动去抖动行扫描行扫描键值计算键值计算键值送键值送A等待键释放

24、等待键释放JMP ADPTR 0键键处处理理子子程程序序 1键键处处理理子子程程序序 n键键处处理理子子程程序序. . . . . .N二、对键盘的识别流程二、对键盘的识别流程Y1、键测试、键测试先把先把输出口每位送输出口每位送“ 0 ”;再读输入口再读输入口 全为全为“ 1 ”时无键按下;时无键按下; 不全为不全为“ 1 ”时有键按下;时有键按下; 2、去抖动、去抖动延时法:采用延时躲过抖动;延时法:采用延时躲过抖动;比较法:读几次进行比较;比较法:读几次进行比较;键按下键按下键稳定键稳定前抖动前抖动后抖动后抖动键测试键测试3、键扫描、键扫描使用逐行扫描法确定被按键所在行的位置(行号):使用

25、逐行扫描法确定被按键所在行的位置(行号): 先使一条列线为先使一条列线为“ 0 ”,逐行进行扫描,如果此列,逐行进行扫描,如果此列线上无键按下,则各行线都为线上无键按下,则各行线都为“ 1 ”。如果此列线上有。如果此列线上有键按下,则对应行线为键按下,则对应行线为“ 0 ”。 通过行号与列号计算被按键的键值(位置)。通过行号与列号计算被按键的键值(位置)。4、键值计算、键值计算键值的定义原则:计算方便键值的定义原则:计算方便按图示定义按图示定义键值:键值: K = 行号行号8 列号列号行:行: 0,1,2,3 共共 4 行;行;列:列: 0,1,2,7 共共 8 列;列; 键值键值逐行扫描逐行

26、扫描D0 1D1 1D2 1D3 1 0 0 0 0 0 0 0 0D7D6D5D4D3D2D1D0+5V有键按下有键按下悬空悬空键测试键测试A口口: 输出输出C口口: 输入输入键测试键测试D0 1D1 1D2 1D3 1D7D6D5D4D3D2D1D0+5V有键按下有键按下悬空悬空 1 1 1 1 1 1 1 0A口口: 输出输出C口口: 输入输入逐行扫描逐行扫描逐行扫描逐行扫描D0 1D1 1D2 1D3 1D7D6D5D4D3D2D1D0+5V有键按下有键按下悬空悬空 1 1 1 1 1 0 1 1A口口: 输出输出C口口: 输入输入逐行扫描逐行扫描键扫描键扫描三、键盘程序设计三、键盘程

27、序设计A口口: 列输出,地址为列输出,地址为6101H ;C口口: 行输入,地址为行输入,地址为6103H1、键识别子程序键识别子程序 : KS1KS1: MOV DPTR , #6101H ;MOV A , #00H ; 各列送各列送“0”MOVX DPTR , A ;INCDPTR ; INC DPTR ; 指向指向C口口 MOVX A , DPTR ; 读读C口状态口状态CLP A ; C口数据取反口数据取反 “1 1 1 0” “0 0 0 1”ANL A , #0FH ; 屏蔽高四位屏蔽高四位 0 0 0 0 1 1 1 1RET 0 0 0 0 0 0 0 12 2、键盘扫描程序键

28、盘扫描程序LEY1: ACALL KS1 ; JZRET1 ; A的内容为零时转移到的内容为零时转移到“RET1”子程序子程序LK0 : ACALLDIR ; 调用延时子程序调用延时子程序 DI R ACALLDIR; 延时去抖动延时去抖动ACALLKS1JZRET1 ; A的内容为零时转移到的内容为零时转移到“RET1”子程子程序序LK2 : MOVR2 , #80H ; 列输出寄存器赋初值列输出寄存器赋初值MOVR7 , #0FFH ; 列号计数器赋初值列号计数器赋初值MOVR6 , #08H ; 列输出变更计数器赋初值列输出变更计数器赋初值 LK1: MOV A ,R2;INCR7;RL

29、A;MOV R2 ,A;MOV DPTR , #6101H ;CPLA;MOVX DPTR , A ;INCDPTRINCDPTR;MOVXA , DPTR ;CPL AANLA , #0FHJNZLKPDJNZ R6 , LK1;AJMP RET1;LKP: CLRC;MOV R2 , #00H;MOV R6 , #04H;NEXT: RRC A;JCLKP1;INCR2;DJNZ R6 , NEXT;AJMP RET1; LKP1: MOV A , R2;RLARLARLAADDA , R7;PUSH ACC;LK3: ACALL DIR;ACALL KS1;JNZLK3;POPACC;R

30、ETRET1: ACALL DIR;MOV A , #0FFH;RETa d0 b d1c d2d d3e d4f d5g d6dp d7第五节第五节 单片机单片机LED显示器接口技术显示器接口技术一、发光二极管显示器一、发光二极管显示器 LED(Light Emitting Diode)1、LED的结构:的结构: a f g b e cd dpGNDa bg fc dpe d5V共阴极共阴极共阳极共阳极共阴极字形(字模)共阴极字形(字模)dp g f e d c b a 0 0 0 0 0 1 1 0字形码字形码 06H 显示显示 “1”PA5PA4PA3PA2PA1PA0PB0PB1PB2

31、PB3PB4PB5PB6PB7同同二二 动态动态显示编程显示编程A口口: 输出字位,地址为输出字位,地址为6101H ;B口口: 输出字形,地址为输出字形,地址为6102H。1、显示缓冲区(内部、显示缓冲区(内部RAM)存放待显示的数字:存放待显示的数字:1,2,, D , E , F 7EH7DH 7CH 7BH7AH 79HLED5LED4LED3LED2LED1LED0 0 0 0 1 8 0依次显示依次显示字形(字模)字形(字模)dp g f e d c b a 0 0 0 0 0 1 1 0字形码字形码 06H 显示显示 1二、显示程序二、显示程序DIR:MOV R0 , #79H ; MOV R3 , #01H;MOV A , R3;LD0: MOV DPTR , #6101H ;MOVX DPTR , A ;INCDPTR;MOV A , R0;共阴极共阴极a d0 b d1c d2d d3e d4f d5g d6dp d7DIR0: ADD A , #0DH;MOVC A , APC ;ACALL DL;INCR0;MOV A , R3;JBACC.5 , LD1 ;RLAMOV R3 , A;AJMP LD0;LD1: RETDB3FH , 06H , 5BH , DB79H , 71H

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号