欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

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

    • 资源ID:3201320       资源大小:1.90MB        全文页数:172页
    • 资源格式: PPT        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    7.1 外部扩展资源和扩展编址技术概述,7.2 并行I/O口扩展,7.3 大容量闪速存储器Flash的扩展,7.4 单片机系统中的键盘接口技术,7.5 单片机系统中的LED数码显示器,7.6 单片机系统中的LCD液晶显示器,7.7 日历时钟接口芯片及应用,7.8 单片机数据采集系统,7.9 I2C 总线接口电路EEPROM及应用,7.10 RS-232C和 RS-485/422通信接口,本章小结,7.1 外部扩展资源和扩展编址技术概述,7.1.1 单片机外部扩展资源分类,单片机外部扩展资源包含有:外部RAM/ROM、键盘、显示、A/D、D/A、I/O扩展、中断扩展、串行通信、总线驱动、电源监控、看门狗等一些最基本的模块,它们都是大多数单片机应用系统必不可少的关键部分。,1. 外部程序存储器ROM,当单片机内部程序存储器ROM容量无法满足应用系统要求时,需要在外部进行扩展。对于80C51系列,内部存储器都达到64KB,用户没有必要再扩展外部程序存储器。,2. 外部数据存储器RAM,由于单片机的内部数据存储器容量较小,在需要大量数据缓冲的单片机应用系统中(如语音系统、商场收费POS)仍然需要在外部扩展数据存储器。,外部数据存储器有SRAM、Flash EEPROM,3. 并行I/O口资源扩展,在较为复杂的控制系统(尤其是工业控制系统,如可编程控制器)中,经常需要扩展I/O口。常用的I/O接口芯片有74HC系列锁存器/寄存器、8255和8155等。,4. 键盘和显示器 键盘和显示器提供了用户与单片机应用系统之间的人机界面,用户通过键盘向单片机系统输入数据或程序,而通过显示器用户可以了解单片机系统的运行状态。,5. 串行通信接口 单片机通常都提供了一个串行通信接口,且信号为TTL电平,为了方便单片机系统与PC机、打印机、外设等接口,往往需要扩展通用的RS-232通信接口。为了实现远距离通信,还要扩展RS-485通信接口。常用的RS-232接口芯片为MAX232,常用的RS-485接口芯片为MAX485。 当单片机系统需要更多的串行通信接口时,可以通过串行口芯片扩展,常用的串行口芯片有8251、8250、16C554等。,6. 模数转换A/D A/D转换接口将外设输入的模拟量转换为计算机使用的数字量,常用的A/D转换芯片有ADC0808/0809、ADC0816/0817、ADC1140、ADC71/76、AD574A等。,7. 数模转换D/A D/A转换接口将计算机的数字量转换为外设使用的模拟量,常用的D/A转换芯片有DAC0832、DA7520、DAC1208、DAC1230等。,8. 电源监控和硬件看门狗 在电源不稳定或有强大的干扰源时,系统经常会出现“程序跑飞”等异常情况,给系统的开发和实际应用带来了极大的不便,严重时会使系统瘫痪,甚至发生工业事故。为此需要使用专用的电源监控复位芯片,人们常把此类电路称为硬件看门狗,当系统电压下降和“程序跑飞”时,它能发出复位信号,保证系统正常工作。常用的电源监控复位芯片有CSI24C161、DS1232、X5045等。,9. 硬件日历时钟 由单片机构成的大多数计费、计时系统中,日期和时间是数据库中的一个重要参数,为此需要在单片机系统中扩展日历时钟芯片。常用的日历时钟接口电路有DS1302、DS12887等。,单片机系统是指以单片机为核心,根据其应用目标扩展相关的外围电路所构成的硬件系统,外部扩展是和应用紧密联系的。本章只是对单片机系统中常用资源扩展和流行接口加以论述。,7.1.2 单片机系统扩展结构与编址技术,图7.1为AT89C52单片机通过三总线的扩展系统结构图。,图7.1,译码器产生地址译码信号,在任一时刻其输出的有效片选信号使得单片机只能访问RAM、I/O 和CLOCK其中之一,避免了总线竞争现象。下面介绍单片机扩展中的地址译码技术。,地址译码有两种方法,线选法和全地址译码法。,线选法 线选法一般用于扩展少量的片外存储器和I/O接口芯片。所谓线选法通常是将单片机的高8位地址线A8A15中的某几根与外部接口芯片的片选端一一相连,当该地址线为0时(对0选通有效的外部芯片而言),与该地址线相连接的外部芯片被选通。这种方法的缺点是:全部地址空间是断续的,每个接口电路的地址空间又可能是重叠的。,图是线选法典型电路组成。,图7.2中,当A15 = 0时,选中RAM 6264,而A14 = 0时,选中I/O芯片8255,为了避免产生总线竞争, A15和A14不能同时为0,由此可确定选中RAM6264的二进制数地址应为:01xxxxxx xxxxxxxx,x为任意,即可以是0也可以是1。 故RAM 6264的地址范围二进制数是01000000 0000000001111111 11111111,对应的十六进制数是4000H7FFFH。而RAM6264容量只有8KB,故4000H5FFFH、6000H7FFFH两段地址完全重叠。 同样可确定选中I/O芯片8255的二进制数地址应是:10xxxxxx xxxxxxxx,x为任意。故I/O芯片8255的地址范围二进制数是10000000 0000000010111111 11111111。对应十六进制数是8000HBFFFH。而I/O8255实际只占用4个地址单元,故地址重叠部分更多。,2. 全地址译码法,全地址译码法,是通过译码电路对单片机可利用的高位地址线进行译码,以得到较多的片选信号。,用全地址译码法扩展存储器举例,7.1.3 单片机系统存储器扩展方法,7.2 并行I/O口扩展,7.2.1 8255可编程并行I/O接口芯片,1. 8255 的电路结构和功能 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。,8255内部结构如图7.5所示。,8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制器部分。,1)与CPU连接部分 根据定义,8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。,2)与外设接口部分 根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。,3)控制器 8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。相应的控制器也分为A组控制器与B组控制器。,2. 8255芯片引脚与CPU的连接,1)数据总线DB引脚,AT89C52的P0.0P0.7与8255的D0D7连接,2)地址总线AB引脚,A0、A1通过74HC373锁存器与AT89C52的P0.0、P0.1连接。A1A0取0011值,可选择A、B、C口与控制寄存器,选择方法如下: A1A0=00:选择A口。 A1A0=01:选择B口。 A1A0=10:选择C口。 A1A0=11:选择控制寄存器。,其中,xx表示取值可任意,4)3个通道引脚,(1)A口的8个引脚PA0PA7与外设连接,用于8位数据的输入与输出。 (2)B口的8个引脚PB0PB7与外设连接,用于8位数据的输入与输出。 (3)C口的8个引脚PC0PC7与外设连接,用于8位数据的输入与输出或通信线。,3. 8255的工作方式,4. 8255初始化,1)工作方式选择字,8255工作方式选择字共8位,如图所示,存放在8255控制寄存器中。最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7 = 0表示控制寄存器中存放的是C口置位/复位控制字。,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口工作于输出方式。,D0D2用于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控制寄存器。,【例7.1】 按照8255与AT89C52的连接图对8255初始化编程: (1)A、B、C口均为基本I/O输出方式。 (2)A口与上C口为基本I/O输出方式,B口与下C口为基本I/O输入方式。 (3)A口为应答I/O输入方式,B口为应答I/O输出方式。,解:,(1)A、B、C口均为基本I/O输出方式。,#define COM8255 XBYTE0xe003 /* 定义8255控制寄存器地址 */ void init8255(void) COM8255=0x80; /*工作方式选择字送入8255控制寄存器,设置A、 B、C口为基本I/O输出方式 */ ,(2)A口与上C口为基本I/O输出方式,B口与下C口为基本I/O输入方式。,(3)A口为应答I/O输入方式,B口为应答I/O输出方式。,uchar xdata COM8255 _at_ 0xe003; /*定义8255控制寄存器地址*/ void init8255(void) COM8255=0xb4; /*工作方式选择字送入8255控制寄存器, 设置A、B、C口为基本I/O输出方式 */ ,2)C口置/复位控制字,8255的C口可进行位操作,即可对8255C口的每一位进行置位或清0操作,该操作是通过设置C口置/复位字实现的。C口置/复位字共8位,各位含义如图所示。,由于8255的工作方式选择字与C口置/复位字共用一个控制寄存器,故特别设置D7为标志位,D7=0表示控制字为C口置/复位字,D7 = 1表示控制字为8255工作方式选择字。,5. 8255应用举例 【例7.2】 按照图7.7 8255与AT89C52的连接图,用8255C口的PC3引脚向外输出连续的正方波信号,频率为500Hz。,解: (1)软件延时方式实现 将C口设置为基本I/O输出方式,先从PC3引脚输出高电平1,间隔1ms后向PC3输出低电平0,再间隔1ms后向PC3输出高电平1,周而复始,则可实现从PC3输出频率为500Hz正方波的目的。,(2)定时器1工作方式1中断实现 中断实现有效提高CPU的工作效率。将C口设置为基本I/O输出方式,12MHz晶振,定时器初值设为65536-1000即可,每次中断PC3引脚翻转,周而复始,则可实现从PC3输出频率为500Hz正方波的目的。,7.2.2 用74HC系列芯片扩展I/O接口,在80C51单片机应用系统中,采用74HC系列的锁存器和触发器通过P0口也可以构成各种类型的输入/输出接口,这种I/O口具有电路简单、成本低、配置灵活方便等优点。故在单片机应用系统中也被广泛采用。,1. 用锁存器扩展输出接口,2. 用总线驱动器扩展输入接口,通过P0口扩展输入接口时,总线驱动器被视为一个外部RAM地址单元。使用MOVX A,DPTR指令从输入口读取数据。图7.11是AT89C52通过74HC245扩展输入口的原理图。,在单片机数据总线上用74HCXX系列芯片扩展I/O接口,74HCXX芯片被视为80C51的片外RAM单元,用MOVX指令对其进行读写。以80C51的信号对它们进行读写控制时需要注意三点: 输出锁存。 输入三态。 用RD、WR和地址线产生的有效选片信号(可能高、也可能低),作为数据输入或输出控制信号。,7.3 大容量闪速存储器Flash的扩展,本节以Super Flash 28SF040A存储器为例,介绍闪速存储器Flash存储器在单片机系统中的使用方法。,7.3.1 Super Flash 28SF040A简介,28SF040A是一个容量为512KB的CMOS快速闪存,可块擦除、字节编程的Flash EEPROM,引脚与EPROM、EEPROM兼容。,2. 引脚排列及芯片特殊操作命令,对28SF040A的读操作非常简单,类 似于SRAM,这里不再赘述。,28SF040A的其他特殊操作命令包括扇区擦除(Sector_Erase)、芯片擦除(Chip_Erase)、字节编程、复位、读ID号、软件数据写保护、软件数据写保护打开。,7.3.2 89C52单片机和28SF040A接口方法,28SF040A是大容量并行存储器共计512KB,地址线A0A18共19根,而89C52全部寻址空间仅为64KB,地址线A0A15共16根,因此需要增加高位地址线访问28SF040A。,1. 使用单片机的I/O口控制高位地址线,用P1口的P1.2P1.0控制28SF040A高位地址线,2. 使用单片机的扩展I/O口控制高位地址线,7.4 单片机系统中的键盘接口技术,键盘是单片机应用系统最常用的输入设备,操作人员可以通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。,7.4.1 键盘工作原理及消抖,键盘是一组按键的集合,键是一种常开型按钮开关,平时(常态)键的两个触点处于断开状态,按下键时它们才闭合(短路),如图所示。,键盘分编码键盘和非编码键盘,按键的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。,在单片机组成的电路系统及智能化仪器中,用得更多的是非编码键盘,本节只讨论非编码键盘。,1. 键盘操作特点 在图中,当按键S未被按下(即断开)时,P1.1输入为高电平,S闭合后,P1.1输入为低电平。通常的按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号波形如图(b)所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开,因而在闭合及断开的瞬间均伴随有一连串的抖动。,2. 按键抖动的消除方法 键抖动会引起一次按键被误读多次,为了确保单片机对键的一次闭合仅做一次处理,必须去除键抖动,在键闭合稳定时取键状态,并且必须判别到键释放稳定后再进行处理。按键的抖动,可用硬件或软件两种方法消除。,通常在键数较少时,可用硬件方法消除键抖动。RS触发器为常用的硬件去抖电路。单片机系统中常用软件法。,7.4.2 独立式键盘与工作原理,独立式按键是各按键互相独立地接通一条输入数据线,各按键的状态互不影响,如图7.16所示,这是最简单的键盘结构,该电路采用了中断方式读取键值。由于89C51系列单片机P1口在内部已经有上拉电阻,根据使用经验图7.16中的3个外部上拉电阻可省掉。,当没有键按下时,与之相连的输入口线为1(高电平),与门输出为高电平。当任何一个键按下时,与之相连的输入口线被置0(低电平),与门输出由高变低,产生外中断条件,在中断服务程序中读取键盘值。,【例7.4】 按照图7.16,使用外中断,编写独立式按键程序。,7.4.3 行列式键盘与工作原理,为了减少键盘与单片机接口时所占用I/O口线的数目,在键数较多时,通常都将键盘排列成行列矩阵式,每一水平线(行线)与垂直线(列线)的交叉处不相通,是通过一个按键连通的。利用这种行列矩阵结构只需N个行线和M个列线即可组成M × N个按键的键盘。,图7.17是4×4(16键)行列式键盘电路。由于89C52单片机P1口在内部已经有上拉电阻,根据使用经验外部上拉电阻可以省掉。,在这种行列矩阵式非编码键盘的单片机系统中,对键的识别通常采用两步扫描判别法。具体方法描述见主教材252页。,7.4.4 键盘扫描的控制程序,单片机对按键的控制通常有以下三种方式: (1)程序控制扫描方式,即利用程序连续地对键盘进行扫描。 (2)定时扫描方式,即单片机定时地对键盘进行扫描。 (3)中断扫描方式,即键的按下引起中断后,单片机对键盘进行扫描。,【例7.5】 按照图7.17的电路,使用两步扫描法,编写的键扫描程序。有键按下,扫描函数返回值为键值,若无键按下,返回值为0xff。要求每10ms定时检测一次按键,使用定时器中断实现定时。按键信息由printf输出到串口。,7.5 单片机系统中的LED数码显示器,7.5.1 LED显示器的结构与原理,单片机系统中通常使用8段LED数码显示器,8段LED显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示各种数字,包括AF在内的部分英文字母和小数点“”等字样。,LED显示器的显示方法有静态显示与动态显示两种,下面分别予以介绍。,7.5.2 LED静态显示接口,数码管工作在静态显示方式时,共阴极(共阳极)的公共端COM连接在一起接地(电源)。每位的段选线与一个8位并行口相连。只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。,图7.19是通过串行口扩展8位LED显示器静态驱动电路,在TXD(P3.1)运行时钟信号,将显示数据由RXD(P3.0)口串行输出,串行口工作在移位寄存器方式(方式0)。,显然,要显示某字符,首先要把这个字符转换成相应的字形码,然后再通过串行口发送到74HC164。74HC164把串行口收到的数变为并行输出加到数码管上。,先建立一个字形码表,以十六进制数的次序存放它们的相应字形码,共阴极字形码表如主教材257页表7.5所示。,如要显示字符6,查表可知6的字形码为0x7d,把0x7d送到8位移位寄存器74HC164即可。显然,要显示字符09、AF,其高4位为全0,而低4位为十六进制数。如果要显示的数高半字节不是0,则要通过程序加以变换。,【例7.6】 按照图7.19显示电路编写显示驱动程序。,7.5.3 LED动态扫描显示接口,静态LED显示法有着显示亮度大,软件较为简单的优点,但硬件上使用芯片多,每个LED显示器需要一个驱动电路。,LED动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应LED后,即在显示字段上得到显示字形码。这种方式不但能提高数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。,动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。其接口电路是把所有显示器的8个笔划段adp同名端并联在起,而每一个显示器的公共极COM是各自独立地受I/O线控制。,动态扫描是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。,在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。,图7.20是一个典型的动态扫描8位LED显示接口电路。该电路由74HC245提供段adp的驱动,74LS145提供位COM1COM8的驱动。请注意89C52的P0.0P0.7每个口线上有1个10k的上拉电阻,图中未示出。,数码管是8段共阴极LED显示器,所以发光时字形驱动输出1有效,位驱动输出0有效。但注意位驱动是74LS145的译码输出,如果要显示第5位(数码管序号为07)数码管,74LS145的输入端应为DCBA=0101。,【例7.7】 按照图7.20电路,编写在8个数码管依次显示0, 1, , 7的程序。,7.6 单片机系统中的LCD液晶显示器,LCD液晶显示器是一种被动式的显示器,与LED不同,液晶本身并不发光,而是利用液晶在电压作用下,能改变光线通过方向的特性,而达到显示白底黑字或黑底白字的目的。液晶显示器具有体积小、功耗低,抗干扰能力强等优点,特别适用于小型手持式设备。这几年随着价格的下降而得到广泛的应用。,常见的液晶显示器有七段式LCD显示器、点阵式字符型LCD 显示器和点阵式图形LCD 显示器。,本节主要介绍点阵式字符型LCD 显示器以及应用。,7.6.1 字符型液晶显示模块的组成和基本特点,字符型液晶显示模块是专门用于显示字母、数字、符号等的点阵型液晶显示模块。分4位和8位数据传输方式。提供5×7点阵光标和5×10点阵光标的显示模式。提供内部上电自动复位电路,当外加电源电压超过+4.5V时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。,字符型液晶显示模块组件内部主要由LCD 显示屏(LCD PANEL)、控制器(controller)、驱动器(driver)、少量阻、容元件,结构件等装配在PCB板上构成。如图7.21所示。,字符型液晶显示模块目前在国际上已经规范化,无论显示屏规格如何变化,其电特性和接口形式都是统一的。因此只要设计出一种型号的接口电路,在指令设置上稍加改动即可使用各种规格的字符型液晶显示模块。,下面介绍点阵式字符型LCD 显示器LCD1602模块以及应用。,7.6.2 LCD1602模块接口引脚功能,LCD1602共有16个引脚,见主教材261页表7.6。,管脚进一步说明如下: 第1脚:VSS为地电源; 第2脚:VDD接5V正电源; 第3脚:VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度;,第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器; 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据; 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令; 第714脚:DB0DB7为8位双向数据线; 第15、16两脚用于带背光模块,不带背光的模块这两个管脚悬空不接。,7.6.3 LCD1602模块的操作命令,1. 1602LCD 各寄存器介绍,控制器主要由指令寄存器IR、数据寄存器DR、忙标志BF、地址计数器AC、DDRAM、CGROM、CGRAM以及时序发生电路组成。寄存器介绍见主教材262-263页。, 指令寄存器(IR)和数据寄存器(DR),本系列模块内部具有两个8位寄存器:指令寄存器(IR)和数据寄存器(DR)。用户可以通过RS和R/W输入信号的组合选择指定的寄存器,进行相应的操作。, 忙标志位BF 忙标志BF=1时,表明模块正在进行内部操作,此时不接受任何外部指令和数据。当RS=0、R/W=1以及E为高电平时,BF输出到DB7。每次操作之前最好先进行状态字检测,只有在确认BF=0之后,MPU才能访问模块;, 地址计数器(AC) AC地址计数器是DDRAM或者CGRAM的地址指针。随着IR中指令码的写入,指令码中携带的地址信息自动送入AC中,并做出AC作为DDRAM的地址指针还是CGRAM的地址指针的选择。, 显示数据寄存器(DDRAM) DDRAM存储显示字符的字符码,其容量的大小决定着模块最多可显示的字符数目。控制器内部有80字节的DDRAM缓冲区,DDRAM地址与LCD显示屏上的显示位置的对应关系如图7.22所示。, 字符发生器ROM 在CGROM中,模块已经以8位二进制数的形式,生成了5×8点阵的字符字模组字符字模(一个字符对应一组字模)。字符字模是与显示字符点阵相对应的8×8矩阵位图数据(与点阵行相对应的矩阵行的高三位为“0”),同时每一组字符字模都有一个由其在CGROM中存放地址的高八位数据组成的字符码对应。 字符码地址范围为00HFFH,其中00H07H字符码与用户在CGRAM中生成的自定义图形字符的字模组相对应。, 字符发生器RAM 在CGRAM中,用户可以生成自定义图形字符的字模组。可以生成5×8点阵的字符字模8组,相对应的字符码从CGROM的00H0FFH范围内选择。,2. 1602LCD指令说明,模块向用户提供了11条指令,大致可以分为四大类: 模块功能设置,诸如:显示格式、数据长度等; 设置内部RAM地址; 完成内部RAM数据传送; 完成其他功能。 说明详细见主教材264-266页!,7.6.4 LCD1602与89C52单片机接口与编程,LCD1602适配M6800系列MPU的操作时序,可直接与该系列MPU连接。由于80C51系列单片机的操作时序与M6800系列不同,可采用80C51的I/O模拟LCD1602的操作时序。其连接方法如图7.23所示。,图7.23,采用图7. 23中接口电路将占用很多80C51宝贵的I/O口资源,将80C51的读写信号经门电路变换后,可直接将LCD1602连到80C51的三总线上。,如图7. 24所示,是采用AT89C52、74HC00和74HC573组成的接口电路。图中连接方法LCD1602的寄存器读写地址如下:,uchar xdata Lcd1602CmdPort _at_ 0x8000; /写IR寄存器,命令 uchar xdata Lcd1602StatusPort _at_ 0x8001; /读IR寄存器,状态 uchar xdata Lcd1602WdataPort _at_ 0x8002;/写DR寄存器 uchar xdata Lcd1602RdataPort _at_ 0x8003; /读DR寄存器,【例7.8】 如图7. 24所示电路,编写程序顺序实现:(1)LCD1602初始化;(2)在LCD1602显示“Welcome to scut!- By zhangqin“;(3)然后在第2行循环显示ASCII可打印字符。,7.7 日历时钟接口芯片及应用,7.7.1 并行接口日历时钟芯片DS12887,DS12887是内置锂电池的实时日历时钟芯片,它可以产生秒、分、时、星期、日、月及年等7个时标,并有供用户使用的114B带掉电保护的RAM,可以通过编程读取和修改这些时标,也可以编程产生定时间隔时间中断,使用十分方便。,1. DS12887芯片的引脚,2. 片内结构和寄存器,DS12887的内部有10B时标寄存器、4B状态寄存器、114B带掉电保护的RAM。其地址分配如图7.26所示。,1)时标寄存器 10个时标寄存器可用二进制表示,也可用BCD码表示。其功能和数值范围如表7.7所示。,2)寄存器0AH 寄存器0AH的格式如图7.27所示。,UIP:更新周期进行标志位,UIP = 1时,芯片正处于或将开始新周期,此期间不允许读写时标寄存器。 DV2DV0:为010时晶振工作,其他组合时晶振停止。 RS3RS0:中断周期时间和SQW输出频率选择位。,3)寄存器0BH 寄存器0BH中的格式如图7.28所示。,SET:为1时禁止更新。为0时正常。 PIE:为1时周期中断允许。 AIE:为1时警报中断允许。 UIE:为1时更新结束中断允许。 SQWE:为1时方波输出允许。 DM:为0时时间为BCD码,为1时为二进制。 24/12:为1时是24小时进制。为0时是12小时进制。 DSE:置0。,4)寄存器0CH 寄存器0CH的格式如图7.29所示。,IRQF:中断申请标志。 PF:周期中断标志。 AF:警报中断标志。 UF:更新结束中断标志。,5)寄存器0DH 寄存器0DH格式如图7.30所示。,VRT:为0时表示内部锂电池耗尽。,3. DS12887与89C52的接口电路,图7.31是89C52与DS12887的接口电路,DS12887的片选信号接P2.4,即P2.4 = 0时,选中DS12887,设片内时标寄存器和掉电RAM的地址范围是:0E400H0E47FH。,时标寄存器设置的步骤为: (1)寄存器B的SET位置1,芯片停止工作。 (2)时标寄存器置初值。秒、分、时、星期、年、月、日时标寄存器的地址顺序为:E400H、E402H、E404H、E406H、E407H、E408H、E409H。 (3)读寄存器C,以消除已有的中断标志。 (4)读寄存器D,使片内寄存器和RAM数据有效。 (5)寄存器B的SET位清0,启动DS12887开始工作。,7.7.2 串行接口日历时钟芯片DS1302,串行接口的日历时钟芯片以其使用简单、接口容易、与微机连线少等特点,在单片机应用系统,尤其是手持式信息设备中得到广泛应用。下面介绍在单片机应用系统中广为使用的串行接口实时时钟芯片DSl302的特点和使用方法。,1. DS1302特性和引脚说明 DSl302内部具有实时时钟、日历和用户可用RAM,通过一个简单的串行接口与微机通信,可根据月份和闰年的情况自动调整月份的结束日期,时钟可由用户决定是以24小时制式或12小时制式工作。,芯片主要特性 实时时钟包括秒、分、小时、日、月、星期和年等信息。 31B静态RAM可供用户使用。 简单的3线串行I/O接口。 2.5V5.5V的电压工作范围。 TTL/CMOS兼容(Vcc5V时)。 在2.5V工作时,芯片电流小于300nA。 8脚DIP或SOIC封装。 可选的涓流充电方式。 工作电源和备份电源双引脚输入。 备份电源可由超级电容(1F)替代。,2. 基本控制操作,1)命令字节,命令字节的格式如图所示,每次数据的传输都是由命令字节开始的,这里的最高有效位必须是1。D6是RAM(为1)或时钟/日历(为0)的标识位。D1D5定义片内寄存器的地址。最低有效位(D0)定义了写操作(为0时)或读操作(为1时)。命令字节的传输始终从最低有效位开始。,2)数据的写入或读,对芯片的所有写入或读出操作都是由命令字节为引导的。每次仅写入或读出1B数据的操作称为单字节操作。每次对时钟/日历的8B或31个RAM字节进行全体写入或读出操作,称其为多字节突发模式操作。,图7.35 多字节突发模式操作格式,图7.34 单字节传送操作格式,3)时钟/日历寄存器地址命令格式及功能定义 访问DS1302片内各寄存器地址命令格式见主教材277页表7.9所示。,访问DS1302片内各寄存器数据格式见主教材277页表7.10所示。,时钟/日历寄存器共有秒、分、时、日、月、星期和年共7个寄存器。秒寄存器的最高位CH标志位是时钟的暂停标志。当这一位被置为逻辑1时,时钟振荡电路停振,且DS1302进入低功耗空闲状态,这时芯片消耗电流将小于l00nA。当这一位被置为逻辑0时,时钟将工作。,控制寄存器即写保护寄存器,该寄存器的最高位是芯片的写保护位,D0D6应强迫写0,且读出时始终为0。对任何片内时钟/日历寄存器或RAM,在写操作之前,写保护位必须是0,否则将不可写入。因此,通过置写保护位,可提高数据的安全性。,涓流充电寄存器控制着DSl302的涓流充电特性。寄存器的D4D7决定是否具备充电性能,仅在1010编码的条件下才具备充电性能,其他编码组合不允许充电。D2和D3可以选择在VCC2脚和VCC1脚之间串联一个二极管还是两个二极管。如果编码是01,选择一个二极管;如果编码是10,选择两个二极管;其他编码将不允许充电。该寄存器的D0和D1选择与二极管相串联的电阻值,其中编码01为2k,10为4k,11为8k,而00将不允许进行充电。,因此根据涓流充电寄存器的不同编程,可得到不同的充电电流。其充电电流具体计算公式如下:,式中,5.0V为VCC2脚所接入的工作电压,VD为二极管正向压降0.7V, R为寄存器0和1位编码决定的电阻值,VE为VCC1脚所接入的电池电压。,3. DS1302与89C52的接口电路 图7.36是89C52与DS1302的接口电路,DSl302的3条接口线可接到单片机的任何通用双向I/O口上。,图7.36 89C52与DS1302的接口电路,【例7.10】 编写图7.36所示的时钟电路DS1302时钟芯片驱动程序。并在主程序中每隔1秒读取时钟信息送到串口输出。在P1.7增加一个按钮,当按钮按下时间超过1S时,时钟被初始化为08年1月1日0点0分0秒周二。,7.8 单片机数据采集系统,在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数据进行采集如液位、温度、压力、频率等物理量。现实世界的物理量都是模拟量,能把模拟量转化为数字量的器件称为模/数转换器(A/D转换器)。A/D转换器是单片机数据采集系统的关键接口电路,按照和单片机系统的接口形式,可分为并行A/D转换器和串行A/D转换器。,7.8.1 并行A/D转换器ADC0809,1. ADC0809的特性与引脚,ADC0809是单片CMOS器件,是8位模/数转换器,带有使能控制端,可以和微机直接接口。片内带有锁存功能的8路模拟多路开关,可以对8路05V的输入模拟电压信号分时进行转换。,ADC0809逻辑框图如图7.37所示。器件的核心部分是8位A / D转换器,它由比较器、逐次逼近寄存器、D / A转换器及控制和定时5部分组成。输出具有TTL三态锁存缓冲器,可直接连到单片机数据总线上。,八路模拟开关用于输入IN0-IN7上八路模拟电压。 逐次逼近寄存器和比较器SAR在A/D转换过程中存放暂态数字量,在A/D转换完成后存放数字量,并可送到“三态输出锁存器”锁存。 三态输出锁存器和控制电路 三态输出锁存器和控制电路用于锁存A/D转换完成后的数字量。CPU使OE引脚变成高电平就可以从“三态输出锁存器”取走A/D转换后的数字量。 控制电路用于控制 ADC0809 的操作过程。,ADC0809引脚图如图7.38所示。,ADC0809采用双列直插式封装, 共有28条引脚,IN0-IN7(8条):IN0-IN7为八路模拟电压输入线,用于输入被转换的模拟电压。地址输入和控制(4条),ALE为地址锁存允许输入线,高电平有效。,数字量输出及控制线(11 条),电源线及其它(5条),在启动端(START)加启动脉冲(正脉冲),开始转换。但是EOC信号是在START的下降沿10s后才变成无效的低电平。这就要求查询EOC要在10s后才能开始查询。转换结束后,由OE信号产生输出结果。如将启动端(START)与转换结束端(EOC)直接相连,转换将是连续的,在用这种转换方式时,开始应在外部加启动脉冲。,2. ADC0809与89C52的接口电路 ADC0809与单片机有多种连接方式,图7.39是89C52与ADC0809的接口电路。该电路通过调节滑线变阻器,改变ADC0809的输入电压。,【例7.11】按图7.39所示电路,设计PWM输出控制电路,根据ADC0809 IN0的输入调制PWM占空比。PWM从P3.7口输出。,7.8.2 串行A/D转换器TLC2543,1. TLC2543的特性与引脚 TLC2543是TI公司的TLC2543 12位串行A/D转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省80C51系列单片机的I/O资源,而且价格适中。,2. TLC2543的工作过程,TLC2543的工作过程分为两个周期:I/O 周期和实际转换周期。,1)I/O周期 I/O周期由外部提供的I/O CL

    注意事项

    本文(外部扩展资源和扩展编址技术概述.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开