久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3458|回復: 13
收起左側

為什么我的1302萬年歷不走時間

[復制鏈接]
ID:537608 發表于 2019-5-16 10:47 來自手機 | 顯示全部樓層 |閱讀模式
30黑幣
我用的是ds1302+stc15+1602,單片機運行后,1602只顯示一個初始的時間,靜止不動,我把rst的引線拔掉后,1602顯示??,再把1602插上后時間刷新,并且增加了拔掉的這一段時間,求大神指教

回復

使用道具 舉報

ID:93224 發表于 2019-5-16 17:46 | 顯示全部樓層
你可以問問單片機啊
回復

使用道具 舉報

ID:539977 發表于 2019-5-16 16:52 | 顯示全部樓層
可能沒按照時序圖編寫,把延時加大1MS試試
回復

使用道具 舉報

ID:537608 發表于 2019-5-16 16:46 來自手機 | 顯示全部樓層
酸葡萄 發表于 2019-5-16 15:19
需要程序哦

已經貼上去了,有什么問題嗎
回復

使用道具 舉報

ID:537018 發表于 2019-5-16 15:19 | 顯示全部樓層
需要程序哦
回復

使用道具 舉報

ID:343391 發表于 2019-5-16 14:48 | 顯示全部樓層
根據問題描述,1302應該沒有問題,問題可能在1602的rs數據/命令寫入選擇腳上,拉高拉低不對或延時時間不夠,建議把拉高拉低后的延時時間改大試試。
回復

使用道具 舉報

ID:343391 發表于 2019-5-16 14:43 | 顯示全部樓層
據樓主描述,1302讀取應該沒有問題,問題可能在1602的rs引腳上,寫數據或寫命令時輸出的電平不對或延時不夠,建議把rs引腳拉高拉低后的延時時間改大試試。
回復

使用道具 舉報

ID:537608 發表于 2019-5-16 12:35 | 顯示全部樓層
這是原本的程序
#include        "15W4KxxS4.H"
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit io=P1^6;
sbit sck=P1^5;
sbit rst=P2^5;
sbit rs=P2^4;      
sbit rw=P2^3;     
sbit en=P2^1;        
uchar writetime[]={19,1,5, 15, 9, 15, 0};
uchar writeadd[7]={0x8c, 0x8a, 0x88,0x86, 0x84,0x82, 0x80};//ds1302D′μ?μ??·
uchar readadd[7]={0x8d,0x8b, 0x89, 0x87,0x85,0x83, 0x81};


//************************************************//
void delay(uchar ms)
{
        uchar x,y;
for(x=ms; x>0; x--)
for(y=110;y>0;y--);
}

//************************************************//

       
void ds1302_write_byte(uchar date)//
{
        uchar i;
for(i=0;i<8;i++)
        {
sck=0;
io=date&0x01;//
date=date>>1;
sck=1;}
}
//*********************************************//
void ds1302_write(uchar add,uchar date)/
{
rst=0;_nop_();//????3ì
sck=0;_nop_();
rst=1;_nop_();
ds1302_write_byte(add);
ds1302_write_byte(date);
rst=0;_nop_();
sck=0;_nop_();
io=1; sck=1;
}
//*****************************************//
uchar ds1302_read(uchar add)
{
uchar i,date;
rst=0;_nop_();
sck=0;_nop_();
rst=1;_nop_();
ds1302_write_byte(add);
for(i=0;i<8;i++)
        {
date=date>>1;
sck=0;
if(io)
date=date|0x80;
sck=1;}
rst=0;_nop_();
sck=0;_nop_();
io=1;sck=1;
return date;
}
//**********************************************//
void write_time()//
{
uchar i,j,k;
for(i=0;i<7;i++){
j=writetime[i]/10;
k=writetime[i]%10;
writetime[i]=j*16+k;
}
ds1302_write(0x8e, 0x00);/
for(i=0; i<7;i++)
{
ds1302_write(writeadd[i], writetime[i]);
}
ds1302_write(0x8e,0x80);/
}
//*************************************************//
void readtime()/
{
        uchar i;
for(i=0;i<7;i++)
{writetime[i]=ds1302_read(readadd[i]);//***
}
}
//**********************************************//
void yj1602_write_com(uchar com)//
{

en=0; delay(1);
en=1; delay(1);
rs=0; delay(1);
rw=0;delay(1);
P0=com;
en=0; delay(1);}


        void yj1602_write_date(uchar date)/
en=0; delay(1);
en=1;delay(1);
rs=1; delay(1);
rw=0; delay(1);
                P0=date;
en=0;delay(1);
        }


