单片机控制原理七八章_第1页
单片机控制原理七八章_第2页
单片机控制原理七八章_第3页
单片机控制原理七八章_第4页
单片机控制原理七八章_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机控制原理第一章 单片机的基础知识第二章 MCS-51单片机结构及工作原理第三章 指令系统和汇编语言第四章 定时计数器第五章 串行通讯第六章 中断处理第七章 单片机的存储器扩展第八章 单片机IO扩展第七章 单片机的存储器扩展在本章中,主要讲以下几个部分:总线扩展程序存储器的扩展;数据存储器的扩展; 单片微机系统总线扩展的方法有并行扩展法和串行扩展法两种。 并行扩展法是指利用单片机本身具备的三组总线(AB、DB、CB)进行的系统扩展,并行扩展法应用较为广泛。 串行扩展法利用SPI三线总线和I2C双线总线进行系统扩展。甚至有的单片机应用系统可能同时采用并行扩展方法和串行扩展方法。5.2 系统总

2、线扩展一、总线扩展 图1为单片机扩展成三总线的结构图。扩展芯片与主机相连的方法同一般三总线结构的微处理机就完全一样了。图1 单片机扩展成三总线的结构图(P164)ROM 的扩展容量为:2KB结论:1) 一片2716的容量为2 KB;2) 若将悬空的A11A15看作“0”,则 2716 的地址范围为: 0000H07FFH;3) 若将悬空的A11A15看作“1” ,则 2716(B)的地址范围为: F800HFFFFH;= 0 为片外ROM= 1 如果PC0FFFH(4KB)时,则CPU访问片内ROM ,否则自动转向外部ROM。扩展一片EPROM其结构如图2所示,做一下说明:(1) 数据线:P0

3、口,实现D0D7 8位数据传送。D0D7A0A7【例5.1】 给8051单片机的外围扩展一片16K8位片外程序存储器,画出与单片机相连的地址线、数据线和控制线,并注明信号名称。解:如图5.6所示,选择一片27C128的EPROM作为扩展存储器即可达到16K8位的要求。在电路中接低电平,表示当前单片机访问的是片外程序存储器。27C128是16KB容量的EPROM,即214个存储单元,占用14根地址线A0A13;硬件电路采用了典型常见的74LS373作为地址锁存器。由于系统中只扩展了一片程序存储器,所以27C128的片选端始终接地,一直有效。图5.6 EPROM的扩展电路图 对于上述要求,也可采用

4、两片8K8位的EPROM进行扩展。两片EPROM的地址线、数据线和上述连接方法一致,区别在于EPROM的选通信号(低有效)需要调整,即可利用单片机的高位空余地址线和程序存储选择信号线来共同控制和区分EPROM1、EPROM2。ABABDBDB1. 线选法扩展RAM注:M8282为8位寄存器缓存器2. 译码法扩展RAM译码法:采用译码电路来选择所需要的芯片。常用的译码器有3-8译码器74LS138和2-4译码器74LS139,它们的引脚和功能如下:图5 3-8译码器引脚及真值表图5 用与非门组成的3线-8线译码器74LS138例:下面以2-4译码器为例,完成EPROM、RAM的扩展:EPROM

5、EPROM RAM RAM P2.7 P2.6P2.5P2.4P2. 3 P2.0P0.7 P0.027641#0000000000000000001111111111112#00100000000000000111111111111162641#0000000000000000001111111111112#010000000000000010111111111111RAM扩展电路P2.7 P2.6P2.5P2.4P2. 3 P2.0P0.7 P0.062641#0110000000000000111111111111112#1010000000000001011111111111113 #

6、110000000000000110111111111111本章重点: 掌握三总线(AB、DB、CB)扩展法 ,实现ROM和RAM扩展;掌握ROM扩展,特别时“27”系列芯片的扩展容量、地址范围及控制信号的接线;掌握RAM扩展,特别时“6”开头系列芯片的扩展容量、地址范围及控制信号的接线。第八章 单片机I/O的扩展 8255可编程并行输入/输出接口芯片是Intel公司 MCS-80/85微处理器扩展系统所用的标准外围接口电路。它采用的NMOS工艺制造。一、 可编程的并行I/O接口8255 (P116)8255A8255A 引脚说明:具有40个引脚,DIP 封装(双列直插是封装) 单一 +5V电

