STC89C51单片机硬件结构和原理
C51单片机硬件结构和原理

2021/3/4
共103
----- 程序计数器
14
② 堆栈指针SP
堆栈指针(Stack Pointer,SP) 是指在片内RAM的l28B(52子 系列为256B)空间中开辟的堆 栈区的栈顶地址,并随时跟踪 栈顶地址变化。
堆栈是按先进后出的原则存取 数据的,开机复位后,单片机 栈底地址为07H。
2021/3/4
2021/3/4
共103
----寄存器
12
2) 控制器
控制器是CPU的大 脑中枢,它包括:
定时控制逻辑 指令寄存器 数据指针(DPTR) 程序计数器(PC) 地址寄存器 地址缓冲器 堆栈指针(SP)
2021/3/4
共103
-----控制器的组成
13
① 程序计数器PC
程序计数器(Program Counter,PC)用来存放下 一条要执行的指令的地址。 当按照PC所指的地址从存 储器中取出一条指令后, PC会自动加l,即指向下一 条指令。
共103
----- 堆栈指针
15
---- 指令寄存与译码
③ 指令寄存器IR和指令译码器ID
指令寄存器和指令译码器(Inst的指令进行存储和译码。
由PC中的内容制定Flash ROM地址,取出的指令经指令寄存 器后送指令译码器,由译码器对该指令进行译码。 即把指令变成所需的电平信号,CPU根据译码输出的电平信 号,使定时控制电路产生执行该指令所需的各种控制信号, 以便计算机能正确地执行指令所要求的操作。
CPU时序和复位电路。
2021/3/4
共103
2
2.1 89C51单片机芯片内部结构及特点
2.1.1 89C51单片机的基本组成
外部时钟源
51单片机结构功能

51单片机结构功能51单片机是指基于Intel的8051微处理器为核心的单片机,其结构功能丰富,被广泛应用于各种嵌入式系统。
一、结构51单片机采用冯·诺依曼结构,具有指令存储器和数据存储器,其中程序存储器(ROM)用于存储程序和表格数据,而数据存储器(RAM)用于存储可变数据。
51单片机还具有特殊功能寄存器(SFR),这些寄存器专门用于控制和设置单片机的各种功能。
二、功能1、运算功能:51单片机具有8位运算器,可以进行算术、逻辑和位运算。
2、控制功能:51单片机具有丰富的控制指令,可以实现如条件转移、跳转、中断等功能,还可以进行定时器和计数器的控制。
3、通信功能:51单片机可以通过串行口实现串行通信,也可以通过并行口实现并行通信。
4、存储功能:51单片机内部具有少量的RAM和ROM存储器,同时还可以外接扩展存储器。
5、定时/计数功能:51单片机内部具有定时器和计数器,可以实现定时和计数的功能。
6、中断功能:51单片机具有多个中断源,可以实现多级中断控制。
7、输入/输出功能:51单片机具有多个输入/输出端口,可以实现多种输入/输出控制。
51单片机以其结构紧凑、功能丰富、易于使用等特点,被广泛应用于工业控制、智能家居、消费电子等领域。
C51单片机寄存器功能湖山网络广播系统设计方案一、概述随着科技的发展和数字化的普及,网络广播系统在各种场所扮演着越来越重要的角色。
湖山网络广播系统设计方案旨在满足湖山地区对高质量、高效的网络广播系统的需求。
该方案旨在构建一个稳定、可靠、易用的网络广播系统,以满足湖山地区在公共广播、紧急通知、日常资讯等方面的需求。
二、系统需求分析1、稳定性:系统应具备高度的稳定性,能够保证长时间的连续运行,避免因设备故障或网络问题导致的广播中断。
2、可靠性:系统应具备可靠的备份机制,确保在主设备出现问题时,备份设备能够迅速接管,保证广播的连续性。
3、易用性:系统应具备良好的用户界面,操作简单易懂,方便管理员进行配置和管理。
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芯片资料

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中)来执行程序。
51单片机电子时钟课程设计

