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

单片机如何编写复位程序

发布时间: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脚给出一个低电平,即可硬件复位。如果是软件复位的话,那就重新执行以下初始化的函数就做到所有的变量和硬件配置复位了

阅读全文

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

热点内容
大宗交易的票怎么玩 浏览:509
原生数据包如何传 浏览:131
空压机代理多少钱一台 浏览:562
如何做海天代理 浏览:689
数据谷那边有个什么公园 浏览:847
短线交易在什么时间段 浏览:598
口腔科什么产品好卖 浏览:311
小桥供电局到城北花卉市场怎么走 浏览:52
程序外包公司一般做什么工作 浏览:863
常规pcr技术有哪些 浏览:279
网上发布信息不符如何处理 浏览:974
西安机电一体化技术有什么学校 浏览:839
银行为什么要重新核实账户信息 浏览:551
大数据堵塞怎么解决 浏览:797
做总代理需要多少费用 浏览:216
双流阳光酒水代理什么酒 浏览:973
华为ict技术是什么 浏览:23
汾酒上海市场在哪个位置 浏览:252
机器人小胖市场价格多少 浏览:806
产品爆款图片怎么做 浏览:209