历史上的今天
返回首页

历史上的今天

今天是:2024年11月26日(星期二)

正在发生

2018年11月26日 | AT89S52单片机基础知识详解

2018-11-26 来源:eefocus

性能说明:


AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。它是使用Atmel公司高密度非易失性存储器技术制造,并与业界标准80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,也就是适合于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活及非常有效的解决方案。AT89S52单片机提供一下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。此外,AT89S52单片机的设计与操作频率可下降到0 HZ静态逻辑,支持2种软件可选的节电模式。在空闲模式下,CPU停止工作,而RAM,定时器/计数器,串行口,外中断系统可继续工作。在掉电保护模式下,RAM内容可以被保存,但振荡器将被冻结,单片机一切工作停止,直到下一个中断或者硬件复位为止。其引脚配置如图所示:(三种封装:PDIP、PLCC、TQFP)


引脚说明:


P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。


P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。



引脚号第二功能:

管脚号

引脚第二功能

P1.0

T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1

T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5

MOSI(用于系统编程)

P1.6

MISO(用于系统编程)

P1.7

SCK(用于系统编程)


P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。


P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。


引脚号第二功能:

管脚号

引脚第二功能

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口还接收一些用于FLASH闪存编程和程序校验的控制信号。


RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。


ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下, ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。


PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。


EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。


推荐阅读

史海拾趣

Crane Co.公司的发展小趣事

随着Crane Co.在电子行业的不断发展和壮大,公司开始积极参与国际展览和会议。在某次重要的国际展览上,Crane Co.展示了其全系列的流体处理产品,包括创新的阀门和泵类产品。这些产品凭借其卓越的性能和先进的技术,吸引了众多参展商和客户的关注。通过这次展览,Crane Co.进一步巩固了其在电子行业的地位,并为未来的市场拓展奠定了坚实基础。

通过以上五个故事,我们可以看到Crane Co.在电子行业发展的历程中,始终保持着对技术创新和产品质量的不懈追求。正是这些努力,使得Crane Co.能够在激烈的市场竞争中脱颖而出,成为行业内的佼佼者。

Foxboro I C T Inc公司的发展小趣事

到了1860年代,Crane Co.作为西北制造公司,开始为铁路部门供应蒸汽机的关键部件,并涉足蒸汽加热业务领域。这一时期,公司不仅展现了其在机械制造方面的实力,还通过不断创新和拓展业务范围,为公司的长远发展奠定了坚实基础。

COTO TECHNOLOGY公司的发展小趣事

进入上世纪六十年代,COTO TECHNOLOGY迎来了一个重大的转折点。公司开始探索线圈绕组以外的领域,通过引入簧片继电器,成功扩展了产品线。这一创新举措不仅丰富了公司的产品种类,更重要的是,它为公司打开了新的市场领域。到了七十年代,COTO更是凭借开发出的首款获得专利的低热电动势簧片继电器,一跃成为业界领先的干簧继电器制造商。

Catalyst / ON Semiconductor公司的发展小趣事

随着技术的不断进步,Catalyst / ON Semiconductor公司逐渐在半导体领域取得了重要的技术突破。公司投入大量资源进行研发,成功开发出了一系列高性能、低功耗的半导体产品,这些产品在市场上受到了广泛的欢迎。这些技术突破不仅提升了公司的市场竞争力,也为整个电子行业的发展注入了新的活力。

ECLIPSE公司的发展小趣事

随着云计算、大数据和人工智能等技术的不断发展,Eclipse也面临着新的挑战和机遇。Eclipse团队正在积极研究新技术,探索新的应用场景。未来,Eclipse将继续保持开放和创新的精神,为开发者们提供更加优秀、高效的开发工具和服务。同时,Eclipse也将继续加强与其他开源项目和公司的合作,共同推动开源生态的发展。

Abracon公司的发展小趣事

随着云计算、大数据和人工智能等技术的不断发展,Eclipse也面临着新的挑战和机遇。Eclipse团队正在积极研究新技术,探索新的应用场景。未来,Eclipse将继续保持开放和创新的精神,为开发者们提供更加优秀、高效的开发工具和服务。同时,Eclipse也将继续加强与其他开源项目和公司的合作,共同推动开源生态的发展。

问答坊 | AI 解惑

如何快速启动ATAB581x-x-B收发器工具包

快速启动ATAB581x-x-B收发器工具包的具体应用  …

查看全部问答>

基于ARM的条码精密测量系统

摘要: 本文介绍了一种基于32位高性能处理器的视觉精密测量系统的软硬件设计。图像传感器采集的条码图像通过精密定位算法得到绝对位移值,由以太网接口实现高速图像采集。该系统适用于高精度定位的各种位移测量。 关键词: ARM;嵌入式系统;视觉 ...…

查看全部问答>

西门子PLC常见问题解答

问题: 为什么SIMATIC MMC不能用读卡机读出?                          解答: 除了CPU之外,只能用一个现场PG或Power PG (高性能的PG),PG 720 和PG   ...…

查看全部问答>

问大家一个可能不太好回答的问题

目前的问题是编译出来的boot和内核下载进去系统起不来,可能这个问题比较宽泛不太好解决,但是还是希望各位提供以下应该大概从哪些方面下手。…

查看全部问答>

移动硬盘

大家好呀,我给移动硬盘加密,但是在加密过程中叫我格式化硬盘,我没有格,但是退出来以后打开硬盘时还叫我格式化,一盘打不开了,怎么办,我里面有好多的资料的?请帮忙解决一下…

查看全部问答>

VStudio 2005下开发智能设备程序,请问如何进行文件操作,谢谢

用VStudio2005开发移动设备程序,用的模拟器就是它自带的Pocket PC 2003,请问: 1. 如何将文件拷给模拟器 2. 具体如何打开,访问和修改文件 3. 文件含有中文,请问是不是要用UNICODE编码?具体如何识别中文字符? 谢谢,在线等…

查看全部问答>

为啥子QFN36的比LQFP48封装的还要贵啊?

有个地方希望用很小的体积,比较喜欢QFN36,再一看参考报价竟然比同规格的LQFP48贵一两块钱。到底该不该选他呢?顺便问一下:量大一些的话,这两种封装的价格该如何比较呢?…

查看全部问答>

求 M3 串口烧录bootloader代码

 想试下M3串口烧录程序,但用StellarisWare软件库里面的boot_serial试过不行,不知哪位专家有用过的代码??…

查看全部问答>

因为刚用iar for stm8 碰到菜鸟问题,求大神,弄了好久了,网上也查不到资料,没办法

void CLK_Init(void) { /* 使用外部晶振     CLK_DeInit();     CLK_HSECmd(ENABLE);     while(SET != CLK_GetFlagStatus(CLK_FLAG_HSERDY));     CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1); &n ...…

查看全部问答>