打印

cd4052的使用

[复制链接]
1863|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wy211|  楼主 | 2012-5-9 16:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.h>
sbit CD4052_A = P0^0;
sbit CD4052_B = P0^1;
void init_cd4052()
{
CD4052_A=0;
CD4052_B=0;
}

unsigned char tmp;
void send_char(unsigned char txd);
main()
{
init_cd4052();

TMOD = 0x20;   // 定时器1    8位自动重载
TH1 = 0xFD;    // 波特率9600
TL1 = 0xFD;
SCON = 0x50;   // 设定串行口工作方式
PCON &= 0xef;   // 波特率不倍增
TR1 = 1;    // 启动定时器1
while(1)
{

  if(RI)      // 是否有数据到来
  {
   RI = 0;
   tmp = SBUF;    // 暂存接收到的数据
   P1 = tmp;    // 数据传送到P0口
   send_char(tmp);   // 回传接收到的数据
  }  
}
}
void send_char(unsigned char txd)
// 传送一个字符
{
SBUF = txd;
while(!TI);    // 等特数据传送
TI = 0;     // 清除数据传送标志
}


我想用cd4052扩展串口 ,x0、y0接232口,给A、B接口赋值后,程序写不到板子里,但如果先把A、B直接接地(A、B都为0),就可以正常工作了。
该怎么用软件给A、B赋值来选择通道?

相关帖子

沙发
yanwen217| | 2012-5-10 11:00 | 只看该作者
A\B就是给个高低电平控制就可以了,看看4052的规格就明白了

使用特权

评论回复
板凳
wy211|  楼主 | 2012-5-10 22:42 | 只看该作者
已经给A、B赋值了 , 送的都是低电平 ,但无法写入芯片里,单片机上电之后,没有反应

使用特权

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

本版积分规则

0

主题

4

帖子

0

粉丝