导航:首页 > 软件知识 > 单片机如何编写复位程序

单片机如何编写复位程序

发布时间:2023-02-27 04:58:50

A. 单片机软复位几种方法

如从机收到复位命令(软件命令),程序怎么使机器复位?虽然要使软件始终处于可控状态,最好不要用"复位",因为复位是纯硬件过程,软件是不可控的.但是我们还是要讨论方法,一般流传的方法如下:
1、放狗;
2、((void(code *)(void))0x0000)();
3、用单片机一个引脚控制点一下RSTRST;
4、用单片机一个引脚控制重新加电;
5、用单片机自带的软件复位指令或内狗指令;
6、goto大法;

B. 如何使用单片机C语言实现复位

可以使用下面的程序跳到0000H实现软复位,下面的程序实际上是一个函数指针,指针指向了0000H地址。
((void
(code
*)
(void))
0x0000)
();
下面的例子将实现软件自复位void
reset
(void)
{
((void
(code
*)
(void))
0x0000)
();
}
void
main
(void)
{
reset
();
}
你可能注意到以上的软复位程序并不能清除8051的中断系统和某些8051的外围设备,当您在中断程序中调用上面的软件复位程序后,中断将再不能触发。因此,以上的软复位程序不能在中断子程序中调用。
下面的小段汇编函数可以在中断程序或主程序中调用,该函数将0x0000压栈,然后通过“RETI”出栈,这将清除中断环境并让程序从0000H重新开始运行。
?PR?RESET
SEGMENT
CODE
RSEG
?PR?RESET
;
C
prototype:
void
reset
(void);
PUBLIC
reset
reset:
POP
ACC
;
pop
return
address
POP
ACC
CLR
A
;
push
0
as
new
PUSH
ACC
;
return
address
to
stack
PUSH
ACC
RETI
;
execute
return
of
interrupt
END
以上程序在选择bank
0寄存器组时工作良好,假如选择的不是bank0寄存器组,那么可能无法获得预料的结果。你应该在以上的程序或启动代码中加上“MOV
PSW,
#0”来选择bank
0寄存器组。
以上文章由龙啸九天翻译自KEIL
FAQ,可能有疏漏,欢迎提出。

C. 51系列单片机是如何进行复位的

在单片机系统的应用中,我们经常需要用到复位技术来实现抗干扰。有的单片机(如8098)有专门的复位指令,某些增强型MCS-51系列单片机虽然没有复位指令,但片内集成了WATCHDOG电路,可以很容易实现复位。而普及型MCS-51系列单片机(如8031和8032)既无复位指令,又不带硬件WATCHDOS,如果不外接硬件WATCHDOG,就必须采用软件复位技术。所谓软件复位就是用一系列指令来模仿复位操作。在MCS-51系列单片机中,只要用指令使程序从起始地址(0x0000)开始执行,就可以复位单片机。

D. avr单片机如何在程序中复位

你是想硬件复位还是软件复位呢?如果是硬件复位,那么要修改电路,在单片机的RESET脚上用三极管控制,当接到串口命令后,由一个单片机的引脚控制三极管的基极,使RESET脚给出一个低电平,即可硬件复位。如果是软件复位的话,那就重新执行以下初始化的函数就做到所有的变量和硬件配置复位了

阅读全文

与单片机如何编写复位程序相关的资料

热点内容
如何提高产品的用户留存率 浏览:976
池州义务小商品市场有哪些服装厂 浏览:869
一个技术员找学徒去不了怎么回话 浏览:304
暗黑起源怎么交易 浏览:478
如何提升股票交易执行能力 浏览:567
qq账号交易多久才安全 浏览:41
软件测试和程序员哪个职业寿命长 浏览:647
深圳花鸟虫鱼批发市场在哪里 浏览:537
什么是手工单交易 浏览:979
代理加盟网站有哪些 浏览:459
防疫大数据黑名单什么意思 浏览:591
什么软件感觉信息准确 浏览:21
清平市场属于哪个市 浏览:291
什么币交易所手续费低 浏览:787
护肤有哪些产品可以控油 浏览:447
保险维修信息哪里搞 浏览:329
茂名招聘信息哪个平台好 浏览:968
当贝市场的视频怎么保存到相册 浏览:442
预约科目一考试成功信息多久到 浏览:149
红米4使用情况统计数据在哪里找 浏览:892