打印

用51I/O口模拟串口控制164,这样为何不行?

[复制链接]
1966|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ningling_21|  楼主 | 2009-5-19 07:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/********************************************************** 
发送数据函数 
**********************************************************/ 
void wr_byte(uchar data_temp) 

 uchar i; 
 for(i=0;i<8;i++) 
 { 
  if(data_temp&0x80) 
      data_164 =1; //164数据线
  else 
      data_164 =0; 
  data_temp<<=1; //
  clk_164 =0; //164时钟线
  ledg=0;
  nop; 
  nop;
  clk_164 =1; //164时钟线
  ledg=1;
 } 



现象:164不受控制

请指点

相关帖子

沙发
lost1421| | 2009-5-19 09:28 | 只看该作者

你控制164的IO口是哪个端口?

用示波器看一看!

使用特权

评论回复
板凳
ningling_21|  楼主 | 2009-5-19 18:47 | 只看该作者

P0口模拟控制的

CLK P0.5
DAT P0.6

使用特权

评论回复
地板
huangqi412| | 2009-5-19 19:01 | 只看该作者

波形。。。看看波形对不

使用特权

评论回复
5
耕在此行| | 2009-5-19 19:40 | 只看该作者

ledg=0;是什么


 你是控制LED吗 是静态还是动态
你对LEDG的操作是有问题的

使用特权

评论回复
6
毛毛猫| | 2009-5-19 21:15 | 只看该作者

data_temp>>=1

或if(data_temp&0x01) 

使用特权

评论回复
7
rtj640| | 2009-5-21 22:20 | 只看该作者

P0口是否加了上拉

若不加上拉,如何驱动164

使用特权

评论回复
8
ningling_21|  楼主 | 2009-5-21 22:33 | 只看该作者

是驱动LED的

6楼,给164发送数据是低位在前?

使用特权

评论回复
9
毛毛猫| | 2009-5-21 23:27 | 只看该作者

无所谓,反了可以调整字形表。

前面我看错了,你程序移位没错,不过ledg是什么?不会是164的mr吧?

使用特权

评论回复
10
一条大河| | 2009-5-21 23:48 | 只看该作者

这种问题细心检查下就可以解决的。。

使用特权

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

本版积分规则

5013

主题

17741

帖子

51

粉丝