//串行數(shù)碼管顯示 年-月-日 時-分-秒//芯片 ATMEGA16L //時鐘 4MHz 內(nèi)部 // DS1302 上升沿讀寫數(shù)據(jù) // DS1302 讀數(shù)據(jù)時 IO口上拉無效 //短延時 2us wait(); 長延時 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;//功能鍵,選擇時分秒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)品開發(fā)的時候,邏輯的嚴(yán)謹(jǐn)性非常重要,如果一個產(chǎn)品或者程序邏輯上不嚴(yán)謹(jǐn),就有可能出現(xiàn)功能上的錯誤。比如我們15.3.4節(jié)里的這個程序,我們再回顧一下,當(dāng)單片機(jī)定時器時間到了 200 ms 后,我們連續(xù)把 DS1302
/*********************************************************************************1.本程序能夠顯示年,月,日,時,分,秒,星期七個參數(shù).2.時間和日期可調(diào)??煞謩e完成年,月,日,時,分,秒六個參數(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ǎng)上的帖子,STM32的RTC果然口碑不怎么樣,所以果斷換DS1302,在移植的過程中還算順利,記錄下來吧,也算對自己的總結(jié)吧!1、所謂的DS1302這里面也指
DS1302 的一條指令一個字節(jié)共8位,其中第7位(即最高位)固定為1,這一位如果是0的話,那寫進(jìn)去也是無效的。第6位是選擇 RAM 還是 CLOCK 的,我前邊說過,我們這里主要講 CLOCK 時鐘的使用,它的 RAM 功能我們不用,
void wr1302(unsigned char dat) //向1302寫1個字節(jié) { unsigned char i; for(i=0;i>1; //數(shù)據(jù)右移 ; } } unsigned char rd1302(void) //從1302讀1個字節(jié) { unsigned char i; for(i=0;i>1; DATA130
//DS1302時鐘程序//液晶用的ST7920控制芯片的12864#include #include /********************************************************************/#define LCD12864_IOP0#defineCLERADISPLAYLCD12864_command(0x01);#d
/**********************************************程序名稱:DS1302時鐘芯片C51驅(qū)動程序簡要說明:read_clockS函數(shù)為讀取時鐘數(shù)據(jù) 調(diào)用Set_time即可調(diào)整時間并寫入DS1302 sel為調(diào)整標(biāo)志,可通過外部按鍵來更改其值****
//串行數(shù)碼管顯示 年-月-日 時-分-秒//芯片 ATMEGA16L //時鐘 4MHz 內(nèi)部 // DS1302 上升沿讀寫數(shù)據(jù) // DS1302 讀數(shù)據(jù)時 IO口上拉無效 //短延時 2us wait(); 長延時 n ms delay_nms(); #include//164數(shù)據(jù)線置1
如題, 這個是網(wǎng)上所謂的變態(tài)版的3線SPI總線:一根時鐘線,一根使能線,一根雙向IO線. 一個模塊,兩個文件://spi3.c#include "typedef.h"#include "spi3.h"/****************************************************
proteus仿真之DS1302+LCD1602顯示試驗(yàn)仿真效果圖為:C語言源程序如下:/*51單片機(jī):DS1302+LCD1602 Proteus 仿真程序。功能:LCD1602時鐘與日期的顯示。仿真結(jié)果:LCD1602顯示設(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操作庫函數(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時鐘芯片、1602LCD做一個電子表 。各文件例舉如下:1、main()函數(shù)所在文件部分:/*******************************************************************************說明:AT89S52芯片,12M
#include #include #include "delay.h"#include "lcd.h"#define uchar unsigned char#define uint unsigned int#define DS1302_RST_SET PORTA |= ( 1 > 4; DS1302TIMEDISP[t + 1] = DS1302TIME[i] & 0x0f;}}//將時間