娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

12864+DS1302 +DS18B20 大字符時鐘供大家學習。

電子智能時鐘程序

單 片 機:STC89C52RC

晶    振:12MHz

時鐘芯片:DS1302

液 晶 屏:LCM-12864-ST7920

時    間:2019年11月26修改完成

LCM12864使用并口連接方式,PSB、RST接高電平    

制作出來的實物圖如下:
 

電路原理圖如下:
 

單片機源程序如下:

/*---------------------------------------------------------------------------

                電子智能時鐘程序

                單 片 機:STC89C52RC

                晶    振:12MHz

                時鐘芯片:DS1302

                液 晶 屏:LCM-12864-ST7920

                時    間:2019年11月26修改完成

                LCM12864使用并口連接方式,PSB、RST接高電平    

------------------------------------------------------------------------------*/


/*-------------------------------頭文件---------------------------------------*/

#include

#include

#include "LCD12864.h"

#include "DS1302.h"

#include "DS18B20.h"

#include "nongli.h"

#include "displaytime.h"

//#include "jieqi.h"

#define uint  unsigned int

#define uchar unsigned char


/*----------------------------定義按鍵---------------------------------------*/

sbit K1  = P2^3; //K1-設置  

sbit K2  = P2^2; //K2-確認、返回   

sbit K3  = P2^1; //K3-加         

sbit K4  = P2^0; //K4-減         

//sbit K5  = P3^7; //液晶背光控制按鍵,按一下亮,再按一下滅                 

//sbit BLK = P3^7; //液晶背光控制輸出,低電平有效,PNP三極管控制。


/*---------------------函數聲明------------------------------*/

void DelayM(uint);               

void ds_w(void);

void Conver_week(bit c,uchar year,uchar month,uchar day);

/*-----------------------------定義全局變量------------------------------*/

bit q=0, w=0;    //調時標志位

unsigned char yy,mo,dd,xq,hh,mm,ss,month_moon,day_moon,week,tiangan,dizhi,moontemp1,moontemp2;//定義時間映射全局變量(專用寄存器)

signed char address,item,max,mini;


/*-----------------------------延時函數 1MS/次-------------------------------*/

void DelayM(uint a)               

{

        uchar i;

        while( --a != 0) { for(i = 0; i < 125; i++); }                                      

}

/*-----------------------------日期、時間設置函數-----------------------------*/


void tiaozheng(void){

        yy = read_clock(0x8d);//調用1302時鐘數據中的年數據,從地址0x8d中    

        mo = read_clock(0x89);//調用1302時鐘數據中的月數據,從地址0x89中    

        dd = read_clock(0x87);//從1302芯片中讀取日數據,從地址0x87中    

        week = read_clock(0x8b);//從1302芯片中讀取星期數據,從地址0x8b中    

        lcm_w_test(0,0x80);


        lcm_w_word("20");//顯示內容字符20

        write_data(yy/16+0x30);//函數參數1,代表本行寫數據,YY/16+0X30得出年十位數字的顯示碼地址,送顯示        

        write_data(yy%16+0x30);//函數?

        lcm_w_word("年");


        write_data(mo/16+0x30);

        write_data(mo%16+0x30);//與16取余數,得到月份的個位數,加0x30得到該數字的液晶內定顯示碼送顯示

        lcm_w_word("月");     //調用字符顯示函數,顯示文字 月   


        write_data(dd/16+0x30);

        write_data(dd%16+0x30);//第一個1參數,表示本行寫數據,日數據與16取余得個位數,加0x30得到顯示碼

        lcm_w_word("日");//顯示字符 日 


        if(read_clock(0x85) != hh){  //如果程序中的小時與1302芯片中的不同,

                hh = read_clock(0x85);  //刷新程序中的小時數據   

        }

        lcm_w_test(0,0x91);//第一個參數0,表示本行寫入LCM的是指令,指定顯示位置91H(第三行左端)

        write_data(hh/16+0x30);  //顯示十位

         

        write_data(hh%16+0x30);  //顯示個位

        lcm_w_word("時");


        if(read_clock(0x83) != mm){//如果1302芯片中的分鐘數據與程序中的分鐘變量不相等                

                mm = read_clock(0x83);//刷新程序中的分鐘數據

        }

        write_data(mm/16+0x30);//向液晶寫數據,顯示分鐘的十位數

        write_data(mm%16+0x30);//向液晶寫數據,顯示分鐘的個位數

        lcm_w_word("分");


        if(read_clock(0x81) != ss){//如果1302芯片中的分鐘數據與程序中的秒鐘變量不相等                

                ss = read_clock(0x81);//刷新程序中的秒鐘數據

        }

        write_data(ss/16+0x30);//向液晶寫數據,顯示分鐘的十位數

        write_data(ss%16+0x30);//向液晶寫數據,顯示分鐘的個位數

        lcm_w_word("秒");         


}


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

