服务热线400-888-0024
新拓PIC单片机论坛 新拓PIC论坛携手高奇微电子,强势推出买PIC原装工具,送PIC国产工具活动 新拓PIC开发工具商城

Microchip PIC单片机论坛MICROCHIP 单片机应用专区MICROCHIP 8位单片机应用 → PIC16F873A两线串口发送问题


  共有1307人关注过本帖树形打印

主题:PIC16F873A两线串口发送问题

帅哥哟,离线,有人找我吗?
mxdwyf
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 贴子:2 积分:23 威望:0 精华:0 注册:2012-4-18 2:54:00
PIC16F873A两线串口发送问题  发贴心情 Post By:2017-3-19 11:26:00

 

串行发送老是不成功,时钟是对的,数据是错的,刚学不久,请大家帮忙看一下,哪里有错误,附件就是芯片要求的时序图片

 

void wr_m624(unsigned char dat,unsigned char sun)
{  
unsigned char i,j;
j=dat;
for(i=0;i<sun;i++)
{
   sda=0;
   delay1();
   scl=0;
   delay1();
   sda=j&0x80;
   delay1();
   scl=1;   
   delay1();
   j=j<<1;
}
}


void w_m62429(unsigned char dat)
{
unsigned char a;
a=dat;
a=a<<1;
sda=1;
scl=0;
wr_m624(a,7);     
wr_m624(a,7);     
wr_m624(0xff,4);
sda=1;
delay1();
scl=0;
delay1();
scl=1;
}

void main(void)
{        
    unsigned char temp; 
    delay(300);//等电源稳定再发数据
    init();                       //调用初始化函数           
    lcdreset();   
    temp=eeprom_read(0x10);   //从片内EEPROM中的地址0X10中读出数据
    w_m62429(temp);


此主题相关图片如下:需要帮助.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2017-3-19 11:30:02编辑过]

支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
mxdwyf
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 贴子:2 积分:23 威望:0 精华:0 注册:2012-4-18 2:54:00
  发贴心情 Post By:2017-3-19 14:29:00

我是先把temp变量左移一位,然后再 与 0x80后,逐位发送7次,完成一前7位的发送,再重复一遍发送7位,再发最后的4位,总共18位,不知道这样写对不对?

支持(0中立(0反对(0回到顶部