找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5045|回复: 1
打印 上一主题 下一主题
收起左侧

[求助]郁闷,ds12c887搞不定,请各位大侠指教

[复制链接]
跳转到指定楼层
楼主
ID:24515 发表于 2010-7-31 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

乱写的程序,用的是论坛板子,真的搞不定了,读数据时,P1置什么数据,读出的就是什么数据,887数据口接的是P1口

程序如下:


#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int

void delay(uchar);
void ds_write(uchar,uchar);
uchar ds_read(uchar);
void set_time(); 
void init();


sbit ds_cs = P3^0;
sbit ds_as = P3^1;
sbit ds_rw = P3^2;
sbit ds_ds = P3^3;

sbit wei=P2^7;
sbit duan=P2^6;

uchar code table_d[]={
    0x3F,  //"0"
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
    };
uchar code table_w[]={
    0xfe,
    0xfd,
    0xfb,
    0xf7,
    0xef,
    0xdf,
    0xbf,
    0x7f,
    };

 

void main()
{
 uchar miao;
 init();
 while(1)
 {
  miao=ds_read(0x00);
  
  wei=1;
  P0=table_w[0];
  wei=0;
  
  duan=1;
  P0=table_d[miao/10];
  duan=0;
  P0=0xff;
  delay(1);
  
  wei=1;
  P0=table_w[1];
  wei=0;
  
  duan=1;
  P0=table_d[miao%10];
  duan=0;
  P0=0xff;
  delay(1); 
 }
}


void init()
{
  ds_write(0x0a,0x20);
 ds_write(0x0b,0x86);
 ds_write(0x0b,0x06);
 set_time();
}


void delay(uchar z)
{
 uchar x,y;
 for(x=0;x<z;x++)
 {
  for(y=0;y<200;y++);
 }
}


//往DS12C887写数据函数
void ds_write(uchar add,uchar date)  
{
 ds_cs=0;
 ds_ds=1;
 ds_rw=1;
 ds_as=1;
 //P1=0xff;
 P1=add;
  ds_as =0;
 ds_rw=0;
 P1=0xff;
 //delay(1);
 P1=date;
 ds_rw=1;
 ds_as=1;
 ds_cs=1;
}

//读取DS12C887的数据
uchar ds_read(uchar add)
{
 uchar a;

 ds_rw=1;
 ds_ds=1;
 ds_as=1;
 //P1=0xff;
 ds_cs=0;
 P1=add;
 ds_as=0;
 ds_ds=0;
    P1=0xff;    //这里置什么数据,读出来的就是什么数据,晕死了
 //delay(1);
 a=P1;
 //delay(1);
 ds_ds=1;
 ds_as=1;
 ds_cs=1;

 return a;
}

void set_time()
{
 ds_write(0,0);
 ds_write(1,0);
 ds_write(2,48);
 ds_write(3,0);
 ds_write(4,14);
 ds_write(5,0);
 ds_write(6,6);
 ds_write(7,31);
 ds_write(8,7);
 ds_write(9,10); 
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2010-8-1 16:05 | 只看该作者
你用杜邦线扩展的?等我有了这个芯片才能帮你搞定
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表