外部扩展资源和扩展编址技术概述.pptx





《外部扩展资源和扩展编址技术概述.pptx》由会员分享,可在线阅读,更多相关《外部扩展资源和扩展编址技术概述.pptx(171页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、7.1 外部扩展资源和扩展编址技术概述7.1.1 单片机外部扩展资源分类单片机外部扩展资源包含有:外部RAM/ROM、键盘、显示、A/D、D/A、I/O扩展、中断扩展、串行通信、总线驱动、电源监控、看门狗等一些最基本的模块,它们都是大多数单片机应用系统必不可少的关键部分。第1页/共171页1.外部程序存储器ROM当单片机内部程序存储器ROM容量无法满足应用系统要求时,需要在外部进行扩展。对于80C51系列,内部存储器都达到64KB,用户没有必要再扩展外部程序存储器。第2页/共171页2.外部数据存储器RAM 由于单片机的内部数据存储器容量较小,在需要大量数据缓冲的单片机应用系统中(如语音系统、
2、商场收费POS)仍然需要在外部扩展数据存储器。外部数据存储器有SRAM、Flash EEPROM 第3页/共171页3.并行I/O口资源扩展在较为复杂的控制系统(尤其是工业控制系统,如可编程控制器)中,经常需要扩展I/O口。常用的I/O接口芯片有74HC系列锁存器/寄存器、8255和8155等。第4页/共171页4.键盘和显示器键盘和显示器提供了用户与单片机应用系统之间的人机界面,用户通过键盘向单片机系统输入数据或程序,而通过显示器用户可以了解单片机系统的运行状态。第5页/共171页5.串行通信接口单片机通常都提供了一个串行通信接口,且信号为TTL电平,为了方便单片机系统与PC机、打印机、外设
3、等接口,往往需要扩展通用的RS-232通信接口。为了实现远距离通信,还要扩展RS-485通信接口。常用的RS-232接口芯片为MAX232,常用的RS-485接口芯片为MAX485。当单片机系统需要更多的串行通信接口时,可以通过串行口芯片扩展,常用的串行口芯片有8251、8250、16C554等。第6页/共171页6.模数转换A/DA/D转换接口将外设输入的模拟量转换为计算机使用的数字量,常用的A/D转换芯片有ADC0808/0809、ADC0816/0817、ADC1140、ADC71/76、AD574A等。7.数模转换D/AD/A转换接口将计算机的数字量转换为外设使用的模拟量,常用的D/A
4、转换芯片有DAC0832、DA7520、DAC1208、DAC1230等。第7页/共171页8.电源监控和硬件看门狗在电源不稳定或有强大的干扰源时,系统经常会出现“程序跑飞”等异常情况,给系统的开发和实际应用带来了极大的不便,严重时会使系统瘫痪,甚至发生工业事故。为此需要使用专用的电源监控复位芯片,人们常把此类电路称为硬件看门狗,当系统电压下降和“程序跑飞”时,它能发出复位信号,保证系统正常工作。常用的电源监控复位芯片有CSI24C161、DS1232、X5045等。第8页/共171页9.硬件日历时钟由单片机构成的大多数计费、计时系统中,日期和时间是数据库中的一个重要参数,为此需要在单片机系统
5、中扩展日历时钟芯片。常用的日历时钟接口电路有DS1302、DS12887等。单片机系统是指以单片机为核心,根据其应用目标扩展相关的外围电路所构成的硬件系统,外部扩展是和应用紧密联系的。本章只是对单片机系统中常用资源扩展和流行接口加以论述。第9页/共171页7.1.2 单片机系统扩展结构与编址技术第10页/共171页图7.1为AT89C52单片机通过三总线的扩展系统结构图。图7.1第11页/共171页第12页/共171页译码器产生地址译码信号,在任一时刻其输出的有效片选信号使得单片机只能访问RAM、I/O 和CLOCK其中之一,避免了总线竞争现象。下面介绍单片机扩展中的地址译码技术。地址译码有两
6、种方法,线选法和全地址译码法。第13页/共171页1.线选法线选法一般用于扩展少量的片外存储器和I/O接口芯片。所谓线选法通常是将单片机的高8位地址线A8A15中的某几根与外部接口芯片的片选端一一相连,当该地址线为0时(对0选通有效的外部芯片而言),与该地址线相连接的外部芯片被选通。这种方法的缺点是:全部地址空间是断续的,每个接口电路的地址空间又可能是重叠的。第14页/共171页图是线选法典型电路组成。第15页/共171页图7.2中,当A15=0时,选中RAM 6264,而A14=0时,选中I/O芯片8255,为了避免产生总线竞争,A15和A14不能同时为0,由此可确定选中RAM6264的二进
7、制数地址应为:01xxxxxx xxxxxxxx,x为任意,即可以是0也可以是1。故RAM 6264的地址范围二进制数是01000000 0000000001111111 11111111,对应的十六进制数是4000H7FFFH。而RAM6264容量只有8KB,故4000H5FFFH、6000H7FFFH两段地址完全重叠。同样可确定选中I/O芯片8255的二进制数地址应是:10 xxxxxx xxxxxxxx,x为任意。故I/O芯片8255的地址范围二进制数是10000000 0000000010111111 11111111。对应十六进制数是8000HBFFFH。而I/O8255实际只占用4
8、个地址单元,故地址重叠部分更多。第16页/共171页2.全地址译码法全地址译码法,是通过译码电路对单片机可利用的高位地址线进行译码,以得到较多的片选信号。第17页/共171页用全地址译码法扩展存储器举例第18页/共171页7.1.3 单片机系统存储器扩展方法第19页/共171页第20页/共171页7.2 并行I/O口扩展7.2.1 8255可编程并行I/O接口芯片1.8255 的电路结构和功能8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与
9、多种外设连接时的中间接口电路。第21页/共171页8255内部结构如图7.5所示。第22页/共171页8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制器部分。第23页/共171页1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对
10、8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。第24页/共171页2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。3)控制器8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。相应的控制器也分为A组控制器与B组控制器。第25页/共171页2.8255芯片引脚与CPU的连接第26页/共171页1)数据总线DB引脚AT89C52的P0.0P0.7与8255的D0D7连接 2)地址总线AB引脚A
11、0、A1通过74HC373锁存器与AT89C52的P0.0、P0.1连接。A1A0取0011值,可选择A、B、C口与控制寄存器,选择方法如下:A1A0=00:选择A口。A1A0=01:选择B口。A1A0=10:选择C口。A1A0=11:选择控制寄存器。第27页/共171页其中,xx表示取值可任意 第28页/共171页4)3个通道引脚(1)A口的8个引脚PA0PA7与外设连接,用于8位数据的输入与输出。(2)B口的8个引脚PB0PB7与外设连接,用于8位数据的输入与输出。(3)C口的8个引脚PC0PC7与外设连接,用于8位数据的输入与输出或通信线。第29页/共171页3.8255的工作方式4.8
12、255初始化1)工作方式选择字8255工作方式选择字共8位,如图所示,存放在8255控制寄存器中。最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是C口置位/复位控制字。第30页/共171页第31页/共171页D3D6用于A组的控制,D6D5=00表示A组工作于基本I/O方式0,D6D5=01表示A组工作于应答I/O方式1,D6D5=1x表示A组工作于双向应答I/O方式2(x取0或1)。D4=1表示A口工作于输入方式,D4=0表示A口工作于输出方式,D3=1表示上C口工作于输入方式,D3=0表示上C口工作于输出方式。第32页/共171页D0D2
13、用于B组的控制,各位含义如图7.8所示。D2=0表示B组工作于基本I/O方式0,D2=1表示B组工作于应答I/O方式1。D1=1表示B口工作于输入方式,D1=0表示B口工作于输出方式,D0=1表示下C口工作于输入方式,D0=0表示下C口工作于输出方式。工作方式字应输入控制寄存器,按上面的连接方式,控制寄存器的地址为E003H。所谓8255初始化,就是要根据工作要求确定8255工作方式选择字,并输入8255控制寄存器。第33页/共171页【例7.1】按照8255与AT89C52的连接图对8255初始化编程:(1)A、B、C口均为基本I/O输出方式。(2)A口与上C口为基本I/O输出方式,B口与下
14、C口为基本I/O输入方式。(3)A口为应答I/O输入方式,B口为应答I/O输出方式。第34页/共171页解:(1)A、B、C口均为基本I/O输出方式。#define COM8255 XBYTE0 xe003 /*定义8255控制寄存器地址*/void init8255(void)COM8255=0 x80;/*工作方式选择字送入8255控制寄存器,设置A、B、C口为基本I/O输出方式*/第35页/共171页(2)A口与上C口为基本I/O输出方式,B口与下C口为基本I/O输入方式。第36页/共171页(3)A口为应答I/O输入方式,B口为应答I/O输出方式。uchar xdata COM8255
15、 _at_ 0 xe003;/*定义8255控制寄存器地址*/void init8255(void)COM8255=0 xb4;/*工作方式选择字送入8255控制寄存器,设置A、B、C口为基本I/O输出方式*/第37页/共171页2)C口置/复位控制字8255的C口可进行位操作,即可对8255C口的每一位进行置位或清0操作,该操作是通过设置C口置/复位字实现的。C口置/复位字共8位,各位含义如图所示。由于8255的工作方式选择字与C口置/复位字共用一个控制寄存器,故特别设置D7为标志位,D7=0表示控制字为C口置/复位字,D7=1表示控制字为8255工作方式选择字。第38页/共171页5.82
16、55应用举例【例7.2】按照图7.7 8255与AT89C52的连接图,用8255C口的PC3引脚向外输出连续的正方波信号,频率为500Hz。解:(1)软件延时方式实现将C口设置为基本I/O输出方式,先从PC3引脚输出高电平1,间隔1ms后向PC3输出低电平0,再间隔1ms后向PC3输出高电平1,周而复始,则可实现从PC3输出频率为500Hz正方波的目的。第39页/共171页(2)定时器1工作方式1中断实现中断实现有效提高CPU的工作效率。将C口设置为基本I/O输出方式,12MHz晶振,定时器初值设为65536-1000即可,每次中断PC3引脚翻转,周而复始,则可实现从PC3输出频率为500H
17、z正方波的目的。第40页/共171页7.2.2 用74HC系列芯片扩展I/O接口在80C51单片机应用系统中,采用74HC系列的锁存器和触发器通过P0口也可以构成各种类型的输入/输出接口,这种I/O口具有电路简单、成本低、配置灵活方便等优点。故在单片机应用系统中也被广泛采用。第41页/共171页1.用锁存器扩展输出接口第42页/共171页第43页/共171页2.用总线驱动器扩展输入接口通过P0口扩展输入接口时,总线驱动器被视为一个外部RAM地址单元。使用MOVX A,DPTR指令从输入口读取数据。图7.11是AT89C52通过74HC245扩展输入口的原理图。第44页/共171页在单片机数据总
18、线上用74HCXX系列芯片扩展I/O接口,74HCXX芯片被视为80C51的片外RAM单元,用MOVX指令对其进行读写。以80C51的信号对它们进行读写控制时需要注意三点:输出锁存。输入三态。用RD、WR和地址线产生的有效选片信号(可能高、也可能低),作为数据输入或输出控制信号。第45页/共171页7.3 大容量闪速存储器Flash的扩展本节以Super Flash 28SF040A存储器为例,介绍闪速存储器Flash存储器在单片机系统中的使用方法。7.3.1 Super Flash 28SF040A简介28SF040A是一个容量为512KB的CMOS快速闪存,可块擦除、字节编程的Flash
19、EEPROM,引脚与EPROM、EEPROM兼容。第46页/共171页第47页/共171页2.引脚排列及芯片特殊操作命令对28SF040A的读操作非常简单,类似于SRAM,这里不再赘述。第48页/共171页28SF040A的其他特殊操作命令包括扇区擦除(Sector_Erase)、芯片擦除(Chip_Erase)、字节编程、复位、读ID号、软件数据写保护、软件数据写保护打开。第49页/共171页7.3.2 89C52单片机和28SF040A接口方法28SF040A是大容量并行存储器共计512KB,地址线A0A18共19根,而89C52全部寻址空间仅为64KB,地址线A0A15共16根,因此需要
20、增加高位地址线访问28SF040A。第50页/共171页1.使用单片机的I/O口控制高位地址线用P1口的P1.2P1.0控制28SF040A高位地址线 第51页/共171页2.使用单片机的扩展I/O口控制高位地址线第52页/共171页7.4 单片机系统中的键盘接口技术键盘是单片机应用系统最常用的输入设备,操作人员可以通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。第53页/共171页7.4.1 键盘工作原理及消抖键盘是一组按键的集合,键是一种常开型按钮开关,平时(常态)键的两个触点处于断开状态,按下键时它们才闭合(短路),如图所示。第54页/共171页键盘分编码键盘和非编码键盘,
21、按键的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用得更多的是非编码键盘,本节只讨论非编码键盘。第55页/共171页1.键盘操作特点在图中,当按键S未被按下(即断开)时,P1.1输入为高电平,S闭合后,P1.1输入为低电平。通常的按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号波形如图(b)所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开,因而在闭合及断开的瞬间均伴随有一连串的抖动。第56页
22、/共171页2.按键抖动的消除方法键抖动会引起一次按键被误读多次,为了确保单片机对键的一次闭合仅做一次处理,必须去除键抖动,在键闭合稳定时取键状态,并且必须判别到键释放稳定后再进行处理。按键的抖动,可用硬件或软件两种方法消除。通常在键数较少时,可用硬件方法消除键抖动。RS触发器为常用的硬件去抖电路。单片机系统中常用软件法。第57页/共171页7.4.2 独立式键盘与工作原理独立式按键是各按键互相独立地接通一条输入数据线,各按键的状态互不影响,如图7.16所示,这是最简单的键盘结构,该电路采用了中断方式读取键值。由于89C51系列单片机P1口在内部已经有上拉电阻,根据使用经验图7.16中的3个外
23、部上拉电阻可省掉。第58页/共171页当没有键按下时,与之相连的输入口线为1(高电平),与门输出为高电平。当任何一个键按下时,与之相连的输入口线被置0(低电平),与门输出由高变低,产生外中断条件,在中断服务程序中读取键盘值。第59页/共171页【例7.4】按照图7.16,使用外中断,编写独立式按键程序。第60页/共171页7.4.3 行列式键盘与工作原理为了减少键盘与单片机接口时所占用I/O口线的数目,在键数较多时,通常都将键盘排列成行列矩阵式,每一水平线(行线)与垂直线(列线)的交叉处不相通,是通过一个按键连通的。利用这种行列矩阵结构只需N个行线和M个列线即可组成M N个按键的键盘。第61页
24、/共171页图7.17是44(16键)行列式键盘电路。由于89C52单片机P1口在内部已经有上拉电阻,根据使用经验外部上拉电阻可以省掉。第62页/共171页在这种行列矩阵式非编码键盘的单片机系统中,对键的识别通常采用两步扫描判别法。具体方法描述见主教材252页。第63页/共171页7.4.4 键盘扫描的控制程序单片机对按键的控制通常有以下三种方式:(1)程序控制扫描方式,即利用程序连续地对键盘进行扫描。(2)定时扫描方式,即单片机定时地对键盘进行扫描。(3)中断扫描方式,即键的按下引起中断后,单片机对键盘进行扫描。第64页/共171页【例7.5】按照图7.17的电路,使用两步扫描法,编写的键扫
25、描程序。有键按下,扫描函数返回值为键值,若无键按下,返回值为0 xff。要求每10ms定时检测一次按键,使用定时器中断实现定时。按键信息由printf输出到串口。第65页/共171页7.5 单片机系统中的LED数码显示器7.5.1 LED显示器的结构与原理第66页/共171页单片机系统中通常使用8段LED数码显示器,8段LED显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示各种数字,包括AF在内的部分英文字母和小数点“”等字样。第67页/共171页LED显示器的显示方法有静态显示与动态显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外部 扩展 资源 技术 概述

限制150内