7、源,全部输入输出均与TTL电平兼容。有A、B、C三个端口,24条I/O线。 三个输入输出端口(端口A、端口B、端口C)。每个端口都可通过编程设定为输入端口或输出端口; 8. 1 8255A的内部结构及功能(P116)1. 主要引脚D0D7:数据线,双向,连CPU数据总线;RESET:复位输入,接系统总线的RESET; :片选控制输入,接译码器; :读命令输入,接CPU的RD或IOR; :写命令输入,接CPU的WR或IOW;A0,A1:片内端口地址输入,可选4个片内端口。接地址线AB的任2位。8255图8.1 8255A 内部结构框图与引脚排列I/O控制信号数据信号工作方式8255A内部结构框图

8、如图8. 1所示,它由以下四部分组成:(1)三个并行输入/输出端口(端口A、端口B、端口C) 8255A有A、B、C三个并行输入/输出端口(简称为A口、B口、C口),其功能全部由程序设定,但每个端口都有自己的功能特点。 A口:独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。 B口:独立的8位I/O口,仅对输出数据的锁存功能 。 C口:独立的8位I/O口; C口即可作为 8位I/O端口使用, 也可以看作是两个独立的4位I/O口。仅对输出数据进行锁存。表8.1 8255A 端口功能(P117) A口、B口通常作为独立的I/O端口使用, 但当A口、B口作为应答式的I/O口使用时,C口分别用

9、来为A口、B口提供应答控制线。此时C口分为A组C口(或称上C口)、B组C口(或称下C口),规定分别用来作为A口和B口的应答控制线使用。 各端口的功能如表8.1所示。A1A0(2)读/写控制逻辑读/写控制逻辑的功能用于管理数据、控制字或状态字的传送。它接收来自CPU的地址信息及一些控制信号,然后向A组、B组控制电路发送命令,控制端口数据的传送方向。其控制信号有:片选,输入信号,低电平有效。当 ,允许 8255A与 CPU 交换信息。信号通常由端口地址线(16位地址号取自A15A2,8位地址号取自A7A2)译码产生。读信号,低电平有效。当=0时,允许CPU从8255A端口中读取数据或外设状态信息。

10、写信号,低电平有效。当=0时,允许CPU将数据、控制字写入到8255A中。RESET复位信号,高电平有效。它清除8255A所有控制寄存器内容,并将各端口都置成输入方式。这样做的目的是防止损坏连接在端口线上的电路。因为如果端口被初始化为输出状态,则端口有可能向设备的输入端发送数据,造成冲突,从而损坏设备或端口。A1、A08255A片内端口寻址地址线。它们与、 及信号相配合用作选择端口及内部控制寄存器的地址信息,并控制信息传送的方向。 CPU A0地址线一般为低电平,保证端口都是偶地址,数据在D0D7总线上传输。 8255A 端口、控制寄存器的寻址及控制的操作功能如表8.2所示。A1 A0操 作0

11、010010A口、B口、C口数据总线(读操作)0010100数据总线A口、B口、C口(写操作)11100数据总线控制寄存器(写操作)表8.2 8255A端口选择及操作功能表(P118)转至应用3A组和B组控制电路作用:接收来自CPU的读/写控制部分的信号和CPU送入的控制字,然后分别决定各端口的功能。 A组控制电路控制端口A和C的高4位(PC7PC4); B组控制电路控制端口B和C的低4位(PC3PC0)。 根据控制字对端口C的某位实现“置0”或“置1”的操作。4数据总线缓冲器作用:与系统的数据总线直接相连,作为一个双向三态的8位缓冲器,实现在CPU和8255A间传送信息。28255A的控制字

