那位能解释一下这段c语言代码

[复制链接]
查看11 | 回复2 | 2012-5-3 16:34:25 | 显示全部楼层 |阅读模式
这显然是面向某种对象(可能是8位单片机,由P0&0x80看出,其基本位是8位,51单片机可能性大)编写的程序。bit llda()
/*定义位函数llda()*/{
bita;
/*定义位变量a*/
a=(bit)(P0&0x80);
/*从这种对象的P0口读到的数据与1000 0000(二进制数,其八进制即80,0x是八进制的前缀)相与,得到的结果转换成位,如P0口读到的数据位1000 0000,那么与运算后的结果是1000 000,很显然是非零,即为1,那么将其转换成位之后是1其它以此类推。其作用是测试p0口的第一位(p7位)...
回复

使用道具 举报

千问 | 2012-5-3 16:34:25 | 显示全部楼层
该函数的作用是测试p0的第一位(p7位)是1还是0P0&0x80意思就是把p0的最高位不变其他位变为0再强制转换为bit型,就是说如果这个结果非零则是1,否则是0,再把这个数传给a。...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行