第4讲接口与系统扩展1.ppt

上传人:文库蛋蛋多 文档编号:2899798 上传时间:2023-03-01 格式:PPT 页数:41 大小:692KB
返回 下载 相关 举报
第4讲接口与系统扩展1.ppt_第1页
第1页 / 共41页
第4讲接口与系统扩展1.ppt_第2页
第2页 / 共41页
第4讲接口与系统扩展1.ppt_第3页
第3页 / 共41页
第4讲接口与系统扩展1.ppt_第4页
第4页 / 共41页
第4讲接口与系统扩展1.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《第4讲接口与系统扩展1.ppt》由会员分享,可在线阅读,更多相关《第4讲接口与系统扩展1.ppt(41页珍藏版)》请在三一办公上搜索。

1、第四讲:接口与系统扩展(1),本讲重点:片外RAM与片外ROM扩展(参考范例应用);简单I/O扩展(选用锁存器与驱动器);扩展8255,8155(初始化,电路及应用);LED显示接口(动态与静态,硬件译码与 软件译码,电路与编程应用).,RAM,ROM存储器扩展,单片机本身资源不足以满足应用需求的情况下,必须借助外部器件对系统进行扩展,主要介绍:并口、RAM、ROM、键盘、LED、DAC、ADC 等接口的扩展与应用,其中涉及到 6264(标准RAM)、2764(标准EPROM)、74LS373(8D锁存器)、74LS244、74LS245(总线驱动器)、8255(可编程并行I/O接口)、815

2、5(可编程RAM/IO/CTC接口)、DAC0832、ADC0809 等芯片。,第七章 接口芯片与系统扩展,以AT89C51/52应用为例进行介绍AT89C51/52 与 MCS-51系列的8031/8032在性能、引脚、指令等方面完全兼容,此 外,内部还集成了4K/8K 的Flash ROM。,程序存储器 EPROM 的扩展:,单片机内部没有ROM,或虽有ROM但容量太小时,必须扩展外部程序存储器方能工作。最常用的ROM器件是EPROM。如:2764(8K)/27128(16K)/27256(32K)/27040(512K),一、存储器的扩展(EPROM)P.140,Vpp Vcc,A12

3、PGM,A7 NC,A6 A8,A5 A9,A4 A11,A3 OE,A2 A10,A1 CE,A0 D7,D0 D6,D1 D5,D2 D4,GND D3,2764,Vpp Vcc,A12 PGM,A7 A13,A6 A8,A5 A9,A4 A11,A3 OE,A2 A10,A1 CE,A0 D7,D0 D6,D1 D5,D2 D4,GND D3,27128,Vpp Vcc,A12 A14,A7 A13,A6 A8,A5 A9,A4 A11,A3 OE,A2 A10,A1 CE,A0 D7,D0 D6,D1 D5,D2 D4,GND D3,27256,程序存储器 2764 的扩展:,单片机,

4、EPROM 2764,锁存器74LS373,P0.0-P0.7,ALE,PSEN,P2.0-P2.4,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G,EA,OE,CE,51单片机能提供16条地址线,可扩展64K字节的ROM。可以用一片EPROM,也可以用多片EPROM(如书上P115116图所示)。,2764与单片机的连接图,2764 的工作方式,擦除:紫外线照射芯片的窗口1520分钟即可擦除干净。每个存储单元内容为FFH。,PGM:编程脉冲输入线,脉冲宽度为50Ms的负脉冲CE:片选信号 OE:允许信号,数据存储器 RAM 的扩展:,有时需要扩展外部数据存储器RAM方能工作(如数

5、据采集系统数据量较大,需要专设 RAM或 Flash RAM)。最常用的 RAM器件是SRAM。如:6116(2K)/6264(8K)/62128(16K)/628128(128K),一、存储器的扩展(RAM),A7 Vcc,A6 A8,A5 A9,A4 WE,A3 OE,A2 A10,A1 CE,A0 D7,D0 D6,D1 D5,D2 D4,GND D3,6116,Vpp Vcc,A12 WE,A7 CE2,A6 A8,A5 A9,A4 A11,A3 OE,A2 A10,A1 CE1,A0 D7,D0 D6,D1 D5,D2 D4,GND D3,6264,Vpp Vcc,A12 WE,A7

