单片机原理及接口技术:第5章 半导体存储器及并行IO接口扩展_第1页
单片机原理及接口技术:第5章 半导体存储器及并行IO接口扩展_第2页
单片机原理及接口技术:第5章 半导体存储器及并行IO接口扩展_第3页
单片机原理及接口技术:第5章 半导体存储器及并行IO接口扩展_第4页
单片机原理及接口技术:第5章 半导体存储器及并行IO接口扩展_第5页
已阅读5页,还剩104页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

第5章半导体存储器及并行I/O接口扩展学习目的及要求熟悉系统三总线的概念;重点掌握存储器的扩展的扩展方法;掌握并行I/O接口的扩展及应用方法;掌握8155芯片的结构、功能、命令/状态字及其与MCS-5l单片机的接口方法以及程序设计方法。第5章半导体存储器及并行I/O接口扩展5.1半导体存储器的扩展5.2MCS-51并行I/O接口的扩展5.3LED显示器的设计5.4按键和键盘的设计5.5存储器扩展、动态显示和键盘的实验5.6本章小结5.1.1半导体存储器的分类1.ROM掩膜ROMPROMEPROM2.RAM静态RAM动态RAM3.新型存储器OTPROMFLASHFRAMnvSRAM新型动态存储器5.1.1半导体存储器的分类FLASH存储器FLASHmemory是一种新型的可擦除、可改写的只读存储器。其容量大,擦写速度快,体积小,价格低。由于它有一般只读存储器所不具备的良好性能,现在常把它作为一种单独的存储器品种来看待。FLASHmemory也具有多种不同的品种类型,从存储器接口类型划分有:标准并行接口、串行接口、NAND型闪存(也是一种并行接口闪存,接口时引脚采用分时复用技术)。5.1.2半导体存储器的技术指标1.存储容量存储器能够存储的信息总量。存储容量=字数x字长1K=210=10241M=220=1024x1024=10485761G=230=1024x1024x10245.1.2半导体存储器的技术指标2.最大存取时间存储器从接收到存储单元的地址开始,到读出或写入数据为止所需要的时间称为存取周期,该时间的上限值称为最大存取时间。3.存储器功耗存储器功耗是指它在正常工作时所消耗的电功率。该功率由“维持功耗”和“操作功耗”组成。5.1.3半导体存储器的基本结构半导体存储器由存储阵列、地址译码器、控制电路等组成.5.1.3半导体存储器的基本结构5.1.4只读存储器ROM只读性非易失性只读存储器ROM

掩膜ROMPROMEPROMEEPROM5.1.4ROM存储器举例Intel2764(UVEPROM)5.1.4ROM存储器举例(1)2764的内部结构5.1.4ROM存储器举例(2)2764的引脚功能5.1.4ROM存储器举例(3)2764的工作方式5.1.4ROM存储器举例MCS-51系统中EPROM的扩展原理图5.1.4ROM存储器举例2764读时序图5.1.4ROM存储器举例5.1.4ROM存储器举例EEPROM的应用实例5.1.5随机存取存储器RAM随机读写易失性随机存取存储器RAM静态RAM动态RAM双极型MOS型5.1.5RAM存储器举例Intel 6264(静态RAM)5.1.5RAM存储器举例(1)内部结构5.1.5RAM存储器举例(2)引脚的功能6264的引脚逻辑功能图5.1.5RAM存储器举例(3)6264的工作方式5.1.6MCS-51对外部ROM的连接ALE:低8位地址锁存控制信号PSEN:外部程序存储器“读取”控制信号

P0MCS-51

ALE

P2

PSEN锁存器高八位地址低八位地址指令

EPROM/EEPROM

地址OEMCS-51单片机程序存储器的扩展5.1.6MCS-51对外部ROM的连接5.1.6MCS-51对外部ROM的连接5.1.6MCS-51对外部ROM的连接5.1.7MCS-51对外部RAM的连接地址译码的方式1.线选法2.译码法全地址译码法部分地址译码法采用地址译码器0000FFFF外部数据存储器RAMI/O线选法线选62648KB+5V74LS3731885RDALEP0P2P2.58031EAA0~A12D0~D7OECE6264IC1A0~A12D0~D7OECE6264IC20000H~1FFFH2000H~3FFFHA0~A7

