89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
中文名89C51数据保留时间10年中断源5个全静态工作0Hz-24MHz

主要特性

·与MCS-51 兼容
·4K字节可编程闪烁存储器寿命:1000写/擦循环
·
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线·两个16位定时器/计数器
·
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路

标题管脚说明

VCC:供电电压。
GND:接地。
89C51引脚图
89C51引脚图
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),不管是否有内部程序存储器读取外部ROM数据。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,单片机读取内部程序存储器。(扩展有外部ROM时读取完内部ROM后自动读取外部ROM)。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。

振荡器

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

芯片擦除

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

结构特点

8位CPU;
片内振荡器和时钟电路;
32根I/O线;
外部存贮器寻址范围ROM、RAM64K;
2个16位的定时器/计数器;
5个中断源,两个中断优先级;
全双工串行口;
布尔处理器;

单片机

很多初学51单片机的网友会有这样的问题:AT89S51是什么?书上和网络程上可都是8051,89C51等!没听说过有89S51 ?
这里,初学者要澄清单片机实际使用方面的一个产品概念,MCS-51单片机是美国INTEL [1] 公司于1980年推出的产品,典型产品有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品, MCS-51内核系列兼容的单片机仍是应用的主流产品(比如流行的89S51、已经停产的89C51等),各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。
有些文献甚至也将8051泛指MCS-51系列单片机,8051是早期的最典型的代表作,由于MCS-51单片机影响极深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。
其他的公司的51单片机产品都是和MCS-51内核兼容的产品而以。同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51, PHILIPS(菲利浦),和WINBOND(华邦)等,我们常说的已经停产的89C51指的是ATMEL公司的 AT89C51单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取代了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。
不过在市场化方面,89C51受到了PIC单片机阵营的挑战,89C51最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP功能等新功能才能更好延续MCS-51的传奇。89S51就是在这样的背景下取代89C51的,89S51已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel公司已经停产AT89C51,将用AT89S51代替。89S51在工艺上进行了改进,89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX可以向下兼容89CXX等51系列芯片。同时,Atmel不再接受89CXX的定单,大家在市场上见到的89C51实际都是Atmel前期生产的巨量库存而以。如果市场需要,Atmel当然也可以再恢复生产AT89C51。

新功能

89S51相对于89C51增加的新功能包括
– 新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低!
– ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。
– 最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。
– 具有双工UART串行通道。
– 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。
– 双数据指示器。
– 电源关闭标识。
– 全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
– 兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。
比较结果:就如同INTEL的P3向P4升级一样,虽然都可以跑Windows98,不过速度是不同的。
从AT89C51升级到AT89S51,也是同理。和S51比起来,C51就要逊色一些,实际应用市场方面技术的进步是永远向前的。
上面这些就是AT89S51的由来

常见问题

51系列的选型的常见问题
请问现在学习51系列单片机应该选择AT89C51还是89S51?
答:89C51和89S51内核相同,89S51针对89C51的明显的几个升级如下;
1.程序存储器写入方式:二者的写入程序的方式不同,89C51只支持并行写入,同时需要VPP烧写高压。89S51则支持ISP在线可编程写入技术!串行写入、速度更快、稳定性更好,烧写电压也仅仅需要4~5V即可。
2.电源范围:89S5电源范围宽达4~5.5V,而89C5系列在低于4.8V和高于5.3V的时候则无法正常工作。
3.工作频率:89S1的性能远高于89C5,89S5系列支持最高高达33MHZ的工作频率,而89C51工作频率范围最高只支持到24M。
4.市场价格:由于89C51已经全面停产,所以在市场价格方面,库存的89C5
的批发价格要比89S5贵将近一倍!
5.兼容型:89S5
向下兼容89C5*,就是说用89S5可以替代89C5使用,同样的程序,运行结果相同。就是说89S5也同样兼容所有的教科书范例程序。
6.加密功能:89S5
系列全新的加密算法,这使得对于89S51的解密变为不大可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
7.抗干扰性:内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。
8.烧写寿命更长:89S5标称的1000次,实际最少是1000次~10000次,这样更有利初学者反复烧写,减低学习成本。综合上面的一些区别,个人认为89C51的停止使用只是时间问题而已,就象当年的8031。
2问:采用89C2051开发制造产品是不是要比用89S51更好?因为2051看起来体积比较小。
2答:这个问题并不能一概而论,主要的区别如下:
1.功能差别:因为2051不是标准的51内核,所以205
的程序不能直接移植到51上。由于205是精简型,所以P口变得很少(没有P3.7口),这样一来就只能用来做一些小的简单产品,可利用资源比较紧张。实际上,做产品的话用205是不一定合算的,除非是非常简单的产品。
2.市场价格:由于89C2051的产量不是非常大,所以市场价格方面89C2051的批发价格和89S51比较接近!相对性能价格比就比较低。
3.产品体积:除非对产品的体积有苛刻的要求,否则二者的PCB面积相差不多,因为40脚的51芯片也有PLCC44小体积封装。

参考资料

  1. 80C51基础知识简介