12、8255A有两个控制字,一个是工作方式控制字,另一个是对端口C的置位/复位控制字。1) 工作方式控制字端口A: 可工作在方式0、1、2三种方式; 端口B: 可工作在方式 0和1两种; 端口C: 只能工作在方式0。8255A工作方式控制字的格式如图8.14所示。28255A的控制字8255A有两个控制字,一个是工作方式控制字,另一个是对端口C的置位/复位控制字。1) 工作方式控制字端口A: 可工作在方式0、1、2三种方式; 端口B: 可工作在方式 0和1两种; 端口C: 只能工作在方式0。8255A工作方式控制字的格式如图8.14所示。图8.14 8255A工作方式控制字的格式(P121)D7:

13、 用于区分8255A的两种控制字。 当D7=1时,为工作方式控制字; 当D7=0时,为对端口C的置位/复位控制字。 只要CPU对8255A送入方式控制字,就可以决定A口、B口、C口的工作方式及相应的操作功能。这种对可编程序接口电路送入控制字,从而设定接口功能的程序,称为“接口(功能)初始化程序”。3. 以8255为例实现I/O口的扩展 实现: PA口作为控制输出口、方式0输出; PB口作为开关状态输入口、方式0输入 。图8-2 8051与8255间的连接开关输入控制输出02根00分析: PA口作为控制输出口、方式0输出; PB口作为开关状态输入口、方式0输入输出:00100结论: 控制字为82

14、H.8255三个通道的端口和片内的控制寄存器的地址为:典型的数据采集与处理 ADC 0809八位逐次逼近式A/D转换器是一种单片CMOS器件, 有8个模拟输入通道IN0IN7.1. ADC0809 介绍及应用(p174)OE:读允许信号,高电平有效, OE=1时转换结果到数据线上;CLK:时钟输入端,由外部提供,其时钟频率决定转换时间的长短,时钟频率的范围为10-1.2MHZ;当时钟频率为1.28MHZ时,转换时间为50S;当时钟频率为640KHZ时,转换时间为100SVREF(+)、VREF(-):参考电压输入端,要求为高精度的电源;VCC:+5V电源输入;GND:地。START:启动信号输

15、入端,上升沿清零,下降沿有效;ALE:地址锁存信号,用来锁存ADDAADDC的地址输入,上升沿有效;EOC:转换结束信号,高电平表示一次变换已结束;该信号可以作为转换完成后的中断信号线,给8259的IRN。说明: 1)每个通道选择线ADDA, ADDB, ADDC来决定。 2) IN0IN7的8个通道的地址分别为7FF8H7FFFH. 3) 下降沿使START及ALE信号变高电平有效来锁存地址信号。 4) 上升沿,START由高变低来启动A/D转换。ADC0809 应用ADC08098051IN0IN774LS373解: (1)分辨率:输入给DAC的单位数字量变化引起的模拟量的输出变化。 只有

16、当P2.7=0且 = 0,则START有效,即启动数据转换。片选信号只有当为 =0 且 P2.7=0 才有效。即P2.7 为低电平n :转换器二进制位数(2)P2.7P2.6P2.0P0.7P0.3P0.2P0.00X(悬空)111 1111X(悬空)1111 1000111 所以: IN0IN7 8通道的地址信号分别为: 7FF8H7FFFH (3)若 0809每转换一次需要用100 ,要求将8个模拟量顺序进行A/D转换,转换的结果依次放入首地址为50H的片内RAM中。(P174)ADC0809_SUB: MOV R1 , #50H MOV DPTR , #7FF8H MOV R7 , #08HLOOP1: MOVX DPTR, A MOV R0, #25 $: DJNZ R0, $ MOVX A, DPTR MOV R1 , A INC DPTR INC R1 DJNZ R7, LOOP1;写信号, 启动START转换;读信号,读信号加到 上转至本章重点只有当P2.7=0且 = 0,则START有效,即启动数据转换。片选信号只有当为 =0 且 P2.7=0 才有效。分析: 说明:P2.7和 -START转化启动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论