//調整時間子函數,設置鍵、數據范圍、上調加一,下調減一功能。

void Set_time(unsigned char sel){ //根據選擇調整的相應項目加1并寫入DS1302,函數參數是按動設置鍵的次數

  

        write_com(0x30); write_com(0x06);


        lcm_w_test(0,0x98);//第一參數0表示本行寫入指令,指定下面行的 調整 顯示起始位置為98H

        lcm_w_word("★調整");//調用字符顯示函數,顯示 調整字樣

  

/*        if(sel==6)  {lcm_w_word("星期");address=0x8a; max=7;mini=1;          

     tiaozheng();

     ds_w();

     tiaozheng();

          }

*/

//////////////////////////////////////////////////////////////

        if(sel==5)  {lcm_w_word("秒鐘");address=0x80; max=59;mini=0;          

                tiaozheng();  //調用日期、時間調整函數

           ds_w();                  //被調數據加一或減一函數

           tiaozheng();

                                            

        }        //秒7,按動7次顯示 調整秒鐘   

                //并指定秒鐘數據寫入1302芯片的地址是0x82,秒鐘數據的最大值是59,最小值是0

   /////////////////////////////////////////////////////////////////////////

        if(sel==4)  {lcm_w_word("分鐘");address=0x82; max=59;mini=0;

           tiaozheng();

           ds_w();

           tiaozheng();

  

        }        //分鐘6,按動6次顯示 調整分鐘

                //并指定分鐘數據寫入1302芯片的地址是0x82,分鐘數據的最大值是59,最小值是0



        if(sel==3)  {lcm_w_word("小時");address=0x84; max=23;mini=0;

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

                 if(address > 12){

                                           address = address-12;        }

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

            tiaozheng();

           ds_w();

           tiaozheng();

  

        }        //小時5,按動5次顯示 調整小時

                //規定小時數據寫入1302芯片的位置是0x84,小時數據最大值23,最小值是0

  


        if(sel==2)  {lcm_w_word("日期");

                address=0x86; 


                mo = read_clock(0x89);//讀月數據

                moontemp1=mo/16;

                moontemp2=mo%16;

                mo=moontemp1*10+moontemp2;//轉換成10進制月份數據


      yy = read_clock(0x8d);//讀年數據

        moontemp1=yy/16;

                moontemp2=yy%16;

                yy=moontemp1*10+moontemp2;//轉換成10進制年份數據 


        if(mo==2&&yy%4!=0){max=28;mini=1;}//平年2月28天

                if(mo==2&&yy%4==0){max=29;mini=1;}//閏年2月29天

                if(mo==1||mo==3||mo==5||mo==7||mo==8||mo==10||mo==12){max=31;mini=1;}//31天的月份

                if(mo==4||mo==6||mo==9||mo==11){max=30;mini=1;}//30天的月份

                tiaozheng();

                ds_w();

                tiaozheng(); //調用日期、時間調整函數


  }        //日3,按動3次顯示 調整日期

                //規定日期數據寫入1302的位置地址是0x86,日期最大值31,最小值是1




  if(sel==1)  {lcm_w_word("月份");address=0x88; max=12;mini=1;

     tiaozheng();

     ds_w();

     tiaozheng();

[1] [2] [3]
關鍵字:DS1302  DS18B20  大字符時鐘 引用地址:12864+DS1302+DS18B20大字符時鐘原理圖與源程序

上一篇:STC89C52+LCD12864+DS1302+DS18B20時鐘原理圖+源程序
下一篇:單片機驅動帶編碼器直流電機 源程序

推薦閱讀

由于中國是全球最大的智能手機市場,所以除了我們熟悉的華為、OPPO、vivo、小米等普通消費者常見的品牌外,還有一些小眾手機品牌存在,雖然它們名氣不響,但是在智能手機市場依舊扮演著重要角色。2017年已經過去了,我們來回顧一下只屬于它們的2017。一加:自信一加這個品牌一般只有數碼發燒友才知道,預裝的氫OS雖然沒有MIUI、flyme那樣美觀、易用,維持...
蘋果在去年十月份發布的全新iPad Pro上,將lightning接口替換為USB-C的做法足以表達蘋果希望將新款iPad Pro定義為生產力工具,而在新款iPad Pro正式發布后,其搭載的新款A12X處理器的性能也確實讓各大媒體十分震撼。從近日外媒得到的一張蘋果新專利的圖片顯示,未來蘋果甚至希望將iPhone也打造成為一款生產力工具。從專利圖中可以看到,一臺iPhone設備...
STC89C52+LCD12864+DS1302 +DS18B20+PCB 時鐘供大家學習。 電子智能時鐘程序 單 片 機:STC89C52 晶 振:12MHz 時鐘芯片:DS1302 液 晶 屏:LCD12864 時 間:2020年1月1日 LCD12864使用并口連接方式,PSB、RST接高電平/*--------...
集微網消息,1月21日,福建泉州臺商投資區舉行部分重點項目集中開竣工儀式,項目涵蓋高新技術產業、教育民生、旅游服務等。活動上,福建省中科明潤科技(集團)有限公司梓晶微集成電路封裝測試工程項目竣工。該項目總投資2.2億元,引進8條封裝測試線,于2018年2月開工。項目分兩期建設,建成后滿額產能年產約20億顆的生產能力,爭取投產三年后滿額產能。其...

史海拾趣

問答坊 | AI 解惑

PCB電測技術分析

一、電性測試 PCB板在生產過程中,難免因外在因素而造成短路、斷路及漏電等電性上的瑕疵,再加上PCB不斷朝高密度、細間距及多層次的演進,若未能及時將不良板篩檢出來,而任其流入制程中,勢必會造成更多的成本浪費,因此除了制程控制的改善外,提 ...…

查看全部問答∨

雙向光耦的資料

這是我在網上找到的雙向光耦一點資料,和大家分享!…

查看全部問答∨

這才是布線的精品~~

by 千家論壇 ID:一般我不說 看了很多網友的做的工程圖片,忍不住想秀下自己的工程。自認非精品莫屬!! …

查看全部問答∨

嵌入式學習,嵌入式學習有哪些要素呢

學習,老師是非常關鍵的環節。對于嵌入式的學習當然也不例外。所以,在嵌入式的學習中,老師是很重要的要素之一。 嵌入式學習,挑選什么樣的老師? 雙師型老師。具體的來說,一方面,具備嵌入式的研發經驗,有獨立開發的項目和作品,在嵌入式行 ...…

查看全部問答∨

操作問題:SDK如何添加?

在EVC軟件中,有一個選擇SDK的框,但是沒有我要的SDK,隨后我將需要的SDK安裝完畢,但不知道怎么做,才能在這個里面選擇出來。 我想這個問題應該是很初級的問題了,但我是初學者,所以弄不明白。 謝謝解答! …

查看全部問答∨

請教WM_SETSEL的使用

請問高手們,WM_SETSEL怎么用呢, 總是出錯提示“未聲明的標識符”, 還有這個消息能用在靜態控件上嗎? 多謝各位。…

查看全部問答∨

關于模擬iic很奇怪的問題

目前在調一款rtc的芯片,通過iic進行讀寫的,目前采用的是模擬的方式。 現在的問題是,我用普通的io口進行模擬的話,讀寫都沒有問題,但是如果換成了接了上拉電阻的io口的話,讀寫都不正常了 個人感覺不可理解 希望各位幫忙分析查找原因…

查看全部問答∨

IXP425內核啟動出錯

用的是stareast公司的ixp425開發板。由于光盤所帶snapgear版本稍舊,所以干脆網上下載gateworks公司為IXP425提供的avila軟件套裝。在配置中把開發平臺由avila改為ixdp425,kernel command line改為: "console=ttyS1,115200 root=/dev/ram0 initrd= ...…

查看全部問答∨

求助

書中出現"P1.0(TA0)、P1.2(TA1)、P2.0(TA2)"及“P1.3不是TAx管腳” 1 是不是能說明TAx管腳輸出的是一位呢? 2 這是5438的引腳圖,里面出現的TA0.0    TA0.1  TA0.2又是什么呢? 急~~  …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 盖州市| 博白县| 镇坪县| 铅山县| 兴业县| 泰兴市| 邻水| 宁夏| 达孜县| 古田县| 鹤峰县| 岑溪市| 怀柔区| 石首市| 正镶白旗| 彭泽县| 新宁县| 安康市| 古浪县| 东光县| 绥棱县| 乳山市| 固始县| 日喀则市| 台北市| 巴林左旗| 东宁县| 银川市| 镇宁| 泽普县| 东阳市| 舒城县| 东台市| 伊春市| 中西区| 华容县| 寿宁县| 乾安县| 成都市| 临朐县| 沈阳市|