6、 A13,A6 A8,A5 A9,A4 A11,A3 OE,A2 A10,A1 CE,A0 D7,D0 D6,D1 D5,D2 D4,GND D3,62128,数据存储器 6264 的扩展:,89C51单片机,SRAM6264,锁存器74LS373,P0.0-P0.7,ALE,P2.7,P2.0-P2.4,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G,EA,OE,CE2,51单片机能提供16条地址线,可扩展64K字节的RAM。可以用一片芯片,也可以用多片RAM(见学习指导参考书上P122127图所示)。,RD,WR,WE,CE1,+5V,写,维持,读,OE,CE,WE,D0 D7

7、,ViL,ViH,ViH,ViH,ViL,ViL,ViL,任意,任意,数据输出,数据输入,高阻态,6116 6264 62128 的工作方式,MCS51对外部数据存储器的访问指令有四条 MOVX A,Ri MOVX Ri,A MOVX A,DPTR MOVX DPTR,A,简单I/O,8255并口扩展,在单片机的I/O口线不够用的情况下,可以借助外部器件对I/O口进行扩展。可资选用的器件很多,方案也有多种。,简单I/O扩展:(锁存器扩展),二、并行接口的扩展(简单I/O),CLR VCC 1Q 8Q 1D 8D 2D 7D 2Q 7Q 3Q 6Q 3D 6D 4D 5D 4Q 5Q GND C

8、LK,OE VCC 1Q 8Q 1D 8D 2D 7D 2Q 7Q 3Q 6Q 3D 6D 4D 5D 4Q 5Q GND G,OE VCC 1Q 8Q 1D 8D 2D 7D 2Q 7Q 3Q 6Q 3D 6D 4D 5D 4Q 5Q GND CLK,74LS273,74LS373,74LS374,通常输出需要锁存,输入需要缓冲。但并非一成不变,74Ls373(带输出允许控制的8D触发器)74LS244,74Ls245(三态输出8位总线缓冲驱动器),简单I/O扩展:(缓冲/驱动器扩展)P.148,单片机,锁存器74LS273,P0.0-P0.7,P2.0,P2.1,RD,WR,D0 D7,D

9、0 D7,D0 D7,D0 D7,缓冲器74LS244,1,1,CLK,CE1CE2,输出,输入,或门,或门,输入指令:MOV DPTR,#0200H MOVX A,DPTR输出指令:MOV DPTR,#0100H MOVX DPTR,A,串行口常用工作方式0扩展出并行I/O口,AB,CLK,h g f e d c b a,CLR,AB,CLK,CLR,AB,CLK,CLR,+5V,74LS164,74LS164,74LS164,h g f e d c b a,h g f e d c b a,+5V,共阳LED 数码管,VCC,TxD,RxD,51单片机,74LS164是串入并出芯片;74LS

10、165是并入串出芯片,可编程并行I/O接口芯片8255扩展I/O:,二、并行接口的扩展(8255)P.,PA3 PA4,PA2 PA5,PA1 PA6,PA0 PA7,RD WR,GND D0,A1 D1,A0 D2,PC7 D3,PC6 D4,PC5 D5,PC4 D6,PC0 D7,8255,PC2 PB7,PC3 PB6,PB0 PB5,PB1 PB4,PB2 PB3,CS RESET,PC1 VCC,8255的基本特性与引脚:PA,PB,PC 三个8位I/O口;,40 PIN,PC口分高4位和低4位。高4位 可与PA口合为一组(A组),低4 位可与PB口合为一组(B组)。,3种工作方式

11、。内部有4个寄存 器,由A1,A0与读,写信号选择。片选低有效,复位高有效。,PC可按位置位/复位。,40条引脚,DIP封装。须注意 VCC与GND引脚的位置。,一个8位的数据口D0D7。,8255的PA,PB,PC口的三种工作方式:P.,三种方式中只有方式 0 用得最多且最容易使用。基本输入/输出方式 就是简单输入/输出方式。,方式1 和方式2 使用复杂。因单片机能自动提供 各种应答信号,这两种方式已很难见到再有人用 于单片机系统。,PA,PB,PC口的三种工作方式示意图:P.,RD WR D7D0 A1 A0,地址总线,控制总线,数据总线,A,B,C,PA0-7,PB0-7,PC4-7,P

