《单片机接口技术(C51版)》-张道德-电子教案 第七章

上传人:E**** 文档编号:89401731 上传时间:2019-05-24 格式:PPT 页数:30 大小:436KB
返回 下载 相关 举报
《单片机接口技术(C51版)》-张道德-电子教案 第七章_第1页
第1页 / 共30页
《单片机接口技术(C51版)》-张道德-电子教案 第七章_第2页
第2页 / 共30页
《单片机接口技术(C51版)》-张道德-电子教案 第七章_第3页
第3页 / 共30页
《单片机接口技术(C51版)》-张道德-电子教案 第七章_第4页
第4页 / 共30页
《单片机接口技术(C51版)》-张道德-电子教案 第七章_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《《单片机接口技术(C51版)》-张道德-电子教案 第七章》由会员分享,可在线阅读,更多相关《《单片机接口技术(C51版)》-张道德-电子教案 第七章(30页珍藏版)》请在金锄头文库上搜索。

1、单片机接口技术(C51版),第七章 8051常用扩展资源编程,内容概述,本章主要介绍8051单片机系统常用的扩展芯片8155与DS1302。8155是综合扩展芯片,该芯片内部有RAM、I/O及定时/计数器。DS1302是实时时钟芯片,本章主要介绍这两种芯片的工作原理、工作方式及控制方法,并给出相应的C51源程序。 教学目标 1了解8155芯片的内部结构,理解8155芯片内部定时/计数器的工作原理工作方式,能通过8155的命令寄存器设置8155的I/O口及定时/计数器的工作方式,了解状态寄存器中各位的含义。能设计8155与单片机的接口电路,掌握8155端口操作的C51程序设计方法。 2了解DS1

2、302的内部结构,理解该芯片的工作原理,掌握DS1302控制字的使用方法,掌握12个寄存器中与时间、日历相关的7个寄存器,分别是时、分、秒、日、周、月、年寄存器。能设计DS1302与单片机的接口电路,理解教材中给出的对DS1302操作的C51源程序。,71 综合扩展芯片8155,8155片内包含有256个字节的RAM,三个可编程的并行I/O口,一个14位的计数器,是8051应用系统中常用的外围器件。 7.1.1 8155结构及工作原理 7.1.1.1 8155的结构和技术性能 在8155内部具有: 256字节的静态RAM,存取时间为400ns; 有三个通用的输入/输出口。其中A口和B口是8位口

3、,C口是6位口。C口可做状态口,这时,A口和B口能在应答式的输入/输出方式下工作; 有一个14位的可编程定时/计数器; 内部有地址锁存器及多路转换的地址和数据总线; 单一+5V电源,40脚双列直插式封装。,8155的逻辑结构及引脚,1 8155的RAM和I/O地址编码,当8155作为单片机的扩展芯片时,是按外部数据存储器统一编址的,为16位地址数据,其高8位由片选线提供,而低8位地址为片内地址。当IO/ =0时,单片机对8155片内RAM读/写,RAM低8位编址为00H0FFH;当IO/ =1时,单片机对8155的I/O口进行读写。8155共有6个I/O口寄存器,它们各自占有的地址如表7-1-

4、1所示。,8155的工作方式与基本操作,1)作片外256字节RAM使用。 此时8155的IO/脚应置为低电平,其RAM地址的高8位由片选线决定,低8位为00H0FFH。 与应用系统中其它数据存储器统一编址。使用的读/写操作指令为MOVX。 2)作扩展I/O口使用。 此时8155的IO/脚必须置为高电平,PA、PB、PC口的口地址的低8位分别为01H、02H、03H(设地址无关位为0)。I/O口的工作方式的选择完全依靠对8155命令寄存器设定的命令控制字来实现。而I/O口状态的查询可通过对8155状态寄存器的操作来完成。命令/状态寄存器共用一个口地址,写入为命令,读出为状态。,命令控制字,C口工

5、作方式,8155状态字,控制字的应用,用好8155 I/O口的关键在于正确理解各个I/O口每一位的功能含义,据此编写准确的控制字,并写入命令寄存器。 例如,假定要求选择8155的PA口为基本输入口,PB口为基本输出口,PC口为输出口,并立即启动计数器工作,则向命令寄存器写的控制字应为0CEH,即:,定时器的使用,8155的定时器由两个8位寄存器组成,是一个14位的减法计数器。 其低位字节的I/O地址为100B,高位字节的I/O地址为101B。 在TIMER IN端输入计数脉冲,当计数满时由TIMER OUT端输出脉冲或方波。当TIMER IN接外脉冲时为计数方式;接系统时钟时,可作为定时方式,

