打印

请教一个程序走向的问题

[复制链接]
1497|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
x13686626760|  楼主 | 2012-7-21 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好:
    我用PIC(c语言)写了个程序,需要判断AD值后进入循环,等待用户按钮,按钮按下后,需要程序重新复位(包含所有寄存器).

    我现在的方法,把按钮接到复位端,这样的弊端是,单片机经常要复位,想用软件的方法实现,请问有办法吗?

相关帖子

沙发
NE5532| | 2012-7-21 16:20 | 只看该作者
把狗打开,不喂,死循环等着就可以了。

使用特权

评论回复
板凳
x13686626760|  楼主 | 2012-7-21 17:26 | 只看该作者
把狗打开,就自己复位了.我需要的是,用户按按钮之后再复位.复位要受用户的控制.

使用特权

评论回复
地板
NE5532| | 2012-7-21 18:35 | 只看该作者
那你按了按钮再开狗不就OK了?

使用特权

评论回复
5
shell.albert| | 2012-7-21 19:18 | 只看该作者
一般的MCU都留有软件中断,SWI,你写它的中断程序,在里面修改PC的指针即可。

使用特权

评论回复
6
NE5532| | 2012-7-21 20:30 | 只看该作者
一般的MCU都留有软件中断,SWI,你写它的中断程序,在里面修改PC的指针即可。
shell.albert 发表于 2012-7-21 19:18


“复位”两个字不仅仅代表把PC指针放到首部,还代表将有初始值的寄存器初始化,而且不是所有单片机都有软中断的。

使用特权

评论回复
7
sedatefire| | 2012-7-21 22:43 | 只看该作者
没错,顶NE5532

使用特权

评论回复
8
研发之声| | 2012-7-22 14:01 | 只看该作者
来接分的

使用特权

评论回复
9
x13686626760|  楼主 | 2012-7-23 14:37 | 只看该作者
4# NE5532
好像有点明白了,可以用按钮开狗吗?开狗有专门的指令没?

我用的是16f877a

使用特权

评论回复
10
x13686626760|  楼主 | 2012-7-23 14:43 | 只看该作者
6# NE5532

16f877A有软中断吗?
用PICC编译,如何加入汇编?看视频学了一个在C18中插入汇编的方法,可是用在PIcc中,编译时报错,请指点,谢谢!:handshake

使用特权

评论回复
11
NE5532| | 2012-7-23 18:24 | 只看该作者
开狗是寄存器操作,不是指令,与按键无关。PIC16没有软中断。

使用特权

评论回复
12
tan1990| | 2012-7-23 22:39 | 只看该作者
开狗进入复位前判断一次按键,没有按键就不复位,有按键就执行复位程序!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

139

帖子

0

粉丝