单片机汇编语言的问题.
BIT_500MSBIT0CH;0CH有什么意义?BIT_500MS是不是指令,这句在开头定义量截的.CPLBIT_500MS取反?取反后是什么值JNBBIT_500MS...
BIT_500MS BIT 0CH ;0CH有什么意义? BIT_500MS是不是指令,这句在开头定义量截的.
CPL BIT_500MS 取反? 取反后是什么值
JNB BIT_500MS,RETURN 判断什么跳转,
RETURN: MOV TH0,#3CH
MOV TL0,#0B0H
RETI
指令的意思.. 展开
CPL BIT_500MS 取反? 取反后是什么值
JNB BIT_500MS,RETURN 判断什么跳转,
RETURN: MOV TH0,#3CH
MOV TL0,#0B0H
RETI
指令的意思.. 展开
4个回答
展开全部
BIT_500MS BIT 0CH ;声明一个“位”变量,变量的地址是0CH。
CPL BIT_500MS ;把0CH中内容取反
JNB BIT_500MS, RETURN ;0CH中内容为0转移
…… ;为1则执行这里的指令
…… ;这里,缺少了一些指令
RETURN:
MOV TH0, #3CH ;重新写入初始值
MOV TL0, #0B0H
RETI ;退出中断
----
本程序应该是T0的定时中断程序。
每隔1ms(大约)执行一遍。
每隔1ms(大约)对0CH单元取反一次。
每隔2ms(大约)执行一次上面缺少的指令。
CPL BIT_500MS ;把0CH中内容取反
JNB BIT_500MS, RETURN ;0CH中内容为0转移
…… ;为1则执行这里的指令
…… ;这里,缺少了一些指令
RETURN:
MOV TH0, #3CH ;重新写入初始值
MOV TL0, #0B0H
RETI ;退出中断
----
本程序应该是T0的定时中断程序。
每隔1ms(大约)执行一遍。
每隔1ms(大约)对0CH单元取反一次。
每隔2ms(大约)执行一次上面缺少的指令。
追问
这里就你讲的最明白
展开全部
BIT_500MS BIT 0CH ; 定义 BIT_500MS 标志位为 0CH(位地址)
CPL BIT_500MS ; 取反 如果 BIT_500MS = 1 则 BIT_500MS = 0,( =0则=1)
JNB BIT_500MS,RETURN ; 判断 如果 BIT_500MS = 0 跳转到 RETURN
RETURN: MOV TH0,#3CH
MOV TL0,#0B0H
RETI
CPL BIT_500MS ; 取反 如果 BIT_500MS = 1 则 BIT_500MS = 0,( =0则=1)
JNB BIT_500MS,RETURN ; 判断 如果 BIT_500MS = 0 跳转到 RETURN
RETURN: MOV TH0,#3CH
MOV TL0,#0B0H
RETI
追问
BIT_500MS EQU 0CH
一个道理对把?
取反之后,BIT_500MS 变成什么值
追答
对 也可以的 结果是一样的
可以 上 http://www.stcmcu.com/ 下一个单片机的数据手册 上面的指令系统 对每条指令都有解释
如果 BIT_500MS 原来 为 1 则变为 0 ; 这就是取反
BIT_500MS 原来 为 0 则变为 1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1,0ch=0000 1011 b
2,BIT_500MS不是指令
3,cpl后,值为1111 0100b
4,JNB BIT_500MS,RETURN 判断什么跳转,: 直接寻址位为0则转移
需要说明的是,BIT是一个伪指令,是编译器识别的哦,不是处理器的指令。当然,广义上说,它也是指令的一种。
2,BIT_500MS不是指令
3,cpl后,值为1111 0100b
4,JNB BIT_500MS,RETURN 判断什么跳转,: 直接寻址位为0则转移
需要说明的是,BIT是一个伪指令,是编译器识别的哦,不是处理器的指令。当然,广义上说,它也是指令的一种。
追问
0CH 是0000 1100 把.
取反后,成了1111 0011
,JNB BIT_500MS,RETURN 判断什么跳转,: 直接寻址位为0则转移
取反后,变成米1111 0011 怎么个寻地址为0转移? 转移了没? 有0啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BIT_500MS 是一个位,JNB BIT_500MS,RETURN 就是判断BIT_500MS 是否为0,为0则转移
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询