专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STC51烧录程序时序分析
2019-04-15 12:48
发布
生成海报
站内文章
/
PIC单片机
12331
0
1753
STC51
烧录程序时序分析
Note1
:关于
STC51
的冷启动下载和复位
STC51
单片机里面有一段出厂时固化的程序,这段程序的作用是检测串口是否要下载程序,不需要则执行单片机内的用户程序。每次启动时运行这端程序,这就是为什么每次下载时要冷启动。而复位后单片机是从地址
0X0000H
处开始执行,地址
0X0000H
又会指向主程序入口,即主函数处,即片内下载的用户程序而不会执行前面已经固化的检测串口那段程序。这就是为什么单片机每次下载要冷启动,而复位不行。注意,程序前面的宏定义什么的东西不占用系统时间,所以主程序即主函数处。
有一个办法可以给那些需要加电立刻启动的用户,
STC
单片机可以设置为加电时只有
P1.0/P1.1
为低电平时开始下载程序,否则直接执行用户程序。这种办法快,不用等前面检测串口的那段时间。
STC51
单片机冷启动是必须的而复位电路不是必须的,不管是冷启动还是手动启动。也就是想下载程序必须冷启动,而有没有复位电路无所谓。但是最小系统板上必须有复位电路,无论是上电复位,还是上电加手动复位,虽然在一些简单的程序中看不出区别,但是因为复位操作会对一些特殊寄存器产生影响,这样没有复位操作的话再次执行函数的时候会出现错误。单片机断电后在通电也会从主函数处继续执行,可能是单片机断电后地址自动回到
0X0000H
,但是那些特殊寄存器里的值不会改变。
单片机的上电复位和手动复位是比较简单的电路,只要是根据单片机手册要求的复位时间
T
RESET
要小于复位电路中的
RC
常数。
单片机下载程序一般都是通过串口,即上位机
(STC-ISP)
与单片机的底层通信都是通过串口协议实现的,两者之间更为高级的通信协议是建立在串口协议上的。
Note2
:上位机
(STC-ISP)
检测单片机时序
波特率即为串口发送每比特所占用的时间,此处为
2400
,即每比特所占用的时间为
1/2400=4.167*E-4
(S)
;可以点击
检测
MCU
选项
,上位机开始与单片机握手。整个握手过程可以从图
2.2
中获得,图中
橙 {MOD}为上位机发送的询问脉冲,蓝 {MOD}为单片机的响应脉冲
图
2.1
STC-ISP
软件
图
2.2
握手过程
由图
2.2
可知,上位机先发送检测信号,此时单片机需要冷启动,检测信号可以参看图
2.3
。在单片机冷启动后,单片机会运行内部固化程序,自行检测串口是否有上位机检测信号。一旦发现检测信号,单片机回复响应信息,响应信息波形可见图
2.4
,内容则可见图
2.5
。
图
2.3
检测信号
图
2.4
响应信号
图
2.5
回复内容
上位机接收到单片机响应后的回复信号,波特率为
2400
,每比特所占时间大约为
416us
,可以根据图
2.7
对上位机的回复进行数据解析。
图
2.6
上位机回复内容
图
2.7
上位机回复内容
Note3
:上位机
(STC-ISP)
程序烧录
总的烧录过程为:上位机先检测单片机,再通知单片机开始烧录程序,每次发一小段程序,单片机会有一个
ACK
,之后再发结束指令,图
3.2
接图
3.1
。
图
3.1
程序烧录
图
3.2
程序烧录
Note
4
:
总结
图4
.1
汇总
WOLF
Ta的文章
更多
>>
电子器件系列八:林林总总
0 个评论
DMA DSP 相关
0 个评论
51单片机指令快速记忆方法总结
0 个评论
STC51烧录程序时序分析
0 个评论
matlab 向量的基本运算
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