void yj1602_init()//1
{
yj1602_write_com(0x38);//  
yj1602_write_com(0x0c);//
yj1602_write_com(0x06);//
yj1602_write_com(0x01);//
}
void write_1602(uchar add, uchar date)//
{
uchar shi,ge;
shi=date/16;
        ge=date%16;
yj1602_write_com(0x80+add);//
yj1602_write_date(0x30+shi);
yj1602_write_date(0x30+ge);
}
void deal_with()//
{
yj1602_write_com(0x80+0);
yj1602_write_date('d');
delay(5);
yj1602_write_com(0x80+1);
yj1602_write_date('a');
delay(5);
yj1602_write_com(0x80+2);
yj1602_write_date('t');
delay(5);
yj1602_write_com(0x80+3);
yj1602_write_date('a');
delay(5);
yj1602_write_com(0x80+4);
yj1602_write_date(':');
delay(5);
        write_1602(5,writetime[0]);
        delay(5);
yj1602_write_com(0x80+7);
yj1602_write_date('-');
delay(5);
write_1602(8,writetime[2]);
        delay(5);
yj1602_write_com(0x80+10);
yj1602_write_date('-');
delay(5);
write_1602(11,writetime[3]);
        delay(5);
yj1602_write_com(0x80+0x40);
yj1602_write_date('t');
delay(5);
yj1602_write_com(0x80+0x40+1);
yj1602_write_date('i');
delay(5);
yj1602_write_com(0x80+0x40+2);
yj1602_write_date('m');
delay(5);
yj1602_write_com(0x80+0x40+3);
yj1602_write_date('e');
delay(5);
yj1602_write_com(0x80+0x40+4);
yj1602_write_date(':');
delay(5);
write_1602(0x40+5,writetime[4]);
        delay(5);
        yj1602_write_com(0x80+0x40+7);
yj1602_write_date(':');
delay(5);
write_1602(0x40+8,writetime[5]);
        delay(5);
        yj1602_write_com(0x80+0x40+10);
yj1602_write_date(':');
delay(5);
write_1602(0x40+11,writetime[6]);
yj1602_write_com(0x80+0x40+11);
        delay(5);
}

//**************************************************//
void main(){
P2M1 = 0;        P2M0 = 0;       
P0M1 = 0;        P0M0 = 0;       
P1M1 = 0;        P1M0 = 0;
        P5M1 = 0x00;        P5M0 = 0x18;         

       
yj1602_init();
write_time();
while(1){
readtime();
deal_with();
}
}

回復

使用道具 舉報

ID:52944 發表于 2019-5-16 12:33 | 顯示全部樓層
網上的例程很多,可以參考對照一下
回復

使用道具 舉報

ID:52944 發表于 2019-5-16 12:32 | 顯示全部樓層
沒有程序,大神也給你回答不了
回復

使用道具 舉報

ID:537608 發表于 2019-5-16 12:31 | 顯示全部樓層
#include        "15W4KxxS4.H"
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit io=P1^6;
sbit sck=P1^5;
sbit rst=P2^5;
sbit rs=P2^4;      
sbit rw=P2^3;     
sbit en=P2^1;        
uchar writetime[]={19,1,5, 15, 9, 15, 0};
uchar writeadd[7]={0x8c, 0x8a, 0x88,0x86, 0x84,0x82, 0x80};//ds1302D′μ?μ??·
uchar readadd[7]={0x8d,0x8b, 0x89, 0x87,0x85,0x83, 0x81};


//************************************************//
void delay(uchar ms)
{
        uchar x,y;
for(x=ms; x>0; x--)
for(y=110;y>0;y--);
}

//************************************************//

       
void ds1302_write_byte(uchar date)//
{
        uchar i;
for(i=0;i<8;i++)
        {
sck=0;
io=date&0x01;//
date=date>>1;
sck=1;}
}
//*********************************************//
void ds1302_write(uchar add,uchar date)/
{
rst=0;_nop_();//????3ì
sck=0;_nop_();
rst=1;_nop_();
ds1302_write_byte(add);
ds1302_write_byte(date);
rst=0;_nop_();
sck=0;_nop_();
io=1; sck=1;
}
//*****************************************//
uchar ds1302_read(uchar add)
{
uchar i,date;
rst=0;_nop_();
sck=0;_nop_();
rst=1;_nop_();
ds1302_write_byte(add);
for(i=0;i<8;i++)
        {
date=date>>1;
sck=0;
if(io)
date=date|0x80;
sck=1;}
rst=0;_nop_();
sck=0;_nop_();
io=1;sck=1;
return date;
}
//**********************************************//
void write_time()//
{
uchar i,j,k;
for(i=0;i<7;i++){
j=writetime[i]/10;
k=writetime[i]%10;
writetime[i]=j*16+k;
}
ds1302_write(0x8e, 0x00);/
for(i=0; i<7;i++)
{
ds1302_write(writeadd[i], writetime[i]);
}
ds1302_write(0x8e,0x80);/
}
//*************************************************//
void readtime()/
{
        uchar i;
for(i=0;i<7;i++)
{writetime[i]=ds1302_read(readadd[i]);//***
}
}
//**********************************************//
void yj1602_write_com(uchar com)//
{

en=0; delay(1);
en=1; delay(1);
rs=0; delay(1);
rw=0;delay(1);
P0=com;
en=0; delay(1);}


        void yj1602_write_date(uchar date)/