12、C0-3,A组,B组,8255的方式 0,A,B,PA0-7,PB0-7,控制线,控制线,A组,B组,A,B,PA0-7,PB0-7,控制线,I/O,A组,B组,7 6 5 4 3 2 1 0,PC口,8255的方式 1,8255的方式 2,7 6 5 4 3 2 1 0,PC口,8255的端口选择表:P.,注意:对PA,PB,PC三个口的任何读/写操作,就是对 PA,PB,PC这三个寄存器进行I/O操作.第4个寄存器是控制字寄存器(命令字寄存器),D7 D6 D5 D4 D3 D2 D1 D0,特征位=1,A组方式选择,0 0:方式 00 1:方式 11 X:方式 2,A 口,B 口,CL

13、口,CH 口,B组方式选择,=0,方式0=1,方式1,=0,输出=1,输入,=0,输出=1,输入,=0,输出=1,输入,=0,输出=1,输入,8255控制寄存器 P.接受控制命令,告诉8255以何种方式工作。其地址是:A1,A0=11。它可以接受两条命令,第一条命令叫“方式控制字”,方式控制字格式如下:,A 组,B 组,注意:对同一控制寄存器可写两种命令,故必须在命令本身用“特征位”加以区别。第一条命令的特征位=1第二条命令的特征位=0,D7 D6 D5 D4 D3 D2 D1 D0,特征位=0,Dont care bits,选中的位将要输出的状态,=0,清0=1,置1,8255控制寄存器 可

14、以接受的第2条命令是:可以对PC口按位进行“置1”和“清0”操作。具体命令格式如下:(地址同样是:A1,A0=11),例如:设8255的控制寄存器在系统中的地址是:0003H,要将PC5引脚置 1,可用如下指令完成:MOV DPTR,#0003H MOV A,#0BH MOVX DPTR,A,在P.174有这几句,8255与单片机的连接:(参见P.),AT89C51,8255,74LS373,P0.0-P0.7,ALE,P2.7,8D,Q0Q1,CS,RESET,A0A1,D0-D7,G,EA,OE,RESET,RD,WR,WR,RD,+5V,PA,PC,PB,P2.7接片选/CS端,8255

15、的(一组)寄存器地址可以是:,PA口:7000H PB口:7001H PC口:7002H 命令口:7003H,8255的编程应用,例:初始化A口,B口,C口为基本I/O输出口,MOV DPTR,#7003H;指向控制字寄存器MOV A,#80H;A,B,C口均为输出口MOVX DPTR,A;装入,按照8255控制寄存器方式控制字格式写命令:,D7 D6 D5 D4 D3 D2 D1 D0,特征位=1,A组方式选择,0 0:方式 00 1:方式 11 X:方式 2,A 口,B 口,CL 口,CH 口,B组方式选择,=0,方式0=1,方式1,=0,输出=1,输入,=0,输出=1,输入,=0,输出=

16、1,输入,=0,输出=1,输入,:8255 A.B.C口输出方波,ORG 0100HWAVE:MOV DPTR,#0FFDBH;8255 控制字寄存器地址(11011011)MOV A,#80H;初始化A,B,C口为基本输出口 MOVX DPTR,A MOV A,#55H;8位高/低电平相间输出REPT:MOV DPTR,#0FFD8H;8255 A口地址(11011000)MOVX DPTR,A INC DPTR;8255 B口地址(0FFD9H)(11011001)MOVX DPTR,A INC DPTR;8255 C口地址(0FFDAH)(11011010)MOVX DPTR,A LCA

17、LL DELY1S;延时 CPL A;取反 SJMP RETP;跳到REPT去循环,8255硬件参考实验:8255 A.B.C口输出方波,PA0输出,PA1输出,PA2输出,PA3输出,PA4输出,PA5输出,PA6输出,PA7输出,PB0输出,PC0输出,8255 PA口控制PB口 ORG 0770HSE17:MOV DPTR,#0FFDBH;8255 控制字寄存器地址(11011011)MOV A,#90H;初始化A口为基本输入口,B口为基本输出口(10010000)MOVX DPTR,A;8255初始化LO32:MOV DPTR,#0FFD8H;8255 A口地址(11011000)MO

