第7章-单片机系统扩展_第1页
第7章-单片机系统扩展_第2页
第7章-单片机系统扩展_第3页
第7章-单片机系统扩展_第4页
第7章-单片机系统扩展_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 单片机系统扩展第第7 7章章 单片机系统扩展单片机系统扩展第7章 单片机系统扩展主要内容:主要内容:7.1 7.1 单片机的最小系统单片机的最小系统7.2 7.2 总线扩展及编址总线扩展及编址7.3 7.3 程序存储器的扩展程序存储器的扩展7.4 7.4 数据存储器及其扩展数据存储器及其扩展7.5.1 7.5.1 简单简单 I/OI/O扩展扩展7.5.3 7.5.3 键盘接口键盘接口7.5.4 LED7.5.4 LED显示接口显示接口第7章 单片机系统扩展重点、难点重点、难点p掌握单片机最小系统构成掌握单片机最小系统构成p掌握常用地址译码方法掌握常用地址译码方法p掌握常用的程序存储器和

2、数据存储器的扩展方法掌握常用的程序存储器和数据存储器的扩展方法p掌握简单掌握简单I/OI/O扩展方法扩展方法p掌握非编码键盘的原理及获取键值的方法掌握非编码键盘的原理及获取键值的方法p了解了解LEDLED数码管显示器的结构,掌握数码管显示器的结构,掌握LEDLED数码管驱动方法数码管驱动方法 第7章 单片机系统扩展7.1 单片机的最小系统单片机的最小系统 最小系统:是指能维持单片机运行的最简单配置的系统。7.1.1 80C51/89C51最小应用系统最小应用系统第7章 单片机系统扩展7.1.2 8031最小应用系统最小应用系统第7章 单片机系统扩展7.2 总线扩展及编址总线扩展及编址7.2.1

3、 MCS-51单片机外总线结构单片机外总线结构第7章 单片机系统扩展1.1.地址总线地址总线p宽度为宽度为1616位,寻址范围位,寻址范围2 2161664KB64KBp高高8 8位地址由位地址由P2P2口提供,低口提供,低8 8位地址由位地址由P0P0口提供口提供pP0P0口为数据口为数据/ /地址分时复用,地址分时复用,ALEALE的下降沿将的下降沿将P0P0口输出的地址口输出的地址锁存入锁存器中。锁存入锁存器中。2.2.数据总线数据总线p由由P0P0口提供,其宽度为口提供,其宽度为8 8位。位。第7章 单片机系统扩展3.3.控制总线控制总线pEAEA:内部和外部程序存储器的选择控制信号,

4、电平高低由用:内部和外部程序存储器的选择控制信号,电平高低由用户决定;户决定; EA=0EA=0:只访问外部程序存储器;:只访问外部程序存储器; EA=1EA=1:地址低于:地址低于1000H1000H时,访问内部时,访问内部ROMROM,否则,否则,访问外部访问外部ROMROMpALEALE:地址锁存允许信号;:地址锁存允许信号;pPSENPSEN:外部程序存储器读信号,执行:外部程序存储器读信号,执行MOVCMOVC指令访问外部程序指令访问外部程序存储器时自动产生。存储器时自动产生。pWRWR:外部数据存储器写信号,执行:外部数据存储器写信号,执行MOVXMOVX指令时自动产生。指令时自动

5、产生。pRDRD:外部数据存储器读信号,执行:外部数据存储器读信号,执行MOVXMOVX指令时自动产生。指令时自动产生。第7章 单片机系统扩展7.2.2 MCS-517.2.2 MCS-51单片机的扩展能力单片机的扩展能力片外可扩展的程序存储器最大容量为片外可扩展的程序存储器最大容量为64KB64KB,范围:,范围:0000HFFFFH0000HFFFFH。片外可扩展的数据存储器最大容量为片外可扩展的数据存储器最大容量为64KB64KB,范围:,范围:0000HFFFFH0000HFFFFH。 为了配置外围设备而需要扩展的为了配置外围设备而需要扩展的I/OI/O口与片外数据存储器统口与片外数据

