STC89C51系列单片机的结构..
STC89C51介绍

STC89C51介绍3.1.1 STC89C51主要功能及DIP封装STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89X51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35Mhz,6T/12T可选。
STC89C51主要功能如表1所示,其DIP封装如图2所示表1:STC89C51主要功能3.1.2 STC89C52引脚介绍①主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线②外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端③控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号PSEN(P in29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O 口线,名称为P2.0~P2.7 P3口(Pin10~Pin17):8位准双向I/O 口线,名称为P3.0~P 3.7 作频率35Mhz ,6T/12T 可选。
STC89C5芯片手册的简要介绍PPT

第3章 片内存储器和特殊功能寄存器 (SFRs
• 程序存储器和数据存储器是各自独立编址的.STC89C51RC/RD+系列单片机除可以访问片上Flash存 储器外,还可以访问64KB的外部程序存储器。 • STC89C54RD+系列单片机内部有1280字节的数据 存储器,其在物理和逻辑上都分为两个地址空间:内 部RAM(256字节)和内部扩展RAM(1024字节)。 • 而STC89C51RC系列单片机内部有512字节的数据 存储器,其在物理和逻辑上都分为两个地址空间:内 部RAM(256字节)和内部扩展RAM(256字节)。 • 可以访问在片外扩展的64KB外部数据存储器。
1.2 STC89C51RC/RD+系列单片机 的内部结构
STC89C51RC/RD+系列单片机的内部结 构框图如下图所示。STC89C51RC/RD+ 单片机中包含中央处理器(CPU)、程序存 储器(Flash)、数据存储器(SRAM)、定时/ 计数器、UART串口、I/O接口、 EEPROM、看门狗等模块。 STC89C51RC/RD+系列单片机几乎包含 了数据采集和控制中所需的所有单元模块, 可称得上一个片上系统。
7.2 定时/计数器T2
定时器2是一个16位的定时计数器,通过 T2CON进行设置。其相关寄存器如下:
第8章 串行口通信
• 内部集成全双工串行通信口,与8051兼容 • 设有两个互相独立的接受发送缓冲器,同时接发 数据,统称串行通信特殊功能寄存器SBUF • 串行通信设有四种工作方式:其中有两种波特率 可变,另外两种固定。波特率由内部定时计数器 产生,用软件进行设置,选择不同的工作方式。 • 主机可以通过查询或中断方式对接发进行程序处 理,灵活方便!
STC89C51系列单片机的结构和原理 共63页

XTAL1(19脚):接外部晶体的一端,振荡反向放大器 的输入端和内部时钟电路输入端。
XTAL2(18脚):接外部晶体的另一端,振荡反向放大 器的输出端。
3. 控制信号或与其它电源复用引脚
控制信号或与其它电源复用引脚有 RST/VPD、 ALE/PROG.、PSEN 和 E A / V PP 等4种形式。
• P2口(P2.0-P2.7,21-28脚):是带内部上拉的双向I/O口。 向P2口写入1时,P2口被内部上拉为高电平,可用作输入口。 当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出 电流。在访问外部程序存储器和外部数据时分别作为地址高 位字节和16 位地址,此时通过内部强上拉传送1。当使用8 位寻址方式访问外部数据存储器时,P2口发送P2 特殊功能寄 存器的内容。
2.程序的7个特殊入口地址
表1 MCS-51单片机复位、中断入口地址
操作
复位
外部中断0 定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断 定时器/计数器0溢出或T2EX端负跳变(52子系 列)
入口地址 0000H 0003H 000BH 0013H 001BH 0023H 002BH
18
PC中内容变化轨迹决定程序流程。当顺序执行程序时自动 加1;执行转移程序或子程序、中断子程序调用时,自动 将其内容更改成所要转移的目的地址。
PC的计数宽度决定了程序存储器的地址范围。PC为16位, 故可对64KB(=216B)寻址。
19
2.3、存储器
程序存储器(FLASH,下载到4 KB ROM) 1.编址与访问
第二章 STC89C51系列单片机的结构和原理
2.1 STC89C51如何控制流水灯 2.2 STC89C51系列单片机的内部结构 2.3 STC89C51系列单片机的主要组成部分 2.4 单片机的复位电路 2.5 单片机最小系统
STC89C51芯片资料

3.1.1STC89C51芯片及最小系统介绍:STC89C51是一种低功耗、高性能CMOS 8位微控制器,具有4K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51在众多嵌入式控制应用系统中得到广泛应用。
2.3.1.1主要功能列举1、拥有灵巧的8位CPU和在系统可编程Flash2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)3、内部程序存储器(ROM)为 4KB4、内部数据存储器(RAM)为 256字节5、32 个可编程I/O 口线6、8 个中断向量源7、两个 16 位定时器/计数器8、三级加密程序存储器9、全双工UART串行通道10、低功耗空闲和掉电模式;11、掉电后中断可唤醒;12、看门狗定时器;13、双数据指针;14、掉电标识符。
2.3.1.2 各引脚功能VCC:STC89C51电源正端输入,接+5V。
GND:电源地端。
XTAL1: 单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:STC89C51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:"EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
STC89C51单片机硬件结构资料

0023H —— 串口中断入口
( 002BH —— T2溢出中断入口 )
三、内部数据存储器
物理上分为两大区域:00H ~ 7FH即128B内RAM区
7FH
80H ~ FFH即SFR区。
用户RAM区
数据缓冲区、堆栈区、工作 单元
2FH / 30H
位寻址区 (位地址00H ~ 7FH )
1FH / 20H
PC增1 PC DPTR P1锁存器 P1驱动器 P1.0-P1.7 P3锁存器 P3驱动器 P3.0-P3.7
1、中央处理单元(89C51 CPU) CPU是单片机的核心,是计算机的控制和指挥中心,由运算 器和控制器等部件组成。如图2-2。 运算器 ALU—8位算术和逻辑运算 对4位(半字节)、8位(字节)、16位(双字节)操作 算术运算 -- 加、减、乘、除、加1、减1、BCD数十进制 调整、比较 逻辑运算 -- 与、或、非、异或、求补、移位 TMP1,TMP2 – 8位暂存器 ACC – 8位累加器 累加器ACC经常作为一个操作数经TMP2进入ALU,与 来自TMP1的另一个操作数进行运算,结果存入ACC中 作为89C51内部数据传送的中间寄存器 大部分指令中用注记符A表示,进出堆栈指令时用注记 符ACC表示
一、89C51单片机的基本组成 图2-1所示位89C51带闪存(Flash ROM)单片机的基本结构 框图。
外部时钟 外部事件计数
振荡器和 时序OSC
程序存储器 4KB FlashROM
数据存储器 256B RAM/SFR
2×16位 定 时器/计数器
80C51 CPU
64KB总线 扩展控制器 可编程I/O 可编程全 双工串行口
MCS-51单片机内共有22个特殊功能寄存器,包括PC及SFR。 PC为程序计数器。它是一个双字节寄存器,寻址范围为: 0000H ~ FFFFH,即0 ~ 64KB。
STC89C516RD STC89C51RC STC89LE51 STC89C52中文资料

中优定A 断 先时/ 源级器D
向下 兼容 Winbond
向下 兼容 Philips
向下 兼容 Atmel
STC89C51 RC 0-80M
4K
512 √ √ √ √ √ √ 1K+ 2 1ch+ 8 4 3 W78E51 P89C51
STC89C52 RC 0-80M
8K
512 √ √ √ √ √ √ 1K+ 2 1ch+ 8 4 3 W78E52 P89C52
STC89C58 RD+ 0-80M
32K 1280 √ √ √ √ √ √ 8K+ 2 1ch+ 8 4 3 W78E58 P89C58 AT89C51RC
STC89C516 RD+ 0-80M
63K 1280 √ √ √ √ √ √ 2 1ch+ 8 4 3 W78E516 P89C51RD2 AT89C51RD2
AT89LV51RC
STC89LE516RD+
0-80M 63K 1280 √ √ √ √ √ √ 2 1ch+ 8 4 3 W78LE516 P89LV51RD2 AT89LV51RD2
STC89LE516AD STC89LE516X2
0-90M 64K 512 √ 0-90M 64K 512 √
STC89 系列单片机选型一览表 IAP / ISP 美国技术, 超低价格, 15 分钟学会
型 号
最高时钟 频 率Hz
5V 3V
Flash RAM 程序 数据 存储器 存储器
降低 EMI
看双P I 门 倍4 S 狗 速口 P
I A P
EEP ROM
数 据 串口 指 UART 针
PQFP-44
DIP-40
6 5 4 3 2 1 44 43 42 41 40 P1.5 7 39 P0.4/AD4
STC89C51系列单片机的结构和原理

输入/输出引脚
• P0口(P0.0-P0.7,32-39脚):是双向8位三态I/O口。可向 其写入1 使其状态为悬浮,用作高阻输入。P0口也可以在访 问外部程序存储器时作地址的低字节,在访问外部数据存储 器时作数据总线,此时通过内部强上拉传送1。
13
A的进位标志Cy是特殊的,因为它同时又是位处理机的位累 加器
3.程序状态字寄存器PSW PSW(Program Status Word)位于片内特殊功能寄存器区,
字节地址为D0H。 包含了程序运行状态的信息,其中4位保存当前指令执行后
的状态,供程序查询和判断。格式如图2-3所示。
图2-3 PSW的格式
3. 控制信号或与其它电源复用引脚
控制信号或与其它电源复用引脚有 RST/VPD、 ALE/PROG.、PSEN 和 E A / V PP 等4种形式。
• RST(9脚):复位端。当晶体在运行时,只要此引脚上出 现2个机器周期高电平即可复位,内部有扩散电阻连接到Vss, 仅需要外接一个电容到Vcc即可实现上电复位。
全双工增强型 UART
定时器0 定时器1
定时器2
看门狗定时器
51系列单片机结构框图
1. 电源引脚
VSS(20脚):接地,0V参考点。 VCC(40脚):电源,提供掉电、空闲、正常工作
2.外接晶体引脚
XTAL1(19脚):接外部晶体的一端,振荡反向放大器 的输入端和内部时钟电路输入端。
电烤箱的智能温控仪表设计

电烤箱的智能温控仪表设计本文介绍了以STC89C51单片机为核心的电烤箱温度控制系统。
电烤箱的温度控制系统有两个部分组成:硬件部分和软件部分。
其中硬件部分包括:单片机电路、传感器电路、放大器电路、转换器电路、以及键盘和显示电路。
软件部分包括:主程序、运算控制程序、以及各功能实现模块的程序,以如下设计为要求:⑴电烤箱由1kW电加热器加热,最高温度为120°C。
⑵电烤箱的温度可以设置,电烤过程恒温控制为设置的温度,温度控制误差≤±2°C。
⑶可以实时显示设置温度和实际温度,显示精度为1°C。
⑷当实际温度超出设置温度±5°C时发出报警⑸采用STC89C51单片机和11MHz的晶振;采用AD590温度传感器。
⑹采用位式控制、并用晶闸管过零驱动1000W电加热器(电源电压为AC220V)。
文章最后对本设计进行了总结。
对温度控制系统的发展提出了几点建议。
关键词:单片机;温度;电烤箱;控制目录前言 (4)第1章概述 (4)1.1技术指标 (4)1.2控制方案 (4)第2章电烤箱的智能温控仪表硬件部分设计 (5)2.1硬件部分 (5)2.2单片机电路设计 (5)2.2.1 中央处理器CPU (6)2.2.2 运算器 (6)2.2.3 STC89C51单片机引脚功能 (7)2.2.4 引脚功能 (8)2.2.5 控制线 (9)2.2.6 STC89C51单片机的存储器结构 (9)2.2.7 STC89C51单片机的并行I/O端口 (9)2.2.8 STC89C51单片机时钟电路及时序 (10)2.2.9 复位电路 (11)2.2.10 STC89C51单片机的指令系统 (11)2.3传感器电路设计 (11)2.3.1 传感器概述 (11)2.3.2 传感器的基本特性 (12)2.3.3 热电阻的测量电路及应用 (15)2.4A/D转换电路设计 (14)2.4.1 逐次逼近型A/D转换器ADC0809 (16)2.5放大器电路设计 (19)2.5.1 交流放大器电路 (19)2.5.2 直流放大器电路 (20)2.5.3 运算放大器电路 (20)2.6键盘及显示电路的设计 (21)2.6.1 键盘接口电路 (21)2.6.2 LED显示器接口电路 (26)2.7抗干扰电路设计 (28)2.7.1 电磁干扰的形成因素 (28)2.7.2. 干扰的分类 (28)2.7.3 单片机应用系统电磁干扰控制的一般方法 (29)2.7.4 硬件抗干扰措施 (30)第3章软件部分设计 (31)3.1工作流程 (31)3.2功能模块 (31)3.3资源分配 (31)3.4功能软件设计 (31)3.4.1 键盘管理模块 (31)3.4.2 显示模块 (36)3.4.3 温度检测模块 (31)3.4.4 温度控制模块 (39)3.4.5 温度越限报警模块 (41)3.4.6 主程序和中断服务子程序 (43)第4 章结论 (45)参考文献 (46)附录1 (47)附录2 (47)前言随着社会的不断发展,人们对机械的应用也越来越广,进而人们对机械运动的控制要求亦越来越高。
简述51系列单片机的内部组成结构

简述51系列单片机的内部组成结构51系列单片机是一种非常常见的单片机产品,被广泛应用于各种电子设备中。
它具有强大的功能和灵活的可编程性,能够满足不同应用场景的需求。
那么,究竟51系列单片机的内部是如何组成的呢?我们来了解一下51系列单片机的基本结构。
51系列单片机由中央处理器、存储器、输入输出端口、定时器、中断系统等多个部分组成。
其中,中央处理器是51系列单片机的核心部件,负责执行指令和进行数据处理。
存储器用于存储程序代码和数据,包括ROM、RAM 和特殊功能寄存器等。
输入输出端口用于与外部设备进行数据交互,可以实现数据输入、输出和控制功能。
定时器可以生成指定时间间隔的定时信号,用于定时操作和计时功能。
中断系统可以在特定条件下中断正常的程序执行,执行相应的中断服务程序。
接下来,我们详细介绍一下51系列单片机的内部组成结构。
首先是中央处理器部分,它由一个8位的CPU核心组成,具有丰富的指令集和寄存器。
这些指令可以执行各种算术和逻辑操作,以及数据传输、位操作等功能。
CPU核心还包括时钟发生器和系统控制逻辑,用于产生时钟信号和控制系统的运行。
其次是存储器部分,51系列单片机的存储器主要包括ROM和RAM。
ROM是只读存储器,用于存储程序代码和常量数据。
RAM是随机存储器,用于存储变量和临时数据。
此外,51系列单片机还具有一些特殊功能寄存器,用于存储各种控制和状态信息。
再次是输入输出端口部分,51系列单片机有多个I/O口,用于与外部设备进行数据交互。
每个I/O口都有一个特定的地址和控制寄存器,可以设置输入输出方向和电平状态。
通过读写这些寄存器,可以实现数据输入、输出和控制功能。
51系列单片机还具有定时器部分,用于生成精确的定时信号。
定时器可以根据设定的参数生成不同频率和周期的定时信号,用于各种定时操作和计时功能。
此外,定时器还可以用于产生脉冲信号、PWM 信号等。
最后是中断系统部分,51系列单片机具有多个中断源和中断向量。
STC89C51RC RD+系列单片机器件手册

S T C M C U L i mi t e d .STC89C5 RC/RD+系列单片机指南研发顾问: 392280999 技术支持网站: 临时技术支持: 392282999---高速,高可靠---低功耗,超低价 ---强抗静电,强抗干扰STC89C5 RC/RD+系列单片机器件手册技术支持网站:网站: Update date: 20 / 0/30STC89C51RC, STC89LE51RCSTC89C52RC, STC89LE52RCSTC89C53RC, STC89LE53RCSTC89C54RD+, STC89LE54RD+全部中国本土独立自主知识产权,请全体中国人民支持,您的支持是中国本土����的有��������的有����有����STC89C58RD+, STC89LE58RD+STC89C510RD+, STC89LE510RD+请使用采用最新第六代加密技术的STC11/10xx 和STC12C5Axx 系列单片机取代全球各厂家均已被解密的89系列单片机STC89C512RD+, STC89LE512RD+STC89C514RD+, STC89LE514RD+ STC89C516RD+, STC89LE516RD+STC-ISP :最方便的在线升级软件目录第1章STC89系列单片机总体介绍 (7). STC89C5 RC/RD+系列单片机简介 ����������������������������7 .2 STC89C5 RC/RD+系列单片机的内部结构 ����������������������8 .3 STC89C5 RC/RD+系列单片机管脚图 ��������������������������9 .3. STC89C5 RC/RD+系列HD版本的管脚图 (9).3.2 STC89C5 RC/RD+系列90C版本的管脚图 0.4 STC89C5 RC/RD+系列单片机选型一览表 ��������������������� .5 STC89C5 RC/RD+系列单片机最小应用系统 ������������������� 2 .6 STC89C5 RC/RD+系列在系统可编程(ISP)典型应用线路图 ������� 3 .7 STC89C5 RC/RD+系列管脚说明 ����������������������������� 4 .8 STC89C5 RC/RD+系列单片机封装尺寸图 ��������������������� 6 .9 STC89C5 RC/RD+系列单片机命名规则 �����������������������20 . 0 如何识别HD版及90C版本 �����������������������������������2 . 降低单片机时钟对外界的电磁辐射(EMI)——三大措施 ���������22 . 2 超低功耗——STC89C5 RC/RD+ 系列单片机 ������������������23第2章省电模式及复位 (24)2. STC89C5 RC/RD+系列单片机的省电模式 ���������������������242. . 空闲模式(建议不要使用) (25)2. .2 掉电模式/停机模式 (25)2.2 复位 �����������������������������������������������������32.2. 外部RST引脚复位 (3)2.2.2 软件复位 (3)2.2.3 上电复位/掉电复位 (32)2.2.4 看门狗(WDT)复位 (32)2.2.5 冷启动复位和热启动复位 (36)第3章片内存储器和特殊功能寄存器(SFRs) (37)3. 程序存储器 �����������������������������������������������373.2 数据存储器(SRAM) (38)3.2. 内部RAM (38)3.2.2 内部扩展RAM(物理上是内部,逻辑上是外部,用MOVX访问) (40)3.2.3 可外部扩展64K Bytes(字节)数据存储器 (50)3.3 特殊功能寄存器(SFRs) (5)第4章.STC89C51RC/RD+系列单片机的I/O口结构 (57)4. I/O口各种不同的工作模式及配置介绍 �������������������������574. . 准双向口输出配置 (57)4. .2 开漏输出配置(P0口上电复位后处于开漏模式) (58)4.2 头文件/新增特殊功能寄存器的声明,P4口的使用 ���������������594.3 STC89C5 RC系列单片机ALE/P4.5管脚作I/O口使用的设置 �������64.4 一种典型三极管控制电路 �����������������������������������624.5 混合电压供电系统3V/5V器件I/O口互连 �����������������������624.6 I/O口直接驱动LED数码管应用线路图 �������������������������63第5章.指令系统 (64)5. 寻址方式 �������������������������������������������������645. . 立即寻址 (64)5. .2 直接寻址 (64)5. .3 间接寻址 (64)5. .4 寄存器寻址 (65)5. .5 相对寻址 (65)5. .6 变址寻址 (65)5. .7 位寻址 (65)5.2 指令系统分类总结 �����������������������������������������665.3 传统805 单片机指令定义详解(中文&English) ������������������705.3. 传统805 单片机指令定义详解 (70)5.3.2 Instruction Definitions of Traditional 805 MCU 0第6章.中断系统 (47)6. 中断结构 ������������������������������������������������ 496.2 中断寄存器 ���������������������������������������������� 56.3 中断优先级 ���������������������������������������������� 576.4 中断处理 ������������������������������������������������ 586.5 外部中断 ������������������������������������������������ 596.6 中断测试程序 �������������������������������������������� 606.6. 外部中断0(INT0)的测试程序(C程序及汇编程序) (60)6.6.2 外部中断 (INT )的测试程序(C程序及汇编程序) (64)6.6.3 外部中断2(INT2)的测试程序(C程序及汇编程序) (68)6.6.3 外部中断3(INT3)的测试程序(C程序及汇编程序) (73)第7章.定时器/计数器 (78)7. 定时器/计数器0/1 ���������������������������������������� 787. . 定时器/计数器0和1的相关寄存器 (78)7. .2 定时器/计数器0工作模式(与传统8051单片机兼容) (8)7. .2. 模式0(13位定时器/计数器) ��������������������������������������������� 87. .2.2 模式 ( 6位定时器/计数器)及其测试程序(C程序及汇编程序) ���������������� 827. .2.3 模式2(8位自动重装模式)及其测试程序(C程序及汇编程序) ������������������ 867. .2.4 模式3(两个8位计数器) (89)7. .3 定时器/计数器1工作模式(与传统8051单片机兼容) (90)7. .3. 模式0( 3位定时器/计数器) (90)7. .3.2 模式 ( 6位定时器/计数器)及其测试程序(C程序及汇编程序) ���������������� 97. .3.3 模式2(8位自动重装模式)及其测试程序(C程序及汇编程序) ������������������ 957. .4 古老Intel 805 单片机定时器0/ 的应用举例 (98)7.2 定时器/计数器T2 (205)7.2. 定时器2的捕获模式 (207)7.2.2 定时器2的自动重装模式(递增/递减计数器) (208)7.2.3 定时器2作串行口波特率发生器及其测试程序(C程序及汇编程序) ...............2 07.2.4 定时器2作可编程时钟输出及其测试程序(C程序及汇编程序) .......................2 87.2.5 定时器/计数器2作定时器的测试程序(C程序及汇编程序) (22)第8章.串行口通信 (225)8. 串行口相关寄存器 ����������������������������������������2258.2 串行口工作模式 ������������������������������������������2298.2. 串行口工作模式0:同步移位寄存器 (229)8.2.2 串行口工作模式1:8位UART,波特率可变 (23)8.2.3 串行口工作模式2:9位UART,波特率固定 (233)8.2.4 串行口工作模式3:9位UART,波特率可变 (235)8.3 串行通信中波特率的设置 ����������������������������������2378.4 串行口的测试程序(C程序及汇编程序) �����������������������2408.5 双机通信 (246)8.6 多机通信 (257)第9章.STC89C51RC/RD+系列EEPROM的应用 (263)9. IAP及EEPROM新增特殊功能寄存器介绍 ���������������������2639.2 STC89C5 RC/RD+系列单片机EEPROM空间大小及地址 ��������2669.3 IAP及EEPROM汇编简介 �����������������������������������2699.4 EEPROM测试程序(C程序及汇编程序) �����������������������273第10章.STC10系列单片机开发/编程工具说明 (28)0. 在系统可编程(ISP)原理,官方演示工具使用说明 �������������280. . 在系统可编程(ISP)原理使用说明 (28)0. .2 STC89C5 RC/RD+系列在系统可编程(ISP)典型应用线路图 (283)0. .3 电脑端的ISP控制软件界面使用说明 (285)0. .4 STC-ISP(最方便的在线升级软件)下载编程工具硬件使用说明 (287)0. .5 若无RS-232转换器,如何用STC的ISP下载板做RS-232通信转换 (288)0.2 编译器/汇编器,编程器,仿真器 ��������������������������289附录A:汇编语言编程 (29)附录B:C语言编程......................................3 3附录C:STC89C51RC/RD+系列单片机电气特性 (323)附录D:内部常规256字节RAM间接寻址测试程序 (325)附录E:用串口扩展I/O接口 (327)附录F:利用STC单片机普通I/O驱动LCD显示 (330)附录G:如何利用Keil C软件减少代码长度 (337)附录H:如何实现运行中自定义下载 (338)——无仿真器时方便调试 ���������������������������������338 ——自定义下载演示程序(实现不停电下载) �����������������338附录I:每日更新内容的备忘录 (343)S T C M C UL i m it e d.第1章STC89系列单片机总体介绍1.1.STC89C51RC/RD+系列单片机简介STC89C5 RC/RD+系列单片机是STC�出的新一�高速/低功耗/超强抗干扰的单片机,指�出的新一�高速/低功耗/超强抗干扰的单片机,指新一�高速/低功耗/超强抗干扰的单片机,指单片机,指令�码完全兼容传统8051单片机,12时钟/机器��和6时钟/机器��可���选�,HD版本8051单片机,12时钟/机器��和6时钟/机器��可���选�,HD版本时钟/机器��和6时钟/机器��可���选�,HD版本和90C版本内部集成MAX810专用复位电路��1� 增强型8051单片机,6时钟/机器��和12时钟/机器��可��选�,指令�码完全兼容传单片机,6时钟/机器��和12时钟/机器��可��选�,指令�码完全兼容传6时钟/机器��和12时钟/机器��可��选�,指令�码完全兼容传和12时钟/机器��可��选�,指令�码完全兼容传12时钟/机器��可��选�,指令�码完全兼容传可��选�,指令�码完全兼容传,指令�码完全兼容传统8052� 工作电压:5.5V - 3.3V (5V单片机) // 3.8V - 2.0V (3V单片机)3� 工作频率范围:0~40MHz,相当于普通8051的 0~80MHz,实际工作频率可达48MHz�4� 用户应用程序空间::4K / 8K / 3K / 6K / 32K / 64K字节5� 片上集成 280字节��5 2字节RAM6� 通用I/O口(35/39个),复位后为:P /P2/P3/P4是准双向口/弱上拉(普通805 传统I/O口)��P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻�7� ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(RxD/P3.0, TxD/P3. )直接下载用户程序,数秒即可完成一片8� 有EEPROM功能9� 看门狗10�内部集成MAX8 0专用复位电路(HD版本和90C版本�有),外部�体20M�下时,可省外部和90C版本�有),外部�体20M�下时,可省外部�有),外部�体20M�下时,可省外部),外部�体20M�下时,可省外部,外部�体20M�下时,可省外部复位电路��11�共3个16位定时器/计数器,其中定时器0还可�当成2个8位定时器使用��12�外部中断4路,下降沿中断�低电平触发中断,,Power Down模式可由外部中断低电平触发中断方式唤醒��13� 通用异步串行口(UART),还可用定时器软件实现多个UART14� 工作温度范围:-40 ~ +85℃(工业级) / 0 ~ 75℃(商业级)15� 封装:LQFP-44,PDIP-40,PLCC-44,PQFP-44�如选�STC89系列,请优先选�LQFP-44封装�温馨提示: �荐优先选�采用最新第六�加密技术的STC / 0xx系列单片机取�全球各厂家均已被解密的89系列单片机�1.2 STC89C51RC/RD+系列单片机的内部结构STC89C5 RC/RD+系列单片机的内部结构框图如下图所示�STC89C5 RC/RD+单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、I/O接口、EEPROM、看门狗等模块�STC89C5 RC/RD+系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统�STC89C5 RC/RD+系列内部结构框图C M C U1.3.STC89C51RC/RD+系列单片机���单片机������1.3.1.STC89C51RC/RD+系列HD 版本的���33323 3029282726252423 23456789 0 R S TT x D /P 3. R x D /P 3.0I N T 0/P 3.2I N T /P 3.3T 0/P 3.4T /P 3.5A L E P S E N Vcc XTAL2XTAL Gnd P3.6/WRP3.7/RD P 0.4P 0.5P 0.6E A P 4. P 2.7P 2.6P 2.5P 0.7P .5P .6P .7I N T 2/P 4.3P .4P .3P .2T2EX/P . T2/P .0P0.0P0. P0.2P0.3INT3/P4.2P4.0P2.0P2. P2.2P2.3P2.4LQFP-44PQFP-44343536373839404 424344222 20 9 8 7 6 5 4 3 2增加了P4口并可位寻址X T A L X T A L G n W R /P 3.R D /P 3.P 4.P 2.P 2.P 2.P 2.P 2.TxD/P3. RxD/P3.0INT0/P3.2INT /P3.3INT2P4.3c c .4 .3 .2 . /T 2E X .0/T 20.00. 0.20.34.2/I N T 3关于仿真及仿真器:1��何老的仿真器均可使用2�老的仿真器仿真他可仿真的基本功能3�新增特殊功能用�SP直接下载程序看结果即可5�其实现在大部分STC用户不用仿真器,用�SP就可调通64K程序关于工作电压/时钟频率:RC/RD+系列是真正的6T单片机,兼容普通的12 时钟/机器��内核实际6T现有HD版本5V单片机,单倍速工作将外部时钟频率除�2,降频工作工作电压外部时钟单倍速相当于普通8052实际内核运行时钟双倍速相当于普通8052实际内核运行时钟�AP/�SP可�5.5V - 4.5V0 - 44MHz 0 - 44MHz 0 - 20MHz 0 - 80MHz 0 - 40MHz 读,编程,擦除5.5V - 3.8V0 - 33MHz 0 - 33MHz 0 - 6.5MHz 0 - 66MHz 0 - 33MHz 读,编程,擦除5.5V - 3.6V0 - 24MHz 0 - 24MHz 0 - 2MHz 0 - 48MHz 0 - 24MHz 读,编程,擦除5.5V - 3.4V 0 - 20MHz 0 - 20MHz 0 - 0MHz 0 - 40MHz 0 - 20MHz 读(不要编程/擦除)3V : 3.8 - 2.0V (可外部24MHz ,双倍速48MHz),2.3 - .9V 时不要�行�AP擦除/编程HD 版本无P4.6/P4.5/P4.4口M C U1.3.2.STC89C51RC/RD+系列90C 版本的���33323 3029282726252423 23456789 0 R S T T x D /P 3. R x D /P 3.0I N T 0/P 3.2I N T /P 3.3T 0/P 3.4T /P 3.5A L E /P 4.5/P 4.4Vcc XTAL2XTAL Gnd P3.6/WRP3.7/RD P 0.4P 0.5P 0.6P 4.6P 4.P 2.7P 2.6P 2.5P 0.7P .5P .6P .7I N T 2/P 4.3P .4P .3P .2T2EX/P . T2/P .0P0.0P0. P0.2P0.3INT3/P4.2P4.0P2.0P2. P2.2P2.3P2.4LQFP-44PQFP-44343536373839404 424344222 20 9 8 7 6 5 4 3 2增加了P4口并可位寻址X T A L X T A L G n W R /P 3.R D /P 3.P 4.P 2.P 2.P 2.P 2.P 2.TxD/P3. INT0/P3.2INT /P3.3c c.4.3.2. /T 2E X.0/T 20.00.0.20.34.2/I N T 3关于仿真及仿真器:1��何老的仿真器均可使用2�老的仿真器仿真他可仿真的基本功能3�新增特殊功能用�SP直接下载程序看结果即可5�其实现在大部分STC用户不用仿真器,用�SP就可调通64K程序关于工作电压/时钟频率:RC/RD+系列是真正的6T单片机,兼容普通的12 时钟/机器��内核实际6T现有HD版本5V单片机,单倍速工作将外部时钟频率除�2,降频工作工作电压外部时钟单倍速相当于普通8052实际内核运行时钟双倍速相当于普通8052实际内核运行时钟�AP/�SP可�5.5V - 4.5V0 - 44MHz 0 - 44MHz 0 - 20MHz 0 - 80MHz 0 - 40MHz 读,编程,擦除5.5V - 3.8V0 - 33MHz 0 - 33MHz 0 - 6.5MHz 0 - 66MHz 0 - 33MHz 读,编程,擦除5.5V - 3.6V0 - 24MHz 0 - 24MHz 0 - 2MHz 0 - 48MHz 0 - 24MHz 读,编程,擦除5.5V - 3.4V 0 - 20MHz 0 - 20MHz 0 - 0MHz 0 - 40MHz 0 - 20MHz 读(不要编程/擦除)3V : 3.8 - 2.0V (可外部24MHz ,双倍速48MHz),2.3 - .9V 时不要�行�AP擦除/编程90C 版本无EA 、PSEN 管脚,有P4�4/P4�5/P4�6口90C 版本ALE/P 4.5管脚默认是作为ALE 管脚,如需作为P4.5口使用时,需在烧录用户程序时在STC-�SP编程器中设置S TC M C UL i m i t ed .1.4.STC89C51RC/RD+系列单片机选型一览表型号工作电压 (V )最高时钟频率Hz Flash 程序存储器(字节)SRAM字节定时器UART 串口 DP TR EEP ROM (字节)看门狗A/D 中断源中断优先级I/O 支持掉电唤醒外部中断内置复位封装40-Pin封装44-Pin5V 3V STC89C/LE5 RC 系列单片机选型一览STC89C5 RC 5.5 - 3.30-80M 4K 5 23 个24K 有-8435/394个有PDIP LQFP/PLCC STC89C52RC 5.5 - 3.30-80M 8K 5 23 个24K 有-8435/394个有PDIP LQFP/PLCC STC89C53RC 5.5 - 3.30-80M 3K 5 23 个2-有-8435/394个有PDIP LQFP/PLCC STC89LE5 RC 3.6 - 2.00-80M 4K 5 23 个24K 有-8435/394个有PDIP LQFP/PLCC STC89LE52RC 3.6 - 2.00-80M 8K 5 23 个24K 有-8435/394个有PDIP LQFP/PLCC STC89LE53RC 3.6 - 2.00-80M3K 5 23 个2-有-8435/394个有PDIP LQFP/PLCC STC89C/LE5 RD+系列单片机选型一览STC89C54RD+ 5.5 - 3.30-80M 6K 2803 个245K 有-8435/394个有PDIP LQFP/PLCC STC89C58RD+ 5.5 - 3.30-80M 32K 2803 个229K 有-8435/394个有PDIP LQFP/PLCC STC89C5 6RD+ 5.5 - 3.30-80M 64K 2803 个2-有-8435/394个有PDIP LQFP/PLCC STC89LE54RD+ 3.6 - 2.00-80M 6K 2803 个245K 有-8435/394个有PDIP LQFP/PLCC STC89LE58RD+3.6 - 2.00-80M 32K 2803 个229K 有-8435/394个有PDIP LQFP/PLCC STC89LE5 6RD+ 3.6 - 2.00-80M64K2803个2-有-8435/394个有PDIP LQFP/PLCC选用STC单片机的理由:降低成本,提升性能,原有程序直接使用,硬件无需改动�STC公司鼓励您放心大胆选用LQFP44小型封装单片机,使您的产品更小,更轻,功耗更低�用STC提供的STC-�SP�exe 工具将您的2�制�码�16�制�码下载�STC相关的单片机即可�RC/RD+系列为真正的看门狗,缺省为关闭(冷启动),启动后无法关闭,可放心省去外部看门狗��内部Flash擦写次数为10�次�上��次�上�次�上�STC89C5 RC/RD+系列单片机44-pin 的封装除LQFP44和PLCC44外,还有PFQP44,但是不�荐使用PLCC44和PFQP44封装,建议选用LQFP44的封装�1.5.STC89C51RC/RD+系列单片机最�应用系统单片机最�应用系统/5V/3VC2<47pF X �振频率X1为 2M~25MHz 时,C2、C3应为47pF1�阻容复位时,电容C1为10uF,电阻R1为10K2�RC/RD+系列单片机HD版本,RESET脚内部已有45K-100K下拉电阻关于�振电路:OSCDN,�体振荡器增益控制 = full gai�X 4MHz 6MHz 2M-25MHz 26M-30MHz 3 M-35MHz 36M-39MHz 40M-43MHz 44M-48MHz C2, C3= 00pF 47pF~ 00pF = 47pF <= 0pF <= 0pF <= 0pF <= 0pF <= 5pF R 不用不用不用6.8K 5. K 4.7K 3.3K 3.3K :几个个OSCDN(OSC Co��rol),�体振荡器增益 = 1/2 gai�X 4MHz 6MHz 2M-25MHz 26M-30MHz 3 M-35MHz 36M-39MHz 40M- 43MHz 44M- 48MHzC2, C3= 00pF 47pF~ 00pF = 47pF <= 0pF 不用不用不用不用R 不用不用不用6.8K 5. K 4.7K 3.3K 3.3KSTC89系列HD版本的单片机正常工作时的时钟频率�荐工作时钟频率(总线)STC单片机RC/RD+系列(I/O 方式可到40M/80M )内部振荡器产生时钟,外接�体外部时钟直接输入, 由XTAL1输入12T模式6T模式12T模式6T模式5�0V单片机2MHz - 48MHz 2MHz - 36MHz 2MHz - 48MHz 2MHz - 36MHz 3�3V单片机2MHz - 48MHz 2MHz - 32MHz 2MHz - 36MHz 2MHz - 8MHz1.6.STC89C51RC/RD+系列在系统可编程在系统可编程(ISP)典型应用线路�STC 单片机在线编程线路, STC RS-232 转换器关于EA (EA 管脚已内部上拉到V��):1�如外部不加上拉,�外部上拉到V��,上电复位后单片机从内部开始执行程序;2�如外部下拉到地,上电复位后单片机从外部开始执行程序为表面文字最下面一行最后几个几个个字母S T C M C UL i m it e d.1.7.STC89C51RC/RD+系列��说明��说明管脚管脚编号说明LQFP44PDIP40PLCC44P0.0 ~ P0.737-3039-3243~36P0:P0口既可作为输入/输出口,也可作为地址/数据复用总线使用�当P0口作为输入/输出口时,P0是一个8位准双向口,上电复位后处于开漏模式�P0口内部无上拉电阻,所�作�/O口必须外接10K-4�7K的上拉电阻�当P0作为地址/数据复用总线使用时,是低8位地址线[A0~A7],数据线的[D0~D7],此时无需外接上拉电阻�P .0/T240 2P .0�准I/O口 PORT [0]T2定时器/计数器2的外部输入P . /T2EX4 23P . �准I/O口 PORT [ ]T2EX定时器/计数器2捕捉/重装方式的触发控制P .24234�准I/O口 PORT [2] P .34345�准I/O口 PORT [3] P .44456�准I/O口 PORT [4] P .5 67�准I/O口 PORT [5] P .6278�准I/O口 PORT [6] P .7389�准I/O口 PORT [7]P2.0 ~ P2.7 8-252 -2824~3 Port2: P2口内部有上拉电阻,既可作为输入/输出口,也可作为高8位地址总线使用(A8 ~ A 5)�当P2口作为输入/输出口时,P2是一个8位准双向口�P3.0/RxD5 0 P3.0�准I/O口 PORT3[0] RxD串口1数据接收端P3. /TxD7 3P3. �准I/O口 PORT3[ ] TxD串口1数据发送端P3.2/INT08 2 4P3.2�准I/O口 PORT3[2]INT0外部中断0,下降沿中断�低电平中断P3.3/INT 9 3 5P3.3�准I/O口 PORT3[3]INT 外部中断1,下降沿中断�低电平中断P3.4/T0 0 4 6P3.4�准I/O口 PORT3[4]T0定时器/计数器0的外部输入P3.5/T 5 7P3.5�准I/O口 PORT3[5]T 定时器/计数器1的外部输入P3.6/WR 2 6 8P3.6�准I/O口 PORT3[6] WR外部数据存储器写脉冲P3.7/RD 3 7 9P3.7�准I/O口 PORT3[7] RD外部数据存储器读脉冲ST CMC UL i mi t e d .管脚管脚编号说明LQFP44PDIP40PLCC44P4.0 723P4.0�准I/O 口 PORT4[0]P4. 2834P4. �准I/O 口 PORT4[ ]P4.2/INT339 P4.2�准I/O 口 PORT4[2]INT3外部中断3,下降沿中断�低电平中断P4.3/INT26 2P4.3�准I/O 口 PORT4[3]INT3外部中断2,下降沿中断�低电平中断P4.4/PSEN 262932P4.4�准I/O 口 PORT4[4]PSEN 外部程序存储器选通信号输出引脚P4.5/ALE 273033P4.5�准I/O 口 PORT4[5]ALE 地址锁存允许信号输出引脚/编程脉冲输入引脚P4.6/EA 293 35P4.6�准I/O 口 PORT4[6]EA 内外存储器选�引脚RST 490RST复位脚XTAL5 92内部时钟电路反相放大器输入端,接外部�振的一个引脚�当直接使用外部时钟源时,此引脚是外部时钟源的输入端�XTAL2 4 820内部时钟电路反相放大器的输出端,接外部�振的另一端�当直接使用外部时钟源时,此引脚可浮空,此时XTAL2实际将XTAL1输入的时钟�行输出�VCC 384044电源正极Gnd62022电源负极,接地L i mi t e d .1.8.STC89C51RC/RD+系列单片机�����单片机�����GATE PLANESEATING PLANELQFP-44 OUTLINE PACKAGESYMBOLSMIN.NOM MAX.A -- .60A 0.05-0. 5A2 .35 .40 .45c 0.09-0. 6D 2.00D 0.00E 2.00E 0.00e 0.80b(w/o plating)0.250.300.35L 0.450.600.75L .00REF θ0003.5070V ARIATIONS (ALL DIMENSIONS SHOWN IN MMLQFP-44 封装尺寸图所有封装形式均满足欧盟RoHS要求PDIP-40 封装尺寸图PDIP-40 OUTLINE PACKAGEPLCC-44 OUTLINE PACKAGE.SYMBOLSM�N�NOM MAX�A --2�70A10�25-0�50A21�802�002�20b(w/o pla�i�g)0�250�300�35D 13�0013�2013�40D19�910�0010�10E 13�0013�2013�40E19�910�0010�10L 0�730�880�93e0�80 BSC�θ00-7C0�10�150�2UN�T:mm21NOTES:.JEDEC OUTLINE:M0- 08 AA-2.DATUM PLANE IS LOCATED AT THE BOTTOM OF THE MOLD PARTING LINE COINCIDENT WITH WHERE THE LAED EXITS THE BODY .3.DIMENSIONS D AND E D0 NOT INCLUDE MOLD PROTRUSION. ALLOWABLE PROTRUSION IS 0.25mm PER SIDE. DIMENSIONS D AND E D0 INCLUDE MOLD MISMATCH AND ARE DETRMINED AT DATUM PLANE4.DIMENSION b DOES NOT INCLUDE DAMBAR PROTRUSION.H H PQFP-44 OUTLINE PACKAGES T C M C UL i m it e d.1.9.STC89C51RC/RD+系列单片机��规�单片机��规�STC89 xx xx xx -- 40 x - xxxx xx管脚数如 40、44封装类型:如PDIP,LQFP, PLCC, PQFP工作温度范围:I : 工业级, -40℃ ~ 85℃C : 商业级, 0℃ ~ 70℃工作频率:25 : 工作频率可到25MHz40 : 工作频率可到40MHz50 : 工作频率可到50MHzRAM大小:大小:RC: RAM位512位512RD+:RAM为1280为1280程序空间大小,如:51是4K字节, 52是8K字节, 53是13K字节,54是16K字节, 58是32K字节,516是64K字节�工作电压F : 5.5V ~ 3.3VL : 3.6V ~ 2.0VSTC 2T/6T 805S TC MC UL i m it e d.1.10.如何识别HD版及90C版本※ 如何识别HD版及90C版�单片机表面文字最下面一行最后几个字母及90C版�单片机表面文字最下面一行最后几个字母90C版�单片机表面文字最下面一行最后几个字母几个字母个字母HD版本和90C版本内部都集成了MAX810专用复位电路,当时钟频率为6MHz时内部简单的MAX810专用复位电路是可靠的�当时钟频率为12MHz时勉强可用�在要求不高的情况下,可在复位脚外接电阻电容复位�HD版有PSEN、ALE及EA管脚,无P4�4/P4�5/P4�6口�而90C版本有P4�4和P4�6管脚,无PSEN和EA�90C版本的ALE/P4�5管脚既可作�/O口P4�5使用,也可被复用作ALE管脚,默认是用作ALE管脚�如用户需用到P4�5口,只能选�90C版本的单片机,且需在烧录用户程序时在STC-�SP编程器中将ALE pi�选�为用作P4�5,在烧录用户程序时在STC-�SP编程器中该管脚默认的是作为ALE pi��具体设置如下图所示:TxD/P3.XTAL2XTALGndWR/P3.6RD/P3.7RxD/P3.0T0/P3.4T /P3.5INT /P3.3INT0/P3.2T2/P .0T2EX/P .P .2P .3P .4P .5P .6P .7下面是STC89系列单片机HD版和90C版本的管脚图,主要区别在P4�6/P4�5/P4�4三个管脚处�HD版本的管脚图(PD�P-40)TxD/P3.WR/P3.6RD/P3.7T /P3.5INT /P3.3INT0/P3.290C版本的管脚图(PD�P-40)ST C MC UL i mi t e d .1.11.降低单片机时钟对外界的电磁辐射(EMI )——三大措施1. 禁止ALE 信号输出,适用型号:STC89C51RC,STC89C52RC,STC89C53RC,STC89LE51RC,STC89LE52RC,STC89LE53RCSTC89C54RD+,STC89C58RD+,STC89C516RD+,STC89LE54RD+,STC89LE58RD+,STC89LE516RD+RC/RD+系列8051单片机 扩展RAM管理及禁止ALE输出 特殊功能寄存器(只写)(只写)只写)AUXR : Auxiliary Register (只写)只写)Mnemonic Add bit B7B6B5B4B3B2BB0Reset Value AUXR8EHname------EXTRAMALEOFFxxxx,xx00禁止ALE信号输出(应用示例供参考,C 语言): sfr AUXR = 0x8e; /* 声明AUXR 寄存器的地址 */ AUXR = 0x01;/* ALEOFF位置1,禁止ALE信号输出,提升系统的EM�性能,复位后为0,ALE信号正常输出*/禁止ALE信号输出(应用示例供参考,汇编语言): AUXR EQU 8Eh ;�AUXR DATA 8Eh MOV AUXR, #00000001B ;ALEOFF位置“1”,禁止ALE信号输出, ;提升了系统的EM�性能2� 外部时钟频率降一半,6T模式: 传统的8051为每个机器��12时钟,如将STC的增强型8051 单片机在�SP烧录程序时设为双倍速(及6T模式,每个机器��6 时钟),则可将单片机外部时钟频率降低一半,有效的降低单片机时钟对外界的干扰3� 单片机内部时钟振荡器增益降低一半: 在�SP烧录程序时将OSCDN设为1/2gai�可�有效的降低单片机时钟高频部分对外界的辐射,但此时外部�振频率尽�不要高于16MHz�单片机外部�振频率<16MHz时,可将OSCDN设为1/2 gai�,有利于降低EM�,16M�上选�full gai��L i m i t e d.1.12.超低功耗——STC89C5 RC/RD+ 系列单片机1� 掉电模式:典型功耗 < 0�1uA, 可由外部中断唤醒,中断返回后,继续执行原程序2� 空闲模式(建议不要使用):(建议不要使用)::典型功耗 2mA3� 正常工作模式:典型功耗 4mA - 7mA4� 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备S T CM C UL i m i t ed .2.1.STC89C51RC/RD+系列单片机的省电模式STC89C5 RC/RD+系列单片机可�运行2种省电模式�降低功耗,它们分别是:空闲模式和掉电模式�正常工作模式下,STC89C5 RC/RD+系列单片机的典型功耗是4mA ~ 7mA ,而掉电模式下的典型功耗是<0. uA ,空闲模式(建议不要使用此模式)下的典型功耗是2mA �空闲模式和掉电模式的�入由电源控制寄存器PCON 的相应位控制�PCON 寄存器定义如下:PCON (Power Control Register) (不可位寻址) SFR name Address bit B7B6B5B4B3B2B B0PCON87HnameSMODSMOD0-POFGFGF0PDIDLPOF : 上电复位�志位,单片机停电后,上电复位�志位为1 ,可由软件清0 �实际应用:要判断是上电复位(冷启动),还是外部复位脚输入复位信号产生的复位,还是内部看门狗复位,还是软件复位��其他复位,可通过如下方法�判断:还是软件复位��其他复位,可通过如下方法�判断:可通过如下方法�判断:判断复位种类流程图PD :将其置1时,�入Power Down 模式,可由外部中断低电平触发�下降沿触发唤醒,�入掉低电平触发�下降沿触发唤醒,�入掉下降沿触发唤醒,�入掉电模式时,内部时钟停振,由于无时钟,内部时钟停振,由于无时钟时钟停振,由于无时钟由于无时钟CPU 、定时器、串行口等功能部件停止工作,只有、串行口等功能部件停止工作,只有停止工作,只有,只有只有外部中断继续工作�掉电模式可由外部中断唤醒,中断返回后,继续执行原程序�掉电模式也叫停机模式,此时功耗<0. uA �IDL :将其置 ,�入IDLE 模式(空闲),除系统不�系统不�CPU 供时钟,CPU 不执行指令外,其余功功能部件�可继续工作,可由�何一个中断唤醒�可继续工作,可由�何一个中断唤醒可继续工作,可由�何一个中断唤醒继续工作,可由�何一个中断唤醒�何一个中断唤醒唤醒�GF ,GF0 :两个通用工作�志位,用户可���使用�两个通用工作�志位,用户可���使用�SMOD, SMOD0:与电源控制无关,与串口有关,在此不作介绍�与电源控制无关,与串口有关,在此不作介绍�第2章 省电模式及复位ST CMC UL i mi t e d .2.1.2 掉电模式/停机模式将PD/PCON. 置为为 ,单片机将�入单片机将�入�入Power Down (掉电)模式,掉电模式也叫停机模式��掉电)模式,掉电模式也叫停机模式��)模式,掉电模式也叫停机模式��,掉电模式也叫停机模式��入掉电模式后,内部时钟停振,由于无时钟源,CPU 、定时器、看门狗、串行口等停止工作,外部中断继续工作�如果低压检测电路被允许可产生中断,则低压检测电路也可继续工作,否则将停止工作��入掉电模式后,所有I/O 口、SFRs (特殊功能寄存器)维持�入掉电模式�那一刻的状态不变�可将CPU 从掉电模式唤醒的外部管脚有:INT0/P3.2, INT /P3.3,INT2/P4.3, INT3/P4.2另外,外部复位也将MCU从掉电模式中唤醒,复位唤醒后的MCU将从用户程序的0000H处开始正常工作�2.1.1 空闲模式(建议不要使用)将IDL/PCON.0置为为 ,单片机将�入单片机将�入�入IDLE (空闲)模式�在空闲模式下,��在空闲模式下,�CPU 无时钟停止工作,但是外部中断、定时器、串行口等�正常运行�而但是外部中断、定时器、串行口等�正常运行�而看门狗在空闲模式下是否工作取�于在空闲模式下是否工作取�于其自身有一个“IDLE ”模式位::IDLE_WDT(WDT_CONTR.3)�当当IDLE_WDT 位被设置为设置为“ ”时, 看门狗定时器在“空闲模式”计数,即正常工作�当,即正常工作�当当IDLE_WDT 位被清被清清“0”时, 看门狗定时器在“空闲模式”时不计数,即停止工作�,即停止工作�在空闲模式下,RAM 、堆栈指针(SP)、程序计数器(PC)、程序状态字(PSW)、累加器(A)等寄存器都�持原有数据�I/O 口�持着空闲模式被激活�那一刻的逻辑状态�空闲模式下单片机的所有外围设备都能正常运行(除CPU 无时钟不工作外)�当�何一个中断产生时,它们都可�将单片机唤醒,单片机被唤醒后,CPU 将继续执行�入空闲模式语句的下一条指令��有两种方式可�退出空闲模式��何一个中断的产生都会引起IDL/PCON.0被硬件清除,从而退出空闲模式�另一个退出空闲模式的方法是:外部RST引脚复位,将复位脚拉高,产生复位�这种拉高复位引脚�产生复位的信号源需要被�持24个时钟加上 0us ,�能产生复位,再将RST引脚拉低,结束复位,单片机从用户程序的0000H处开始正常工作�当用户系统无外部中断源将单片机从掉电模式唤醒时,下面的电路能够定时唤醒掉电模式�I/O控制充电的I/O 口首先配置为�挽/强上拉模式并置高,上面的电路会�储能电容C1充电�在单片机�入掉电模式之�,将控制充电的I/O 口拉低,上面电路通过电阻R1�储能电容C1放电�当电容C1的电被放到小于0�8V时,外部中断INTx 会产生一个下降沿中断,从而自动地将单片机从掉电模式中唤醒�该�/O控制充电S T C M C UL i m it e d./*可由外部中断唤醒的掉电唤醒示例程序 --------------------------------------- *//*---------------------------------------------------------------------------------------------------*//* --- STC MCU Limited ---------------- ------------------------------------------------------*//* --- 演示STC89xx 系列单片机由外部中断唤醒掉电模式 ---------------------------*//* --- Mobile: (86) 392280999 --------------------------------------------------------------*//* --- Fax: 86-755-82905966 ------------------------------------------------------------------*//* --- Tel: 86-755-829484 2 -------------------------------------------------------------------*//* --- Web: --------------------------------------------------------------*//*如果要在程序中使用�在文章中引用该程序 ---------------------------------------- *//*请在程序中�文章中注明使用了STC的资料及程序 ---------------------------*//*----------------------------------------------------------------------------------------------------*/#include <reg5 .h>#include <intrins.h>sbit Begin_LED = P ^2; //Begin-LED indicator indicates system start-up unsigned char Is_Power_Down = 0; //Set this bit before go into Power-down modesbit Is_Power_Down_LED_INT0 = P ^7; //Power-Down wake-up LED indicator on INT0 sbit Not_Power_Down_LED_INT0 = P ^6; //Not Power-Down wake-up LED indicator on INT0 sbit Is_Power_Down_LED_INT = P ^5; //Power-Down wake-up LED indicator on INT sbit Not_Power_Down_LED_INT = P ^4; //Not Power-Down wake-up LED indicator on INT sbit Power_Down_Wakeup_Pin_INT0 = P3^2; //Power-Down wake-up pin on INT0sbit Power_Down_Wakeup_Pin_INT = P3^3; //Power-Down wake-up pin on INTsbit Normal_Work_Flashing_LED = P ^3; //Normal work LED indicatorvoid Normal_Work_Flashing (void);void INT_System_init (void);void INT0_Routine (void);void INT _Routine (void);void main (void){unsigned char j = 0;unsigned char wakeup_counter = 0;//clear interrupt wakeup counter variable wakeup_counter Begin_LED = 0; //system start-up LEDINT_System_init ( ); //Interrupt system initializationwhile( ){P2 = wakeup_counter;wakeup_counter++;for(j=0; j<2; j++){Normal_Work_Flashing( ); //System normal work}S T C M C UL i m it e d.Is_Power_Down = ; //Set this bit before go into Power-down modePCON = 0x02; //after this instruction, MCU will be in power-down mode//external clock stop_nop_( );_nop_( );_nop_( );_nop_( );}}void INT_System_init (void){IT0 = 0; /* External interrupt 0, low electrical level triggered */// IT0 = ; /* External interrupt 0, negative edge triggered */ EX0 = ; /* Enable external interrupt 0IT = 0; /* External interrupt , low electrical level triggered */// IT = ; /* External interrupt , negative edge triggered */ EX = ; /* Enable external interruptEA = ; /* Set Global Enable bit}void INT0_Routine (void) interrupt 0{if (Is_Power_Down){//Is_Power_Down == ; /* Power-Down wakeup on INT0 */Is_Power_Down = 0;Is_Power_Down_LED_INT0 = 0;/*open external interrupt 0 Power-Down wake-up LED indicator */ while (Power_Down_Wakeup_Pin_INT0 == 0){/* wait higher */}Is_Power_Down_LED_INT0 = ;/* close external interrupt 0 Power-Down wake-up LED indicator */ }else{Not_Power_Down_LED_INT0 = 0; /* open external interrupt 0 normal work LED */while (Power_Down_Wakeup_Pin_INT0 ==0){/* wait higher */}Not_Power_Down_LED_INT0 = ; /* close external interrupt 0 normal work LED */ }}S T C M C UL i m it e d.void INT _Routine (void) interrupt 2{if (Is_Power_Down){//Is_Power_Down == ; /* Power-Down wakeup on INT */Is_Power_Down = 0;Is_Power_Down_LED_INT = 0;/*open external interrupt Power-Down wake-up LED indicator */ while (Power_Down_Wakeup_Pin_INT == 0){/* wait higher */}Is_Power_Down_LED_INT = ;/* close external interrupt Power-Down wake-up LED indicator */ }else{Not_Power_Down_LED_INT = 0; /* open external interrupt normal work LED */while (Power_Down_Wakeup_Pin_INT ==0){/* wait higher */}Not_Power_Down_LED_INT = ; /* close external interrupt normal work LED */ }}void delay (void){unsigned int j = 0x00;unsigned int k = 0x00;for (k=0; k<2; ++k){for (j=0; j<=30000; ++j){_nop_( );_nop_( );_nop_( );_nop_( );_nop_( );_nop_( );_nop_( );_nop_( );}}}S T C M C UL i m it e d.void Normal_Work_Flashing (void){Normal_Work_Flashing_LED = 0;delay ( );Normal_Work_Flashing_LED = ;delay ( );};通过外部中断从掉电模式唤醒单片机(汇编语言);**************************************************************;Wake Up Idle and Wake Up Power Down;**************************************************************;/* --- STC MCU Limited ---------------- ------------------------------------------------------*/;/* --- 演示STC89xx系列单片机由外部中断唤醒掉电模式 ----------------------------*/;/* --- Mobile: (86) 392280999 --------------------------------------------------------------*/;/* --- Fax: 86-755-82905966 ------------------------------------------------------------------*/;/* --- Tel: 86-755-829484 2 -------------------------------------------------------------------*/;/* --- Web: --------------------------------------------------------------*/;/*如果要在程序中使用�在文章中引用该程序 ---------------------------------------- */;/*请在程序中�文章中注明使用了STC的资料及程序 ---------------------------*/;/*----------------------------------------------------------------------------------------------------*/ORG 0000HAJMP MAINORG 0003Hint0_interrupt:CLR P .7 ;open P .7 LED indicatorACALL delay ;delay in order to observeCLR EA ;clear global enable bit, stop all interruptsRETIORG 00 3Hint _interrupt:CLR P .6 ;open P .6 LED indicatorACALL delay ;;delay in order to observeCLR EA ;clear global enable bit, stop all interruptsRETIORG 0 00Hdelay:CLR AMOV R0, AMOV R , AMOV R2, #02S T C M C UL i m it e d.main:MOV R3, #0 ;P LED increment mode changed;start to run programmain_loop:MOV A, R3CPL AMOV P , AACALL delayINC R3MOV A, R3SUBB A, # 8HJC main_loopMOV P , #0FFH ;close all LED, MCU go into power-down modeCLR IT0 ;low electrical level trigger external interrupt 0 ; SETB IT0 ;negative edge trigger external interrupt 0SETB EX0 ;enable external interrupt 0CLR IT ;low electrical level trigger external interrupt ; SETB IT ;negative edge trigger external interruptSETB EX ;enable external interruptSETB EA ;set the global enable;if don't so, power-down mode cannot be wake up ;MCU will go into idle mode or power-down mode after the following instructionsMOV A, PCON ;Set PD bit, power-down mode (PD = PCON. )ORL A, #02HMOV PCON, A; NOP; MOV PCON, #0000000 B ;Set IDL bit, idle mode (IDL = PCON.0)MOV P , #0DFH ; 0 ,NOPNOPNOPWAIT :SJMP $ ;dynamically stopENDSC UL i mi t e d .2.2.复位STC89C5 RC/RD+系列单片机有4种复位方式:外部RST 引脚复位,软件复位,掉电复位/上电复位,看门狗复位�2.2.1 外部RST 引�复位外部RST 引脚复位就是从外部向RST 引脚施加一定宽度的复位脉冲,从而实现单片机的复位�将RST复位管脚拉高并维持至少24个时钟加10us后,单片机会�入复位状态,将RST 复位管脚拉回低电平后,单片机结束复位状态并从用户程序区的0000H处开始正常工作�2.2.2 软件复位用户应用程序在运行过程当中,有时会有特殊需求,需要实现单片机系统软复位(热启动之一),传统的8051单片机由于硬件上未支持此功能,用户必须用软件模拟实现,实现起�较麻烦�现STC 新�出的增强型805 根据客户要求增加了ISP_CONTR 特殊功能寄存器,实现了此功能�用户只需简单的控制ISP_CONTR 特殊功能寄存器的其中两位SWBS/SWRST 就可�系统复位了��ISPEN :ISP/IAP 功能允许位�0:禁止ISP/IAP 读/写/擦除Data Flash/EEPROM � 1:允许ISP/IAP 读/写/擦除Data Flash/EEPROM �SWBS : 软件选�从用户应用程序区启动(0),还是从ISP 程序区启动( )�要与SWRST 直接配合 �可�实现SWRST : 0: 不操作� : 产生软件系统复位,硬件自动清零�;从用户应用程序区(AP区)软件复位并切换到用户应用程序区(AP区)开始执行程序MOV �SP_CONTR, #00100000B ;SWBS = 0(选�AP区), SWRST = 1(软复位);从系统�SP监控程序区软件复位并切换到用户应用程序区(AP区)开始执行程序MOV �SP_CONTR, #00100000B ;SWBS = 0(选�AP区), SWRST = 1(软复位);从用户应用程序区(AP区)软件复位并切换到系统�SP监控程序区开始执行程序MOV �SP_CONTR, #01100000B ;SWBS = 1(选��SP区), SWRST = 1(软复位);从系统�SP监控程序区软件复位并切换到系统�SP监控程序区开始执行程序MOV �SP_CONTR, #01100000B ;SWBS = 1(选��SP区), SWRST = 1(软复位)本复位是整个系统复位,所有的特殊功能寄存器都会复位到初始值,I/O 口也会初始化。
STC89C51单片机介绍

资料多 郭天祥视频选用STC89C51型号 本学院大部分同学研究51单片机时以 STC89C51为基础
VCC,GND XTAL1:内部振荡电路反相放大器输入端,使用外部 晶体是连接晶体,使用外部振荡源时接地 XTAL2:与XTAL1不同是输出端 ALE/PROG:地址锁存信号输出引脚 PSEN:外部程序程序存储器读选通引脚 RST/VDD:复位信号引脚 EA/VPP:高电平,程序从外部程序存储器开始执行; 低电平从内存开始
IO引脚:P0,P1,P2和P3,其中P2P0组成了16位数据总线,P2位 高位,P0还可以复用为8位数据总线,P0,P1,P2可做普通IO口, P3具有第3功能 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外部读控制
Leabharlann 何为I/O口
I: 输入(input) 输入高低电平 O:输出(output) 输出高低电平
IO口是单片机最为重要的控制端口,是单片机实 现功能的基础,有输入输出的电流限制。输入 电流过大会烧坏管脚
stc889c51单片机结构

STC89C51单片机结构一. 概述单片机是一种特殊用途的微型计算机,广泛应用于嵌入式系统中。
STC89C51单片机是由深圳市国科微电子公司生产的一种高性能、低功耗的单片机,它具有较强的数据处理能力和丰富的外设功能,被广泛应用于各种电子设备中。
二. 结构概述STC89C51单片机的结构包括三个主要部分:CPU、存储器和外设。
三. CPU1. 中央处理器单元(CPU)STC89C51单片机采用的是Intel公司的8051内核,工作频率可达到12MHz,它具有强大的指令集和高效的运算能力,能够快速高效地处理各种数据。
2. 时钟电路时钟电路是单片机的重要组成部分,它提供了单片机工作的时序信号和基准时钟信号。
STC89C51单片机内置了丰富的时钟电路模块,可以满足不同的应用需求。
四. 存储器1. 内部存储器STC89C51单片机内置了4KB的闪存程序存储器,用于存储用户程序和数据,同时还包含了256字节的RAM,用于临时存储数据和中间结果。
2. 外部扩展STC89C51单片机还提供了丰富的外部扩展接口,用户可以根据需要连接外部存储器设备,满足不同应用场景中的存储需求。
五. 外设1. 输入输出端口STC89C51单片机具有多个通用输入输出端口(GPIO),用于连接外部设备和传感器,实现与外部环境的数据交换和控制。
2. 串行通信接口单片机支持UART、SPI和I2C等多种串行通信接口,用户可以利用这些接口与外部设备进行数据通信。
3. 定时器/计数器STC89C51单片机内置了多个定时器/计数器模块,用户可以利用这些模块实现定时和计数功能,满足各种实时控制需求。
4. PWM输出单片机还支持PWM输出功能,可以用于控制电机、LED灯等设备。
六. 结论STC89C51单片机具有强大的数据处理能力和丰富的外设功能,是一种性能优越、灵活多样的单片机产品,适用于各种嵌入式应用场景。
通过对其结构和功能的深入了解,可以更好地发挥其优势,实现更多样化的应用目标。
STC89C51单片机实验板原理图

P20 P21 P22 P23 P24 P25 P26 P27
1 2 3 4 5 6 7 8
C
S18 INT1 P34 GND
S19 T0 P35 GND
S20 T1
Header 8X2A
Header 8X2A
Header 8X2A
Header 8X2A GND
VCC MAX232 15 C6 0.1uF 0.1uF 6 4 GND VCC 16 2 1 3 11 10 12 9 P31 P30 Bell Title Size A3 Date: File: 2009-11-9 Sheet of E:\DXP 2004\..\电协STC单片机实验板.SchDoc Drawn By: 7 8 Number Revision C8 0.1uF 0.1uF C9 0.1uF 0.1uF P24 R5 1K 1K Q5 8550 PNP 蜂鸣器 D VCC P32 1 2 3 GND 4 VCC P33 5 6 PS2-6PIN S
IrDA
PS2-6PIN
D
RT-OUT1 T-IN1 RT-OUT2 T-IN2 RR-IN1 R-OUT1 RR-IN2 R-OUT2 MAX232
1
2 Vs
HS0038A2 HS0038A2
GND
O UT
3
P33 IrDA
GND
1
2
3
4
5
6
DISPLAY N1 N2 N3 N4 A VCC
LED P16
LEDA LED1 P17
LEDB LED1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A
P25 P26 P27 P00 P01 P02 P03 P04 P05 P06 P07
stc89c51工作原理

stc89c51工作原理今天咱们来唠唠STC89C51这个超有趣的小芯片的工作原理。
STC89C51啊,就像是一个小小的智能管家,住在电路板这个小社区里。
它是一种单片机,你可以把它想象成一个超级迷你的小电脑。
这个小电脑虽然小,但是本事可不小呢!它的内部结构就像是一个精心设计的小王国。
有中央处理器(CPU)这个国王,CPU就负责指挥整个芯片的工作。
它就像一个超级聪明的大脑,不断地接收各种信息,然后做出决策。
比如说,你给它一个任务,让它控制一个小灯闪烁,CPU就得想办法来实现这个目标。
然后就是它的存储器啦。
这就像是小王国里的仓库。
有程序存储器和数据存储器。
程序存储器呢,就像是存放着各种秘籍的地方,里面装着我们写好的程序代码。
这些代码就像是一道道指令,告诉STC89C51该怎么去做事情。
而数据存储器呢,就像是一个临时的储物间,在程序运行的时候,一些临时的数据就放在这里。
比如说,我们要计算一个数字,这个数字在计算过程中的中间值就可能放在数据存储器里。
再来说说它的输入输出端口(I/O端口)。
这可太好玩了。
这些端口就像是小王国对外的窗户和门。
通过这些端口,STC89C51可以和外界进行交流。
比如说,我们可以把一个小灯连接到一个输出端口上,就像在门口挂了一个小灯笼。
然后通过程序让这个端口输出高电平或者低电平,这样就可以控制小灯的亮灭了。
如果是输入端口呢,就像是一个小耳朵,可以接收外界的信号。
比如连接一个按钮,当我们按下按钮的时候,这个输入端口就能检测到这个变化,然后告诉CPU:“老大,外面有人按按钮啦!”时钟电路对于STC89C51来说就像是心跳一样重要。
它就像一个小闹钟,不断地给芯片提供稳定的节拍。
芯片里的所有操作都是按照这个时钟节拍来进行的。
如果时钟乱了,那就像一个人的心跳乱了一样,整个芯片的工作就会变得乱七八糟。
就好比一群人跳舞,如果音乐的节奏乱了,那大家肯定就跳得乱七八糟的。
复位电路呢,就像是一个小复位按钮。
第2章 89C51单片机单片机的硬件结构

第2章 89C51单片机单片机的硬件结构第 2 章 89C51 单片机的硬件结构单片机作为一种集成电路芯片,在现代电子技术领域中扮演着至关重要的角色。
89C51 单片机更是其中应用广泛的一款,了解其硬件结构对于掌握单片机的工作原理和应用开发具有重要意义。
89C51 单片机的硬件结构主要包括中央处理器(CPU)、存储器、输入/输出(I/O)端口、定时器/计数器和中断系统等部分。
中央处理器(CPU)是单片机的核心,它负责控制和协调各个部分的工作。
89C51 的 CPU 由运算器和控制器组成。
运算器用于进行算术和逻辑运算,而控制器则根据程序指令来指挥单片机的工作流程。
存储器是单片机用于存储数据和程序的重要部件。
89C51 单片机的存储器分为程序存储器和数据存储器。
程序存储器用于存放用户编写的程序代码,通常是只读的,以保证程序的稳定性和安全性。
数据存储器则用于存储运行过程中的临时数据和结果。
在 89C51 中,程序存储器的空间可达 64KB。
这为复杂程序的存储提供了足够的空间。
而数据存储器又分为内部数据存储器和外部数据存储器。
内部数据存储器的容量较小,但访问速度快,通常用于存放频繁使用的数据。
外部数据存储器的容量可以根据需要进行扩展,以满足大量数据存储的需求。
输入/输出(I/O)端口是单片机与外部设备进行信息交换的接口。
89C51 单片机拥有四个 8 位的并行 I/O 端口,分别是 P0、P1、P2 和 P3 端口。
这些端口既可以作为输入端口,也可以作为输出端口。
通过对端口寄存器的设置,可以灵活地控制每个端口的工作模式和状态。
定时器/计数器是 89C51 单片机中的重要功能模块。
定时器用于实现定时功能,比如产生周期性的中断信号;计数器则用于对外部脉冲进行计数。
通过对定时器/计数器的设置,可以满足各种定时和计数的需求,为系统的精确控制提供了有力支持。
中断系统是单片机处理突发事件的有效手段。
当外部事件发生时,如按键按下、通信数据到达等,通过中断机制,单片机可以暂停当前正在执行的程序,转而去处理紧急事件,处理完成后再返回原来的程序继续执行。
stc89c51简介

第三章系统硬件安排之阳早格格创做3.1 STC89C51单片机的介绍STC系列单片机是好国STC公司最新推出的一种新式51内核的单片机.片内含有Flash步调保存器、SRAM、UART、SPI、A\D、PWM等模块.该器件的基原功能与一般的51单片机实足兼容.3.1.1主要功能、本能参数1.内置尺度51内核,呆板周期:巩固型为6时钟,一般型为12时钟;2.处事频次范畴:0~40MHZ,相称于一般8051的0~80MHZ;3.STC89C5xRC对于应Flash空间:4KB\8KB\15KB;4.里面保存器(RAM):512B;5.定时器\计数器:3个16位;6.通用同步通疑心(UART)1个;7.中断源:8个;8.有ISP(正在系统可编程)\IAP(正在应用可编程),无需博用编程器\仿实器;9.通用I\O心:32\36个;10.处事电压:3.8~5.5V;11.形状启拆:40足PDIP、44足PLCC战PQFP等3.1.2 89C51单片机的引足功能证明(1)VCC:电源电压(2)GND:天(3)P0心:P0心是一组8位漏极启路型单背I/O心,也即天点/数据总线复用心.动做输出心用时,每位能吸支电流的办法启动8个TTL逻辑门电路,对于端心P0写“1”时可动做下阻抗输进端用.正在考察中部数据保存器或者步调保存器时,那组心线分时变换天点(矮8位)战数据总线复位,正在考察功夫激活里面上推电阻.(4)P1心:P1是一个戴里面上推电阻的8位单背I/O心,P1的输出慢冲级可启动(吸支或者输出电流)4个TTE逻辑门电路.对于端心写“1”,通过里面的上推电阻把端心推到下电仄,此时可做输出心.做输出心使用时,果为里面存留上推电阻,某个引足被中部旗号推矮时会输出一个电流(ILL).与AT89C51分歧之处是,P1.0战P1.1还可分别动做定时/计数器2的中部计数输进(P 1.0/T2)战输进(P 1.1/T2EX ),拜睹表41.Flash编程战步调校验功夫,P1交支矮8位天点.表31 P1.0战P1.1的第二功能(5)P2心:P2是一个戴有里面上推电阻的8位单背I/O心,P2的输出慢冲级可启动(吸支或者输出电流)4个TTL逻辑门电路.对于端心P2写“1”,通过里面的上推电阻把端心推到下电仄,此时可做输出心,做输出心使用时,果为里面存留上推电阻,某个引足被中部旗号推矮时会输出一个电流(ILL).正在考察中部步调保存器或者16位天点的中部数据保存器(比圆实止MOVX @DPTR指令)时,P2心支出下8位天点数据.正在考察8位天点的中部数据保存器(如实止MOVX @RI 指令)时,P2心输出P2锁存器的实质.(6)P3心:P3心是一组戴有里面上推电阻的8位单背I/O 心.P3心输出慢冲级可启动(吸支或者输出电流)4个TTL逻辑门电路.对于P3心写进“1”时,它们被里面上推电阻推下并可动做输进端心.此时,被中部推矮的P3心将用上推电阻输出电流(ILL).P3心除了动做普遍的I/O心线中,更要害的用途是它的第二功能,如表42所示.(7) RST:复位输进.当振荡器处事时,RST引足出现二个呆板周期以上下电仄将使单片机复位.表32 P3心的第二功能端心引足第二功能RXD(串止输出心)TXD(串止输出心)(中中断0)(中中断1)T0(定时/计数0)T1(定时/计数1)(中部数据保存器写选通)(中部数据保存器读选通)(8)/VPP:中部考察允许.欲使CPU仅考察中部步调保存器(天点为0000HFFFFH ) .端必须脆持矮电仄(交天).需注意的是:如果加稀位LB1被编程,复位时里面会锁存端状态.如端为下电仄(交VCC端),CPU则实止里面步调保存器中的指令.Flash保存器编程时,该引足加上+12V的编程允许电源VPP,天然那必须是该器件是使用12V编程电压VCC .(9)XTAL1:振荡器反相搁大器的及里面时钟爆收器的输进端.(10)XTAL2:振荡器反相搁大器的输出端.(11)数据保存器:89C51有256个字节的里面RAM,80HFFH下128个字节与特殊功能寄存器(SFR)天点是沉叠的,也便是下128.字节的RAM战特殊功能寄存器的天点是相共的,但是正在物理上它们是分启的.当一条指令考察7FH以上的里面天点单元时,指令中使用的觅址办法是分歧的,也即觅址办法决断是考察下128字节. RAM仍旧考察特殊功能寄存器.如果指令是曲交觅址办法则为考察特殊功能寄存器.(12)中断:89C51公有6其中断背量:二其中中断(INT0战INT1),3个定时器中断(定时器0, 1, 2)战串止心中断.(13)时钟振荡器:89C51中有一个用于形成里面振荡器的下删益反相搁大器,引足XTAL1战XTAL2分别是该搁大器的输进端战输出端.那个搁大器与动做反馈元件的片中石英晶体或者陶瓷谐振器所有形成自激振荡器,振荡电路拜睹图31(a)图所示.中交石英晶体(或者陶瓷谐振器)及电容C1、C2交正在搁大器的反馈回路中形成并联振荡电路,对于中交电容C1、C2虽然不格中庄重的央供,但是电容容量的大小会沉微做用振荡频次的下矮、振荡器处事的宁静性、起振的易易程度及温度宁静性,如果使用石英晶体,咱们推荐电容使用30pF士10pF,而如果使用陶瓷谐振器,修议采用40pF士l0pF.用户也不妨采与中部时钟.采与中部时钟的电路如图31(b)图所示.那种情况下,中部时钟脉冲交到XTAL1端,即里面时钟爆收器的输进端,XTAL2则悬空. (a)里面振荡电路(b)中部振荡电路图31 振荡电路由于中部时钟旗号是通过一个2分频触收器后动做里面时钟旗号的,所以对于中部时钟旗号的占空比不特殊央供,但是最小下电仄持绝时间战最大的矮电仄持绝时间应切合产品技能条件的央供.。
教学课件第2章89C51单片机硬件结构和原理

当ROM容量不够时,尽量选择高容量存储器空间的单片机,如 89C52、89C54、89C58等,应避免外扩程序存储器,因为会增加 硬件负担。
程序存储器
FFFFH
(64K)
0FFFH (4K)
0000H
内部
EA=1
外部
EA=0 0000H
0FFFH (4K)
1
28
2
27
EPROM
3
26
4
25
5
24
6
23
7
22
8
21
9
20
10 2764 19
11
18
12
17
13
16
14
15
1
28
2
27
EPROM
3
26
4
25
5
24
6
23
7
22
8
21
9
20
10 2764 19
11
18
12
17
13
16
14
15
64K
3. 程序存储器
通过16位PC寻址,最大可寻址64kB地址空间
程序存储器资源分布
4. 数据存储器
片内、片外分开编址
如何区分0000-00FFH的地址空间是片内RAM还 是片外RAM?
片内RAM:
• 低128B片内RAM ① 高128B片内RAM
0000-007FH 0080-00FFH
SFR:特殊功能寄存器区
PSW位地址
数据存储器
FFFFH
CY AC F0 RS1 RS0 OV F1 P
STC89C51单片机硬件结构和原理

逻辑运算 -- 与、或、非、异或、求补、移位
TMP1,TMP2 – 8位暂存器
ACC – 8位累加器
累加器ACC经常作为一个操作数经TMP2进入ALU,与 来自TMP1的另一个操作数进行运算,结果存入ACC中
作为89C51内部数据传送的中间寄存器
19
VSS
20
40
VCC
39
P0.0
32
31
89C51 30
29 28
P0.7
EA/Vpp ALE / PROG PSEN P2.7
21
P2.0
1. 电源 VCC:电源端,+5V VSS:接地,GND
2. 外接晶体引脚XTAL1和XTAL2
XTAL1:片内振荡器反向放大器输入端,接外部晶体振荡 器一个脚;由外部输入时钟信号时,该脚接地
大部分指令中用注记符A表示,进出堆栈指令时用注记 符ACC表示
B -- 8位寄存器
如图2-2
乘除运算指令中存放一个操作数,操作结束时存放一 部分结果
乘除指令运算之外时可作通用寄存器
PSW -- 程序状态字寄存器
指示指令执行后的状态信息
PSW各位单元可供程序查询和判别
布尔处理器
图2-3
89C51
89C51
89C51
图2-3
ALE / /PROG —— 地址锁存控制端 提供1/6 fosc振荡频率;为其内的Flash ROM输入编程脉冲 /PSEN —— 外部程序存储器的读选通信号端
EA / Vpp —— 内/外ROM选择端
EA = 1 时,访问内部程序存储器,即内ROM EA = 0 时,只访问外部程序存储器,即外ROM
(完整版)STC89C51

3。
1 STC89C51单片机的介绍STC系列单片机是美国STC公司最新推出的一种新型51内核的单片机。
片内含有Flash程序存储器、SRAM、UART、SPI、A\D、PWM等模块。
该器件的基本功能与普通的51单片机完全兼容。
3.1.1主要功能、性能参数1。
内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;2.工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;3.STC89C5xRC对应Flash空间:4KB\8KB\15KB;4。
内部存储器(RAM):512B;5。
定时器\计数器:3个16位;6。
通用异步通信口(UART)1个;7.中断源:8个;8.有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;9。
通用I\O口:32\36个;10.工作电压:3.8~5.5V;11。
外形封装:40脚PDIP、44脚PLCC和PQFP等3。
1。
2 89C51单片机的引脚功能说明(1)VCC:电源电压(2)GND:地(3) P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时可作为高阻抗输入端用.在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复位,在访问期间激活内部上拉电阻。
(4)P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTE 逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL).与AT89C51不同之处是,P1.0和P1。
1还可分别作为定时/计数器2的外部计数输入(P 1.0/T2)和输入(P 1。
1/T2EX ),参见表4—1。
Flash编程和程序校验期间,P1接收低8位地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全双工增强型 UART
定时器0 定时器1
定时器2
振荡器
看门狗定时器
51系列单片机结构框图
1. 电源引脚
VSS(20脚):接地,0V参考点。 VCC(40脚):电源,提供掉电、空闲、正常工作
2.外接晶体引脚
XTAL1(19脚):接外部晶体的一端,振荡反向放大器 的输入端和内部时钟电路输入端。 XTAL2(18脚):接外部晶体的另一端,振荡反向放大 器的输出端。
2.利用 keil c软件编写程序 #include <reg51.h> #include <stdio.h> unsigned int temp1; void delay(unsigned int temp)//延时程序 { while(--temp); }
void main() { P2=0XFF;//led is off while(1) { P2=0XFE; temp1=35000; delay(temp1); P2=0XFD; temp1=35000; delay(temp1); P2=0XFB; temp1=35000; delay(temp1); P2=0XF7; temp1=35000; delay(temp1);
零),还可算术运算(加、减、乘、除)
12
ALU还有位操作功能,对位变量进行位处理,如置“1”、 清“0”、求补、测试转移及逻辑“与”、“或”等。 2.累加器A
P2=0XEF; temp1=35000; delay(temp1); P2=0XDF; temp1=35000; delay(temp1); P2=0XBF; temp1=35000; delay(temp1); P2=0X7F; temp1=35000; delay(temp1);
} }
3.利用 keil c软件将C语言转化成HEX文件 4.将HEX文件添加到Proteus7软件中,进行仿真
输入/输出引脚
• P0 口( P0.0-P0.7 , 32-39 脚):是双向 8 位三态 I/O 口。可向 其写入1 使其状态为悬浮,用作高阻输入。P0口也可以在访 问外部程序存储器时作地址的低字节,在访问外部数据存储 器时作数据总线,此时通过内部强上拉传送1。 • P1口(P1.0-P1.7,1-8脚):是带内部上拉的双向I/O口。向 P1口写入1时,P1口被内部上拉为高电平,可用作输入口; 当作为输入脚时,被外部拉低的P1口会因为内部上拉而输出 电流。 • P2口(P2.0-P2.7,21-28脚):是带内部上拉的双向I/O口。 向P2口写入1时,P2口被内部上拉为高电平,可用作输入口。 当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出 电流。在访问外部程序存储器和外部数据时分别作为地址高 位字节和 16 位地址,此时通过内部强上拉传送 1。当使用 8 位寻址方式访问外部数据存储器时,P2口发送P2 特殊功能寄 存器的内容。
3. 控制信号或与其它电源复用引脚
控制信号或与其它电源复用引脚有 RST/VPD、 ALE / PROG.、PSEN 和 EA / VPP 等4种形式。
• RST ( 9 脚):复位端。当晶体在运行时,只要此引脚上出 现2个机器周期高电平即可复位,内部有扩散电阻连接到Vss, 仅需要外接一个电容到Vcc即可实现上电复位。 • ALE(30脚):地址锁存使能。在访问外部存储器时,输出 脉冲锁存地址的低字节,在正常情况下,ALE输出信号恒定 为1/6振荡频率。并可用作外部时钟或定时,注意每次访问外 部数据时,一个ALE脉冲将被忽略。 • PSEN ( 29 脚):程序存储使能。读外部程序存储。当从外 部读取程序时, PSEN 每个机器周期被激活两次,在访问外 部数据存储器时PSEN无效,访问内部程序存储器时 PSEN无 效。 • EA/Vpp(31脚):外部寻址使能 /编程电压。在访问整个外 部程序存储器时,EA必须外部置低。如果EA为高时,将执 行内部程序。当RST释放后EA脚的值被锁存,任何时序的改 变都将无效。该引脚在对 FLASH 编程时用于输入编程电压 (Vpp)。
P3 口( P3.0-P3.7 , 10-17 脚) :是带内部上拉的双向 I/O
口。向P3 口写入1时,P3 口被内部上拉为高电平, 可用作输入口。当作为输入脚时,被外部拉低的 P3 口会因为内部上拉而输出电流。 P3 口脚具有第二功 能,表2-2介绍了P3口的第二功能。
口线 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 第二功能 RxD TxD INT0 INT1 T0 T1 类型 I 0 I I I I 名 称 串行输入口 串行输出口 外部中断0 外部中断1 定时器0 外部输入 定时器1 外部输入
思考:单片机如何使用?
2.2 STC89C51系列单片机的内部结构
增强的80C51 CPU 12时钟模式,6时钟模式
512B/1280B 数据RAM 端口3 可配置的I/O口 端口2 可配置的I/O口 端口1 可配置的I/O口 端口0 可配置的I/O口 晶体 或 谐振器
4K / 8 K/ ... 64KB 程序FLASH
P3.6
P3.7
WR
RD
Oห้องสมุดไป่ตู้
O
外部数据存储器写信号
外部数据存储器读信号
2.3
STC89C51的系列单片机的主要组成部分
该系列单片机由中央处理器(CPU)、存储器和I/O接口三 大部分组成。 其中CPU包括运算器和控制器两大部分。 2.3.1 运算器
对操作数进行算术、逻辑和位操作运算。主要包括算术
逻辑运算单元ALU、累加器A、位处理器、程序状态字寄存 器PSW及两个暂存器等。 1.算术逻辑运算单元ALU 可对8位变量逻辑运算(与、或、异或、循环、求补和清
第二章 STC89C51系列单片机的结构和原理
2.1 STC89C51如何控制流水灯 2.2 STC89C51系列单片机的内部结构 2.3 STC89C51系列单片机的主要组成部分 2.4 单片机的复位电路 2.5 单片机最小系统
2.1 STC89C51如何控制流水灯
任务:使用单片机控制发光管按一定顺序亮 1.利用Proteus7连接电路图