|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
我这里讲的是51单片机; q5 d0 l& k( c6 { h8 {
这里是用51单片机的中断系统来实现。当然这要求其中一个中断口是空闲的。由于51的中断系统要求中断服务程序返回以后至少需要执行一条指令后才能重新进入中断,因此,可以可以将控制的正脉冲信号加到INT0引脚。通过编程规定INT0信号是低电平有效,并且中断服务程序必须在INT0引脚为高电平时才能返回。这样,这样当没有正脉冲时(INT0处于低电平),单片机总是处于中断状态,并且无法从中断服务程序返回。
: `) }+ L& U; I: n在中断服务程序的指令:8 R C" T8 ~# s% u! u, U7 N4 P9 H
JMB P3.2,$ ;若INT0=0,不往下执行
$ ]4 R' f3 O( L! Y2 w% a JB P3.2,$ ;若INT0=1,不往下执行. M" F/ l% t) Z* v4 H
RETI ;返回主程序执行一条指令4 s9 a- ~) y6 n- z
可以看出,只有当INT0出现一个正脉冲信号时,才能通过前两条指令,返回主程序并执行一条指令。由于INT0此时已经回到低电平,故重新进入中断,在第一条指令处等待下一条正脉冲信号,从而实现了用一个正脉冲信号控制单片机单步执行的操作。 |
手机扫码浏览
|