单片机原理与接口技术教学课件作者于斌单片机原理与接口技术(第4章节)_第1页
单片机原理与接口技术教学课件作者于斌单片机原理与接口技术(第4章节)_第2页
单片机原理与接口技术教学课件作者于斌单片机原理与接口技术(第4章节)_第3页
单片机原理与接口技术教学课件作者于斌单片机原理与接口技术(第4章节)_第4页
单片机原理与接口技术教学课件作者于斌单片机原理与接口技术(第4章节)_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

口技术第4章/第4章单片机的最小系

开统发设及计M系CS-5统1应用扩系统展,通常是由一个简单的系统开始的,通过这个过程,可以逐步地掌握MCS-51系列单片机的性能和开发技巧。4.1

AT89C51单片机性•能A介T89C绍51是一种带4KB可编程/可擦除只读存储器的低电压,高性能CMOS的8位微处理器。该器件采用

ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51的指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,因而

ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的ht方p://案shang。f4.1.1.主要特性●与MCS-51兼容●4KB可编程闪烁存储器;●寿命为1000次写/擦循环:●数据保留时间为10年;●全静态工作0~24Hz;●三级程序存储器锁定;●128×8位内部RAM;●32位可编程I/O线;●两个16位定时器/计数器:●5个中断源:●可编程串行通道;●低功耗的闲置和掉电模式;●片内振荡器和时钟电路。主要特性2管脚说明•P0口:•P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:•P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被

内部上拉为高,可用做输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,

P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口•P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部8位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在

FLASH编程和校验时接收高8位地址信

号和控制信号。•P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,由于内部有拉电

阻而变为高电平,并作为输入信号。P3口也可作为AT89C51的一些特殊功能口。•P3口:P3口具有特殊功能如下:P30(RDX)串行口输入端P31(TDX)串行口输出端P32(INT0)外部中断0输入端P33(INT1)外部中断1输入端P3口具有特殊功能如下:P34(T0)定时器0外部输入端P35(T1)定时器1外部输入端P36(WR)单片机的写入信号P37(RD)单片机的读取信号RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时

间。•ALE/PROG:•当访问外部存储器时,地址锁存允许的输出电平用于锁存地址。在FLASH编程期间,此管脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用做对外部输出的脉冲或用于定时目的。ALE/PROG•要注意的是:每当用做外部数据存储器时,将跳过一个ALE脉冲。外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。••当EA保持低电平时,则在此期间访问外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当

EA端保持高电平时,此间访问内部程序存储器。在FLASH编程期间,此管脚也用于施加12V编程电源(Vpp)。EA/Vpp:XTALl和XTAL2XTALl:

反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。

XTALl和XTAL2分别为反向放大

器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,

XTAL2应不接。输入至内部时钟信号要

通过一个二分频触发器,因此对外部时

钟信号的脉宽无任何要求,但必须保证

脉冲的高低电平要求的宽度。4.1.3.振荡器特性•XTALl和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。振荡器特性振荡器特性如采用外部时钟源驱动器件,

XTAL2应不接。输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。••整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在

芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。4.1.4.芯片擦除AT89C51设有稳态

此外,A逻T89C辑51设有稳态逻辑。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止使用其他芯片功能,直到下一个硬件复位为止。4.2

MCS-51单片机最小应用系统•由于AT98C51(或8751)内部具有RAM和EEPROM,所以在芯片的外部接

上时钟电路和上电复位电路就可以构成一个基本的应用系统了,如图4-2所示•AT89C51单片机构成的最小系统AT89C51单片机构成的最小系统

由于内部的程序空间有限,不适合编写较大、较复杂的程序,所以,这个系统适合于简单的控制系统的应用。

在8051单片机中,P1口是双向的

I/0口,可以置位,所以可以用来做控制使用。•P1口是双向的I/0口•例4-1:由图4-3可知,P1口连接8个发光二极管,然后通过一个电阻接5V电源,当P1口是低电平时,发光二极管亮,

当P1口是高电平时,发光二极管灭。1.延时程序

首先,要编写一个延时程序,运行这个延时程序,可以产生一段时间的延时,这样,程序中需要设定时间的时候直接调用就可以了。•延时程序•注意到每执行一次while(--t);对于时钟为8MHz的8751(8051),需要2µs的时间,以编写的延时程序如下:图4-3单片机P1口用于输出口•应用程序•••••void

delay(unsigned

char

t){t=0;While

(i<50000)t++;}2.P1口的声明•

操作P1口时,首先要对P1口的寄存器声明。在KeilC51编译器中,声明包含在头文件reg51.h中,所以在编写程序时,要把这个头文件包含进去,声明的语句为#include

<reg51.h>sfr

P1=0x90;••

对控制P1特殊寄存器的声明可以用这样的语句:sfr

P1=0x90;由于P1口可以位操作,所以我们声明一个位变量P1.1,这样对P1.1的控制只要直接对位变量赋值就可以了。Sbit

p1.1=p1^1

用语句Sbit

p1.1=p1^1;,将P1口定义为位操作方式。

如果需要P1.1是高电平,可用语句“P1.1=1;”。

