位变量定义

[复制链接]
 楼主| yeaway 发表于 2009-1-13 00:30 | 显示全部楼层 |阅读模式
一般单片机一个字节变量的其中4个位变量,可以定义为:
flag_sys        equ                        [33h]
f_sys0        equ            flag_sys.0
f_sys1        equ            flag_sys.1
f_sys2        equ            flag_sys.2
f_sys3         equ            flag_sys.3

中颖单片机一个字节变量的其中4个位变量又怎样定义?
warm_ice 发表于 2009-1-13 10:40 | 显示全部楼层

这样

中颖4BIT的IC是不支持这样定义的.
如果您要使用位操作,可以考虑使用ORIM,ANDIM等指令进行操作,当然,您也可以定位一个宏来操作.
juginhine 发表于 2009-1-22 14:11 | 显示全部楼层

中穎位操作指令

可以參考下面:
fFlag   equ   0x30    ;定義一個寄存器
bBit0   equ   0       ;定義bit0
bBit1   equ   1       ;定義bit1
bBit2   equ   2       ;定義bit2
bBit3   equ   3       ;定義bit3
然后結合IDE66編譯器內置的宏指令操作.如下:
位置1:   setb   fFlag, bBit0
位清0:   clrb   fFlag, bBit2
位為1判斷:   jb  fFlag, bBit3, addr
位為0判斷:   jnb fFlag, bBit1, addr
IDE66內置大部分宏指令,基本同51系列.具體請參考幫助手冊.
yewuyi 发表于 2009-1-22 14:31 | 显示全部楼层

呵呵,还掩藏了一个宏定义呢。。。

fpga-123 发表于 2009-2-26 09:56 | 显示全部楼层

熟悉了指令

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部