ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:62KB ,
资源ID:8777325      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8777325.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机AT89C51.doc)为本站会员(j35w19)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

单片机AT89C51.doc

1、AT89C51是一种带 4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8位微处理器,俗称单片机。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8位 CPU和闪烁存储器组合在单个芯片中,ATMEL的 AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1主要特性: 8031 CPU与 MCS-51 兼容 全静态工作:0Hz-24KHz 4K字节可编程 FLASH存储器

2、(寿命:1000 写/擦循环) 三级程序存储器保密锁定 128*8 位内部 RAM 32条可编程 I/O线 两个 16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路2管脚说明:VCC:供电电压。 GND:接地。P0口:P0 口为一个 8位漏级开路双向 I/O口,每脚可吸收 8TTL门电流。当 P1口的管脚第一次写 1时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH编程时,P0 口作为原码输入口,当 FIASH进行校验时,P0 输出原码,此时 P0外部必须被拉高。P1口:P1 口是一个内部提供上拉

3、电阻的 8位双向 I/O口,P1 口缓冲器能接收输出 4TTL门电流。P1 口管脚写入 1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,P1 口作为第八位地址接收。P2口:P2 口为一个内部上拉电阻的 8位双向 I/O口,P2 口缓冲器可接收,输出 4个 TTL门电流,当 P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1

4、”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3 口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL门电流。当 P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为 AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断 0)P3.3 /INT1(外部中断 1

5、)P3.4 T0(记时器 0外部输入)P3.5 T1(记时器 1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口的内部结构: I/O 口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器 CPU 将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心读引脚时也就是把端口作为

6、外部输入线时首先要通过外部指令把端口锁存器置 1 然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置 1 端口锁存器原来的状态有可能为 0Q 端为 0Q为 1 加到场效应管栅极的信号为 1 该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为 1 也会因端口的低阻抗而使信号变低使得外加的 1 信号读入后不一定是 1 若先执行置1 操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类 I/O 口被称为准双向口89C51 的 P0/P1/P2/P3 口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这

7、四个端口还有一个差别除了 P1 口外 P0P2P3 口都还有其他的功能RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止ALE的输出可在 SFR8EH地址上置 0。此时, ALE只有在执行MOVX,MOVC 指令是 ALE才起作用。另外,该

8、引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1时,/EA将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的

9、输出。以上所讲的是 8951的引脚功能,下面结合程序讲一下如何使用,方便初学的朋友理解:一单片机 I/O 口的输出实验1 实验程序程序如下ORG 0000HAJMP LOOPLOOP:MOV SP,#65H;/保护堆栈,养成习惯MOV P1,#0FFH ;LCALL DELAY ;MOV P1,#00H ;LCALL DELAY ;LJMP LOOP ;DELAY:MOV R7,#250 ;D1:MOV R6,#250 ;D2:DJNZ R6,D2 ;DJNZ R7,D1 ;RET ;END将以上写入 MEDWIN 编译软件,源代码编译生成 HEX 文件,烧写到实验板看到了什么 8 只 LED

10、 灯都在闪烁2 程序分析这段程序和教程里的程序比较有两处不同第 1 条原来是 SETB P1.0 现在改为MOV P1#0FFH 第 3 条原来是 CLR P1 现在改为 MOV P1#00H 为什么这样改了之后就变成了 8 只 LED 灯同时闪烁了原来 P1 代表了 P1.7-P1.0 的全部我们把它当作一个存储器单元即一个字节不过对一个存储器单元送数就应该用 MOV 指令了在这里 P1P1.7-P1.0 接的是 LED 灯也就是负载它起到了一个输出端的作用那如果把 P1 改为 P0 或 P2 或 P3 行不行呢答案是肯定的为什么我们稍后再谈接着看第2 个实验二单片机 I/O 口的输入实验1

11、 实验程序 程序如下MAIN:MOV P3,#0FFH ;LOOP:MOV A,P3 ;MOV P1,A ;LJMP LOOP ;END同样的方法把程序搞到单片机实验板上按下第 1 个按钮有一个 LED 灯亮了按下第 2 个按钮另一个 LED 灯亮了松开按钮相应的灯就灭了是不是有点象工业控制中的点动控制原理分析一下这个程序3振荡器特性:XTAL1 和 XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的

12、高低电平要求的宽度。4芯片擦除:整个 PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。AT89C2051是一带有 2KB FLASH可编程、可擦除只读存储器(EEPROM)的低

13、电压、高性能 8位 CMOS微型计算机,引脚如上图。.主要性能:. 和 MCS-51产品兼容; 2KB 可重编程 FLASH存储器(1000 次);. 2.7-6V电压范围; 全静态工作:0Hz-24KHz 2级程序存储器保密锁定 128*8 位内部 RAM 15条可编程 I/O线 两个 16位定时器/计数器 6个中断源 可编程串行通道 直接 LED驱动输出 片内振荡器和时钟电路. 片内模拟比较器很多初学 51单片机的网友会有这样的问题:AT89S51 是什么?89S51、89S52是 ATMEL公司的升级产品完全兼容 89C51/52产品,为适用市场竞争新增一些功能,89C51/52 已经停

14、产为方便网友学习本网站继续提供 89C系列产品。不过在市场化方面,89C51 受到了 PIC单片机阵营的挑战,89C51 最致命的缺陷在于不支持 ISP(在线更新程序)功能,必须加上 ISP功能等新功能才能更好延续 MCS-51的传奇。89S51 就是在这样的背景下取代 89C51的,现在,89S51目前已经成为了实际应用市场上新的宠儿,89S51 在工艺上进行了改进,89S51采用 0.35新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX 可以像下兼容 89CXX等 51系列芯片。同时,Atmel 不再接受 89CXX的定单,大家在市场上见到的 89C51实际都是 Atmel前期生

15、产的巨量库存而以。89S51相对于 89C51增加的新功能包括:- 新增加很多功能,性能有了较大提升;- ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。- 工作频率为 33MHz,大家都知道 89C51的极限工作频率只有 24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。- 具有双工 UART串行通道。- 内部集成看门狗计时器,不再需要像 89C51那样外接看门狗计时器单元电路。- 双数据指示器。- 电源关闭标识。- 全新的加密算法,这使得对于 89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保

16、护知识产权不被侵犯。- 兼容性方面:向下完全兼容 51全部字系列产品。比如 8051、89C51 等等早期 MCS-51兼容产品。在 89c51上一样可以照常运行,这就是所谓的向下兼容。AT89S51看门狗程序例子如下:要激活 AT89S51,89S52 的看门狗功能,只需依次向#0A6H 单元送入#01EH和#0E1H 即可使看门狗定时计数器工作。AJMP MAINMAIN:;启动看门狗Mov 0A6H,#01EH ;先送 1EMov 0A6H,#0E1H ;后送 E1;主程序START:.ACALL WDT ;调用复位看门狗子程序.AJMP START;主程序*;复位看门狗子程序WDT:Mov 0A6H,#01EH ;先送 1EMov 0A6H,#0E1H ;后送 E1RETEND注意事项:1 89S51 的看门狗必须由程序激活后才开始工作。所以必须保证 CPU 有可靠的上电复位。否则看门狗也无法工作。2 看门狗使用的是 CPU 的晶振。在晶振停振的时候看门狗也无效。3 89S51 只有 14 位计数器。在 16383 个机器周期内必须至少喂狗一次。而且这个时间是固定的,无法更改。当晶振为 12M 时每 16 个毫秒需喂狗一次

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报