单片机课件第六章.ppt
《单片机课件第六章.ppt》由会员分享,可在线阅读,更多相关《单片机课件第六章.ppt(125页珍藏版)》请在三一办公上搜索。
1、单片机原理及应用,第六章 MCS51单片机的并行扩展接口 6.1 总线并行扩展 6.2 存贮器接口扩展 6.3 输入/输出并行接口扩展 6.4 D/A转换器接口扩展 6.5 A/D转换器接口扩展 6.6 显示及键盘接口扩展 6.7 微型打印机接口,单片机原理及应用第六章 MCS51单片机的并行扩展接口,MCS51系统单片机(8031、8032除外)尽管是一功能完全的单片机,但因其内部资源(RAM、ROM、I/O、A/D、D/A等)不足,在实际应用中不加以扩展直接用其基本系统的情况较少,一般情况下需扩展。,第六章 MCS51单片机的并行扩展接口,MCS51系统单片机(8031、8032除外)尽管
2、是一功能,P0、P2口可以直接作为输入输出口使用,其更重要的用途是用来扩展总线口使用。 P0口作为地址(地址低8位)/数据(D0D7)总线口。 P2口作为地址总线口(地址高8位)。,第六章 MCS51单片机的并行扩展接口,P0、P2口可以直接作为输入输出口使用,其更,第六章 MCS51单片机的并行扩展接口,一般用74LS373作地址锁存器,输出的地址当ALE上升以后有效,当ALE下降以后消失,因此可以用ALE的负跳变将地址打入地址锁存器,即当ALE由高变低时,将出现在P0口的地址信号低8位锁存到外部地址锁存器中(如图62所示),直到下一次ALE变高时,地址才发生变化。,第六章 MCS51单片机
3、的并行扩展接口 一般,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口 P,第六章 MCS51单片机的并行扩展接口,线选法有可能产生地址重叠:若片选线中除和存贮芯片CS相连的以外还存在悬空的片选线,则存贮单元的地址就有重叠现象;否则,存贮单元的地址就是唯一的。,第六章 MCS51单片机的并行扩展接口二、地址译码方法 1,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口2、全地址译码法全地,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口3、部分地址译码法,第六章 MCS51单片机的并行扩展接口,三、总线驱
4、动能力及扩展方法,MCS51系列单片机,作为数据总线和低8位地址总线的P0口可驱动8个TTL电路,而如P2口等其它口只能驱动4个TTL电路。当应用系统规模过大,可能造成负载过重,致使驱动能力不够,系统不能可靠地工作时,需另增设总线驱动。,第六章 MCS51单片机的并行扩展接口三、总线驱动能力及扩,第六章 MCS51单片机的并行扩展接口,单向驱动 74LS244,双向驱动 74LS245,第六章 MCS51单片机的并行扩展接口1、总线的驱动扩展,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口地址总线和控制总线的,第六章 MCS51单片机的并行扩展接口,第六章 MC
5、S51单片机的并行扩展接口3、数据总线的驱动扩,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口 6.2 MCS,EPROM是紫外线可擦除电可编程的半导体只读存贮器,掉电后信息不会丢失。 EPROM中的程序一般由专门的编程器写入,由专门的擦除器擦除(擦除后EPROM阵列全为1状态),擦除时紫外线强度为12000mw/cm2,波长为l=2537 ,时间为1020min。 常用的EPROM有:2716,2732,2764,.。,EPROM电路,第六章 MCS51单片机的并行扩展接口,EPROM是紫外线可擦除电可编程的半导体只读存贮器,掉,第六章 MCS51单片机的并行
6、扩展接口,第六章 MCS51单片机的并行扩展接口A0 Ai:地址输,第六章 MCS51单片机的并行扩展接口,E2PROM电路,E2PROM是电可擦除电可编程的半导体存贮器,掉电后信息不会丢失。编程时简单,不需要专门的编程器和擦除器。故E2PROM实际上是一种特殊的可读写存贮器。E2PROM兼有程序存贮器和数据存贮器的特点,故在单片机应用系统中既可作为程序存贮器,又可作为数据存贮器。常用的并行E2PROM有:2817,2864。,A0 Ai:地址输入线。2817:i=10; 2864:i=12;(2K,8K)I/O0I/O7:双向三态数据线。(P0.0P0.7),第六章 MCS51单片机的并行扩
7、展接口 E2PROM电路,第六章 MCS51单片机的并行扩展接口,CE: 片选信号输入线(接CPU地址线)OE: 读选通信号输入线 (接CPU RD PSEN)WE: 写选通信号输入线 (接CPU WR)RDY/BUSY:2817的状态输出线,为“0”表示正在进行写操作,写入完毕呈高阻态VCC: 主电源+5VGND: 线路地,E2PROM有读、写、维持三种操作方式。2817的写操作:当2817收到CPU发来的地址、数据和写控制信号后,便启动内部电路对该地址单元进行写操作,此时RDY/ BUSY输出低电平,大约16ms以后,写操作完成,完成后RDY/BUSY呈高电平(外接上拉电阻)或高阻。281
8、7,第六章 MCS51单片机的并行扩展接口CE: 片,第六章 MCS51单片机的并行扩展接口,的RDY/BUSY状态线可供CPU采用中断或查询方式来控制对2817的字节写操作。 2864的写操作: Inter公司的2864采用页面写操作方式。 Inter公司的2864A内设有16B的页缓冲器,其整个存贮空间分为512页(每页16B),页面操作分“页加载”和“页存贮”两步进行。,“页加载”指在软件控制下,将一页(116B)的数据写入2864内的“页缓冲器”。 “页存贮”是2864A在其内部电路控制下把页缓冲器的内容存入E2PROM单元。,第六章 MCS51单片机的并行扩展接口的RDY/BUSY状
9、,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口“某一值”由内部程序,第六章 MCS51单片机的并行扩展接口,MCS51访问外部程序存贮器时序波形如下:,MCS51访问外部程序存贮器时序波形,第六章 MCS51单片机的并行扩展接口MCS51访问外部,第六章 MCS51单片机的并行扩展接口,程序存贮器扩展的一般方法,常用的地址锁存器有:74LS373(三态缓冲输出的八D锁存器);8282(三态缓冲输出的八D锁存器); 74LS273(带清除端的八D锁存器)。最常用的是74LS373,当然地址锁存器芯片不同,则与单片机的连接方式不同。,第六章 MCS51单片机的并行
10、扩展接口 程序存贮器扩展的一,第六章 MCS51单片机的并行扩展接口,E低电平有效(一般接地)。 G(STB)为锁存信号输入端,高电平时Q0Q7=D0D7 G(STB)电平负跳变(为0)时, Q0Q7状态保持不变。,G(STB)实际连接时接单片机的ALE。,74LS373和8282都是透明的三态门八D锁存器,其工作原理为:,第六章 MCS51单片机的并行扩展接口 E低,当需扩展时,单片机一般采用片内无ROM的8031芯片。,用8031单片机,无内部ROM,EA必须接地。 只扩展一片EPROM,故CE=0,当用带内部ROM的单片机芯片时, EA=1(+5V),第六章 MCS51单片机的并行扩展接
11、口,当需扩展时,单片机一般采用片内无ROM的803,第六章 MCS51单片机的并行扩展接口,当采用74LS273作地址锁存器时,锁存器控制端为上升沿锁存,故ALE须反相才能接到74LS273的锁存器控制端。, 用8031单片机,无内ROM,EA必须接地。 扩展多片EPROM,故必须用一条或多条地址线 来片选。,第六章 MCS51单片机的并行扩展接口 P2.i+1A0,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口二、数据存贮器的扩展,第六章 MCS51单片机的并行扩展接口,静态随机存取存贮器RAM ,具有速度快、使用方便和价格低廉等优点,但也具有掉电丢失数据的缺
12、点。,第六章 MCS51单片机的并行扩展接口 静态,第六章 MCS51单片机的并行扩展接口,2、数据存贮器扩展方法,MCS51 对外部数据存贮器的操作指令,CPU在访问外部数据存贮器时,在ALE下降为低电平后,P2口输出的地址信息保持不变,而P0口转为浮空,原来的低8位地址信息丢失,因此需要外部锁存器在ALE下降时把P0口的地址信息锁存起来。ALE返回低电平后,读信号RD或写信号WR有效,而PSEN始终无效,故外部程序存贮器单元不会被选通。见下页的时序图。,第六章 MCS51单片机的并行扩展接口2、数据存贮器扩展方,第六章 MCS51单片机的并行扩展接口,MCS51 读外部数据存贮器时序波形,
13、第六章 MCS51单片机的并行扩展接口 MCS51,第六章 MCS51单片机的并行扩展接口,MCS51 写外部数据存贮器时序波形,第六章 MCS51单片机的并行扩展接口 MCS51,第六章 MCS51单片机的并行扩展接口,MCS51 和外部数据存贮器的接口方法,第六章 MCS51单片机的并行扩展接口 MCS51,第六章 MCS51单片机的并行扩展接口,三、存贮器扩展举例,下图中,扩展一片27256(32K),一片62256(32K),RAM的地址为:07FFFH(P2.7为片选信号, P2.7 =0)ROM的地址为:07FFFH(CE接地)由PSEN、RD、WR有效访问。,第六章 MCS51单
14、片机的并行扩展接口三、存贮器扩展举例下,第六章 MCS51单片机的并行扩展接口,6.3 输入输出并行接口扩展,MCS51具有4个I/O口P0P3,但P0、P2口往往作为扩展总线使用,P3往往用其第二功能,故实际常用来作I / O口使用的就仅剩下P1口,如外接较多的I / O设备(打印机,键盘,显示器等),显然得扩展I / O接口。,I/O接口扩展一般用并行扩展,常用来扩展的器件有: 可编程并行接口8255; 三态门电路,锁存器 eg:74LS377(373,273)扩展输出,74LS244(245)扩展输入; 可编程RAM / IO扩展器8155;利用串行口的移位寄存器工作方式(方式0)也可以
15、扩展I / O口,这时所扩展的I / O口不占用片外的RAM地址。,第六章 MCS51单片机的并行扩展接口 6.3 输入输出,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口一、采用8255A扩,第六章 MCS51单片机的并行扩展接口,P163表6-1列出了8255A的端口寻址和操作WR=0为写PA,PB,PC口及控制口。 D0D7 PA,PB,PC,控制口RD=0为读PA,PB,PC口。 PA,PB,PC D0D7,Vcc:主电源 +5VGND:线路地 8255A的引脚图及逻辑框图如下所示:,第六章 MCS51单片机的并行扩展接口8255A逻辑框图8,第六章 M
16、CS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口2、8255A操作方,第六章 MCS51单片机的并行扩展接口,8255A方式1输入时序波形,8255A方式1的输入逻辑组态(a),8255A方式1的输入逻辑组态(b),第六章 MCS51单片机的并行扩展接口8255A方式1输入,第六章 MCS51单片机的并行扩展接口,8255A方式1的输出逻辑组态(b),8255A方式1的输出逻辑组态(a),8255A方式1输出时序波形,第六章 MCS51单片机的并行扩展接口8255A方式1的输,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口 方式2双方选通输入
17、,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口3、8255A的控制,第六章 MCS51单片机的并行扩展接口,4、MCS-51和8255A的接口方法,eg: 8255 PA接一组开关,PB口接一组指示灯。以下程序是将开关状态读入PA口再从PB口输出。,第六章 MCS51单片机的并行扩展接口4、MCS-51和8,第六章 MCS51单片机的并行扩展接口,C51参考程序如下:# include #include # define unchar unsigned char# define CONT 0 x90# define ADDR8D XBYTE 0 x7FFF /
18、定义8255A端口地址# define ADDR8B XBYTE 0 x7FFD# define ADDR8A XBYTE 0 x7FFCunchar iofunc(void) /8255A 输入输出控制函数unchar mid;ADDR8D = CONT; /输出控制字 mid = ADDR8A; /读A口信息 ADDR8B = mid; /输出信息到B口 return mid;void main(void)unchar b;b = iofunc( ); /调用8255A 芯片控制程序,第六章 MCS51单片机的并行扩展接口C51参考程序如下:,第六章 MCS51单片机的并行扩展接口,eg:
19、 把内部RAM中30H开始的32个单元的字符输出至打印机。,第六章 MCS51单片机的并行扩展接口 eg: 把内部R,第六章 MCS51单片机的并行扩展接口,C51参考程序如下:#include #include #define unchar unsigned char#define _8255A_Control XBYTE0 xBFFF/8255A控制口的地址#define _8255A_PA XBYTE0 xBFFC /8255A的PA口的地址#define _8255A_PB XBYTE0 xBFFD /8255A的PB口的地址#define _8255A_PC XBYTE0 xBFFE
20、 /8255A的PC口的地址idata unchar text32 _at_ 0 x30; /定义从地址30H开始的32个单元的字符数组idata unchar count = 0; /text数组索引void INT0_ISR(void) interrupt 0 using 1 /外部中断0中断服务函数count = count + 1; /输出数据则自增1if(count = 32)EX0 = 0; /数据输出完,禁止外部中断0else_8255A_PB = textcount; /全部数据未输出完,继续输出数据,第六章 MCS51单片机的并行扩展接口C51参考程序如下:,第六章 MCS5
21、1单片机的并行扩展接口,void main(void)unchar i;for(i = 0;i 32;i +)texti = i + 0 x30; /text数组初始化_8255A_Control = 0 x05; /置PC2=1(即INTEB置1)_8255A_Control = 0 xBC;/设置PB口为方式1输出_8255A_PB = textcount;/从PB口输出第一个数据EA = 1; /开中断EX0 = 1; /允许外部中断0,电平触发方式while(1);,当打印机取走CPU通过8255A的PB口送来的数据后,反馈回答信号使INTRB变为高电平,经过反向器后引起外部中断0提出
22、中断申请,CPU响应外部中断0的中断申请,并执行相应的中断服务程序INT0_ISR。在中断服务程序中再输出一个数据至微型打印机,同样会再次引起中断,直至全部数据输出完毕并设置禁止外部中断0。,第六章 MCS51单片机的并行扩展接口void main(,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口二、采用8155A扩,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口 3、8155的命令,第六章 MCS51单片机的并行扩展接口,第六章 MCS51单片机的并行扩展接口 状态字状态字只能读,第六章 MCS51单片机的并行扩展接口,eg:
23、图624是8155与MCS51单片机的一种接口逻辑。要求编写C51语言程序将MCS51单片机内部RAM 30H开始的32个单元内容转移到8155 RAM的80H开始的单元中。,第六章 MCS51单片机的并行扩展接口RAM地址: 5、M,第六章 MCS51单片机的并行扩展接口,C51参考程序如下:#include #include #define unchar unsigned charxdata unchar 8155_RAM32 _at_ 0 x7E80; /设置8155 中RAM的地址idata unchar text32 _at_ 0 x30; /单片机内部RAM数据数组void mai
24、n(void)unchar i;for(i = 0;i 32;i +)texti = i + 0 x30; /初始化text数组for(i = 0;i 32;i +)8155_RAMi = texti; /将text中的字符传送到8155A指定的RAM中while(1);,eg:图6-24中使8155用作I/O和定时器工作方式,PA口定义为基本输入方式,PB口定义为基本输出方式,定时器作为方波发生器,对输入脉冲进行24分频。,第六章 MCS51单片机的并行扩展接口C51参考程序如下:,第六章 MCS51单片机的并行扩展接口,C51参考程序如下:#include #include #define
25、 8155_Cmd XBYTE0 x7F00 /8155A命令字寄存器地址#define 8155_State XBYTE0 x7F00 /8155A状态字寄存器地址#define 8155_PA XBYTE0 x7F01 /8155A的PA口地址#define 8155_PB XBYTE0 x7F02 /8155A的PB口地址#define 8155_PC XBYTE0 x7F03 /8155A的PC口地址#define 8155_Tlow XBYTE0 x7F04 /8155A定时器/计数器低字节地址#define 8155_Thigh XBYTE0 x7F05 /8155A定时器/计数器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课件 第六
链接地址:https://www.31ppt.com/p-1321662.html