日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年06月22日(星期日)

2018年06月22日 | PIC單片機(jī)(PIC16F877A)DS1302芯片程序

發(fā)布者:創(chuàng)意旋律 來源: eefocus關(guān)鍵字:PIC單片機(jī)  PIC16F877A  DS1302 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

#include  

typedef unsigned char uchar;  

typedef unsigned int uint;  

#define rs_h PORTC|=0x01  

#define rs_l PORTC&=0xfe  

#define rw_h PORTC|=0x02  

#define rw_l PORTC&=0xfd  

#define en_h PORTC|=0x04   

#define en_l PORTC&=0xfb  

#define rst_h PORTC|=0x08  

#define rst_l PORTC&=0xf7  

#define sck_h PORTC|=0x10  

#define sck_l PORTC&=0xef  

#define io_h PORTC|=0x20  

#define io_l PORTC&=0xdf  

#define SECADD 0X80//秒寄存器地址  

#define MINADD 0x82  

#define HRADD 0x84  

#define DATEADD 0x86  

#define MONTHADD 0x88  

#define DAYADD 0x8a  

#define YEARADD 0x8c  

#define CONTROLADD 0x8e  

#define PORT (PORTB)  

void delayms(uint x);  

void lcd_com(uchar com);  

void lcd_dat(uchar dat);  

void lcd_write(uchar c,uchar r,uchar dat);  

void lcd_init(void);  

void Ds1302Init(void);  

void WriteByte(uchar dat);  

uchar ReadByte(void);  

uchar BCDtoDex(uchar dat);  

uchar DextoBCD(uchar dat);  

uchar ReadByte(void);  

void Ds1302Write(uchar add,uchar dat);  

uchar Ds1302Read(uchar add);  

  

void main(void)  

{  

    uchar sec,min,hr,date,month,day,year;  

    TRISB=0x00;  

    TRISC&=0xc0;  

    lcd_init();  

    Ds1302Init();  

    while(1)  

    {  

        sec=Ds1302Read(SECADD);  

        min=Ds1302Read(MINADD);  

        hr=Ds1302Read(HRADD);  

        date=Ds1302Read(DATEADD);  

        month=Ds1302Read(MONTHADD);  

        day=Ds1302Read(DAYADD);  

        year=Ds1302Read(YEARADD);  

  

        sec=BCDtoDex(sec);  

        min=BCDtoDex(min);  

        hr=BCDtoDex(hr);  

        date=BCDtoDex(date);  

        month=BCDtoDex(month);  

        day=BCDtoDex(day);  

        year=BCDtoDex(year);  

  

        lcd_write(0,1,0x32);  

        lcd_write(0,2,0x30);  

        lcd_write(0,3,0x30+year/10);  

        lcd_write(0,4,0x30+year%10);  

        lcd_write(0,6,0x30+month/10);  

        lcd_write(0,7,0x30+month%10);  

        lcd_write(0,9,0x30+date/10);  

        lcd_write(0,10,0x30+date%10);  

        lcd_write(0,14,0x30+day);  

        lcd_write(1,4,0x30+hr/10);  

        lcd_write(1,5,0x30+hr%10);  

        lcd_write(1,7,0x30+min/10);  

        lcd_write(1,8,0x30+min%10);  

        lcd_write(1,10,0x30+sec/10);  

        lcd_write(1,11,0x30+sec%10);  

        delayms(1005);//1ms  

    }  

  

}  

void Ds1302Init(void)  

{  

    rst_l;  

    sck_l;  

    Ds1302Write(CONTROLADD,0);//關(guān)閉寫保護(hù)  

    Ds1302Write(MINADD,DextoBCD(06));  

    Ds1302Write(HRADD,DextoBCD(19));  

    Ds1302Write(DATEADD,DextoBCD(20));  

    Ds1302Write(MONTHADD,DextoBCD(5));  

    Ds1302Write(DAYADD,DextoBCD(7));  

    Ds1302Write(YEARADD,DextoBCD(12));  

    Ds1302Write(SECADD,DextoBCD(30));//寫秒,同時(shí)啟動(dòng)時(shí)鐘  

}  

void WriteByte(uchar dat)//上升沿輸出  

{  

    uchar i;  

    TRISC&=0xdf;  

    for(i=8;i>0;i--)  

    {  

        sck_l;//低電平時(shí)數(shù)據(jù)線可變  

        if(dat&0x01)  

            io_h;  

        else  

            io_l;  

        sck_h;  

        dat>>=1;  

    }  

}  

uchar BCDtoDex(uchar dat)//BCD碼轉(zhuǎn)十進(jìn)制  

{  

    uchar i;  

    i=dat/16;  

    dat%=16;  

    i=i*10+dat;  

    return i;  

}  

uchar DextoBCD(uchar dat)//十進(jìn)制轉(zhuǎn)BCD碼  

{  

    uchar i;  

    i=dat/10;  

    dat%=10;  

    i=i*16+dat;  

    return i;  

}  

