导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[guest]请看一下我的5045为什么写不进去?



No.23198
作者:guest
邮件:guest@guest.com
ID:6
登陆:16560次
文章数:7648篇
最后登陆IP:219.68.9.43
最后登陆:2005/5/20 1:37:44
注册:2003/3/10 16:21:00
财富:35062
发帖时间:2003/4/3 16:16:42
发贴者IP:61.150.12.29
标题:guest:请看一下我的5045为什么写不进去?
摘要:No.23198请看一下我的5045为什么写不进去? #include   <at89x52.h>  
#include   <intrins.h>  
#include   <ABSACC.h>  

#define  uchar unsigned char
#define  uint  unsigned int


sbit SO=P2^4;           /*5045输出*/
sbit SI=P2^3;           /*5045输入*/
sbit SCK=P2^2;          /*5045时钟*/
sbit SCS=P3^5;          /*5045片选*/

/******************************************************************************
向 X25045 发送命令 (8 bit) (初始:SCS = 0), SCK上升沿锁存数据
******************************************************************************/
void    sent_X25045( uchar n )
{
uchar    i;

    for ( i=0x80; i>  =0x01; i=i>  >  1 )
    {
     SCK = 0;    /* SCK=0 */
     if ( ( n & i ) == 0 ) SI = 0; else SI = 1;    /* 置SI */
     SCK = 1;    /* SCK=1 */
     SI=0;        /* 清SI */
    }
}

/******************************************************************************
从 X25045 读出数据 (8 bit) (初始:SCS = 0), SCK下降沿输出数据
******************************************************************************/
uchar    get_X25045()
{
uchar    i,n;

    n=0x00;
    for ( i=0x80; i>  =0x01; i=i>  >  1 )
    {
       SCK = 1;
       SO = 1;        /* 置 SO 为读 */
       SCK = 0;

      if ( SO == 1 ) n = ( n | i );
    }
    return( n );
}

/******************************************************************************
读 X25045 状态寄存器 (8 bit)
******************************************************************************/
uchar    rdsr_X25045()
{
uchar    n;
    SCK = 0;
    SCS = 0;
    sent_X25045( 0x05 );     /* RDSR =>   X25045 */
    n = get_X25045( );
    SCK = 0;
    SCS = 1;
    return( n );
}

/******************************************************************************
写 X25045 等待完成
******************************************************************************/
void    wrok_X25045()
{
uchar    i;
    for ( i=0; i  <=99; i++ )
    {
     if ( ( rdsr_X25045() & 0x01 ) == 0x00 ) break;
    }
}

/******************************************************************************
写 X25045 ......

>>返回讨论的主题



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


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

   




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