欢迎来到天天文库
浏览记录
ID:49311096
大小:436.00 KB
页数:30页
时间:2020-02-03
《单片机接口技术 第七章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、单片机接口技术(C51版)第七章8051常用扩展资源编程内容概述本章主要介绍8051单片机系统常用的扩展芯片8155与DS1302。8155是综合扩展芯片,该芯片内部有RAM、I/O及定时/计数器。DS1302是实时时钟芯片,本章主要介绍这两种芯片的工作原理、工作方式及控制方法,并给出相应的C51源程序。教学目标1.了解8155芯片的内部结构,理解8155芯片内部定时/计数器的工作原理工作方式,能通过8155的命令寄存器设置8155的I/O口及定时/计数器的工作方式,了解状态寄存器中各位的含义。能设
2、计8155与单片机的接口电路,掌握8155端口操作的C51程序设计方法。2.了解DS1302的内部结构,理解该芯片的工作原理,掌握DS1302控制字的使用方法,掌握12个寄存器中与时间、日历相关的7个寄存器,分别是时、分、秒、日、周、月、年寄存器。能设计DS1302与单片机的接口电路,理解教材中给出的对DS1302操作的C51源程序。7.1综合扩展芯片81558155片内包含有256个字节的RAM,三个可编程的并行I/O口,一个14位的计数器,是8051应用系统中常用的外围器件。7.1.18155结
3、构及工作原理7.1.1.18155的结构和技术性能在8155内部具有:256字节的静态RAM,存取时间为400ns;有三个通用的输入/输出口。其中A口和B口是8位口,C口是6位口。C口可做状态口,这时,A口和B口能在应答式的输入/输出方式下工作;有一个14位的可编程定时/计数器;内部有地址锁存器及多路转换的地址和数据总线;单一+5V电源,40脚双列直插式封装。8155的逻辑结构及引脚18155的RAM和I/O地址编码当8155作为单片机的扩展芯片时,是按外部数据存储器统一编址的,为16位地址数据,其
4、高8位由片选线提供,而低8位地址为片内地址。当IO/=0时,单片机对8155片内RAM读/写,RAM低8位编址为00H~0FFH;当IO/=1时,单片机对8155的I/O口进行读写。8155共有6个I/O口寄存器,它们各自占有的地址如表7-1-1所示。8155的工作方式与基本操作1)作片外256字节RAM使用。此时8155的IO/脚应置为低电平,其RAM地址的高8位由片选线决定,低8位为00H~0FFH。与应用系统中其它数据存储器统一编址。使用的读/写操作指令为MOVX。2)作扩展I/O口使用。此时
5、8155的IO/脚必须置为高电平,PA、PB、PC口的口地址的低8位分别为01H、02H、03H(设地址无关位为0)。I/O口的工作方式的选择完全依靠对8155命令寄存器设定的命令控制字来实现。而I/O口状态的查询可通过对8155状态寄存器的操作来完成。命令/状态寄存器共用一个口地址,写入为命令,读出为状态。命令控制字C口工作方式8155状态字控制字的应用用好8155I/O口的关键在于正确理解各个I/O口每一位的功能含义,据此编写准确的控制字,并写入命令寄存器。例如,假定要求选择8155的PA口为基
6、本输入口,PB口为基本输出口,PC口为输出口,并立即启动计数器工作,则向命令寄存器写的控制字应为0CEH,即:定时器的使用8155的定时器由两个8位寄存器组成,是一个14位的减法计数器。其低位字节的I/O地址为×××××100B,高位字节的I/O地址为×××××101B。在TIMERIN端输入计数脉冲,当计数满时由TIMEROUT端输出脉冲或方波。当TIMERIN接外脉冲时为计数方式;接系统时钟时,可作为定时方式,但须注意芯片的最高计数频率(4MHz)。定时器的操作分两步:1)由写入命令寄存器的控制
7、字确定定时器的启动、停止或装入常数(见命令控制字)。2)由写入到定时器的两个寄存器的内容确定计数长度和输出方式。8155定时器格式及输出方式7.1.28155应用实例8155和8031的连接方法P0口直接与8155的AD0~AD7相连,既作低8位地址线又作数据总线,地址锁存信号使用单片机的ALE,高8位地址由及IO/控制线决定。8155片内资源的地址计算方法8155的地址编码为:RAM地址:7E00H~7EFFHI/O口地址:命令/状态口7F00HPA口7F01HPB口7F02HPC口7F03H定时
8、器低8位7F04H定时器高8位7F05H计算以上地址时,未用的地址线可以在相应的地址位中填入1或0。此处重点讲解地址计算过程。例7-1-18155应用实例设8155PA口为基本输入口,PB口为基本输出口,PC口为输出口,定时器作方波发生器,对输入脉冲进行24分频。要求从PA口读入的数据取反后从PB口输出。源程序如下:/*此程序演示8155的初始化以及简单的输入输出操作。*/#include#include#defineucharu
此文档下载收益归作者所有