P2.4P2.3P2.2P2.1P2.0WEWEWRCE2CE2+5VD7…D0Q7…Q0GOE地址空间——地址段不唯一A15A14A13A12A11A10A9A8A7~A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0000000~00XX111111~1IC1IC2存储器000B010B100B110B0000H、4000H、8000H、C000H1FFFH、5FFFH、9FFFH、DFFFHXX1111111~10~000000001B011B101B111B2000H、6000H、A000H、E000H3FFFH、7FFFH、BFFFH、FFFFH译码法全译码片内13根片外3根62648KB2000H~3FFFH74LS373885D7…D0Q7…Q0RDALEP0P2P2.58031EA0000H~1FFFHA0~A7

P2.4P2.3P2.2P2.1P2.0GA0~A12D0~D7OECE6264IC2WEA0~A12D0~D7OECE6264IC1WEWRCBAG2AG2BGY7…Y1Y0+5VP2.6P2.774LS138CE2+5VCE2+5VOE全译码——各芯片地址惟一P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0000000~0000111111~1IC1IC2000BY0—CE0000H1FFFH001111111~10~000000001BY1—CE2000H3FFFHA15A14A13A12A11A10A9A8A7~A0存储器CBA线选法与译码法比较线选法选址电路连接简单地址空间利用率低地址空间重叠严重译码法选址

采用译码器电路

部分译码仍有重叠的地址空间

全译码地址空间利用率高,地址唯一5.1.7MCS-51对外部RAM的连接常用地址译码器三-八译码器74LS1385.1.7MCS-51对外部RAM的连接

P0口为RAM的复用地址/数据总线,

P2口的三根线用于对RAM进行页面寻址。在对外部RAM读/写期间,CPU产生/RD/WR信号。P1P0ALE8031P2P3RDWR锁存器数据

地址

RAM(2K×8)WEOE5.1.7MCS-51对外部RAM的连接5.1.7MCS-51对外部RAM的连接5.2MCS-51并行I/O接口的扩展1.8155的内部结构和引脚功能2个8位并行I/O端口1个6位并行I/O端口256B的静态RAM1个地址锁存器1个14位的定时/计数器和控制逻辑电路5.2MCS-51并行I/O接口的扩展1.8155的内部结构和引脚功能AD7~AD0:三态地址/数据引线;PA7~PA0:A口I/O引线;PB7~PB0:B口I/O引线;PC5~PC0:C口I/O引线控制信号线。RESET:复位输入线/CE:片选信号IO/M:I/O或RAM选通线/RD:读选通/WR:写选通ALE:地址输入允许TIMERIN:计数器输入TIMEROUT:计数器输出8155H的工作方式1.存储器方式2.I/O方式基本I/O方式:A、B和C口用作I/O口选通I/O方式:A、B口为数据口,C口控制口3.内部定时器/时钟方式8155H的工作方式选通模式输入时序8155H的工作方式选通模式输出时序5.2MCS-51并行I/O接口的扩展8155内部存储器和I/O口的控制选择选择引脚IO/M存储器:I/O端口:I/O端口地址5.2MCS-51并行I/O接口的扩展CEIO/MA7A6A5A4A3A2A1A0端口01XXXXX000命令/状态寄存器01XXXXX001A口01XXXXX010B口01XXXXX011C口01XXXXX100计数器低8位01XXXXX101计数器高6位00XXXXXXXXRAM单元CPU对8155端口控制端口地址分配0000ProgrammingtheCommand/Status(C/S)RegisterReadingtheC/SRegister5.2MCS-51并行I/O接口的扩展状态寄存器与命令寄存器共用1个地址,当使用读操作时,读入的便是状态寄存器中的内容。8155的定时/计数器8155的定时/计数器是1个14位的减法计数器,由两个8位寄存器构成。T7T6T5T4T3T2T1T0M2M1T13T12T11T10T9T8D7D0定时/计数器输出方式5.2MCS-51并行I/O接口的扩展(1)硬件电路5.2MCS-51并行I/O接口的扩展(1)RAM地址:7E00H~7EFFH(2)I/O地址:命令/状态寄存器:7FF8HPA口:7FF9HPB口:7FFAHPC口:7FFBH(2)地址分配5.2MCS-51并行I/O接口的扩展P2.7P2.6~P2.1P2.0P0.7~P0.0CE111111IO/MAD7~AD0地址01111110XXXXXXXX7E00H~7EFFHRAM01111111111110007FF8H命令/状态寄存器01111111111110017FF9HA口01111111111110107FFAHB口01111111111110117FFBHC口01111111111111007FFCH计数器低8位01111111111111017FFDH计数器高8位(2)地址分配5.2MCS-51并行I/O接口的扩展8155I/O口的读写操作MOV DPTR,#7FF8H;命令寄存器MOV A,#00000001B;PA输出,PB输入MOVX @DPTR,AMOV DPTR,#7FF9H ;PA口MOV A,#55HMOVX @DPTR,AINC DPTR ;PB口MOVX A,@DPTRMOV 30H,A(3)软件编程5.2MCS-51并行I/O接口的扩展【例题5-1】写出把图中8155内部40H单元中的X送到A口输出的程序。5.2MCS-51并行I/O接口的扩展ORG0000HMOVDPTR,#0100H;命令/状态口地址送DPTRMOVA,#01H;命令字送A(A口为输出)MOVX@DPTR,A;将命令字装入命令口MOVDPTR,#0040H;将RAM地址送DPTRMOVXA,@DPTR;X送AMOVDPTR,#0101H;指向A口MOVX@DPTR,A;X送8155的A口输出SJMP$END5.2MCS-51并行I/O接口的扩展【例题5-2】试编写一程序,设置8155的A口为输出口,B口为输入口。程序每隔一段时间读取一次B口的信号状态,并将其输出到A口,接口电路如图所示。

