一文教你快速全面掌握AT89C51单片机(含实际开发案例)

控制/MCU

1799人已加入

描述

1.AT89C51简介

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示 。

2.AT89C51的主要特性

·与MCS-51 兼容
·4K字节可编程闪烁存储器
寿命:1000写/擦循环
数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路

3.AT89C51,AT89C52和AT89S51的三种单片机外形
AT89C51

4.AT89C51管脚说明 :    
   VCC:供电电压。
    GND:接地。
    P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
    P1口:P1口是一个内部提供上拉电阻的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”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,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)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。    RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。   /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
    /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
    XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
    XTAL2:来自反向振荡器的输出。

AT89C51内部功能图:

AT89C51


3.振荡器特性:     XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

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

89s51是89c51的升级版本,89SXX可以向下兼容89CXX等51系列芯片。其区别如下:
1、89S51在工艺上进行了改进,89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。
2、新增加很多功能,性能有了较大提升。
3、89s51有ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。速度更快、稳定性更好,烧写电压也仅仅需要4~5V即可。
4、最高工作频率为33MHz,89C51的极限工作频率是24M。
5、89s51具有双工UART串行通道。
6、89s51内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。
7、89s51带有双数据指示器。
8、89s51带有电源关闭标识。
9、89s51带有全新的加密算法,这使得对于89S51的破解变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
10、电源范围:89S5*电源范围宽达4~5.5V,而89C5*系列在低于4.8V和高于5.3V的时候则无法正常工作。
11、烧写寿命更长:89S5*标称的1000次,实际最少是1000次~10000次,这样更有利初学者反复烧写,减低学习成本。

AT89C51单片机最受欢迎的相关实际开发案例

1.基于AT89C51单片机的智能计步器设计

计步器由振荡电路、复位电路、显示电路以及按键电路几个部分组成,由电池进行供电。系统结构图如图1 所示。

AT89C51

图1 系统结构图
详情参阅:基于AT89C51单片机的智能计步器设计


2.用AT89C51单片机控制步进电机的汇编源程序

下面程序完成的主要功能:实现步进电机的正反转,加速、减速;显示电机转速(转速级别)和工作状态(正转、反转、不转)。

  源程序

  SPEED EQU 10H ;SPEED为转速等级标志,共7级,即1~7

  FX EQU 11H ;FX 为方向标志

  COUNT EQU 12H ;COUNT中断次数标志

  ORG 0000H

  AJMP MAIN

  ORG 0003H ;外部中断0入口地址,加速子程序

  AJMP UP

  ORG 0013H ;外部中断1入口地址,减速子程序

详情参阅:用AT89C51单片机控制步进电机的汇编源程序


3.at89c51电子时钟电路图和程序
 

at89c51电子时钟电路图:

1.功能:
1 开机时,显示12:00:00的时间开始计时;
2 P0.0/AD0控制“秒”的调整,每按一次加1秒;
3 P0.1/AD1控制“分”的调整,每按一次加1分;
4 P0.2/AD2控制“时”的调整,每按一次加1个小时;

AT89C51

源程序:

3. 系统板上硬件连线
(1)把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;
(2)把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;
(3)把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;
详情参阅:at89c51电子时钟电路图和程序

4.基于AT89C51的电动自行车快速充电器设计

  本文旨在研究开发一个根据电池饱和的程度智能改变充电模式,并可在较短时间(四小时)内将电池充好的电动自行车快速充电器(电池规格36V、12A)。
  二、脉冲快速充电法
  
  脉冲充电方式即脉冲电流间歇对电池充电,充电脉冲使蓄电池充满电量,而间歇期使蓄电池经化学反应产生的氧气和氢气有时间重新化合而被吸收掉,消除极化从而减轻了蓄电池的内压,使下一脉冲的恒流充电能够顺利地进行,使蓄电池可以吸收更多的电量。间歇脉冲使蓄电池有较充分的反应时间,减少了析气量,提高了蓄电池的充电电流接受率。
  
  三、系统组成
  
  充电器主电路采用半桥变换式高频开关稳压电源,而控制电路由单片机实现。电网交流电在通过EMI滤波器除去共模信号后,进行桥式整流,再通过两电容分压后与两开关管V1、V2相联接,将正弦交流电压变换成约高于充电电压的脉冲电压。在经过半桥滤波和LC滤波电路使电压达到一较稳定值。   控制电路由单片机AT89C51组成,电源由电网交流电经过变压器变压、全桥整流、稳压管稳压后提供。单片机通过检测温度传感器的电压信号,以软件的方式控制输出脉冲,从而控制开关管的通断。另外,通过检测充电电压和电流值,控制单片机输出脉冲宽度,以进入不同的充电阶段。
详情参阅:基于AT89C51的电动自行车快速充电器设计

5.基于AT89C51的智能稳压电源设计
本文介绍了一种基于AT89C51的智能稳压电源的设计方案,其核心技术是通过AT89C51控制数模转换来改变其后稳压模块的输出。该系统由整流滤波初步稳压电路部分、AT89C51控制部分、DAC和显示部分组成,该稳压电源能连续步进可调,并可实时显示,弥补了传统稳压电源的不足。

  本系统研究的直流稳压电源主要是符合智能化、数字化及模块化的特点:智能化指系统有可编程模块能对系统进行智能控制;数字化指系统输出电压通过7段数码管显示,并可通过按键对输出电压进行连续步进数字化调节;模块化指系统由各个相关模块组成,提高了系统的可靠性。

  AT89C51智能型稳压电源设计原理

  1、设计系统框图

AT89C51

  系统由各模块组成,其模块构成的系统框图如图1所示。

详情参考:基于AT89C51的智能稳压电源设计
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分