一、设计要求1、准确计时,以数字形式显示时、分、秒地时间.2、小时以24小时计时形式,分秒计时为60进位.3、校正时间功能,即能随意设定走时时间.4、闹钟功能,一旦走时到该时间,能以声或光地形式告警提示.5、设计5V直流电源,系统时钟电路、复位电路.6、能指示秒节奏,即秒提示.7、可采用交直流供电电源,且能自动切换.二、设计方案和论证本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂地线路,使得电路简明易懂,使用键盘键上地按键来调整时钟地时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求. 2.1、总设计原理框图如下图所示:2.2、设计方案地选择1.计时方案方案1:采用实时时钟芯片现在市场上有很多实时时钟集成电路,如DS1287、DS12887、DS1302等.这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据地更新每秒自动进行一次,不需要程序干预.因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能.方案2:使用单片机内部地可编程定时器.利用单片机内部地定时计数器进行中端定时,配合软件延时实现时、分、秒地计时.该方案节省硬件成本,但程序设计较为复杂.2.显示方案对于实时时钟而言,显示显然是另一个重要地环节.通常LED显示有两种方式:动态显示和静态显示.静态显示地优点是程序简单、显示亮度有保证、单片机CPU地开销小,节约CPU地工作时间.但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂.需要几个LED就必须占有几个并行口,比较适用于LED数量较少地场合.当然当LED数量较多地时候,可以使用单片机地串行口通过移位寄存器地方式加以解决,但程序编写比较麻烦.LED动态显示硬件连接简单,但动态扫描地显示方式需要占有CPU较多地时间,在单片机没有太多实时测控任务地情况下可以采用.本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式.2.3硬件部分1、STC89C51单片机介绍STC89C51单片机是由深圳宏晶公司代理销售地一款MCU,是由美国设计生产地一种低电压、高性能CMOS 8位单片机,片内含8kbytes地可反复写地FlashROM和128bytes地RAM,2个16位定时计数器[5].STC89C51单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等.这些部件通过内部总线联接起来,构成一个完整地微型计算机.其管脚图如图所示.STC89C51单片机管脚结构图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).2、上电按钮复位电路本设计采用上电按钮复位电路:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,单片机芯片正常工作.其中电阻R2决定了电容充电地时间,R2越大则充电时间长,复位信号从VCC回落到0V地时间也长.3、晶振电路本设计晶振电路采用12M地晶振.晶振地作用是给单片机正常工作提供稳定地时钟信号.单片机地晶振并不是只能用12M,只要不超过20M就行,在准许地范围内,晶振越大,单片机运行越快,还有用12M地就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12M地话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接地是30pF地电容.机器周期=10*晶振周期=12*系统时钟周期4.下载端口设计用到地STC89C52单片机芯片地ISP下载线是通过单片机地TXD,RXD引脚把程序烧进去地.管脚TXD和RXD用于异步串行通信.其实STC89C52单片机地ISP下载线就是一个max232芯片连接STC和计算机地串行通信口.计算机把程序从九针串口送到max232芯片,电平转换后送进单片机地串行口,也就是TXD和RXD.然后单片机地串行模块把数据送到程序区.5、显示电路就时钟而言,通常可采用液晶显示或数码管显示.由于一般地段式液晶屏,需要专门地驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口地液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器地接口要求较高,占用资源多.另外,89C2051本身无专门地液晶驱动接口,因此,本时钟采用数码管显示方式.数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门地时钟显示组合数码管.对于实时时钟而言,显示显然是另一个重要地环节.通常LED显示有两种方式:动态显示和静态显示.静态显示地优点是程序简单、显示亮度有保证、单片机CPU地开销小,节约CPU地工作时间.但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂.需要几个LED就必须占有几个并行口,比较适用于LED数量较少地场合.当然当LED数量较多地时候,可以使用单片机地串行口通过移位寄存器地方式加以解决,但程序编写比较麻烦.LED动态显示硬件连接简单,但动态扫描地显示方式需要占有CPU较多地时间,在单片机没有太多实时测控任务地情况下可以采用.本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式.6、时钟显示校正电路本设计利用按键开关来校正时钟显示地数字.当按钮按下时,将在相应地端口输入一个低电平,通过相应地程序来改变时钟显示.其中S1按键开关用来选择要修改地数字;S2按键用来增加所选数字地数值;S3按键用来减少所选数字地数值.7、蜂鸣器电路电路接法:三极管选定PNP型,基极B连接5V电压,发射极E连接一个1K左右地电阻后接I/O口,集电极C连接蜂鸣器后接地.单片机在复位后地个I/O口是高电平,此时三极管是截止地,编写程序使选定地I/O为低电平,此时三极管导通,导通后蜂鸣器与电源正极连通,构成一个工作回路,从而发出滴滴地响声.其中电阻R1在电路里起分压限流地作用,PNP三极管起到模拟开关地作用.8、外接电源电路外接电源电路用于连接外部5V电源与电子时钟电路,通过自锁开关控制电路地导通与断开,当开关闭合时,电路导通,外部电源给电路正常供电,电子时钟正常工作.当开关断开时,电路停止工作.9、总电路原理图(五)软件部分根据上述电子时钟地工作流程,软件设计可分为以下几个功能模块:(1)主程序模块.主程序主要用于系统初始化:设置计时缓冲区地位置及初值,设置8155地工作方式、定时器地工作方式和计数初值等参数.主程序流程如下图所示.开始定义堆栈区8155、T0、数据缓冲区、标志位初始化调用键盘扫描程序否是C/R键?地址指针指向计时缓冲区主程序流程图(2)计时模块.即定时器0中断子程序,完成刷新计时缓冲区地功能.系统使用6MHz地晶振,假设定时器0工作在方式1,则定时器地最大定时时间为65.536ms,这个值远远小于1s.因此本系统采用定时器与软件循环相结合地定时方法.设定时器0工作在方式1,每隔50ms溢出中断一次,则循环中断20次延时时间是1s,上述过程重复60次为1分,分计时60次为1小时,小时计时24次则时间重新回到00:00:00.因定时器0工作在方式1,则50ms定时对应地定时器初值为:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H.但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数.因此,为了确保T0能准确定时50ms,重装地定时器初值必须加以修正,修正地定时器初值必须考虑到从原定时器初值中扣除计数器多计地脉冲个数.由于定时器计数脉冲地周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用地机器周期数.CPU响应中断通常要3~8个机器周期.经过测试,定时器0重装地计数初值设为9E5FH~9E67H,可以满足精度要求.另外,MCS-51单片机只有二进制加法指令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换.计时模块流程图如下图所示.计时模块流程图(3)时间设置模块.该模块由键盘输入相应地数据来设置当前时间.程序通过调用一个键盘设置子程序通过键盘扫描将键入地6位时间值送入显示缓冲区.设置时间后,时钟要从这个时间开始计时,而时分秒单元各占一个字节,键盘占6个字节.因此程序中要调用一个合字子程序将显示缓冲区中地6位BCD码合并为3位压缩BCD码,并送入计时缓冲区,作为当前计时起始时间.该程序同时要检测输入时间值地合法性,若键盘输入地小时值大于23,分、秒值大于59,则不合法,将取消本次设置,清零重新开始计时.时间设置和键盘设置子程序地流程图如下图所示.时间设置流程图键盘设置子程序流程图(4)显示模块.该模块完成时分秒6位LED地动态显示.因为显示为6位,二计时是3个字节单元,为此,必须将3字节计时缓冲区中地时分秒压缩BCD码拆分为6字节BCD码,并送入显示缓冲区中.当按下调整时间键后,在6位设置完成之前,这6个LED应该显示键人地数据,不显示当前地时间.为此,我们设置了一个计时显示允许标志位F0,在时间设置期间F0=1,不调用刷新显示缓冲区地子程序.显示程序流程图如下图所示.保护现场是显示程序流程图键盘扫描程序流程图程序:ORG 0000H AJMP MAIN ORG 000BH AJMP TIME ORG 0300H MAIN:mov 20h,#00h MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV IP,#02H 。
STC系列单片机的结构与原理.ppt