5.2MCS-51并行I/O接口的扩展ORG0000HMOVDPTR,#2100H;命令寄存器地址送DPTRMOVA,#01H;命令寄存器内容送AMOVX@DPTR,A;写入命令寄存器LOOP:MOVDPTR,#2102H;B口地址送DPTRMOVXA,@DPTR;读入B口内容

DECDPTR

;A口地址送DPTRMOVX@DPTR,A;A口输出

ACALLDELAYSJMPLOOPDELAY:(略);延时子程序END5.2MCS-51并行I/O接口的扩展5.3LED显示器的设计LED显示器15.3LED显示器的设计点阵LED5.3.1LED显示原理LED(LightEmittingDiode)数码显示管工作原理spgfedcba共阴0000011006H共阳11111001F9H5.3.1LED显示原理5.3.2MCS-51对LED显示的控制硬件:段码控制线来控制显示字形(段码)公共极COM端(位码)软件:查段码表实现各位轮流点亮

5.3.2MCS-51对LED显示的控制(1)静态方式显示原理静态显示是指每个数码管的段选线控制是独立的,其特点是各LED管能稳定地同时显示各自的字形。I/O口(1)I/O口(3)I/O口(2)abdpabdpabdp06H5BH4FH5.3.2MCS-51对LED显示的控制(1)静态方式(共阴极)

P0口P2口P1口abdpabdpabdp06H5BH4FHPx.1Px.7Px.0

ORG0000HMOVA,#01HMOVDPTR,#DISTABMOVCA,@A+DPTRMOVP0,AMOVA,#02HMOVDPTR,#DISTABMOVCA,@A+DPTRMOVP1,A;共阴极字形表DISTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;0-7

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;8-F

DB00H,73H,76H,80H,40H;空格PH.- END5.3.2MCS-51对LED显示的控制2.动态显示的原理动态显示又称扫描显示方式,它是将每个数码管的段选线同名相连,在某一时刻只让一根位选线有效,同时在段选线上输出该位要显示的字形码,在下一时刻改变要显示的字位并在段选线上输出相应的字形码,如此各LED轮流地一遍一遍地显示各自的字符,从而各LED似乎同时显示不同的字形。

