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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4360|回復: 0
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:244748 發(fā)表于 2017-11-27 17:27 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
# 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  寫一個字節(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 讀一個字節(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--);
}
/******* 時分秒 分離個,十位 ***/
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)

顯示的結果

顯示的結果

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

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

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品国产成人 | 成人精品一区二区三区 | 国产日韩欧美激情 | 日本三级线观看 视频 | 久久久天堂 | 欧洲视频一区二区 | 精品一区在线 | 国产一区二区免费 | 中文字幕在线观看成人 | 久久国产精品免费视频 | 精品国产网 | 亚洲视频三区 | 91综合网| 国产精品一区二区三区在线 | 一区二区三区亚洲 | 久草.com| 色综合久 | 欧美成人一区二区三区 | 国产又爽又黄的视频 | 亚洲视频一区 | 亚洲精品影院 | 欧美精品一区三区 | 一级黄色在线 | 亚洲成人av | 久久av综合| 日韩一区在线播放 | 国产精品日日做人人爱 | 中文字幕精品视频 | 在线成人av | 麻豆一区一区三区四区 | 中文字幕伊人 | 天堂视频中文在线 | 亚洲网站在线观看 | 亚洲电影成人 | 亚洲伦理自拍 | 国产午夜精品一区二区三区四区 | 久久国产精品视频 | 日韩国产中文字幕 | 婷婷久久久久 | 九久久 | 国产一级在线 |