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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

DS1302在數(shù)碼管顯示時(shí),分,秒, 為什么顯示錯(cuò)誤,時(shí)間不走

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:244748 發(fā)表于 2017-11-27 17:27 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
# include <reg52.h>
# define uchar unsigned char
# define uint unsigned int
       
sbit        P_HC595_SER   = P2^7;        //pin 14        SER                data input
sbit        P_HC595_RCLK  = P2^5;        //pin 12        RCLk        store (latch) clock
sbit        P_HC595_SRCLK = P2^6;        //pin 11        SRCLK        Shift data clock

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

//uchar disp[8];

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


void Send_595(uchar dat);
void init();
void write_byte(uchar date);
uchar read_byte();
void write_ds1302(uchar add, uchar date);
uchar read_ds1302(uchar add);
void set_ds1302();
void display();
void write_sfm(uchar, uchar);
void delay(uint z);

uchar shi1,shi2,fen1,fen2,miao1,miao2, miao, shi, fen;
       
       
void main()
{
        init();
        set_ds1302();
        while(1)
        {
                display();
               
                //delay(5);
        }
       
}

void Send_595(uchar dat)
{       
        uint         i;
        for(i=0; i<8; i++)
        {
                if(dat & 0x80)        P_HC595_SER = 1;
                else                        P_HC595_SER = 0;
                P_HC595_SRCLK = 0;
                P_HC595_SRCLK = 1;
                dat = dat << 1;
        }
}
/***** 數(shù)碼管初始化 ***/
void init()
{
        Send_595(0x00);
        Send_595(0x00);
        P_HC595_RCLK = 0;
        P_HC595_RCLK = 1;
       
        rst = 0;
      sclk = 0;
}
/***** DS1302  寫一個(gè)字節(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 = 0;
                sclk = 1;
                temp >>= 1;
        }
}
/***** DS1302 讀一個(gè)字節(jié)******/
uchar read_byte()
{
        uchar i, temp;
        for(i=0; i<8; i++)
        {
                temp >>= 1;
                if(io == 1)
                        temp |= 0x01;
                sclk = 1;
                sclk =0;
        }
        return temp;
}
/****** 特定位置寫 ****/
void write_ds1302(uchar add, uchar date)
{
        rst = 0;
        sclk = 0;
        rst =1;
       
        write_byte(add);
        write_byte(date);
       
        sclk = 1;
        rst = 0;
}
/**** 特定位置讀 ***/
uchar read_ds1302(uchar add)
{
        uchar date;
        rst = 0;
        sclk =0;
        rst = 1;
       
        write_byte(add);
        date = read_byte();
       
        sclk = 1;
        rst = 0;
       
        return date;
}
/***** DS1302 初始化 **** */
void set_ds1302()
{
        write_ds1302(0x8e, 0x00);
       
        write_ds1302(0x80, 0x55);
        write_ds1302(0x82, 0x55);
        write_ds1302(0x84, 0x11);
       
        write_ds1302(0x8e, 0x80);       
}
/*****  在數(shù)碼管顯示 ***** /
void display()
{
        uchar d;
        write_ds1302(0x8e, 0x00);
       
        d = read_ds1302(0x81);
        miao =  d;
        write_sfm(6, miao);
       
        Send_595(wei[2]);
        Send_595(0x40);
        P_HC595_RCLK = 0;
        P_HC595_RCLK = 1;
        delay(2);
       
        d = read_ds1302(0x83);
        fen = d;
        write_sfm(3, fen);

        Send_595(wei[5]);
        Send_595(0x40);
        P_HC595_RCLK = 0;
        P_HC595_RCLK = 1;
       
        delay(2);
       
        d = read_ds1302(0x85);
        shi = d;
        write_sfm(0, shi);
       
        write_ds1302(0x8e, 0x80);
}

void delay(uint z)
{
        uint x, y;
        for(x=z; x>0; x--)
          for(y=110; y>0; y--);
}
/******* 時(shí)分秒 分離個(gè),十位 ***/
void write_sfm(uchar add, uchar date)
{
        uchar shi, ge;
        shi = date/10;
        ge = date%10;
       
        Send_595(wei[add]);
        Send_595(t_display[shi]);
        P_HC595_RCLK = 0;
        P_HC595_RCLK = 1;
       
        delay(2);

        Send_595(wei[add+1]);
        Send_595(t_display[ge]);
        P_HC595_RCLK = 0;
        P_HC595_RCLK = 1;
       
        delay(2);
}

IMG_20171127_172347.jpg (3.28 MB, 下載次數(shù): 87)

顯示的結(jié)果

顯示的結(jié)果

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

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

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天澡天天狠天天天做 | 99精品电影 | www.v888av.com| 精品国产1区2区3区 一区二区手机在线 | 综合另类 | 日韩欧美在线视频 | 拍拍无遮挡人做人爱视频免费观看 | 玖玖视频国产 | 欲色av| 亚洲视频区 | 福利精品 | 日韩精品一区二区三区中文在线 | 免费在线观看一区二区三区 | 国产一区二区免费 | 欧美性大战xxxxx久久久 | 精品亚洲视频在线 | 九九国产 | 国产精品视频网 | 亚洲激情自拍偷拍 | 情侣av| 久久久久久综合 | 国产精品福利在线观看 | 在线观看成人精品 | 久久国产欧美一区二区三区精品 | 中文字幕在线视频一区二区三区 | 爱爱爱av | 中文字字幕一区二区三区四区五区 | 免费观看一级毛片 | 日韩视频 中文字幕 | 日韩一区二区在线视频 | 免费激情av | 婷婷国产一区二区三区 | 亚洲欧美激情网 | 亚洲成人一区二区 | 国产精品一区二区av | 国产精品视频免费观看 | 午夜影视大全 | www.中文字幕.com| 精品久久精品 | 国产a区 | 国产精品视频yy9299一区 |