5.3.2MCS-51对LED显示的控制2.动态显示的原理I/O口字段口(共阴极)I/O口字位口I/O2.0I/O2.2abdpI/O1.0I/O1.1I/O2.1I/O1.711006H5BH1014FH0115.3.2MCS-51对LED显示的控制5.3.2MCS-51对LED显示的控制P27P26P25P24P23P22P21P20P0.7……P0.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0

0010000100000000命令寄存器 2100HPA 2101HPB 2102HPC 2103H5.3.2MCS-51对LED显示的控制5.3.2MCS-51对LED显示的控制显示子程序流程:显示缓冲区首地址70H送R0字位控制初值送R3取待显示数据送A查段选码8155B口输出段选码延时1ms循环变量调整6位显示完成?子程序返回YN8155C口输出字位控制5.3.2MCS-51对LED显示的控制DISPLAY: MOVA,#00001110B MOVDPTR,#2100H MOVX@DPTR,ADISP: MOV R0,#70H MOVR3,#01H MOVA,R3LD0: MOVDPTR,#2103H;PC口

MOVX@DPTR,A MOV A,@R0 MOV DPTR,#DISTAB5.3.2MCS-51对LED显示的控制 MOVC A,@A+DPTR MOV DPTR,#2102H;PB口

MOVX @DPTR,A ACALL DELAY INC R0 MOV A,R3 JB ACC.5,LD1 RL A MOV R3,A AJMP LD0 LD1: RET5.3.2MCS-51对LED显示的控制DISTAB: DB3FH,06H,…;(共阴极字形表)DELAY: MOV R7,#02HDELAY1: MOV R6,#0FFHDELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END主程序调用显示子程序完成动态显示5.4按键/键盘的接口设计按键电路与消抖按键的作用按键消抖的措施硬件消抖软件消抖按键在单片机应用系统中的结构形式独立式按键行列式键盘5.4.1独立式非编码键盘的设计独立式按键的工作原理P1.0P1.2P1.3P1.4P1.5P1.6P1.7P1.15.4.1独立式非编码键盘的设计

独立式非编码键盘是指键盘中每个按键都是彼此独立的,均需占用CPU或其扩展的一条I/O输入数据线。若没有键按下,读出的电位均为“1”(+5V);若某一键被按下,则该键所对应的端口线变为低电平。单片机通过定时查询,即可发现键盘上是否有键按下以及哪个键被按下,然后再转入相应的处理程序。

5.4.1独立式非编码键盘的设计键处理程序流程开始是否有键?延时消抖是否有键?判断是哪一个按键闭合键释放?输入键号送A返回NYYNNY5.4.1独立式非编码键盘的设计【例题5-5】按照图5-36编制相应的程序,实现按键的扫描,若有键按下则将对应的键号(0~7)送入累加器A,并根据A中的键号转去执行相应的键处理程序PM0~PM7。

ORG0200HKEY:MOVDPTR,#4001H;A口地址送DPTRMOVXA,@DPTR;读入A口状态XRLA,#0FFHJZRETURN;无键按下,转RETURNACALLDEL;有键按下,则延时消抖MOVXA,@DPTR;再读入口状态MOVR3,AXRLA,#0FFHJZRETURN;无键按下,转RETURNCJNER3,#0FEH,NEXT1;不是0#键转NEXT1MOVR4,#00H;将键号送入R4SJMPCOM;转COMNEXT1:CJNER3,#0FDH,NEXT2;不是1#键转NEXT2MOVR4,#01H;将键号送入R4SJMPCOM;转COMNEXT2:CJNE……..NEXT8:CJNER3,#7FH,RETURN;不是7#键转RETURNMOVR4,#07H;将键号送入R4COM:MOVXA,@DPTR;读入A口状态XRLA,#0FFHJNZCOM;等待,直到按键释放MOVA,R4;将R4内容送ASJMPRETURN1;返回RETURN:MOVR4,#0FFH;将FFH送R4RETURN1:RET;延时12msDEL:MOVR5,#18HDEL0:MOVR6,#0FFHDEL1:DJNZR6,DEL1DJNZR5,DEL0RET5.4.1独立式非编码键盘的设计