18、VX A,DPTR;PA口状态取出 INC DPTR;B口地址(0FFD9H)(11011001)MOVX DPTR,A;送PB口 SJMP LO32 END,8255与单片机的连接:(参见P.),AT89C51,8255,74LS373,P0.0-P0.7,ALE,8D,Q0Q1Q7,CS,RESET,A0A1,D0-D7,G,EA,OE,RESET,RD,WR,WR,RD,+5V,PA,Q7接片选/CS端,8255的(一组)寄存器地址可以是:,PA口:0000H PB口:0001H PC口:0002H 命令口:0003H也可以是:007CH,007DH,007EH,007FH,PC7PC0

19、,DB0DB7BUSYSTB微型打印机,DB0DB7BUSYSTB 微型打 印机,例2 8255 作为连接打印机的接口 P.,ORG 0100H MOV R0,#7FH;8255 控制字寄存器地址(01111111)MOV A,#88H;初始化A口输出,C口低出高入 MOVX R0,A;送入方式字(10001000)MOV R1,#20H;R1指向数据区首址 MOV R2,#32H;送数据块长度(50个单元)LP:MOV R0,#7EH;指向C口(01111110)LOOP:MOVX A,R0;读入C口信息 JB Acc.7,LOOP;若BUSY=1,继续查询 MOV R0,#7CH;指向A口

20、(01111100)MOV A,R1;取RAM数据 MOVX R0,A INC R1;数据指针加1 MOVX R0,#7FH;8255 控制字寄存器地址 MOV A,#00H;C口置位/复位命令字(PC0=0)MOV R0,A;产生STB的下降沿(00000000)MOV A,01H;C口置位/复位命令字(PC0=1)MOVX R0,A;产生STB的上升沿(00000001)DJNZ R2,LP;未完,则反复,显示器接口扩展,三、LED显示器的扩展(结构)P.160,LED数码管的结构:共阳与共阴,单片机系统扩展LED数码管时多用共阳LED:共阳数码管每个段笔画是用低电平(“0”)点亮的,要求

21、驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。,公共阳极,h g f e d c b a,a,b,c,d,g,e,f,h,公共阴极,h g f e d c b a,a,b,c,d,g,e,f,h,h g f a,h g f a,高电平点亮,低电平点亮,接高电平,接地,LED数码管的译码:硬件译码与软件译码,硬件译码特点:采用专用的译码/驱动器件,驱动功率较大;增加了硬件的开销;软件编程简单;字型固定(比如:只有七段,只可译数字,字型不好看)。,共阴LED,a,b,c,d,g,e,f,h,gfedcb a,DCBA,P1.

22、3P1.2P1.1P1.0,CD4511,AT89C51,74LS48/CD4511是“BCD码七段共阴译码/驱动”IC;74LS47是“BCD码七段共阳译码/驱动”IC,三、LED显示器的扩展(结构)P.,三、LED显示器的扩展(软件译码),LED数码管的译码:软件译码,软件译码特点:不用专用的译码/驱动器件,驱动功率较小;不增加硬件的开销;软件编程较复杂;字型灵活(比如:有八段,只可译多种字符,字型好看)。,共阳LED,a,b,c,d,g,e,f,h,P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7,+5V,AT89C51,硬件译码特点:采用专用译码/驱动器件,驱动功率较大

23、;增加了硬件的开销;软件编程简单;字型固定(比如:只有七段,只可译数字,字型不好看)。,LED数码管的软件译码,八段LED数码管段代码编码表()(连线不同可有多种表):,公共阳极,h g f e d c b a,a,b,c,d,g,e,f,h,公共阴极,h g f e d c b a,a,b,c,d,g,e,f,h,h g f a,h g f a,高电平点亮,低电平点亮,接高电平,接地,三、LED显示器的扩展(显示方式)P.,LED数码管的显示方式:静态与动态,动态显示特点:有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。(有多个LED时尤为突出),静态显示特点:无闪烁,

24、用元器件多,占I/O线多,无须扫描,节省CPU时间,编程简单。,静态显示:各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。,动态显示:(P.190)各数码管在显示过程中轮流得到送显信号,与各数码管接口的I/O口线是共用的。,AB,CLK,h g f e d c b a,CLR,AB,CLK,CLR,AB,CLK,CLR,+5V,VCC,TxD,RxD,89C51单片机,74LS164,74LS164,74LS164,h g f e d c b a,h g f e d c b a,+5V,共阳LED数码管,LED数码管静态显示举例(学习串行口已见过),有几个LED就要几

