打印

位变量定义

[复制链接]
2287|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者

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

使用特权

评论回复
5
fpga-123| | 2009-2-26 09:56 | 只看该作者

熟悉了指令

使用特权

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

本版积分规则

1

主题

1

帖子

0

粉丝