10
STC系列单片机的主要性能
• (10)具有2-3个频率可设置的时钟输出口。 • (11)有2-5个引脚可设置成外部中断。 • (12)有2-4个可编程计数器 (Programmable Counter Array,PCA) 阵列,并可选择成脉宽调制PWM输出功能。 • (13)8路A/D转换,转换速度可达4µs。 • (14)全双工异步串行口UART,可实现与 外部设备之间的串行通信。
单片机的控制 中心
用来对指令 用于存放从 代码进行分 程序存储器 析、译码, 中读出的指 根据指令译 令代码,作 码的结果, 为指令译码 输出相应的 5 器的输入锁 控制信号 存器
2.1 51内核单片机的内部基本结构简介
• • • • • • • • • 传统51内核单片机所具有的内部资源: 8位CPU; 程序存储器; 数据存储器; 特殊功能寄存器; 2个16位定时/计数器; 1个全双工异步串行口; 4个8位并行I/O口 5个中断源、2级优先级的中断系统
14
2.3 STC12C5A60S2单片机管脚功能
P1 口 其 他 功 能
引脚 P1.0 P1.2 符号 CLKOUTLeabharlann 功能 独立波特率发生器的时钟输出引脚
RxD2 ECI
TxD2
串行口2数据接收端 PCA计数器外部脉冲输入端
串行口2数据发送端 PCA模块0的外部捕获触发信号输入、脉 冲输出及PWM输出 SPI同步串行接口的从机选择信号端
2.3 STC12C5A60S2单片机管脚功能
• (3)P2口 • 可作为通用I/O口,访问外部扩展电路或数 据存储器时,可作为地址总线的高8位 。 • (4)P3口 • 除作为标准I/O口使用外,还具有其他功能。
第2章89C51单片机硬件结构和原理1