25、个74LS164,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单。,要求:根据上图编写通过串行口和74LS164驱动共 阳LED数码管查表显示的子程序。条件:系统有6个LED数码管,待显数据(00H09H)已放在35H30H单元中(分别对应十万位个位),,DSPLY:MOV DPTR,#TABLE;共阳LED数码管译码表首址 MOV R0,#30H;待显数据缓冲区的个位地址REDO:MOV A,R0;通过R0实现寄存器间接寻址 MOVC A,A+DPTR;查表 MOV SBUF,A;经串行口发送到74LS164 JNB TI,$;查询送完一个字节的第8位?CLR TI;为下一字节发送

26、作准备 INC R0;R0指向下一个数据缓冲单元 CJNE R0,#36H,REDO;判断是否发完6个数?RET;发完6个数就返回TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H;共阳LED译码表 DB 92H,82H,0F8H,80H,90H,LED数码管动态显示举例(图见P.),P1.5 P1.4P1.3P1.2P1.2P1.0,P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,7406 OC门 X 3,上拉电阻14,+5V,AT89C51,工作原理:从P0口送段代码,P1口送位选信号。段码虽同时到达 6个LED,但一次仅一个LED被选中。利用

27、“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个循环扫描即可。,共阴 数码管,位选线,段代码,P1.5 P1.4P1.3P1.2P1.2P1.0,P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,7406 OC门 X 3,+5V,AT89C51,位选线,段代码,要求:此处为共阴数码管,P0口送段代码,P1口送位选信号。通过查表实现动态显示。条件:待显数据(00H09H)已放在:7FH7AH单元中(分别对应十万位个位)说明:由于用了反相驱动器7406,要用共阳译码表。,共阴 数码管,上拉电阻14,7406 OC门 X 3,+5V,(7FH)(7E

28、H)(7DH)(7CH)(7BH)(7AH)十万 万位 千位 百位 十位 个位,数据缓冲区/显示缓冲区,P0口送段代码,P1口送位选信号。待显数据已经放在:7FH7AH单元(分别对应十万位个位)使用共阳译码表。,;显示2位数的程序DISPLAY:MOV DPTR,#TAB;数码管译码表首址 MOV A,7AH;待显缓冲区个位地址 MOVC A,A+DPTR;查表 MOV P0,A;字段码送到P0口 MOV P2,#01H;字位选择送到P2口 LCALL DELY;调延时1ms子程序 MOV A,7BH MOVC A,A+DPTR;查表 MOV P0,A;位选信号存回R3 MOV P2,#02H

29、;跳去再显示下一个数 LCALL DELY;调延时1ms子程序 RET;发完6个数就返回TAB:DB 0C0H,0F9H,0A4H,0B0H,99H;共阳译码表 DB 92H,82H,0F8H,80H,90H,P0口送段代码,P1口送位选信号。待显数据已经放在:7FH7AH单元(分别对应十万位个位)使用共阳译码表。,;显示6位数的程序DISPLAY:MOV DPTR,#TAB;数码管译码表首址 MOV R0,#7AH;待显缓冲区个位地址 MOV R1,#01NEXT:MOV A,R0;取待显示的数 MOVC A,A+DPTR;查表 MOV P0,A;字段码送到P0口 MOV P2,R1;字位选

30、择送到P2口 LCALL DELY;调延时1ms子程序 INC R0 MOV A,R1 RLC A;下一个字 MOV R1,A;位选信号存回R1 JNC NEXT;跳去再显示下一个数 RET;发完6个数就返回TAB:DB 0C0H,0F9H,0A4H,0B0H,99H;共阳译码表 DB 92H,82H,0F8H,80H,90H,P0口送段代码,P1口送位选信号。待显数据已经放在:7FH7AH单元(分别对应十万位个位)使用共阳译码表。,另一个动态显示例(循环显示“8”)从P0口扩展了两个8位的简单I/O口:一个送段代码(字形状),地址是0DCH;一个送位选信号(字位置),地址是0DDH。,ORG 0000H MOV R0,#0DCH;指向字形口 MOV A,#80H;送“8”的字形代码 MOVX R0,A;输出字形代码 MOV R1,#0DDH;指向字位口 MOV A,#20H;从最高位开始LEDO:MOVX R1,A;输出字位代码 ACALL DEYS;调延时子程序 RR A;右移一位 SJMP LEDO;循环显示“8”,OVER!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号