這次咱們一起討論實(shí)時(shí)時(shí)鐘IC,應(yīng)用也是相當(dāng)廣泛的,滲透到時(shí)鐘、手表、手機(jī)、電腦等等。往往溫度是影響時(shí)鐘的主要因素,因?yàn)闇囟葧?huì)影響晶振的頻率,這點(diǎn)也是工程師們所不可
//串行數(shù)碼管顯示 年-月-日 時(shí)-分-秒//芯片 ATMEGA16L //時(shí)鐘 4MHz 內(nèi)部 // DS1302 上升沿讀寫數(shù)據(jù) // DS1302 讀數(shù)據(jù)時(shí) IO口上拉無(wú)效 //短延時(shí) 2us wait(); 長(zhǎng)延時(shí) n ms delay_nms(); #include //#include #d
/**************************文件所用資源1.端口:P0.4,P0.5,P0.62.調(diào)用delay_ms函數(shù)**************************//***********************1302引腳定義***********************/sbit T_RST= P0^4;sbit T_DAT = P0^5
#defineuintunsignedint#defineucharunsignedcharsbitlcdrs=P1^0;sbitlcdrw=P1^1;sbitlcden=P1^2;sbitkey0=P2^0;//功能鍵,選擇時(shí)分秒sbitkey1=P2^1;//加1鍵sbitkey2=P2^2;//減1鍵sbitkey4=P2^4;sbitclk_1302=P1^5;//
#include#include"DS1302.h"#includevoidds1302_init(void){PORTX=0x00;DDRX=0x07;}voidwrite_ds1302_byte(unsignedchardat){unsignedchari;for(i=0;i>1;SCK=1;}}voidwrite_ds1302(unsignedcharadd,unsignedchardat)
進(jìn)行產(chǎn)品開(kāi)發(fā)的時(shí)候,邏輯的嚴(yán)謹(jǐn)性非常重要,如果一個(gè)產(chǎn)品或者程序邏輯上不嚴(yán)謹(jǐn),就有可能出現(xiàn)功能上的錯(cuò)誤。比如我們15.3.4節(jié)里的這個(gè)程序,我們?cè)倩仡櫼幌?,?dāng)單片機(jī)定時(shí)器時(shí)間到了 200 ms 后,我們連續(xù)把 DS1302
/*********************************************************************************1.本程序能夠顯示年,月,日,時(shí),分,秒,星期七個(gè)參數(shù).2.時(shí)間和日期可調(diào)??煞謩e完成年,月,日,時(shí),分,秒六個(gè)參數(shù)的調(diào)整。
#include#define uchar unsigned char#define uint unsigned int#include"DS1302.h"#include"DS18B20.h"#define sec 0x80#define min 0x82#define hou 0x84#define read 0x01unsigned char hour,minute,second,id=0,
由于硬件出了問(wèn)題,也就是外部低速晶振沒(méi)用,震不起來(lái),然后查看了網(wǎng)上的帖子,STM32的RTC果然口碑不怎么樣,所以果斷換DS1302,在移植的過(guò)程中還算順利,記錄下來(lái)吧,也算對(duì)自己的總結(jié)吧!1、所謂的DS1302這里面也指
DS1302 的一條指令一個(gè)字節(jié)共8位,其中第7位(即最高位)固定為1,這一位如果是0的話,那寫進(jìn)去也是無(wú)效的。第6位是選擇 RAM 還是 CLOCK 的,我前邊說(shuō)過(guò),我們這里主要講 CLOCK 時(shí)鐘的使用,它的 RAM 功能我們不用,
void wr1302(unsigned char dat) //向1302寫1個(gè)字節(jié) { unsigned char i; for(i=0;i>1; //數(shù)據(jù)右移 ; } } unsigned char rd1302(void) //從1302讀1個(gè)字節(jié) { unsigned char i; for(i=0;i>1; DATA130
//DS1302時(shí)鐘程序//液晶用的ST7920控制芯片的12864#include #include /********************************************************************/#define LCD12864_IOP0#defineCLERADISPLAYLCD12864_command(0x01);#d
/**********************************************程序名稱:DS1302時(shí)鐘芯片C51驅(qū)動(dòng)程序簡(jiǎn)要說(shuō)明:read_clockS函數(shù)為讀取時(shí)鐘數(shù)據(jù) 調(diào)用Set_time即可調(diào)整時(shí)間并寫入DS1302 sel為調(diào)整標(biāo)志,可通過(guò)外部按鍵來(lái)更改其值****
//串行數(shù)碼管顯示 年-月-日 時(shí)-分-秒//芯片 ATMEGA16L //時(shí)鐘 4MHz 內(nèi)部 // DS1302 上升沿讀寫數(shù)據(jù) // DS1302 讀數(shù)據(jù)時(shí) IO口上拉無(wú)效 //短延時(shí) 2us wait(); 長(zhǎng)延時(shí) n ms delay_nms(); #include//164數(shù)據(jù)線置1
如題, 這個(gè)是網(wǎng)上所謂的變態(tài)版的3線SPI總線:一根時(shí)鐘線,一根使能線,一根雙向IO線. 一個(gè)模塊,兩個(gè)文件://spi3.c#include "typedef.h"#include "spi3.h"/****************************************************
proteus仿真之DS1302+LCD1602顯示試驗(yàn)仿真效果圖為:C語(yǔ)言源程序如下:/*51單片機(jī):DS1302+LCD1602 Proteus 仿真程序。功能:LCD1602時(shí)鐘與日期的顯示。仿真結(jié)果:LCD1602顯示設(shè)定的時(shí)間與日期。*/#include /*******
修改后的頭文件reg51.h內(nèi)容:/*--------------------------------------------------------------------------REG51.HHeader file for generic 80C51 and 80C31 microcontroller.Copyright (c) 1988-2002 Keil Elek
/********************************************lcd1602_8h.h* * LCD1602操作庫(kù)函數(shù),8位數(shù)據(jù)聯(lián)接關(guān)系: * * LCD1602:DB0-DB7 M16:PB0-PB7 * * LCD1602:RS M16:PD3 * * LCD1602:E M16:PD6 * * LCD1602:R/WGND
//;******************************************* #include #include #define uchar unsigned char #define uint unsigned int static volatile unsigned char acc @ 0x20; static volatile bit acc0 @ (u
用AT89S52單片機(jī)、DS1302時(shí)鐘芯片、1602LCD做一個(gè)電子表 。各文件例舉如下:1、main()函數(shù)所在文件部分:/*******************************************************************************說(shuō)明:AT89S52芯片,12M