主程序ORG0000HMOVDPTR,#4000H;命令口地址送DPTRMOVA,#00000000B;设置A口为输入方式MOVX@DPTR,A;将命令字写入命令口ACALLKEY;调键盘扫描程序CJNER4,#0FFH,PROKEY;有键按下转PROKEYAJMPNOKEY;无键按下转NOKEYPROKEY:MOVDPTR,#KEYTAB;将指令表起始地址送DPTRCLRCRLCA;A的内容乘以2送AJMP@A+DPTR;(PC)←(A)+(DPTR)5.4.1独立式非编码键盘的设计KEYTAB:AJMPK0AJMPK1……AJMPK7NOKEY:AJMPLOOPK0:……K1:…………K7:……LOOP:SJMPLOOP5.4.2行列式非编码键盘的设计行列式键盘的基本工作原理:5.4.2行列式非编码键盘的设计

判断是否有键被按下的方法是:CPU先使所有的列线输出低电平,然后读入行线的状态,如果读入的行线状态全为“1”,则无键按下;若行线不全为“1”,则有键输入。当检测到有键输入时,可延时10~20ms消抖处理,然后再检测。若确实有键按下,接着就要识别是哪一个键被按下。通常有两种方法可识别被按下的键,一种是列扫描法,一种是反转法。5.4.2行列式非编码键盘的设计 ORG0100HSCAN: MOVDPTR,#0FF21H MOVA,#00H MOVX@DPTR,A MOVDPTR,#0FF23H MOVXA,@DPTR ANLA,#0FH CJNEA,#0FH,KEYSCAN SJMPEXITKEYSCAN: ACALLDEL5.4.2行列式非编码键盘的设计

MOVR2,#0FEH MOVR3,#08H MOVR0,#00HKEYSM1: MOVA,R2 MOVDPTR,#0FF21H MOVX@DPTR,A RLA MOVR2,A MOVDPTR,#0FF23H MOVXA,@DPTR5.4.2行列式非编码键盘的设计

ANLA,#0FH CJNEA,#0FH,JSADD INCR0 DJNZR3,KEYSM1EXIT: MOVA,#0FFH SJMPDONEJSADD: JBACC.0,JSADD1 MOVA,#00H;第1行行首键号 AJMPJSADD45.4.2行列式非编码键盘的设计JSADD1: JBACC.1,JSADD2 MOVA,#08H;第2行行首键号 AJMPJSADD4JSADD2: JBACC.2,JSADD3 MOVA,#10H;第3行行首键号 AJMPJSADD4JSADD3: JBACC.3,JSADD4 MOVA,#18H;第4行行首键号JSADD4: ADDA,R0;行首键号+列号 MOVDPTR,#KEYTAB;指向键值表 MOVCA,@A+DPTR;查表得键值DONE: RET5.4.2行列式非编码键盘的设计KEYTAB: DB:07H,04H,08H,05H,09H,06H,0AH,0BH DB:01H,00H,02H,0FH,03H,0EH,0CH,0DH DB:10H,11H,12H,13H,14H,15H,16H,17H, DB:18H,19H,1AH,1BH,1CH,1DH,1EH,1FH;12ms延时DEL: MOVR7,#18HDEL0: MOVR6,#0FFHDEL1: DJNZR6,DEL1 DJNZR7,DEL0 RET5.4按键/键盘的接口设计新型键盘/显示控制器件MAX734764键键盘控制器MAX7219串行接口的LED显示控制器zlg7289A8位LED及8×8键盘控制器5.5存储器扩展、动态显示和键盘实验5.5.1数据存储器扩展实验5.5.2动态显示实验5.5.3按键、键盘与显示实验5.5.1数据存储器扩展实验实验目的了解微机存储器的组成;掌握存储器与CPU之间的接口方法;掌握存储器容量的扩展方法。实验任务本实验要求扩展一片RAM6264,地址安排在C0

温馨提示

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

评论

0/150

提交评论