89c51单片机共有复位、程序执行、低功耗以及编程和校验等四种工作方式。
1.复位方式
(l)复位操作复位是单片机的初始化操作,其主要功能是把pc初始化为ooooh,使单片机从0000h单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。
除pc之外,复位操作还对其它一些特殊功能寄存器有影响,它们的复位状态如上表所示。
复位操作还对单片机的个别引脚信号有影响。例如在复位期间,ale和信号变为无效状态,即ale=lpsen=1。(2)复位信号及其产生
①复位信号
rst引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即两个机器周期)以上,若使用频率为6mhz的晶振,则复位信号持续时间应超过4μs才能完成复位操作;产生复位信号的电路逻辑如下图所示。
整个复位电路包括芯片内外两部分。外部电路产生的复位信号(rst)送施密特触发器,再由片内复位电路在每个机器周期的s5p2时刻对施密特触发器的输出进行采样。然后才得到内部复位操作所需要的信号。
②复位方式复位操作有上电自动复位、按键手动复位和外部脉冲复位三种方式,示于下图中。
上电自动复位是通过外部复位电路的电容充电来实现的,其电路如上图(a)所示。这样,只要电源vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。按键电平复位是通过使复位端经电阻与vcc电源接通而实现的,其电路如上图(b)所示。而按键复位电路图中的电阻电容参数适宜于6mhz晶振,能保证复位信号高电平持续时间大于2个机器周期。外部脉冲复位是由外部提供一个复位脉冲。此复位脉冲应保持宽度大于两个机器周期,如上图(c)所示。复位脉冲过后,由内部下拉电阻保证rst端的低电平。
2.程序执行方式
程序执行方式是单片机的基本工作方式。由于复位后pc=0000h,因此程序执行总是从地址0000h开始的。但一般程序并不是真正从0000h开始,为此就得在0000h开始的单元中存放一条无条件转移指令,以便跳转到实际程序的人口去执行。
3.低功耗工作方式
80c51有两种低功耗方式,即待机方式和掉电保护方式。待机方式和掉电保护方式时所涉及的硬件如上图所示。待机方式和掉电方式都是由电源控制寄存器(pcon)的有关位来控制的。电源控制寄存器(pcon)寄存器是一个逐位定义的8位寄存器,其格式如下:
其中:smod为波特率倍增位,在串行通信时使用;cf1为
通用标志位1;gf0为通用标志位0;pd为掉电方式位,pd=l,则进入掉电方式;idl为待机方式位,idl=1,则进入待机方式。要想使单片机进入待机或掉电工作方式,只要执行一条能使idl或pd位为1的指令就可以了。
(1)待机方式
④待机方式的进入如果使用指令使pcon寄存器idl位置1,则89c51即进入待机方式。这时振荡器仍然运行,并向中断逻辑、串行口和定时器/计数器电路提供时钟,但向cpu提供时钟的电路被阻断,因此cpu不能工作,而中断功能继续存在,但与cpu有关的如sp、pc、psw、acc以及全部通用寄存器都被“冻结”在原状态。
②待机方式的退出
采用中断方法退出待机方式。在待机方式下,若引入一个外中断请求信号,在单片机响应中断的同时,pcon.0位(即pd位)被硬件自动清0,单片机就退出待机方式而进入正常工作方式。在中断服务程序中只需安排一条reti指令,就可以使单片机恢复正常工作后,返回断点继续执行程序。
(2)掉电保护方式
①掉电保护方式的进入
pcon寄存器的pd位控制单片机进入掉电保护方式。当80c51单片机在检测到电源故障时,除进行信息保护外,还应把pcon.i位置“1”,使之进入掉电保护方式。此时单片机一切工作都停止,只有内部ram单元的内容被保存。
②掉电保护方式的退出89c51单片机备用电源由vcc端引入。当vcc恢复正常后,只要硬件复位信号维持l0ms,即能使单片机退出掉电保护方式。在待机和掉电方式期间引脚的状态见下表。
4.编程方式
89c51片内有4k字节的flashrom代码存储器阵列。有低电压编程和高电压编程(12v)两种模式。低电压编程状态为用户在系统中编程89c51提供了一个方便的途径,而高电压编程(12v)模式与一般常规的flash或eprom编程器兼容。
(1)闪速存储器编程方式上表列出了89c51闪速存储器的编程、校验、写锁定位及读芯片标记时的逻辑电平。89c51的存储器原码阵列在以上两种编程状态都是一个字节编程。如果flash存储器不空,整个存储器必须在片擦除状态下擦空。元的内容被保存。②掉电保护方式的退出89c51单片机备用电源由vcc端引入。当vcc恢复正常后,只要硬件复位信号维持l0ms,即能使单片机退出掉电保护方式。在待机和掉电方式期间引脚的状态见表4。
4.编程方式
89c51片内有4k字节的flashrom代码存储器阵列。有低电压编程和高电压编程(12v)两种模式。低电压编程状态为用户在系统中编程89c51提供了一个方便的途径,而高电压编程(12v)模式与一般常规的flash或eprom编程器兼容。
(1)闪速存储器编程方式上表列出了89c51闪速存储器的编程、校验、写锁定位及读芯片标记时的逻辑电平。89c51的存储器原码阵列在以上两种编程状态都是一个字节编程。如果flash存储器不空,整个存储器必须在片擦除状态下擦空。
(2)闪速存储器编程
①编程算法在编程89c51之前,地址、数据、控制信号必须按上表和上图(a)、(b)设置。编程89c51有以下步骤:(a)在地址线上输入存储器地址。(b)在数据线上输入正确数据。(c)如上图所示的、正确的控制信号组合。(d)对于高电压编程模式,将ea的反/vpp升至12v。(e)向ale/prog的反给出一个编程脉冲。字节写周期,由自己定时,一般不超过1.5ms。(f)改变地址和数据,重复(a)~(e)步,直到所有目的文件(obj文件)结束。
②数据查询(datapolling)89c51具备通过数据查询来检测写循环结束的特性。在写周期期间,若试图读取刚写入的字节,则将在p0.7引脚上得到写入数据的反码。一旦写周期完成,所有输出上将出现刚写入的真实数据,于是可以开始下轮循环。在写周期启动后,数据查询可在任何时候开始。
③准备好/忙(rdy/bsy的反)字节编程的进程也可以通过rdy/bsy输出信号检测。如上图所示,编程期间ale/pro的反升为高电平后,p3.4引脚被拉成低电平,表示bus;而当编程完成后又被拉高电平,表示ready。
④编程校验如果锁定位lb1和lb2没有被编程,代码数据可经由数据线读回,用来校验。锁定位不能直接被校验,其校验只有通过观察其特性是否被允许而间接得到证实。
⑤芯片擦除整个eprom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale/prog的反引脚处于低电平l0ms来完成。在芯片擦操作中,代码阵列全被写“1”。且在任何非空存储字节被重复编程之前,必须首先执行擦除操作。
⑥读特征字节特征字节的读取步骤和区域030h、031h、032h的标准校验步骤相似,所不同的是p3.6和p3.7必须为逻辑低电平,返回值如下所示:(030h)=1eh表示at-mel生产,(031h)=51h表示89c51,(032h)=ffh表示12v编程,(032h)=05h表示5v编程。
(3)程序锁定位的功能和编程89c51片内含有三个锁定位,但是不含密码阵列。可以不编程(u)也可以编程(p)以获得一些附加特性,如上表所示为89c51程序锁定位不同的编程状况及其特点。当第一级加密时,ea的反逻辑电压被取样并锁存。在复位期间,如果器件为上电而不是复位,锁存器内容初始化为一个随机值,直到复位操作结束。锁定位的编程方法可参照表5的逻辑电平进行。
晶圆出货量继续下降,但芯片制造商正在抬头
探索智能化背景下智能经济的发展
美如仙境 华为P10镜头下的印尼美景
AMD扬眉吐气 打败Intel 10核i7 RYZEN 3月1日面世
OPPO发布两款轻量超闪充电宝,小身材大电量
89C51单片机的工作方式与工作原理
一个国家对科技研发的投资是该国长期经济实力的首要指标
盐城政府半导体产业动作频频:收购京泉华成实控人
简单介绍导出导入Orcad网表的整个过程
2020年上半年汽车相关企业集团专利公开量
5G时代,我们可以做些什么?
ADI推出面向射频(RF)信号器件的超低噪声LDO(低压差)稳压器
突破移动机器人技术瓶颈,解决动态地图实时更新难题
全面剖析LED吸顶灯具
光电效应教案
iPhone7是苹果最后一棵摇钱树?
基于TMS320F2806实现感应电机矢量控制硬件设计方案
IDC:全球PC出货量Q2降13.4%连六季走下坡
Markov的各种预测模型的原理与优缺点介绍
DC SCAN与AC SCAN的异同 常用的OCC电路结构分析