了解89C51单片机相关推荐

  1. 单片机控制秒表C语言程序,89C51单片机秒表的设计(全文完整版)

    <89C51单片机秒表的设计.doc>由会员分享,可免费在线阅读全文,更多与<89C51单片机秒表的设计>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...

  2. 【proteus仿真】89C51单片机实现十字路口的交通灯控制系统代码

    完成以下任务:运用89C51单片机十字路口的交通灯控制系统,四组灯(红黄绿)对应十字路口的四个方向,用两位的数码管显示剩余的时间. 仿真视频: https://www.bilibili.com/vid ...

  3. 89c51c语言程序,89C51单片机计算器C语言程序.doc

    89C51单片机计算器C语言程序 89C51单片机[计算器]C语言程序 89C51单片机[计算器]C语言程序2010-12-15 16:54/*89C51单片机[计算器]C语言程序*/ /*P2位选P ...

  4. 普中科技89c51单片机工程实训--音乐播放器

    对基于单片机的音乐播放器可应用于 mp3, MP4, 扩音器等很多 方面, 并可作为很多系统的辅助功能, 作为单片机的重要硬件资 源之一, 利用定时器可以产生各种固定频率的方波信号, 也可以 产生包括 ...

  5. 74hc595点亮点阵式led交通灯灯 c语言程序,89C51单片机C语言用四个74hc595控制四个LED实现交通灯...

    89C51单片机C语言用四个74hc595控制四个LED实现交通灯 (2009-05-16 18:52:38) 标签: 教育 #include #define uchar unsigned char ...

  6. 89C51单片机中的中断系统

    89C51单片机中的中断系统 对于在单片机中的学习,中断系统是一难点,如果中断系统没有理解透彻,51单片机的学习就算是失败的. 首先,举例说明下什么是中断. eg.当你在家正在吃着爆米花,看着电视,突 ...

  7. 微机基础与89C51单片机部分知识

    1,微机基础知识 微机: 具有完整运算及控制能力的计算机.包括微处理器,储存器,接口适配器,输入输出设备. 微处理器: 控制器:由程序计数器,指令寄存器,指令译码器,时序发生器,操作控制器等组成,是发 ...

  8. 基于89C51单片机的数码管显示拨码开关设计

    目    录 1 课程设计任务和要求 1.1 设计任务 1.2 设计要求 2 设计方案 2.1 工作原理 2.2 单片机系统方框图 3 电路设计和软件设计 3.1 电路设计 3.2 程序设计流程 3. ...

  9. 89C51单片机——按钮控制LED

    89C51单片机--按钮控制LED 1.实现流程图 2.proteus仿真图 3.keli代码 #include <reg51.h>sbit led1=P0^0; sbit key1=P0 ...

  10. 自学笔记:89c51单片机最小系统Protues篇

    什么是单片机最小系统? 单片机最小系统:单片机最小应用系统,使用最少的元件组成单片机能够工作的系统. 单片机最小系统三要素:电源模块,(晶振/时钟)振荡电路模块,复位电路模块 1,电源模块:供电.VC ...

最新文章

  1. python程序只能使用源代码进行运行吗-谈谈 Python 程序的运行原理
  2. openstack nova 源码分析3-nova目录下的service.py
  3. 杭电1232 畅通工程
  4. spring boot+shiro+vue前后端分离时,获取不到session
  5. IOS swift项目的单例模式.swift5以后的单例模式
  6. android log.d 格式化,android – 在我的代码中使用Log.d()或Log.e()
  7. mysql 部门表_MySQL高级
  8. mysql8安装目录linux7.5_Linux系统下 MySQL 5.7和8.0 版本安装指南
  9. notepad++ 查找引用(Find Reference)(适用于c c++及各类脚本比如lua、python等)
  10. 【STM32】【STM32CubeMX】STM32CubeMX的使用之二:外部中断
  11. MySQL之创建表以及数据库增删改操作
  12. 离破产仅一步之遥的A站,还能挺过去吗?
  13. C++ STL 迭代器在string类中的使用方法
  14. 推理游戏---个人解答
  15. office如何去除多页签
  16. 190527每日一句,励志| 为了成功,约束自己;有时候“再等等”,就再也等不到了
  17. python中计算带分数_[NVDA addon] Access8Math 2.3 數學輔助程式 - 更新相容於 python3
  18. 百度Echarts 全国省市地图 动态数据图形报表
  19. 制作favicon图标
  20. 最热门的旅游目的地:1971年至2011年

热门文章

  1. PFC离散元仿真核心技术与应用
  2. linux for java programer
  3. c语言与或非异或符号怎么打,逻辑运算符的符号
  4. 计算机视觉相关公开数据集(免费下载)
  5. 善用PPT背景填充,让模板变得耳目一新
  6. CSDN程序员个税服务平台“灵活家”连获8项计算机软件著作权!
  7. python网址解码_python用于url解码和中文解析的小脚本(python url decoder)
  8. java编码解码工具类
  9. Python自学教程第2期-求100以内奇数和
  10. hash表 C++的使用以及理解