6、存储器统一编址,不再另外提供地址线。一编址,不再另外提供地址线。 第7章 单片机系统扩展7.37.3程序存储器的扩展程序存储器的扩展7.3.17.3.1地址译码方式地址译码方式 CPUCPU发出的地址信号必须实现两种选择:首先对存储器芯发出的地址信号必须实现两种选择:首先对存储器芯片的选择,使相关芯片的片选端片的选择,使相关芯片的片选端CSCS为有效,这称为为有效,这称为片选片选。然后。然后在选中的芯片内部再选择某一存储单元,这称为在选中的芯片内部再选择某一存储单元,这称为字选字选。连接方法连接方法:存储器芯片的地址线和单片机的地址总线中的若干:存储器芯片的地址线和单片机的地址总线中的若干条低

7、位地址线对应相连,其余的地址线(通常是条低位地址线对应相连,其余的地址线(通常是P2口的高位地口的高位地址)通过地址译码来产生外部存储器芯片的片选信号址)通过地址译码来产生外部存储器芯片的片选信号 。线选法:线选法:将多余的高位地址线中单独的一根直接接到存储器芯将多余的高位地址线中单独的一根直接接到存储器芯片使能端上。片使能端上。 译码法:译码法:使用译码器对系统的高位地址进行译码,译码输出作使用译码器对系统的高位地址进行译码,译码输出作为存储芯片的片选信号。为存储芯片的片选信号。 第7章 单片机系统扩展7.3.2 EPROM程序存储器的扩展程序存储器的扩展1.EPROM芯片芯片A0AiA0A

8、i:地址线(不同容量芯片的地址线数目不同);:地址线(不同容量芯片的地址线数目不同);O0 O7O0 O7:8 8位输出数据线;位输出数据线;CECE:片选端;:片选端;OEOE:输出允许;:输出允许;VppVpp:编程电压;:编程电压;PGMPGM:编程脉冲输入。:编程脉冲输入。第7章 单片机系统扩展第7章 单片机系统扩展2.EPROM基本扩展法基本扩展法第7章 单片机系统扩展【例例7-27-2】用用3 3片片2764EPROM2764EPROM芯片为芯片为803l803l单片机扩展单片机扩展24KB24KB的程序存的程序存储器。储器。连接方法:连接方法: p将将3 3片片27642764芯

9、片低芯片低8 8位地址线位地址线A0A7A0A7都通过地址锁存器与都通过地址锁存器与80318031的的P0P0口的口的P0.0P0.7P0.0P0.7相连,高相连,高5 5位地址线位地址线A8A12A8A12直接和直接和P2P2口的口的P2.0P2.4P2.0P2.4相连(片内寻址)。相连(片内寻址)。p3 3片片27642764的数据线的数据线O0O7O0O7都直接接到都直接接到P0P0口,作为数据总线。口,作为数据总线。pPSENPSEN与与3 3片片27642764的的OEOE端直连端直连p剩余高地址线通过译码产生剩余高地址线通过译码产生3 3片片27642764的片选信号的片选信号第

10、7章 单片机系统扩展线选法:线选法:P2.5P2.50 0、P2.6=1P2.6=1和和P2.7=1P2.7=1时,选中第一个时,选中第一个EPROMEPROM,地址范围为:,地址范围为:0C000H0DFFFH0C000H0DFFFHP2.5P2.51 1、P2.6=0P2.6=0和和P2.7=1P2.7=1时,选中第二个时,选中第二个EPROMEPROM,地址范围为:,地址范围为:0A000H0BFFFH0A000H0BFFFHP2.5P2.51 1、P2.6=1P2.6=1和和P2.7=0P2.7=0时,选中第三个时,选中第三个EPROMEPROM。地址范围为:。地址范围为:06000H

11、07FFFH06000H07FFFH显然,用线选法会使存储空间不连续,同时不能充分有效地利用存储空间,扩充存储显然,用线选法会使存储空间不连续,同时不能充分有效地利用存储空间,扩充存储容量受限。容量受限。第7章 单片机系统扩展部分译码法:部分译码法:用用P2.6P2.7P2.6P2.7与与2-42-4译码器直连,我们用其中的三个输出信号(假设为译码器直连,我们用其中的三个输出信号(假设为Y0Y0、Y1Y1、Y2Y2)与三片存储器的)与三片存储器的/CE/CE端相连,则:端相连,则:第一个第一个EPROMEPROM的地址范围为:的地址范围为:0000H3FFFH0000H3FFFH第二个第二个E