en=0; delay(1);
en=1;delay(1);
rs=1; delay(1);
rw=0; delay(1);
                P0=date;
en=0;delay(1);
        }


void yj1602_init()//1
{
yj1602_write_com(0x38);//  
yj1602_write_com(0x0c);//
yj1602_write_com(0x06);//
yj1602_write_com(0x01);//
}
void write_1602(uchar add, uchar date)//
{
uchar shi,ge;
shi=date/16;
        ge=date%16;
yj1602_write_com(0x80+add);//
yj1602_write_date(0x30+shi);
yj1602_write_date(0x30+ge);
}
void deal_with()//
{
yj1602_write_com(0x80+0);
yj1602_write_date('d');
delay(5);
yj1602_write_com(0x80+1);
yj1602_write_date('a');
delay(5);
yj1602_write_com(0x80+2);
yj1602_write_date('t');
delay(5);
yj1602_write_com(0x80+3);
yj1602_write_date('a');
delay(5);
yj1602_write_com(0x80+4);
yj1602_write_date(':');
delay(5);
        write_1602(5,writetime[0]);
        delay(5);
yj1602_write_com(0x80+7);
yj1602_write_date('-');
delay(5);
write_1602(8,writetime[2]);
        delay(5);
yj1602_write_com(0x80+10);
yj1602_write_date('-');
delay(5);
write_1602(11,writetime[3]);
        delay(5);
yj1602_write_com(0x80+0x40);
yj1602_write_date('t');
delay(5);
yj1602_write_com(0x80+0x40+1);
yj1602_write_date('i');
delay(5);
yj1602_write_com(0x80+0x40+2);
yj1602_write_date('m');
delay(5);
yj1602_write_com(0x80+0x40+3);
yj1602_write_date('e');
delay(5);
yj1602_write_com(0x80+0x40+4);
yj1602_write_date(':');
delay(5);
write_1602(0x40+5,writetime[4]);
        delay(5);
        yj1602_write_com(0x80+0x40+7);
yj1602_write_date(':');
delay(5);
write_1602(0x40+8,writetime[5]);
        delay(5);
        yj1602_write_com(0x80+0x40+10);
yj1602_write_date(':');
delay(5);
write_1602(0x40+11,writetime[6]);
yj1602_write_com(0x80+0x40+11);
        delay(5);
}

//**************************************************//
void main(){
P2M1 = 0;        P2M0 = 0;       
P0M1 = 0;        P0M0 = 0;       
P1M1 = 0;        P1M0 = 0;
        P5M1 = 0x00;        P5M0 = 0x18;         

       
yj1602_init();
write_time();
while(1){
readtime();
deal_with();
}
}

回復

使用道具 舉報

ID:537608 發表于 2019-5-16 12:30 | 顯示全部樓層
這是我的程序
回復

使用道具 舉報

ID:96682 發表于 2019-5-16 12:05 | 顯示全部樓層
首先得確定程序是以 STC 15 編寫的么
回復

使用道具 舉報

ID:512205 發表于 2019-5-16 11:38 | 顯示全部樓層
如果要幫你查看問題,你就要吧程序貼出來,如果是要程序,你搜一下,論壇有一堆可參考
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲免费视频一区二区 | www.精品国产| 91麻豆精品国产91久久久久久久久 | 犬夜叉在线观看 | 精品久久成人 | 一区二区三区av | 日韩欧美在线免费观看 | 国产欧美精品区一区二区三区 | 一区二区三区国产 | 黑人精品欧美一区二区蜜桃 | 久久久久久久久久久福利观看 | 国产精品乱码一区二区三区 | 日韩免费一区二区 | 国产在线一区观看 | 国产成人免费视频网站高清观看视频 | 午夜视频一区二区三区 | 日本五月婷婷 | av香港经典三级级 在线 | 欧美精品一区在线发布 | 精品国产一区二区 | 国产精品视频偷伦精品视频 | 犬夜叉在线观看 | 久久综合久久久 | 欧美一级片中文字幕 | 欧美日韩一区二区视频在线观看 | 国产污视频在线 | 免费特级黄毛片 | 一区二区日韩 | 国产成人在线一区 | 夜夜艹| 麻豆亚洲 | 成人免费淫片aa视频免费 | 欧美日韩高清在线一区 | 羞羞网站在线观看 | 中文字幕在线不卡 | 亚洲日本中文字幕在线 | 欧美日韩中文字幕在线播放 | 一区精品视频在线观看 | 亚州国产 | 欧美黄色免费网站 | 亚洲精品18 |