烧写器,就是以前常说的编程器,利用较高电压将程序烧录到单片机里,比如AT89C51,8751之类的单片机只能用编程器(烧录器)来写入程序。下载器一般利用单片机的串口(有的用JTAG)将程序下载到单片机,需要单片机支持才行。
首先单片机复位也分别几种:掉电再通电,按复位按钮,程序复位,通过外部接口复位。
各芯片的复位电路大同小异,这里以51系列单片机为例,上电后,保持RST一段高电平时间,就能达到上电复位的 *** 作目的。
常见的复位电路如下:
1掉电再通电,这里就视为冷启动吧
这种情况下单片机的复位 *** 作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,特殊功能寄存器复位后的状态为确定值,具体可参考相应单片机的说明书。
2按复位按钮
这种情况下单片机的复位 *** 作也会使程序计数器PC=0000H,程序重新从
0000H
地址执行,但是与第1种情况不同的是,片内RAM为复位前的状态值,也就是说,运行中的复位 *** 作不改变片内RAM区中的内容。而特殊功能寄存器复位后的状态为确定值,具体可参考相应单片机的说明书。
51单片机复位后特殊功能寄存器的初始值
特殊功能寄存器
初始值
特殊功能寄存器
初始值
ACC
00H
TCON
00H
B
00H
TMOD
00H
PSW
00H
TL0
00H
SP
07H
TH0
00H
DPTR
0000H
TL1
00H
P0~P3
FFH
TH1
00H
PCON
0XXX
0000B
T2CON
00H
AUXR
XXX0
0XX0B
T2MOD
XXXX
XX00B
AUXR1
XXXX
XXX0B
RCAP2L
00H
IE
0X00
0000B
RCAP2H
00H
IP
XX00
0000B
TL2
00H
SCON
00H
TH2
00H
SBUF
XXXX
XXXXXB
WDTRST
XXXX
XXXXB
表中部分符号的含义如下:
PSW=00H:表明复位后自动选择第0组工作寄存器组为当前工作寄存器组
SP=07H:表明堆栈指针指向片内RAM07H单元,堆栈的压入 *** 作为先加后压,所以第一个被压入的数据存放在08H单元中
P0~P3=FFH:表明各端口写入1,此时各端口既可作输入口,也可以作输出口
AUXR=XXX0
0XX0:表明ALE引脚在CPU不访问外部存储器期间有脉冲信号输出
AUXR1=XXXX
XXX0:表明选择DPTR0作数据指针
IE=00H:表明各中断均关闭
TCON=00H:表明T0,T1
均被停止
SCON=00H:表明串口处于方式0,允许发送,不允许接收
PCON=00H:表明SMOD=0,波特率不加倍。PD=0,IDL=0,单片机处于正常工作方式。
3程序复位
这种情况下单片机的复位 *** 作由程序内部控制,功能要视乎程序的编写。例如我们可以 *** 作使程序计数器PC=0000H,同时
添加RAM初始化程序,清0或置1,同时设置某些特殊寄存器的值,或者其他 *** 作,总之这是一种软件 *** 控的复位,功能可灵活控制。
4外部接口复位待研究。
PS
1什么是冷启动?热启动呢?
冷启动就是在不加电的情况下启动系统,热启动就是在加电的情况下重启系统!
例子:
冷启动是之直接按下电源开关启动计算机。
热启动是之在已开机的状态下在开始菜单中选择重新启动计算机,这叫做热启动。
51单片机,复位电路作用就是:
在芯片上电后,让复位引脚保持两个机器周期
(约 2us,在12MHz时)的,高电平。
注意:51单片机,是高电平复位。
----
复位脉冲的宽度大小,是由单片机的厂家决定。
并不是由某些《专用的复位芯片》的厂家决定。
51 单片机厂家认为,宽度大于 2us 即可复位,这就是准确的说法。
即使某些《专用的复位芯片》输出 240ms,只能说它们在画蛇添足。
并不能用这个数值来否定单片机厂家给出的性能指标。
复位可靠,只是一些心理暗示而已,这说法本身,并不可靠。
以某些其它芯片来讨论单片机的复位时间,明显不靠谱。
以上就是关于单片机程序下载器和烧写器是什么关系啊全部的内容,包括:单片机程序下载器和烧写器是什么关系啊、单片机复位后各特殊功能寄存器的初始化状态是什么、单片机的复位电路作用就是在芯片上电后让复位引脚保持20us左右的低电平吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)