12、PROMEPROM的地址范围为:的地址范围为:4000H7FFFH4000H7FFFH第三个第三个EPROMEPROM的地址范围为:的地址范围为:8000HBFFFH8000HBFFFH每个芯片占用了每个芯片占用了16K16K的地址空间,而每个芯片实际的容量是的地址空间,而每个芯片实际的容量是8K8K,原因是地址线,原因是地址线P2.5P2.5没有没有参与译码,这种部分译码方式也存在地址空间浪费的情况。参与译码,这种部分译码方式也存在地址空间浪费的情况。 第7章 单片机系统扩展译码器换成74LS138,则A13(P2.5)也参与了译码,这种全译码(所有剩余高地址线都参与译码)方式不存在地址空间

13、浪费。 设设Y0、Y1、Y2与与3片存储器的片存储器的/CE端相连,请写出端相连,请写出3个芯片的地个芯片的地址空间?址空间?第7章 单片机系统扩展 3. 3.片外片外ROMROM操作时序操作时序片内片外ROM读,用指令MOVC(产生PSEN信号)片外片外ROM选择,用EA。片外ROM最大容量64K。读外部读外部ROMROM时序。时序。 第7章 单片机系统扩展7.4 数据存储器及其扩展数据存储器及其扩展1.RAM芯片简介芯片简介A0A12A0A12:1313位地址线。位地址线。D0D7D0D7:8 8位输出输人数据线。位输出输人数据线。CE1CE1,CE2CE2:片选端。:片选端。OEOE:输

14、出允许。:输出允许。WEWE:写允许信号。:写允许信号。VccVcc、VssVss:+5V+5V电源和接地端。电源和接地端。第7章 单片机系统扩展第7章 单片机系统扩展2.外部数据存储器的扩展方法外部数据存储器的扩展方法第7章 单片机系统扩展p地址线:将地址线:将6116的低的低8位地址线位地址线A0A7通过地址锁存器通过地址锁存器74LS373与与MCS-5l的的P0口的口的P0.0P0.7相连,高相连,高3位地址线位地址线A8A10直接和直接和P2口的口的P2.0P2.2相连;相连;p数据线:将数据线:将6116的数据线的数据线D0D7都直接接到都直接接到P0口;口;p控制线:将控制线:将

15、6116芯片的输出允许端芯片的输出允许端OE接接MCS-51的的P3.7(RD),),写允许端写允许端WE接接P3.6(WR););p片选线:由于只扩展一片,不需要经过译码产生片选信号,故片选线:由于只扩展一片,不需要经过译码产生片选信号,故将将6116片选端片选端CE接地。因此接地。因此6116的地址范围是的地址范围是0000H07FFH。【例例7-3】用6116芯片为MCS-5l单片机扩展2KB的外部数据存储器。连接方法:连接方法:第7章 单片机系统扩展注意:在扩展单片数据存储器时,存储器片选端能否直接接地,还需考虑应用系统中有无I/O口及外围设备扩展,如果有,则要用剩余高地址线通过译码统

