导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[xboxmylove]请高手帮忙检查一个模拟发送接收SPI的一



No.89666
作者:xboxmylove
邮件:xboxmylove@163.com
ID:46350
登陆:7次
文章数:4篇
最后登陆IP:219.233.113.30
最后登陆:2008/11/9 2:28:42
注册:2006/1/19 9:34:20
财富:129
发帖时间:2006/3/3 17:15:41
发贴者IP:61.155.219.39
标题:xboxmylove:请高手帮忙检查一个模拟发送接收SPI的一个PIC单片机程序!!!!
摘要:No.89666请高手帮忙检查一个模拟发送接收SPI的一个PIC单片机程序!!!! 
点击浏览该文件
发送程序绝对正常!!!!!!
SPI---C51模拟发送,PIC16F73模拟接收,用PROTEUS模拟仿真!!!为减少代码!!!我把PROTEUS模拟正确的代码加以改动,结果出现了错误,上面附有2中接收代码!
但是不论PROTEUS如何,接收的程序烧进片子后,总无法正常接收主机控制器的数据并显示!!!
极度郁闷中........我把这些发到这里,请大家帮忙指点一二,群众的力量是无限的!!!!!!!!!!
模拟接收错误的那个C程序有注释!!!!
模拟接受正确的的那个C程序,烧进硬件,出现的错误有点类似模拟接收错误的那个C在PROTEUS里面的情况!!!!!!!!!


下面这个是错误的哪个C程序!!!
#include  <pic.h>  
__CONFIG(0x3FA7);            //配置字
volatile unsigned char DIS[5]={0x3f,0x3f,0x3f,0x3f,0x3f};//显示赋0;
const unsigned char tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义LED段码0~9
unsigned char ptr=0;        //定义一个动态扫描指针
void inittimer()            //初始化定时器0和看门狗
{   OPTION=0x0f;
    INTCON=0xA0;
    ADCON1=0x07;
}
void initport()             //初始化接口
{    TRISA=0x03;
    TRISB=0x01;
    TRISC=0x00;
}
void receive()                //接收函数
{    unsigned char a,i,j,ensel,point,check;
    if(RA1==0)               //SPI的使能
    {    T0IE=0;            //关定时器0
        for(i=5;i>  0;i--)        //5组数据    
        {a=0;         
        for(j=6;j>  0;j--)        //每组数据6位
        {while(!RB0);        //判断CLK是否为高
        NOP();
        NOP();
        NOP();
        NOP();
        NOP();
        if(RA0==1)a|=0x01;  //如果传过来的位是高,就地位补1;传过来的是低则不变        
        a  <  <=1;     //左移1位准备接下一位
        while( ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:15毫秒 最大:7276毫秒 查询6次