uchar ReadByte(void)//下降沿輸出  

{  

    uchar i;  

    uchar dat;  

    TRISC|=0x20;  

    for(i=8;i>0;i--)//要考慮之前寫完后的狀態(tài),第一次進(jìn)入此循環(huán)體即有下降沿  

    {  

        dat>>=1;  

        sck_l;  

        if(PORTC&0x20)  

            dat|=0x80;  

        sck_h;    

    }  

    return dat;  

}  

void Ds1302Write(uchar add,uchar dat)  

{  

    rst_l;  

    sck_l;  

    rst_h;  

    WriteByte(add);//最低位置0表示寫  

    WriteByte(dat);  

    rst_l;  

}  

uchar Ds1302Read(uchar add)  

{  

    uchar dat;  

    rst_l;  

    sck_l;  

    rst_h;  

    WriteByte(add+1);//地址最低位置1表示讀  

    dat=ReadByte();  

    rst_l;  

    return dat;  

}  

void delayms(uint x) //8M晶振下,延時(shí)1ms  

{  

    uint y,z;  

    for(y=x;y>0;y--)  

        for(z=220;z>0;z--);  

}  

void lcd_init(void)//LCD1602初始化  

{  

    lcd_com(0x38);  

    lcd_com(0x0c);  

    lcd_com(0x06);  

    lcd_write(0,5,0xb0);  

    lcd_write(0,8,0xb0);  

    lcd_write(1,6,0x3a);  

    lcd_write(1,9,0x3a);  

}  

void lcd_com(uchar com)//向LCD1602寫命令  

{  

    rs_l;  

    rw_l;  

    PORT=com;  

    delayms(1);  

    en_h;  

    delayms(1);   

    en_l;  

}  

void lcd_dat(uchar dat)//向LCD1602寫數(shù)據(jù)  

{  

    rs_h;  

    rw_l;  

    PORT=dat;  

    delayms(1);  

    en_h;  

    delayms(1);  

    en_l;  

}  

void lcd_write(uchar c,uchar r,uchar dat)//向LCD1602指定行、指定列、寫數(shù)據(jù)  

{  

    lcd_com(0x80+0x40*c+r);  

    lcd_dat(dat);  

    delayms(1);  

}  

關(guān)鍵字:PIC單片機(jī)  PIC16F877A  DS1302 引用地址:PIC單片機(jī)(PIC16F877A)DS1302芯片程序

上一篇:PIC單片機(jī)(PIC16F877A)DS18B20溫度傳感器驅(qū)動(dòng)程序
下一篇:PIC16F877A輸入檢測問題

推薦閱讀

主程序1:void main(){ uchar i,j,k i=0; j=0; while(1) { i=key();//鍵盤循環(huán)掃描,其值賦給變量數(shù)組table if(i!=0)//鍵盤子程序返回值非0,即有按鍵按下 { table[j]=i;//將值存在變量數(shù)組中j++; ...
據(jù)外媒報(bào)道,以色列網(wǎng)絡(luò)安全公司Regulus Cyber最近的研究顯示,特斯拉Model S和Model 3電動(dòng)汽車的導(dǎo)航系統(tǒng)易受到網(wǎng)絡(luò)攻擊。Regulus Cyber公司最近在試駕啟動(dòng)特斯拉Navigate on Autopilot功能的汽車時(shí),發(fā)現(xiàn)對該功能進(jìn)行攻擊會讓汽車突然降速,并偏離主干道。Regulus Cyber公司是首家關(guān)注汽車、移動(dòng)設(shè)備和關(guān)鍵基礎(chǔ)設(shè)施智能傳感器安全的公司,其在針...
WWDC開發(fā)者大會上,蘋果要發(fā)布多款新系統(tǒng),不過這次可能這些并不是重點(diǎn),那是什么? 知名分析師郭明錤今天給出的報(bào)道稱,蘋果會在明天舉行的WWDC上發(fā)布Mac電腦轉(zhuǎn)換至自家設(shè)計(jì)的 ARM 處理器計(jì)劃。為了讓開發(fā)者有時(shí)間可準(zhǔn)備ARM版本的macOS app,故將在 WWDC發(fā)布Mac轉(zhuǎn)換至ARM的計(jì)劃。 在這份報(bào)告中,郭明錤透露,首批支持ARM處理器的Mac包括13英寸MacBook...
      據(jù)媒體報(bào)道稱,為了讓員工可以保持更好的心情工作,佳能中國子公司在公司辦公室外安裝了AI相機(jī)?! ≡撓鄼C(jī)可智能對員工的臉部進(jìn)行微笑識別,只有在識別到員工面帶微笑時(shí)才可以進(jìn)入辦公室或者對應(yīng)辦公區(qū)域進(jìn)行工作,反之則不會。       佳能表示,安裝AI相機(jī)的目的在于讓員工辦公時(shí)時(shí)刻都擁有好心情,擁有一個(gè)輕松的工作氛圍。

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved