[51单片机] LCD1602的行列问题

[复制链接]
1776|2
 楼主| langzizhishang 发表于 2014-3-28 11:26 | 显示全部楼层 |阅读模式
void DisplayOneChar(BYTE X, BYTE Y, BYTE DData)
{
        X &= 0xF;
        Y &= 0x1;                                //限制X不能大于15,Y不能大于1
}
x是LCD1602对应列位置,y是行位置,不理解上面两句话是怎样实现x,y的范围限制的?若x>15或y>1取值会变成啥?
wangch_sh 发表于 2014-3-28 14:38 | 显示全部楼层
&与运算你懂不懂?
C语言学过吗?
engineerarui 发表于 2014-4-8 00:59 来自手机 | 显示全部楼层
首先你要知道:一个数据&1,则等于数据本身,一个数据&0,则等于0。以x为例,假设你给x为17,则二进制表示为00010001,然后和0x0f进行&,得到为00000001也就是1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

118

帖子

1

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