如果需要P1.1是低电平,则用语句"P1.1=0”非常方便。3.控制LED指示灯的源程序#include<reg51.h>Sbit

p1.1=p1^1;void

delay(unsigned

char

t);void

main(

){unsigned

char

k;while(1);//循环//循环1000次,延时1s{delay(500);

//调用延时函数}}{K=1000While(--k);•••P1.1=0}}//Pl.1低电平

void

delay

(

unsigned

chart

)lms//延时{

while

(--

t

)

;}4.3单片机的系统扩展•

在许多情况下,单片机本身的存储器容量太小,不能满足用户的要求,这时就需要系统的扩展。目前,存储器已经使用了各种规格的集成电路工艺,制作成常用字的芯片,所谓的系统扩展就是设计单片机与这些芯片的接口电路和和编写相应的应用程序。4、3、1程序存储器的扩展性能

1、数据存储器与程序存储器的片外

64KB扩展地址空间(0000H~FFFFH)

完全重叠。它们并联挂接在外部系统总线上。至于哪类存储器选通操作,由控制信号和片选信号来确定。外部程序存储器的读信号是PSEN,低电平有效。程序存储器的扩展性能

2、扩展的外部程序存储器的地址指针为程序计数器PC和数据指针DPTR。

3、扩展的外部程序存储器可以使用

EPROM存储器,这是一种用紫外线擦除的程序存储器。4、3、2外部程序存储器的操作时序图4-4是外部程序存储器读指令的时序图。图中反映了地址、指令或数据、控制信号和ALE等相关信息在一个机器

周期中的时间配合关系。图4-4外部程序存储器读指令时序图外部程序存储器的操

P2口作和P0时口共序同构成了地址总线,取指令时,读外部程序存储器。P0口在

前半个周期内,输出地址信号,后半个

周期输入指令码。说明•由图可知,取指令一开始,S2、P1之后P2口输出地址总线的高8位(PCH),S3、P1时,读信号PSEN变为有效状态,此时PSEN为低电平,存储器输出允许。S4、P1时,按PC值读出的指令出现在数据总线P0口上,CPU在PSEN的上升沿前将指令读入,并寄存到指令寄存器IR中。说明•从图中可以看到,在访问外部程序存储器的一个周期时序中,ALE信号与

信号两次有效。这表示在一个机器周期中,允许单片机两次访问外部程序存储器,也就是取出两个指令字节。对于单字节指令,第二次读出的指令被放弃。4、3、3外部程序存储器的扩展方法1、单片机与外部程序存储器的连接

单片机与外部程序存储器的三总线连接如图4-5所示。图4-5外部程序存储器读指令时序图说明•图中P2口与EPROM的高8位地址线及片选信号连接,P0口经地址锁存器输出的地址线与EPROM的低8位地址线相连,同时P0口又与EPROM的数据线相连。单片机的ALE连接锁存器的锁存控制端。连接EPROM的输出允

许,由于使用的是外部程序存储器,所以接地。2、Flash存储器•Flash存储器又称为闪速存储器或快擦写存储器,它是在EPROM工艺的基础上增添了芯片整体电擦除和再编程功能,使其成为性价比高、可靠性高、擦写快、非易失的存储器。Flash存储器逐步取代了EPROM,新型的单片机

中的程序存储器都是采用Flash。项目开发者可以借助通用编程器将程序代码写入片内的Flash存储器。3、Flash存储器的编程方法

Flash存储器的芯片内有产品型号编码,也称为ID码,其擦除和编程都是通过对内部寄存器写命令字进行读取和识别的,以确定编码算法。不同的厂商命令字不同,内部命令寄存器的地址和存放ID码的地址也不同,用户可以从厂商的网址上找到。Flash存储器的编程•对于Flash存储器的编程,多数产品是按扇区进行的。要写入Flash首先要查找产品ID码的命令字,再指定的存储单元中读取ID码,再发编程命令字,置扇区地址,置扇区内字节地址,最后写入一个字节。用这种方法一个字节一个字节地写,直到一个扇区内所有字节全都写完。芯片的的擦除方法•

对芯片的的擦除方法是,对指令地址写入3个以上的命令字就可完成整片的擦除。如果硬件电路连接正确,就可以产生Flash擦除所需要的信号,就能完成擦除的操作。4、Flash存储器的扩Flash存储展器是EPROM的改进,单片机外部扩展Flash既可以作为程序,程序也可以作为数据存储器存放需周期性更改的数据,由于扇区写的特点,也可以使其中的一部分作为程序存储器,而另一部分作为数据存储器。下面以

AT29C256为例,介绍单片机扩展Flash的方法。AT29C256的引脚图图4-6是AT29C256的引脚图,

AT29C256是Atmel公司生产的CMOS型的Flash存储器,它的存储容量为

32K×8位。•AT29C256的引脚表4.1

AT29C256的引脚功能表AT29C256的性能指标如下:•电擦除可改写的数据或程序存储器,断电时数据可保持。读出时间为70ns,擦除时间为

10ms,写出时间为100ms/页,一页为64K

温馨提示

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

评论

0/150

提交评论