单片机学习小组
直播中

李瑜刈

7年用户 171经验值
私信 关注

51单片机不能读取DS12C887数据

51单片机DS12C887驱动问题?为什么读出的数据是零,而且显示的字乱跳呢,代码如下,不知道是不是代码问题

#include#define uchar unsigned char #define uint unsigned int***it rs=P3^5;***it lcden=P3^4;***it lcdrw=P3^6;***it rd=P3^7;***it dscs=P1^4;***it dsas=P1^5;***it dsrw=P1^6;***it dsds=P1^7;***it dsirq=P3^3;//uchar count,s1num,flag,flag1;char miao,shi,fen;uchar code table[]="  2007-7-30 MON";uchar code table1[]="      :  :  ";void write_ds(uchar,uchar);void set_alARM(uchar,uchar,uchar);uchar read_ds(uchar);void set_time();void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com){rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date){rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){uchar num;lcden=0;lcdrw=0;write_ds(0x0a,0x20);set_time();//set_alarm(14,13,10);write_ds(0x0B,0x26);//read_ds(0x0c);write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<15;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40);for(num=0;num<12;num++){write_date(table1[num]);delay(5);}}void write_sfm(uchar add,uchar date){uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}void write_ds(uchar add,uchar date){dscs=0;dsas=1;dsds=1;dsrw=1;P0=add;dsas=0;dsrw=0;P0=date;dsrw=1;dsas=1;dscs=1;}uchar read_ds(uchar add){     uchar ds_date; dscs=0;dsas=1;dsds=1;dsrw=1;//    dscs=0;P0=add;dsas=0;dsds=0;P0=0xff;ds_date=P0;dsds=1;dsas=1;dscs=1;return ds_date;}void set_time(){write_ds(4,10);write_ds(2,32);}void set_alarm(uchar ashi,uchar afen,uchar amiao){write_ds(1,amiao);write_ds(3,afen);write_ds(5,ashi);}void main(){init();while(1){miao=read_ds(0);fen=read_ds(2);shi=read_ds(4);write_sfm(10,miao);delay(2);write_sfm(7,fen);delay(2);write_sfm(4,shi);delay(2);}}启动项也设置了????[/mw_shl_code]

回帖(6)

朱红艳

2019-2-20 08:33:40
这东西没用过。
举报

李凤英

2019-2-20 08:51:07
妈的终于调出来了,原来电压要求这么苛刻!!!4.9V都不行啊!
举报

桂莅鑫

2019-2-20 09:06:09
不是吧,标称多少?
举报

宋宾

2019-2-20 09:24:09
用7805电压时5.03,读出来数,但是乱跳,最后就用原子的板子,出来了,现在那个项目已经结了,没做过这个,程序不难,一点小问题,耽搁了几天!3.3V和5.0V不是3.3~5.5V
举报

更多回帖

发帖
×
20
完善资料,
赚取积分