16、一进行片选选择。第7章 单片机系统扩展3.3.读操作时序读操作时序【例例】若(若(DPTRDPTR)=2030H=2030H,片外,片外RAMRAM单元单元2030H2030H内容为内容为55H55H,指令指令MOV AMOV A,DPTRDPTR(该指令代码为(该指令代码为E0HE0H)所在片外)所在片外ROMROM的的地址为地址为2314H2314H。 第7章 单片机系统扩展4.4.写操作时序写操作时序 【例例】若(若(DPTRDPTR)=1040H=1040H,(,(A A)=88H=88H,指令,指令MOV DPTRMOV DPTR,A A(该指令代码为(该指令代码为F0HF0H)所在

17、片外)所在片外ROMROM的地址为的地址为2218H 2218H 。 第7章 单片机系统扩展7.5 I/O口的扩展口的扩展 MCS-51系列单片机的外部RAM和I/O口是统一编址的,单片机就可以象访问外部RAM存储器那样访问外部接口芯片。【例例7-4】如如图7-13,编写一段程序,功能是按下任意键,使对应的LED发光。 第7章 单片机系统扩展分析:分析:p74LS24474LS244是是8 8路缓冲线驱动器(三态输出),路缓冲线驱动器(三态输出),G1、G2为低电平为低电平时,信息输入到时,信息输入到P0P0口的数据总线上,口的数据总线上,G1、G2为高电平时,呈现为高电平时,呈现高阻状态。高

18、阻状态。p74LS273是是8D触发器,触发器,CP下降沿将下降沿将P0P0口输出的数据锁存到输口输出的数据锁存到输出端。出端。p因为因为74LS24474LS244和和74LS27374LS273都是在都是在P2.0P2.0为为0 0时被选通的,所以二者时被选通的,所以二者的口地址都可以是的口地址都可以是FEFFHFEFFH(不是唯一的,只要保证(不是唯一的,只要保证P2.0P2.00 0)。)。但由于分别由但由于分别由RDRD和和WRWR控制,这两个信号都是在执行控制,这两个信号都是在执行MOVXMOVX指令时指令时产生的,因此,两者不可能同时有效,所以在逻辑上,输入和产生的,因此,两者不

19、可能同时有效,所以在逻辑上,输入和输出不会产生冲突。输出不会产生冲突。 第7章 单片机系统扩展 ORG 0000 ORG 0000 LJMP START LJMP START ORG 1000H ORG 1000HSTART: MOV DPTRSTART: MOV DPTR,#0FEFFH#0FEFFH MOVX A MOVX A,DPTR DPTR ;通过;通过74LS24474LS244读开关状态读开关状态 MOVX DPTRMOVX DPTR,A A ;通过;通过74LS27374LS273控制灯亮灭控制灯亮灭 SJMP STATRSJMP STATR END END参考程序参考程序 :

20、第7章 单片机系统扩展7.5.3 键盘接口键盘接口1.非编码键盘的设计必须解决以下问题:(1)判定是否有键按下。(2)若有键按下,判定是哪个键按下,确定被按键的“键值”。(3)除抖动。(4)准确得出按键值(或键号),以满足跳转指令要求。 (5)同一按键长时间持续按下。 (6)处理同时按键。 第7章 单片机系统扩展2.单片机对非编码键盘的控制方式(1)程序查询方式 CPU时刻处于键盘检测状态,不能干别的事情,效率低下,很少用。 (2)定时扫描方式 在定时中断中,调用键盘扫描子程序,查询按键状态,此方法常用。(3)中断扫描方式 当键盘有键闭合时产生中断请求,CPU响应中断,执行服务程序,判断键号,

21、做相应处理,效率最高。 第7章 单片机系统扩展3.独立式按键接口电路独立式按键接口电路软件结构简单,适用于应用系统中的键较少的场合。 第7章 单片机系统扩展ORG 0000HRDKEY:MOV A,#0FFH MOV P1,A ;准双向口 MOV A,P1 JNB ACC.0,P0 JNB ACC.1,P1 JNB ACC.2,P2 JNB ACC.7,P7 ;查询P1.nDONE:RETP0:LJMP PROM0P1: LJMP PROM1P7:LJMP PROM7 ;转对应服务程序第7章 单片机系统扩展PROM0: LJMP DONEPROM1: LJMP DONEPROM7:: LJMP

22、 DONE ;程序执行后返回END第7章 单片机系统扩展4.矩阵式键盘矩阵式键盘键盘扫描程序应包括以下内容:p检测当前是否有键按下p有键闭合时,消除抖动。p依次给每一条列线送出0信号,其余各列线均为1,并相继检测每一次扫描时所对应的行状态。若各行全为1,表示为0的这一列上没有键闭合;否则为0的这一列上有键闭合,且闭合键所在的行就是行状态为0的行。p判断闭合键是否释放,如没释放继续等待。p用查表法或计算法得到键值,送A然后转向相应的处理程序。第7章 单片机系统扩展【例7-8】如图所示矩阵式键盘,写出查询方式的键盘处理子程序KEYP,将扫描后的键号(015)存入R4,以便用散转指令转移到不同的处理

23、程序上去。第7章 单片机系统扩展KEYP: MOV P1KEYP: MOV P1,#0F0H#0F0H MOV A MOV A,P1P1 ANL A ANL A,#0F0H#0F0H CJNE A CJNE A,#0F0H#0F0H,P0 P0 ;不全为;不全为1 1,有键按下,有键按下 LJMP DONE LJMP DONE ;无键按下,返回;无键按下,返回P0: LCALL DELAY P0: LCALL DELAY ;延时;延时 MOV AMOV A,P1P1 ANL A ANL A,#0F0H#0F0H CJNE A CJNE A,#0F0H#0F0H,P1 P1 ;确认有键按下;确认

24、有键按下 LJMP DONE LJMP DONE ;抖动,返回;抖动,返回P1: MOV R2P1: MOV R2,#04H #04H ;扫描次数;扫描次数 MOV R3MOV R3,#01H #01H ;扫描记录;扫描记录 参考程序 :第7章 单片机系统扩展 MOV R4 MOV R4,#00H #00H ;行号初值;行号初值SCA: MOV ASCA: MOV A,R3R3 CPL A CPL A MOV P1 MOV P1,A A ;输出列线;输出列线 MOV A MOV A,P1 P1 ;读行线;读行线 ANL AANL A,#0F0H#0F0H CJNE A CJNE A,#0F0H

25、#0F0H,FKN FKN ;有键按下;有键按下 MOV AMOV A,R3R3;修改列扫描线状态;修改列扫描线状态 RL ARL A MOV R3 MOV R3,A A MOV A,R4 MOV A,R4 ;行号自增;行号自增4 4 ADD A,#04 ADD A,#04 MOV R4 MOV R4,A A 第7章 单片机系统扩展 DJNZ R2 DJNZ R2,SCA SCA ;判断四次扫描是否完成;判断四次扫描是否完成 LJMP DONE LJMP DONE ;无键按下,返回;无键按下,返回FKN: MOV R2FKN: MOV R2,#04H #04H ;有键按下;有键按下FKN1:

26、RLC AFKN1: RLC A; JNC DONE JNC DONE ;R4R4中为键值中为键值 MOV AMOV A,R4R4 INC A INC A MOV R4 MOV R4,A A ;获取键值;获取键值 DJNZ R2DJNZ R2, FKN1FKN1 DONE: RET DONE: RET 第7章 单片机系统扩展【例7-9】设图7-21中16个按键对应的处理程序为WORK0WORK15,利用【例7-8 】获得的键值,应用散转指令跳转到按键对应的处理程序上去。 MOV A,R4 MOV A,R4 MOV B,#03 MOV B,#03 MUL AB MUL AB ;键号;键号* *3

27、 3 MOV DPTR,#KONW MOV DPTR,#KONW JMP A+DPTR JMP A+DPTRKONW: LJMP WORK0 KONW: LJMP WORK0 ;跳转到;跳转到0 0号键对应处理程序号键对应处理程序 LJMP WORK1LJMP WORK1 LJMP WORK15 LJMP WORK15第7章 单片机系统扩展WORK0: WORK0: ; 0 0号键对应处理程序号键对应处理程序 LJMP DONELJMP DONEWORK1: WORK1: LJMP DONE LJMP DONEWORK15: WORK15: DONE: RETDONE: RET第7章 单片机系

28、统扩展6.5.4 LED显示接口显示接口1.LED数码管显示器的结构数码管显示器的结构p共阳极:8个发光二极管的阳极全部连接在一起组成公共端,8个发光二极管的阴极则单独引出。p共阴极:8个发光二极管的阴极全部连接在一起组成公共端,8个发光二极管的阳极则单独引出。a b c d e fgaa b c d e fg dp(a)共阳极(b)共阴极bcdefgdpdp图7-23 LED数码管显示机构第7章 单片机系统扩展2.LED2.LED数码管驱动方法数码管驱动方法(1 1)静态显示法)静态显示法 当显示器显示某一个字符时,相应的发光二级管恒定地导当显示器显示某一个字符时,相应的发光二级管恒定地导通

29、或截止。占用硬件多,一般用于显示器位数较小的场合。通或截止。占用硬件多,一般用于显示器位数较小的场合。 第7章 单片机系统扩展(2 2)动态显示法)动态显示法 一位一位地轮流点亮各位显示器,对于每一位显示器来一位一位地轮流点亮各位显示器,对于每一位显示器来说,每隔一段时间点亮一次,调整电流和显示时间间隔,可说,每隔一段时间点亮一次,调整电流和显示时间间隔,可实现亮度较高较稳定的显示。实现亮度较高较稳定的显示。第7章 单片机系统扩展【例】下图为用单片机P0口和P1口构成的动态显示的电路,共有6个共阳极LED数码显示器,P0口为字段口,输出字形码,P0.0P0.7分别与“a、b、c、d、e、f、g、dp”对应相连,P1口为字位口,输出位码。编写程序,使下图的动态扫描显示电路从左到右显示l、2、3、4、5、6共6个字符。第7章 单片机系统扩展分析:p在第一时刻从P0口输出1的字形码,从P1口输出00100000B(20H),使最左边的LED点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论