找回密码
 注册
关于网站域名变更的通知
查看: 202|回复: 2
打印 上一主题 下一主题

51单片机为什么中断中定义变量,对应的语句却不执行?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-2-17 11:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
51单片机,在定时器0的中断函数中,定义了名称为l的变量,在仿真的时候,语句l=l-1;不会被执行,总是会跳过。不知道是什么原因?​  A4 j2 m- y8 d+ m' h; T

; I* s$ i) f2 x0 p) g7 Z单片机源程序如下:​
7 M) u8 E) }! f# k, S' Kvoid T0_Interrupt() interrupt 1​
" V+ e- z/ S7 X3 D- Q+ F{​! o" i9 h5 @1 s( z+ ?  _
         signed char l=10;​& F- {0 l. G, m
         k=k-1;​
2 h$ u3 ?8 C1 L  O8 O         l=l-1;​
- E/ \  T9 D* x% K2 J* w1 R: s% u         TH0=0xF9;   ​; W; }5 n+ K! \) B. u4 r% c
         TL0=0x66;​
  }8 a  N8 f& s         ​
0 a" b+ ?, E$ i5 C+ ?0 G
: G1 R  n1 F; K7 w% u" \}​
( a( J4 C6 p# X( v8 h# H5 P2 d8 C1 D7 ^9 i. X1 J- `

该用户从未签到

2#
发表于 2022-2-17 13:13 | 只看该作者

2 w  W: \* x% e每次进入中断都给一个初值signed char l=10?定义成全局或者静态变量试试。另外定义变量的时候最好命名有意义的名称,少用单字母啊

该用户从未签到

3#
发表于 2022-2-17 13:27 | 只看该作者
% d; X$ x9 F: h" I
signed char l=10;  J3 @- `8 d+ p% c( @. h
改成- I, c* `( L9 w5 q' e
signed char l;# G6 }5 W: @1 y" s
l=10;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-18 03:06 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表