




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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显示器接口技术显示器接口技术 docin/sundae_mengdocin/sundae_meng第一节第一节 单片机扩展的基本概念单片机扩展的基本概念一、单片机最小系统一、单片机最小系统 使单片机能运行的最少器件构成的系统,就是最小使单片机能运行的最少器件构成的系统,就是最小系统。系统。无无
2、ROMROM芯片:芯片:(8031) (8031) 必须扩展必须扩展ROMROM,复位、晶振电路。,复位、晶振电路。有有ROMROM芯片:不必扩展芯片:不必扩展ROMROM,只须扩展复位、晶振电路。,只须扩展复位、晶振电路。docin/sundae_mengdocin/sundae_meng2、P0、P2: 地址总线地址总线 AB,P0为低为低8位,位, P2为高为高8位位 。1、P0: 数据总线数据总线 DB 。3、P3: 控制总线控制总线 CB 。二、单片机三总线构成二、单片机三总线构成RD、 WR、 ALE、 PSEN 、 EA读、读、 写、写、 地址锁存、读外部程序存储器、地址锁存、读
3、外部程序存储器、 控制内外控制内外ROMdocin/sundae_meng第二节第二节 单片机存储器的扩展单片机存储器的扩展 docin/sundae_meng P0 ALE8031 P2 PSEN WR RD EAD0D7A8A15373 LE OEA0A7AB A0A15 DB D0D7A15A14A13Vcc总线扩展逻辑图总线扩展逻辑图138 Y7 . . . Y1 Y0A B C G1 G2A G2B译码法译码法docin/sundae_meng DB D0D7AB A0A15A15A14A13Vcc138 Y7 . . . Y1 Y0A B C G1 G2A G2BCE D0D7A0
4、A12 2764CE1 D0D7A0A12 6264 PSENRDWR接接80318031OE存储器扩展存储器扩展OEWRdocin/sundae_meng P0 ALE8031 P2 PSEN WR RD EAD07A8A15373 LE OEA07AB A0A15 DB D0D7D0D7 2764 CE OEA012D0D7 2764CE OEA012线选法线选法A15docin/sundae_meng P0.7 P0.0 ALE8031 P2 PSEN WR RD EA373 LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A1
5、4A13 D0 D7 2764OE CEA0 A12D0 D7A0A12译码法电路图译码法电路图接6264docin/sundae_meng D0 D7WR 6264OE CE1A0 A12接8031RDWR接138 Y1DBABD0 D7A0A12docin/sundae_meng1、存储器、存储器 CPU同步传送,靠时钟控制传送速度。只需要同步传送,靠时钟控制传送速度。只需要 地址线、数据线、读写线。地址线、数据线、读写线。2、外部设备、外部设备 CPU异步传送,传送速度不同,除地址线、数据线、读写线异步传送,传送速度不同,除地址线、数据线、读写线 外,还需要应答线。外,还需要应答线。第三
6、节第三节 I /O I /O 接口技术概述接口技术概述一、接口电路一、接口电路interface circuitinterface circuit) 数据传送数据传送 存储器存储器 CPU 外部设备外部设备 CPUdocin/sundae_meng外部设备情况复杂,导致外部设备与外部设备情况复杂,导致外部设备与CPUCPU不能同步。不能同步。1 1工作速度差别大工作速度差别大; ;2 2信号形式多样信号形式多样 : : 电压、电流等模拟量、开关量;电压、电流等模拟量、开关量;3 3外部设备与外部设备与CPUCPU距离差别大:数米、数十米;距离差别大:数米、数十米;docin/sundae_me
7、ng4 4数据转换数据转换 :电流转电压,:电流转电压,D / AD / A、A / DA / D,并行转串行,串行,并行转串行,串行转转并行。并行。接口电路的任务:接口电路的任务:1 1协调速度,解决应答信号问题;协调速度,解决应答信号问题;2 2解决数据锁存问题,输出时外设与数据总线之间要有锁存器;解决数据锁存问题,输出时外设与数据总线之间要有锁存器;3 3解决数据缓冲问题,输入时外设与数据总线之间要有缓冲器;解决数据缓冲问题,输入时外设与数据总线之间要有缓冲器;docin/sundae_meng二、二、 简单简单I/O扩展扩展输入:使用三态门缓冲器)输入:使用三态门缓冲器)74LS244
8、74LS24474LS24574LS245输出:使用锁存器输出:使用锁存器74LS27374LS27374LS37374LS3731 1、输入扩展,使用、输入扩展,使用2 2个个74LS24474LS244输入输入BCDBCD码:码:存放在存放在 R4 R4 (低字节),个位、十位(低字节),个位、十位244 244 ) R5 R5 (高字节),百位、千位(高字节),百位、千位244 244 ) 74LS244 74LS244输入端接外设键),输出端接数据总线。输入端接外设键),输出端接数据总线。docin/sundae_mengdocin/sundae_meng工作内容:工作内容:1. 1.
9、 设计电路设计电路2. 2. 地址译码地址译码3. 3. 设计程序设计程序docin/sundae_mengP0.7P0.0ALE8031P2PSENWRRDEA373LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A14A13D0 D72764OE CEA0 A12D0 D7A0A12译码法电路图译码法电路图接6264docin/sundae_meng y0 y7244 1A1 2A4 y0 y7 244 1A1 2A4 Vcc个位个位 十位十位百位百位千位千位A0A1A Y0 Y1B Y2139E Y3RD或门Y7E000HE00
10、1HE000H1G2GDBAB1G2GE002HE003Hdocin/sundae_meng编写程序编写程序由由244 244 读回数据低字节存放在读回数据低字节存放在 R4 R4 由由244 244 读回数据高字节存放在读回数据高字节存放在 R5 R5MOV DPTR , #E000H ; 244I口地址送数据指针口地址送数据指针DPTRMOVX A , DPTR ;地址的内容送累加器地址的内容送累加器AMOV R4 , A ; 个位、十位数据送个位、十位数据送 R4INC DPTR ; 数据指针加数据指针加 1 ,指向,指向244II)MOVX A , DPTR ;地址的内容送累加器地址的
11、内容送累加器AMOV R5 , A ; 百位、千位数据送百位、千位数据送 R5 docin/sundae_mengA12、输出扩展,使用、输出扩展,使用2个个74LS273输出数据输出数据DBAB或门Y7E000HWRA Y0B Y1139 ED0 D7 273 I CLKQ0 Q7D0 D7 273 II CLKQ0 Q7 E000HE001HE002HE003HA0docin/sundae_meng编写程序编写程序把把#35H#35H由由273273I I) 送出,把送出,把#45H#45H由由273273IIII) 送出。送出。MOV DPTR , #E000H ; 273 I 口地址送
12、数据指针口地址送数据指针DPTRMOV A , #35HMOVX DPTR , A ;累加器累加器A的内容送地址的内容送地址E000HINC DPTR ; 数据指针加数据指针加 1 ,指向,指向273 IIMOV A , #45HMOVX DPTR , A ;累加器累加器A的内容送地址的内容送地址E001Hdocin/sundae_meng三、三、 8155 8155作作5151系列单片机可编程系列单片机可编程I/OI/O扩展扩展1 1、81558155可编程并行接口芯片结构可编程并行接口芯片结构 按芯片功能,按芯片功能,81558155由三部分组成:由三部分组成:2 2) I/O I/O接口
13、:接口:端口端口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计数器计数器/ /定时器:一个定时器:一个1414位的二进制减法计数器位的二进制减法计数器/ /定时器。定时器。1 1) 随机存储器随机存储器RAMRAM:256256字节字节docin/sundae_meng2、8155引脚及内部逻辑结构引脚及内部逻辑结构
14、 (P310)1 402 39. . . .20 21256BRAM计计数数器器ABCIO/MAD70CEALERDWRRESETTIMER INTIMER OUTPA70PB70PC50PC3PC4PC5PC0PC1PC2VccTIMER INRESETTIMER OUTIO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssPB0PB1PB2PB3PB4PB5PB6PB7PA7PA6PA5PA4PA3PA2PA1PA0docin/sundae_mengAD0AD0AD7AD7:地址地址/ /数据线数据线ALEALE: 地址锁存信号地址锁存信号RD:RD:读信号读信号
15、WR:WR:写信号写信号CE:CE:片选信号片选信号TIMER IN:TIMER IN:计时器输入信号计时器输入信号TIMER OUT:TIMER OUT:计数器输出信号计数器输出信号RESET:RESET:复位信号复位信号IO / M:IO / M: 输入输入“1“1为为 I/O I/O端口操作端口操作I/O I/O 、RAMRAM操作选择操作选择 输入输入“0“0为片内为片内 256B RAM 256B RAM读读写操作写操作PA0-7, PB0-7, PC0-5 : PA0-7, PB0-7, PC0-5 : 三个通用三个通用I/OI/O端口端口docin/sundae_meng3 3、
16、I/OI/O口工作方式口工作方式 (用软件设置)(用软件设置) 输入输入 C C口:口:输出输出控制控制A A口的应答口的应答 四种工作方式;四种工作方式;控制控制B B口的应答口的应答 A A口:口: 输入、输出两种工作方式;输入、输出两种工作方式;B B口:口:docin/sundae_meng4 4、81558155片内片内RAMRAM及及I/OI/O口地址口地址2I/O口地址口地址: 00H 命令命令/状态寄存器地址状态寄存器地址 01H 端口端口A地址地址 02H 端口端口B地址地址 03H 端口端口C地址地址 04H 计数器低计数器低 8 位地址位地址 05H 计数器高计数器高 8
17、 位地址位地址以上地址均为以上地址均为8155芯片内部的芯片内部的 8 位地址位地址1RAM地址:地址:00HFFH 256 Bdocin/sundae_meng 8155MCS - 51AD 07P 0.0 0.7ALEALERESET.RSTRD.RDWR.WR5 5、81558155与与5151单片机连接单片机连接81558155与与5151单片机的许多信号兼容,可以直接连接。单片机的许多信号兼容,可以直接连接。docin/sundae_meng6 6、5151单片机可编程单片机可编程I/OI/O扩展译码法)扩展译码法)docin/sundae_mengP0.7P0.0ALE8031P2
18、PSENWRRDEA373LE OED0D7A0A7A8A15DBAB A Y0B Y1C 138G2BG2A G1 Y7VccA15A14A13D0 D72764OE CEA0 A12D0 D7A0A12译码法电路图译码法电路图接6264docin/sundae_mengALERSTA8AD0AD1 .AD7ALERESETIO / MCE 138 Y3B07A07C056000H7FFFHDBAB AD0AD7 1) I/O扩展电路图扩展电路图接80318155docin/sundae_meng2 2扩展后扩展后8155 RAM8155 RAM及及I/OI/O口地址口地址 I/O:6100
19、H命令命令/状态寄存器地址状态寄存器地址6101H端口端口A地址地址6102H端口端口B地址地址6103H端口端口C地址地址6104H 计数器低计数器低 8 位地址位地址 6105H计数器高计数器高 8 位地址位地址 IO / M 接地址线接地址线A8 RAM( M ): 6000H60FFH 共共 256 Bdocin/sundae_meng7、命令、命令 / 状态字状态字1命令字:命令字:8 位寄存器,用来定义端口及计数器的工作方式,位寄存器,用来定义端口及计数器的工作方式,对此寄存器只能写,不能读。对此寄存器只能写,不能读。格式:格式:A口口 “0” 输入输入B口口 “1输出输出 “00
20、” 输入输入C口口 “11” 输出输出 “01” 控制控制A口选通口选通 “10” 控制控制A、B口选通口选通A口中断口中断B口中断口中断“1允许中断允许中断“0不允许中不允许中断断计数器工计数器工作方式,作方式,四种:四种:00、01、10、11。D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPAdocin/sundae_meng 00 : 无操作无操作计数器工作方式计数器工作方式: 01 : 停止计数停止计数 10 : 计数完成后停止计数完成后停止 11 : 开始计数开始计数D7D6D5D4D3D2D1D0T M2T M1IEBIEAPC2PC1PBPAdocin
21、/sundae_mengD6D5D4D3D2D1D0格式:格式:2状态字状态字 : 8 位寄存器,用低位寄存器,用低 7 位来寄存各端口及计时器的位来寄存各端口及计时器的工作工作 状态,对此寄存器只能读,不能写。状态,对此寄存器只能读,不能写。INTRA : A口中断请求口中断请求ABF : A口缓冲器满口缓冲器满/ 空空INTEA : A口空中断允许口空中断允许INTRB : B口中断请求口中断请求BBF : B口缓冲器满口缓冲器满/ 空空INTEB : B口中断允许口中断允许TIMER : 计时器中断计时器中断docin/sundae_meng8、8155 计数器计数器/ 定时器定时器1构
22、造:构造:14 位减法计数器,由两个位减法计数器,由两个 8 位寄存器组成位寄存器组成M2M1T 13T 12T 11T 10T9T8D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0T7T6T5T4T3T2T1T0输出方式输出方式计数器高计数器高 6 位位计数器低计数器低 8 位位05H04Hdocin/sundae_meng 0 0 单方波单方波 0 1 连续方波连续方波 1 0 单脉冲单脉冲 1 1 连续脉冲连续脉冲开始计数开始计数终止计数终止计数2M2M1 :定义计数器输出信号方式:定义计数器输出信号方式docin/sundae_meng9、8155 命令字命令字,计数器
23、计数器/ 定时器应用定时器应用 (初始化初始化) 要求对计数脉冲进行千分频,并重新置数以产生连续方波。要求对计数脉冲进行千分频,并重新置数以产生连续方波。分频的概念:分频的概念:二分频:输出频率是输入频二分频:输出频率是输入频 率的二分之一率的二分之一计数脉冲:输入计数脉冲:输入连续方波:输出连续方波:输出500500计数常数计数常数: 500: 500输入输入输出输出docin/sundae_mengA口口:输入输入B口口:输出输出 C口口:输入输入AB口口:禁止中断禁止中断TM2TM1 命令字:命令字: 1 1 0 0 0 0 1 0输出连续方波输出连续方波 :M2M1 0 1 ; 计数常
24、数计数常数: 500 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0计数器低计数器低 8 8 位位计数器高计数器高 8 8 位位计数初值为:计数初值为:41F4H0 C 2 Hdocin/sundae_meng 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高高低低2 ) 0 0docin/
25、sundae_meng命令字:命令字: 0 C 2 H,地址:地址:6100H计数初值为:计数初值为:4 1 F 4 H , 地址:地址:6104H 寄存寄存 0F4H 6105H 寄存寄存 41H8155初始化程序:初始化程序:MOVDPTR ,# 6100HMOVA,# 0C2HMOVXDPTR ,AMOVDPTR ,# 6104HMOVA,# 0F4HMOVXDPTR ,AINCDPTRMOVA,# 41HMOVXDPTR ,A写入命令字写入命令字装入计数初值装入计数初值docin/sundae_meng第四节第四节 单片机键盘接口技单片机键盘接口技术术非编码:用软件产生键码,单片机用。
26、非编码:用软件产生键码,单片机用。 键盘分为两种键盘分为两种 编码法编码法: : 用硬件产生键码。用硬件产生键码。键盘矩阵)键盘矩阵)键键机械开关机械开关列线列线行线行线docin/sundae_meng一、一、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列列01234567816232431815581559ABCDEFdocin/sundae_mengALERSTA8AD0AD1.AD7ALERE
27、SETIO / MCE138 Y3B07A07C056000H7FFFHDBAB AD0AD7 1) I/O扩展电路图扩展电路图docin/sundae_meng键识别键识别键测试键测试有键按下否?有键按下否?去抖动去抖动行扫描行扫描键值计算键值计算键值送键值送A等待键释放等待键释放JMP ADPTR 0键键处处理理子子程程序序 1键键处处理理子子程程序序 n键键处处理理子子程程序序. . . . . .N二、对键盘的识别流程二、对键盘的识别流程Ydocin/sundae_meng1、键测试、键测试先把输出口每位送先把输出口每位送“ 0 ”;再读输入口再读输入口 全为全为“ 1 ”时无键按下;
28、时无键按下; 不全为不全为“ 1 ”时有键按下;时有键按下; 2、去抖动、去抖动延时法:采用延时躲过抖动;延时法:采用延时躲过抖动;比较法:读几次进行比较;比较法:读几次进行比较;键按下键按下键稳定键稳定前抖动前抖动后抖动后抖动键测试键测试docin/sundae_meng3、键扫描、键扫描使用逐行扫描法确定被按键所在行的位置行号):使用逐行扫描法确定被按键所在行的位置行号): 先使一条列线为先使一条列线为“ 0 ”,逐行进行扫描,如果此列,逐行进行扫描,如果此列线上无键按下,则各行线都为线上无键按下,则各行线都为“ 1 ”。如果此列线上有。如果此列线上有键按下,则对应行线为键按下,则对应行线
29、为“ 0 ”。 通过行号与列号计算被按键的键值位置)。通过行号与列号计算被按键的键值位置)。4、键值计算、键值计算键值的定义原则:计算方便键值的定义原则:计算方便按图示定义键值:按图示定义键值: K = 行号行号8 列号列号行:行: 0,1,2,3 共共 4 行;行;列:列: 0,1,2,7 共共 8 列;列; 键值键值逐行扫描逐行扫描docin/sundae_mengD0 1D1 1D2 1D3 1 0 0 0 0 0 0 0 0D7D6D5D4D3D2D1D0+5V有键按下有键按下悬空悬空键测试键测试A口口: 输出输出C口口: 输入输入键测试键测试docin/sundae_mengD0 1
30、D1 1D2 1D3 1D7D6D5D4D3D2D1D0+5V有键按下有键按下悬空悬空 1 1 1 1 1 1 1 0A口口: 输出输出C口口: 输入输入逐行扫描逐行扫描逐行扫描逐行扫描docin/sundae_mengD0 1D1 1D2 1D3 1D7D6D5D4D3D2D1D0+5V有键按下有键按下悬空悬空 1 1 1 1 1 0 1 1A口口: 输出输出C口口: 输入输入逐行扫描逐行扫描键扫描键扫描docin/sundae_meng三、键盘程序设计三、键盘程序设计A口口: 列输出,地址为列输出,地址为6101H ;C口口: 行输入,地址为行输入,地址为6103H1、键识别子程序、键识别
31、子程序 : 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 1docin/sundae_meng2 2、键盘扫描程序、键盘扫描程序LEY1: ACALL KS1 ; JZRET1 ; A的内容为零时转移到的内容为
32、零时转移到“RET1子程子程序序LK0 : ACALLDIR ; 调用延时子程序调用延时子程序 DI R ACALLDIR; 延时去抖动延时去抖动ACALLKS1JZRET1 ; A的内容为零时转移到的内容为零时转移到“RET1子程子程序序LK2 : MOVR2 , #80H ; 列输出寄存器赋初值列输出寄存器赋初值MOVR7 , #0FFH ; 列号计数器赋初值列号计数器赋初值MOVR6 , #08H ; 列输出变更计数器赋初值列输出变更计数器赋初值docin/sundae_mengLK1: MOV A ,R2;INCR7;RLA;MOV R2 ,A;MOV DPTR , #6101H ;CPLA;MOVX DPTR , A ;INCDPTRINCDPTR;MOVXA , DPTR;CPL AANLA , #0FHdocin/sundae_mengJNZLKPDJNZ R6 , LK1;AJMP RET1;LKP: CLRC;MOV R2 , #00H;MOV R6 , #04H;NEXT: RRC A;JCLKP1;INCR2;DJNZ R6 , NEXT;AJMP RET1;docin/sundae_me
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门诊部护理质量分析
- 三年级数学几百几十加减几百几十评价试题题大全附答案
- 金融行业风险控制及纪律整改措施
- 化工产品质量检测与保障措施
- 小学三年级后进生课外辅导方案
- 房地产开发监理措施解析
- 青蓝工程师国际交流与合作计划
- 企业股份改制方案设计书
- 小学四年级语文阅读理解教学计划
- 生态修复项目的季节性施工养护措施
- 口腔护理学绪论课件
- Unit+5+The+Monarchs+Journey+Language+points+课件-【知识精讲精研】高中英语外研版(2019)必修第一册+
- 滑模施工检查验收记录
- 2023年国家铁路局市场监测评价中心招聘高校应届毕业生1人笔试参考题库(共500题)答案详解版
- 2022年机动车检验机构内部审核和管理评审资料汇编
- 过滤式消防自救呼吸器-安全培训
- 银行员工谈话记录表
- 3q认证3q认证模板
- 第4章-甲壳素和壳聚糖-天然高分子材料资料讲解课件
- 企业动态能力研究梳理与展望论文
- 有关高中生英文励志演讲稿3篇
评论
0/150
提交评论