打印

解释下C程序

[复制链接]
2676|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zxser09|  楼主 | 2010-1-29 22:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit sda=P1^4;
sbit scl=P1^5;
sbit cs=P1^6;
uchar bpq=0;
uchar bdata bpqh;//bdata 是表示可位寻址的内存空间?具体什么意思?
sbit m7=bpqh^7;
uchar bdata bpql;
sbit l7=bpql^7;
void tlc()
{
uchar i;
cs=0;
for(i=0;i<2;i++)
{
  if(m7)
  {
   sda=1;
   scl=1;
   scl=0;
  }
  else
  {
   sda=0;
   scl=1;
   scl=0;
  }
  bpqh<<=1;
}
for(i=0;i<8;i++)
{
  if(l7)
  {
   sda=1;
   scl=1;
   scl=0;
  }
  else
  {
   sda=0;
   scl=1;
   scl=0;
  }
  bpql<<=1;//这是什么意思?
}
for(i=0;i<2;i++)
{
  sda=0;
  scl=1;
  scl=0;
}
cs=1;
scl=0;
   
}
void delay()
{
uint i;
for(i=0;i<4105;i++);
}
void main()
{
uint i;
while(1)
{
  i=0;
  bpqh=i/bpq;//与bpq 怎么拉上关系了?
  bpql=i%bpq;
  bpqh<<=6;//这里什么意思
  tlc();
  delay();delay();delay();delay();
  i=1023;//为什么赋这个值?
  bpqh=i/bpq;
  bpql=i%bpq;
  bpqh<<=6;
  tlc();
  delay();delay();delay();delay();
  
  
}
}
望大虾解释下。

相关帖子

沙发
gaohq| | 2010-1-29 23:19 | 只看该作者
建议要抄也抄个好点的。

使用特权

评论回复
板凳
zxser09|  楼主 | 2010-1-30 00:23 | 只看该作者
:L

使用特权

评论回复
地板
juelang| | 2010-1-30 01:31 | 只看该作者
哦 ,这程序会把人看疯的,怎么麽一点书写格式呢

使用特权

评论回复
5
juelang| | 2010-1-30 01:41 | 只看该作者
bdata:指的是51片内RAM的20H~2FH(位寻址区),就是说把bpqh这个变量存储在51片内的位寻址区,所谓位寻址就是说这个变量只能取值为0或1,

bpql<<=1;//这是什么意思?   建议你看哈C语言数,这就相当于bpql=bpql<<1,这你要是还看不懂的话,我就无言了

i=1023;//为什么赋这个值?,你没有附带电路图,你也么说你这个程序是干什么的,我估计只有神仙才知道为撒要赋这个值,我也是新手,才学51,给你个建议了,下次写程序带上注释,要不一般不会有人回复你的贴的
呵呵

使用特权

评论回复
6
icmap| | 2010-1-30 20:11 | 只看该作者
i=0;
  bpqh=i/bpq;  //既然 i 已经固定为0,为什么不直接写为 bpqh=0?
  bpql=i%bpq;  //同上问

这代码够差的。

使用特权

评论回复
7
zhuang1127| | 2010-2-2 20:02 | 只看该作者
:dizzy:

使用特权

评论回复
8
反质子| | 2010-2-3 15:19 | 只看该作者
:dizzy:

使用特权

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

本版积分规则

81

主题

208

帖子

0

粉丝