您好、欢迎来到现金彩票网!
当前位置:大赢家 > 复位脉冲 >

单片机如何用C程序复位?

发布时间:2019-08-11 07:23 来源:未知 编辑:admin

  本人在写个串口通讯程序中需要单片机回到初始状态,但是苦于无法让单片机复位。想请教有没有能让单片机复位的c语言程序?希望能提供代码。谢谢!好像也可以,谢谢,我是想让单片机回到...

  本人在写个串口通讯程序中需要单片机回到初始状态,但是苦于无法让单片机复位。想请教有没有能让单片机复位的c语言程序?希望能提供代码。谢谢!

  好像也可以,谢谢,我是想让单片机回到初始状态。为什么不推荐这样做呢,程序可读性下降吗?展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部可以使用下面的程序跳到0000H实现软复位,下面的程序实际上是一个函数指针,指针指向了0000H地址。

  你可能注意到以上的软复位程序并不能清除8051的中断系统和某些8051的外围设备,当您在中断程序中调用上面的软件复位程序后,中断将再不能触发。因此,以上的软复位程序不能在中断子程序中调用。

  下面的小段汇编函数可以在中断程序或主程序中调用,该函数将0x0000压栈,然后通过“RETI”出栈,这将清除中断环境并让程序从0000H重新开始运行。

  以上程序在选择bank 0寄存器组时工作良好,假如选择的不是bank0寄存器组,那么可能无法获得预料的结果。你应该在以上的程序或启动代码中加上“MOV PSW, #0”来选择bank 0寄存器组。

  展开全部很容易实现啊,不够需要外接复位芯片 比如:MAX813L,用一个IO口连接至MAX813L的第8脚,置0后就可以使MAX813输出复位信号。详细可参看MAX813L的资料。当然用别的复位芯片也行。

  我不明白你需要这样有什么用,回到初始状态只是内存和特殊寄存器回到初始状态。完全可以用程序回复啊。

  补充:主要是优秀的代码是需要依靠优秀的软件结构的,使用goto语句直接破坏了这种结构,goto语句使得原来的局部变量和堆栈中的数据全部失效了

  不过要条件设置好,否则每次都进入复位了,也有些是有复位命令的,要具体看单片机了。

http://ccsagresso.com/fuweimaichong/1275.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有