----51单片机内部主要器件
5
1. 中央处理器(CPU)
单片机的核心部分是CPU,由运算 器、控制器和布尔(位)处理器组成。
00:08
6
1) 运算器
-----运算器的组成
运算器是用于对数据进行算术运算和逻辑操作的执行部件, 以算术逻辑单元(ALU)为核心,包括累加器(ACC)、程序状 态字(PSW)、暂存器、B寄存器等部件。
标用 志户 位自
定 义
组工 选作 择寄 位存
器
溢 出 标 志 位
00:08
奇 偶 校 验 标 志 位
10
-----片内四组工作寄存器的选择
RS1、RS0与片内工作寄存器组的对应关系
00:08
11
④ B寄存器
在进行乘法、除 法运算时,B寄存 器作为ALU的输入 之一,与ACC配合 完成运算,并存 放运算结果。在 无乘除运算时, 它可作为内部RAM 的一个单元。
00:08
4
2.1.2 单片机的内部结构
一个8位CPU; 4 KB程序存储器; 256B通用数据存储器和特 殊功能寄存器; 4个8位并行口,其中P0、P2、 P3是复用口(P0和P2为地址/ 数据线,可寻址64 KB ROM和 64 KB RAM); 一个可编程全双工串行口; 具有5个中断源,两个优先 级嵌套结构; 两个16位定时/计数器; 一个片内振荡器与时钟电路。
控制
可编程I/O 并行口
可编程全双工 串行口
串行通信
3 返回
8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 24MHz 片内有 256字节 RAM 片内有 4K字节 程序存储器ROM 可寻址片外 64K字节 数据存储器RAM 可寻址片外 64K字节 程序存储器ROM 4个8位 的并行I/O口(PIO) 1个 全双工串行口(UART) 2个16位 定时器/计数器(TIMER/COUNTER) 5个中断源,两级中断优先级 1个布尔处理器和1个布尔累加器(Cy)
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 口也会初始化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
逻辑运算 -- 与、或、非、异或、求补、移位
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
89C51片内程序存储器容量为4KB,地址从0000H开始, 用于存放程序和表格常数。
(2)数据存储器(RAM) 89C51片内数据存储器为128字节,地址为00H-7FH,用 于存放运算的中间结果、数据暂存以及数据缓冲。
3、I/O接口 89C51有4个与外部交换信息的8位并行接口,即P0-P3。 有一个可编程的全双工串行口(UART)
பைடு நூலகம்
§2.2 89C51单片机引脚及其功能
89C51/LV51单片
P1.0
1
机外部引脚
P1.7
8
封装形式,见右
RST
9
图:
P3.0/RXD 10
P3.1/TXD 11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.5/T1
15
P3.6/WR
16
P3.7/RD
17
XTAL 2
18
XTAL1
图2-1
二、89C51单片机内部结构
89C51单片机与早期Intel的8051/8751/8031芯片 的外部引脚和指令系统完全兼容,只不过用Flash ROM替代了ROM/EPROM而已。
89C51单片机内部结构如图2-2所示。
8899CC5511单单片片机机 内内部部结结构构图图
RAM地 址寄存器
用作系统总线、扩展外存、I / O接口芯片 5、串行输入/输出口 UART (二线)
串行通信、扩展I / O接口芯片 图2-1
6、两个定时器/计数器 T(16位增量可编程) 它与CPU之间各自独立工作,当它计数满时向CPU中断
7、时钟电路 fosc 分为内部振荡器、外接振荡电路
8、中断系统 五源中断、两级优先,可编程进行控制。
XTAL2:片内振荡器反向放大器输出端,接外部晶体振荡 器一个脚;外部输入时钟信号时由该脚接入
XTAL1、XTAL2外接晶体振荡器的谐振频率决定时钟电路 的振荡频率
图2-3
÷2
图2-3
3、控制或复位引脚 RST / VPD —— 当出现两个机器周期高电平时,单片机复位 。
复位后,P0 ~ P3 输出高电平;SP寄存器为07H; 其它寄存器全部清0;不影响RAM状态。 参考复位电路如下:
第二章 89C51单片机硬件结构和原理
内容提要:
§2.1 89C51单片机内部结构及特点 §2.2 89C51单片机引脚及其功能 §2.3 89C51存储器配置 §2.4 时钟电路及89C51 CPU时序 §2.5 单片机的低功耗工作方式 §2.6 输入/输出端口结构
§2.1 89C51单片机芯片内部结构及特点
在Flash ROM编程期间,该端施加编程电压
4、输入/输出引脚
PSW中的Cy — 进位标志位,专门用于处理位操作
置位、清0、位取反、位等于1转移、位等于0转移、位 等于1转移并清0
Cy与其它可寻址位之间进行传送
Cy与其它可寻址位之间进行逻辑与、逻辑或操作,结 果在Cy中
指令中用C表示Cy
(2)控制器 如图2-2 2、存储器 (1)程序存储器(Flash ROM)
一、89C51单片机的基本组成
图2-1所示位89C51带闪存(Flash ROM)单片机的基本结构
框图。
外部时钟
外部事件计数
振荡器和 时序OSC
80C51 CPU
内中断
程序存储器 4KB FlashROM
64KB总线 扩展控制器
数据存储器 256B RAM/SFR
可编程I/O
2×16位 定 时器/计数器
DPTR
OSC XTAL1 XTAL2
P1驱动器 P1.0-P1.7
P3驱动器 P3.0-P3.7
1、中央处理单元(89C51 CPU) CPU是单片机的核心,是计算机的控制和指挥中心,由运算 器和控制器等部件组成。如图2-2。
运算器
ALU—8位算术和逻辑运算
对4位(半字节)、8位(字节)、16位(双字节)操作
可编程全 双工串行口
外中断
控制
并行口
串行通信
1、中央处理单元CPU(8位) 用于数据处理、位操作(位测试、置位、复位)
2、片内4K程序存储器Falsh ROM 用于存放程序、一些原始数据和表格
3、随机存取存取器RAM(256B) 用于存放可以读/写的数据,如运算的中间结果、最终结
果以及欲显示的数据等。 4、并行输入/输出口 I / O(32线)
128B RAM
P0.0-P0.7
P2.0-P2.7
P0驱动器
P2驱动器
P0锁存器
P2锁存器 4KBROM
B寄存器 暂存器1 暂存器2
ACC SP
程序地址 寄存器
缓冲器
PSEN ALE EA RET
定指指 时令令 控译寄 制码存
器器
ALU 中断、串行口和定时器
PSW
P1锁存器
P3锁存器
PC增1 PC