6、但须注意芯片的最高计数频率(4MHz)。 定时器的操作分两步:1)由写入命令寄存器的控制字确定定时器的启动、停止或装入常数(见命令控制字)。2)由写入到定时器的两个寄存器的内容确定计数长度和输出方式。,8155定时器格式及输出方式,7.1.2 8155应用实例,8155和8031的连接方法 P0口直接与8155的AD0AD7相连,既作低8位地址线又作数据总线,地址锁存信号使用单片机的ALE,高8位地址由及IO/ 控制线决定。,8155片内资源的地址计算方法,8155的地址编码为: RAM地址:7E00H7EFFH I/O口地址:命令/状态口 7F00H PA口 7F01H PB口 7F02H

7、PC口 7F03H 定时器低8位 7F04H 定时器高8位 7F05H 计算以上地址时,未用的地址线可以在相应的地址位中填入1或0。此处重点讲解地址计算过程。,例7-1-1 8155应用实例,设8155PA口为基本输入口,PB口为基本输出口,PC口为输出口,定时器作方波发生器,对输入脉冲进行24分频。要求从PA口读入的数据取反后从PB口输出。 源程序如下: /*此程序演示8155的初始化以及简单的输入输出操作。*/ #include #include #define uchar unsigned char #define uint unsigned int #define COM8155 XB

8、YTE0x7f00 #define PA8155 XBYTE0x7f01 #define PB8155 XBYTE0x7f02 #define TL8155 XBYTE0x7f04 #define TH8155 XBYTE0x7f05 uchar Collect_Data;,源程序,void main(void) TL8155=0x18; /*定时器低8位,计数常数18H=24*/ TH8155=0x40; /*定时器高8位,输出为连续方波(M2M1=01)*/ COM8155=0xce; /*装入命令字,设定各口方式并启动定时器*/ while(1) Collect_Data=PA8155;

9、/*读PA口数据*/ PB8155=Collect_Data; /*采集的数据按位取反从PB口输出*/ ,72 实时时钟芯片DS1302,实时时钟芯片为DS1302是Dallas公司的一种具有涓细电流充电能力的实时时钟芯片,采用普通32.768kHz晶振。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。 DS1302是一种高性能、低功耗、带RAM 的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.55.5V。,7.2.1 DSl302的结构及工作原理,7.2.1 .1 引脚功能及结构图 DS1302的引脚如

10、图7-2-1所示。VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC1 +0.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1、X2为振荡源,外接32.768Hz晶振。,图7-2-1 DS1302引脚图,DS1302引脚说明,提供了终止单字节或多字节数据的传送手段。当 为高电平时,允许对DS1302进行操作。如在传送过程中置 为低电平,则会终止此次数据传送。上电运行时,在VCC2.5V之前,必须保持低电平。只有在SCLK为低电平时,才能将 置为

11、高电平。I/O为串行数据输入输出端(双向)。,7.2.1.2 DSl302的控制命令字与寄存器,控制命令字 控制字的最高有效位(D7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。 D6如果为0,则表示存取日历时钟数据,为1表示存取RAM 数据; 位5至位1指示操作单元的地址;最低有效位(D0)如为0,表示要进行写操作,为1表示进行读操作。 控制字总是从最低位开始输出。,日历、时钟寄存器,DS1302共有12个寄存器,寄存器的选择根据命令字而定.其中日历、时钟寄存器与控制字对照表如表7-2-2所示,日历、时钟寄存器的数据格式,几个关键位的解释,CH:时钟暂停位,当此位设置为1时,

12、振荡器停止,DS1302处于低功率的备份方式;当此位变为0,时钟开始启动。 12/24:12小时或24小时方式选择位。当12/24位1,工作于12小时方式,位5是AM/PM选择位,当此位为1时表示PM;当12/24位0时,工作于24小时方式,此方式下,位5是第2个小时位(2023时)。 WP:写保护位,写保护寄存器的开始7位(06)置为0,在读操作时总是读出0。在对时钟或RAM进行写操作之前,位7(WP)必须为0,当它为高电平时,写保护位防止对任何其他寄存器进行写操作。 其它的位如TCS、DS、RS与充电功能相关,具体请参阅教材。,RAM寄存器,DS1302与RAM相关的寄存器分为两类。一类是

13、单个RAM单元,共31个,每个单元组态为一个8位字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次读写所有的RAM的31个字节,命令控制字为FEH(写入)、FFH(读出)。,复位和时钟控制,数据输入输出I/O,数据输入是在控制字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。数据输出是在8位控制指令字后的下一个SCLK脉冲的下降沿输出数据,输出数据时从低位0位至高位7依次输出。需要注意的是,第一个数据位是在控制字的最后一位之后的第一个下降沿被输出。此时只要保持 高电平,如果有额外的SCLK周期

14、,将重新发送数据字节,即多字节传送模式。,DS1302数据输入输出时序图,7.2.2 DS1302与MCS-51单片机应用实例,7.2.2.1 DS1302与MCS-51单片机的连接,DS1302的软件设计,DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入), D0=1,指定读操作(输出)。 在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。,DS1302操作流程图,源代见程序。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号