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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4928|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

DS1302和液晶1602中顯示時鐘,為什么不走,顯示是時間也是錯誤的

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:244748 發(fā)表于 2017-11-21 17:33 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
# include <reg52.h>
# define uchar unsigned char
# define uint unsigned int


sbit lcden = P3^4;
sbit rs = P3^5;
sbit wr = P3^6;

sbit rst = P1^0;
sbit io = P1^1;
sbit sclk  = P1^2;

uchar code dage[] = "2017-11-17   FRI";
uchar code dage1[] = "     :   :  ";


uchar miao, fen, shi, i;
/*  ***  函數(shù)聲明 ****/
void display();
void write_sfm(uchar, uchar);
void Send_595(uchar);
void delay(uint);
void write_com(uchar);
void write_date(uchar);
void write_byte(uchar);
void init_lcd();
void set_ds1302();
uchar read_ds1302(uchar);
uchar read_byte();


void main()
{
        init_lcd();
        set_ds1302();
        while(1)
        {
                display();
        }
}

void delay(uint z)
{
        uint x, y;
        for(x=z; x>0; x--)
           for(y=110; y>0; y--);
}
/****** 往1602液晶 寫入指令 ****/

void write_com(uchar com)
{
        rs = 0;
        P0 = com;
        delay(5);
        lcden = 1;
        delay(5);
        lcden = 0;
}
/*****  1602液晶 初始化  ******/
void init_lcd()
{
        /*Send_595(0xff);
        Send_595(0x00);
        P_HC595_RCLK = 0;
        P_HC595_RCLK = 1;*/
       
        wr = 0;
        lcden = 0;
       
        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
       
        for(i=0; i<16; i++)
        {
        write_date(dage[i]);
        delay(5);
        }

        write_com(0x80+0x40);
       
        for(i=0; i<13; i++)
        {
                write_date(dage1[i]);
                delay(5);
        }
}
/*  *****往1602液晶寫入數(shù)據(jù) ****** */
void write_date(uchar date)
{
        rs = 1;
        P0 = date;
        delay(5);
        lcden = 1;
        delay(5);
        lcden = 0;
}

       

/****** DS1302 中寫入一個字節(jié) ***/
void write_byte(uchar date)
{
        uchar i, temp;
        temp = date;
        for(i=0; i<8; i++)
        {
                if((temp&0x01) == 1)
                        io = 1;
                else
                        io = 0;
                sclk = 1;
                sclk = 0;
                temp >>= 1;
        }
}
/*****′ ***/
uchar read_byte()
{
        uchar i, temp;
        for(i=0; i<8; i++)
        {
                temp>>=1;
                if(io == 1)
                        temp|=0x80;
                 sclk = 1;
                 sclk = 0;       
        }
        return temp;
}
       
/***** Ö¸¶¨Î»ÖÃD′ ****/
void write_ds1302(uchar addr, uchar date)
{
        rst = 0;
        sclk = 0;
        rst = 1;
       
        write_byte(addr);
        write_byte(date);
       
        sclk = 1;
        rst = 0;
}
/****** Ö¸¶¨Î»Ööá ***/
uchar read_ds1302(uchar addr)
{
        uchar date;
        rst = 0;
        sclk = 0;
        rst = 1;
        write_byte(addr);
        date = read_byte();
        sclk = 1;
        rst = 0;
       
  return date;
}
/******  3õê¼»ˉDS1302  *****/
void set_ds1302()
{
        write_ds1302(0x8e, 0x00);
       
        write_ds1302(0x80, 0x00);
        write_ds1302(0x82, 0x00);
        write_ds1302(0x84, 0x00);
       
        write_ds1302(0x8e, 0x80);       
}
/****** ê±£¬·Ö£¬Ãë £¬·Öàë¸ö£¬ ê®Î»  ****/
void write_sfm(uchar addr, uchar date)
{
        uchar shi, ge;
        shi = date/10;
        ge = date%10;
        write_com(0x80+0x40+addr);
        write_date(0x30+shi);
        write_date(0x30+ge);
}

/****** íù1602ÖDÏÔê¾êy¾Y ****/
void display()
{
        uchar d;
        write_ds1302(0x8e, 0x00);
       
        d = read_ds1302(0x81);
        miao = (d/16)*10 + d%16;
  write_sfm(11, miao);       
       
        d = read_ds1302(0x83);
        miao = (d/16)*10 + d%16;
  write_sfm(7, fen);       
       
        d = read_ds1302(0x85);
        miao = (d/16)*10 + d%16;
  write_sfm(3, shi);       
       
        write_ds1302(0x8e, 0x80);
}


IMG_20171121_170928.jpg (3.78 MB, 下載次數(shù): 53)

IMG_20171121_170928.jpg

JW-51開發(fā)板.pdf

99.63 KB, 下載次數(shù): 3

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:251992 發(fā)表于 2017-11-21 18:26 | 只看該作者
最好把DS1302的各個寄存器的功能貼出來就好了,
回復(fù)

使用道具 舉報

板凳
ID:231984 發(fā)表于 2017-11-22 20:57 | 只看該作者
計時的功能都沒有,怎么讓時間加?
回復(fù)

使用道具 舉報

地板
ID:111634 發(fā)表于 2017-11-22 21:22 | 只看該作者
好像給你介紹過一個正確有效案例,仔細(xì)去研讀!
回復(fù)

使用道具 舉報

5#
ID:244748 發(fā)表于 2017-11-26 15:23 | 只看該作者
gaohan130 發(fā)表于 2017-11-22 20:57
計時的功能都沒有,怎么讓時間加?

DS1302有自動計時的功能,不用計時器
回復(fù)

使用道具 舉報

6#
ID:254058 發(fā)表于 2017-11-27 10:53 | 只看該作者
建議去共享區(qū)下載一個現(xiàn)成的,吃透的再改,看完看懂這個程序時間足夠吃透一個正確的程序了,
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久夜色精品亚洲 | 免费观看黄色片视频 | www.婷婷亚洲基地 | 91大片| 日本午夜免费福利视频 | 国产精品污www一区二区三区 | 午夜欧美一区二区三区在线播放 | 精品国产伦一区二区三区观看说明 | 国产精品视频999 | 久一精品| 黑人久久久 | 国产黄色在线观看 | 精品欧美一区二区精品久久久 | 国产精品久久久久久久久久尿 | 亚洲情综合五月天 | 欧美www在线观看 | 亚洲视频第一页 | 国产精品国产三级国产aⅴ入口 | 久久精品亚洲 | 色婷婷影院 | 欧美激情精品久久久久久 | 国产精品成人一区二区三区 | 亚洲三级在线观看 | 日韩在线观看一区 | 国产精品福利在线 | 日韩中文在线观看 | 亚洲三区在线播放 | 三级在线视频 | 国产999精品久久久久久 | 亚洲一二三区在线观看 | 日韩国产欧美 | 亚洲高清三级 | 精品美女 | 中文字幕欧美一区 | 国产高清一区二区 | 国产区一区 | 久草视频网站 | 亚洲一区二区精品视频在线观看 | 中文字幕视频在线观看免费 | 欧美精品中文字幕久久二区 | 一区二区三区欧美在线 |