关于四位一体数码管编程的问题

例程 中有这么一个语句 让我百思不得其解    (sbit)SEG-DS =(ucdata  & 0x80);

 

这个语句的功能是为了获取最高位   可是  &不是按位与吗  ? 获取的也应该是一个 八位二进制数据   为什么赋给一个位 而且 能保证那一个保留的位是最高位  而不是最低位  ???求解  

享乐 发表于10-20 10:04 浏览65535次
分享到:

已有3条评论

  • 顽石族
    顽石族 01-31 09:33

    (sbit)应该是强制转换的格式,具体细节不知道,没用过。
    我一般是用这种格式:
    if(value & 0x80)
    LCD_DI = 1;
    else
    LCD_DI = 0;

  • NOBITA
    NOBITA 01-10 16:49

    (sbit)SEG-DS =(ucdata & 0x80)就是ucdata & 0x80=1000 000

  • 易仙
    易仙 11-08 21:52

    这个问题,我也想知道,怎么没有老师回答呢?

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

享乐
享乐(下士)
金币:19个|学分:59个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号