89S51单片机详细介绍急需89S51单片机介绍~请高手不吝赐教~
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 21:27:55
89S51单片机详细介绍急需89S51单片机介绍~请高手不吝赐教~
89S51单片机详细介绍
急需89S51单片机介绍~请高手不吝赐教~
89S51单片机详细介绍急需89S51单片机介绍~请高手不吝赐教~
89S51 单片机
MCS-51 单片机是美国INTE 公司于1980 年推出的产品,典型产品有 80 31(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51 的5 倍,实际使用方面已经被市场淘汰)和8751 等通用产品,一直到现在, MCS-5 1 内核系列兼容的单片机仍是应用
的主流产品(比如目前流行的89S51、已经停产的89C51 等),各高校及专业学校的培训教材仍与MCS-51 单片机作为代表进行理论基础学习.
有些文献甚至也将8051 泛指MCS-51 系列单片机,8051 是早期的最典型的代表作,由于MCS-51 单片机影响极深远,许多公司都推出了兼容系列单片机,就是说MCS-51 内核实际上已经成为一个8 位单片机的标准.
其他的公司的51 单片机产品都是和MCS-51 内核兼容的产品而以.同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL 的89C51(已经停产)、89S51, PHILIPS(菲利浦),和WINBOND(华邦)等,我们常说的已经停产的89C51 指的是ATMEL公司的 AT 89C51 单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由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 系列芯片.市场上见到的89C51 实际都是Atmel 前期生产的巨量库存而以.如果市场需要,Atmel当然也可以再恢复生产AT89C51.
AT89S51/LS51单片机是低功耗的、具有4KB在线课编程Flash存储器的单片机.它与通用80C51系列单片机的指令系统和引脚兼容.片内的Flash可允许在线重新编程,也可使用非易失性存储器编程.他将通用CPU和在线可编程Flash集成在一个芯片上,形成了功能强大、使用灵活和具有较高性能性价比的微控制器.
AT89S51/LS51具有如下特性:
--片内程序存储器含有4KB的Flash存储器,允许在线编程,檫写周期可达1000次;
--片内数据存储器内含128字节的RAM;
--I/O口具有32根可编程I/O线;
--具有两个16位I/O线;
--中断系统具有6个中断源、5个终端矢量、2个中断优先级的中断结构;
--串行口是一个全双工的串行通信口;
--具有两个数据指针DPTR0和DPTR1;
--低功耗节电模式有节电模式和掉电模式;
--包含3级程序锁定位;
--AT89S51的电源电压为4.0-5.5V,AT89LS51的电源电压为2.7-4.0V;
-振荡器频率0-33MHz(AT89S51),0-16MHz(AT89LS51);
--具有片内看门狗定时器;
--灵活的在线片内编程模式(字节和页编程模式);
--具有断电标志模式POF;
89S51 相对于89C51 增加的新功能包括:
-- 新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51 更低!
-- ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作
环境中剥离.是一个强大易用的功能.
-- 最高工作频率为33MHz,大家都知道89C51 的极限工作频率是24M,就是说S51 具有更
高工作频率,从而具有了更快的计算速度.
-- 具有双工UART 串行通道.
-- 内部集成看门狗计时器,不再需要像89C51 那样外接看门狗计时器单元电路.
-- 双数据指示器.
-- 电源关闭标识.
-- 全新的加密算法,这使得对于89S51 的解密变为不可能,程序的保密性大大加强,这样
就可以有效的保护知识产权不被侵犯.
-- 兼容性方面:向下完全兼容51 全部字系列产品.比如8051、89C51 等等早期MCS-51 兼
容产品.也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051 还
是89C51 还是MCS-51 等等),在89S51 上一样可以照常运行,这就是所谓的向下兼容.
引脚排列及功能
AT89S51/LS具有PDIP,TQFP和PLCC三种封装形式.PDIP封装的引脚排列如图所示.
引脚功能如下:
--P0口——8位、开漏极、双向I/O口.
P0口可作为通用I/O口,但必须外接上拉电阻;作为输出口,每个引脚课吸收8个TTL的灌电流.作为输入时,首先应将引脚置1.
P0口也可用作外部程序存储器和数据存储器是的低八位地址/数据总线的复用线.在该模式下,P0口含有内部上拉电阻.
在Flash编程时,Po口接受代码数据;在编程校验时,P0口输出代码字节数据(需要外接上拉电阻).
--P1口——8位、双向I/O口、内部含有行拉电阻.
P1可作为普通I/O口.输出缓冲器可驱动4个TTL负载;用作输入时,先交引脚置1,有片内上拉电阻将其抬到高电平.P1口的引脚可由外部负载拉倒低电平,通过上拉电阻提供拉电流.
在Flash并行
编程和校验时,P1口可输入低字节地址.
在串行编程和校验时,P1.0/MOSI,P1.6/OSI和P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚.
I/O具有内部拉电阻的8位双向I/O.
P2口用作输出口时,可驱动四个TTL负载;用作输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平.若负载为低电平,则通过内部上拉电阻向外输出电流.
CPU访问外部16位地址的存储器时,P2口提供高8位的地址.当CPU用8位地址寻址外部存储器时,P2口为P2特殊功能寄存器内容.
在FLASH并行编程和校检时,P2口可输入高字节地址和某些控制信号.
--P3口——局有内部上拉电阻8位双向口.
P3口左忽出口时,输出缓冲器可吸收4个TTL的灌电流;用作输入口时,手先将引脚置1,有内部上拉电阻抬为高电平.若外部负载是低电平,则通过内部上拉电阻向外输出电流.
在与FLASH并行编程和校检时,P3口可输入某些控制信号.
P3口除了通用I/O功能外,还有替代功能,如下表所示:
引脚
符号
说明
P3.0
RXD
串行口输入
P3.1
TXD
串行口输出
P3.2
INT0
外部中断0
P3.3
INT1
外部中断0
P3.4
T0
T0定时器的外部计数输入
P3.5
T1
T1定时器的外部计数输入
P3.6
WR
外部数据存储器的写选通
P3.7
RD
外部数据存储器的读选通
--ALE/PROG——地址锁存允许/编程脉冲信号端.
在CPU访问外部程序存储器或者外部数据存储器时,ALE提供一个地址锁存信号,将低8位地址锁存在骗外地址锁存中.
在与FLASH并行编程时,该引脚也是编程负脉冲的输入端.
在正常操作状态下,该引脚端口输出额定频率的脉冲,其频率为额定频率的1/6,可做外部定时或者其它引发信号.应注意,CPU每次访问外部数据存储器时,都要丢失一个ALE脉冲.
如果需要,则通过将SFR(8EH)的第0位置1,可禁止ALE操作,但在使用MOVC或者MOVX指令时候,ALE仍有效.也就是说,ALE的禁止位不影响对外部存储器的访问.
--PSEN——外部程序存储器读选通信号,低电平有效.
当AT89S51/LS51执行来自外部程序存储器指令代码时候,PSEN每个机器周期两次有效.在访问外部数据存储器时候,则无效
--EA/Vpp——外部程序存储器允许.
当EA接地时,CPU只执行外程序存储器的程序;当EA接Vcc时,CPU首先执行片内程序存储器中的程序(0000H ——0FFFH),然后自动转向执行片外程序存储器中的程序(1000H——FFFFH).
如果程序锁定位LB1别编程(P),那么EA值将在复位时有片内锁存.
在与FLASH并行编程时,该引脚可介入12V的编程电压Vpp.
--XTAL1和XTAL2——XTAL1是片内振荡器反相放大器和时钟发生器的输入端,XTAL2是片内振荡器反相放大器的输出端.
--RST——复位输入段,高电平有效.
在振荡器稳定有效运行状态下,RST端维持两个机器周期的高电平,便可复位器件,当看门狗定时器溢出输出端时,该引脚将输出长达98个震荡周期的高电平.
--Vcc—电源电压输入端.
--GND—电源地.
特殊功能存储器
AT89S51/LS51的特殊功能存储器
序号
地址
符号
复位值
说明
1
80H
P0
FFH
P0口锁存器
2
81H
SP
07H
堆栈指针
3
82H
DP0L
00H
数据指针DPTR0低字节
4
83H
DPoH
00H
数据指针DPTR0高字节
5
84H
DP1L
00H
数据指针DPTR1低字节
6
85H
DP1H
00H
数据指针DPTR1高字节
7
87H
PCON
0XXX0000B
定时器控制计时器
9
89H
TMOD
00H
定时器模式寄存器
10
8AH
TL0
00H
定时器0低字节
11
8BH
TL1
00H
定时器1低字节
12
8CH
TH0
00H
定时器0高字节
13
8DH
TH1
00H
定时器1高字节
14
8EH
AUXR
XXX00XX0B
辅助寄存器
15
90H
P1
FFH
P1口锁存器
16
98H
SCON
00H
串行口控制寄存器
17
99H
SBUF
XXXXXXXXB
串行口数据缓冲器
18
0AOH
P2
FFH
P2口锁存器
19
OA2H
AUXR1
XXXX XXX0B
辅助寄存器1
20
0A6H
WDTRST
XXXX XXXXB
WDT复位寄存器
21
0A8H
IE
0XX00000B
中断允许寄存器
22
0BOH
P3
FFH
P3口锁存器
23
0B8H
IP
XX00000B
中断优先寄存器
24
0D0H
PSW
00H
程序状态字
25
0E0H
ACC
OOH
累加器
26
0FOH
B
00H
B寄存器
电源断电标志POF
POF是PCON.4位.电源上电时,POF置1,POF位可用软件置位与清零.复位不影响POF位值.
终端和中断寄存器
AT89S51/LS51含有6个中断源,5个中断矢量(中断服务程序入口地址),如图:
图中定时器0和定时器1的中断标志TF0和TF1是在每个机器周期的S5P2时刻设置(当溢出时)的,然后在下个机器周期由片内线路查询.
没个中断源都可单独地通过设定或清除特殊功能存储器IE中某一位来允许/禁止,IE内含一个中断总控制位EA,可允许/禁止所有中断.
IE各位功能如下:
IE 地址=A8H 复位值=0XX0 0000B
可以寻址位
MSB LSB
位地址
AFH
AEH
ADH
ACH
ABH
AAH
A9H
A8H
位符号
EA
—
—
ES
ET1
EX1
ET0
EX0
每位置1表示允许中断,每位清0表示禁止中断.
其中:
EA 中断总控制位.EA=0,禁止所有中断;EA=1,每个中断是否允许还取决于其它各中断的控制位.
ES 串行口串行中断允许位.
ET1 定时器1中断允许位.
EX1 外部中断1中断允许位.
ET0 定时器0中断允许位.
EX0 外部中断0中断允许位.