




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、#include <reg52.h>#include <intrins.h>#include <string.h>#define uint unsigned int#define uchar unsigned chartypedef unsigned char BYTE;sbit IO = P10;sbit SCLK = P11;sbit RST = P12;sbit RS = P20;sbit RW = P21;sbit EN = P22;uchar *WEEK="SUN","*","MON",&
2、quot;TUS","WEN","THU","FRI","SAT"uchar LCD_DSY_BUFFER1="DATE 00-00-00 "uchar LCD_DSY_BUFFER2="TIME 00:00:00 "uchar DateTime7;void DelayMS(uint ms) uchar i;while(ms-) for(i=0;i<120;i+); /DS1302片選口P1.2 /秒 分 時(shí) 日 月 星期 年BYTE code init =
3、0x00, 0x00, 0x20, 0x01, 0x01, 0x05, 0x10;BYTE data now7;void DS1302_Initial();void DS1302_SetTime(BYTE *p);void DS1302_GetTime(BYTE *p);/*void main() DS1302_Initial(); /初始化DS1302 DS1302_SetTime(init); /設(shè)置初始時(shí)間 DS1302_GetTime(now); /讀取當(dāng)前時(shí)間 while (1);*/*延時(shí)X微秒(STC12C5A60S212M)不同的工作環(huán)境,需要調(diào)整此函數(shù)此延時(shí)函數(shù)是使用1T的指
4、令周期進(jìn)行計(jì)算,與傳統(tǒng)的12T的MCU不同*/void Delay() _nop_(); _nop_();/*從DS1302讀1字節(jié)數(shù)據(jù)*/BYTE DS1302_ReadByte() BYTE i; BYTE dat = 0; for (i=0; i<8; i+) /8位計(jì)數(shù)器 SCLK = 0; /時(shí)鐘線拉低Delay(); /延時(shí)等待 dat >>= 1; /數(shù)據(jù)右移一位if (IO) dat |= 0x80; /讀取數(shù)據(jù)SCLK = 1; /時(shí)鐘線拉高Delay(); /延時(shí)等待 return dat;/*向DS1302寫1字節(jié)數(shù)據(jù)*/void DS1302_Writ
5、eByte(BYTE dat) char i; for (i=0; i<8; i+) /8位計(jì)數(shù)器 SCLK = 0; /時(shí)鐘線拉低 Delay(); /延時(shí)等待 dat >>= 1; /移出數(shù)據(jù) IO = CY; /送出到端口 SCLK = 1; /時(shí)鐘線拉高 Delay(); /延時(shí)等待 /*讀DS1302某地址的的數(shù)據(jù)*/BYTE DS1302_ReadData(BYTE addr) BYTE dat; RST = 0; Delay(); SCLK = 0; Delay(); RST = 1; Delay(); DS1302_WriteByte(addr); /寫地址
6、dat = DS1302_ReadByte(); /讀數(shù)據(jù) SCLK = 1; RST = 0; return dat;/*往DS1302的某個(gè)地址寫入數(shù)據(jù)*/void DS1302_WriteData(BYTE addr, BYTE dat) RST = 0; Delay(); SCLK = 0; Delay(); RST = 1; Delay(); DS1302_WriteByte(addr); /寫地址 DS1302_WriteByte(dat); /寫數(shù)據(jù) SCLK = 1; RST = 0;/*寫入初始時(shí)間*/void DS1302_SetTime(BYTE *p) BYTE add
7、r = 0x80; BYTE n = 7; DS1302_WriteData(0x8e, 0x00); /允許寫操作 while (n-) DS1302_WriteData(addr, *p+); addr += 2; DS1302_WriteData(0x8e, 0x80); /寫保護(hù)/*讀取當(dāng)前時(shí)間*/void DS1302_GetTime(BYTE *p) BYTE addr = 0x81; BYTE n = 7; while (n-) *p+ = DS1302_ReadData(addr); addr += 2; /*初始化DS1302*/void DS1302_Initial() R
8、ST = 0; SCLK = 0; DS1302_WriteData(0x8e, 0x00); /允許寫操作 DS1302_WriteData(0x80, 0x00); /時(shí)鐘啟動(dòng) DS1302_WriteData(0x90, 0xa6); /一個(gè)二極管4K電阻充電 DS1302_WriteData(0x8e, 0x80); /寫保護(hù)uchar Read_LCD_State() uchar state;RS=0;RW=1;EN=1;DelayMS(1);state=P0;EN = 0;DelayMS(1);return state;void LCD_Busy_Wait() while(Read
9、_LCD_State()&0x80)=0x80);DelayMS(5);void Write_LCD_Data(uchar dat) LCD_Busy_Wait();RS=1;RW=0;EN=0;P0=dat;EN=1;DelayMS(1);EN=0;void Write_LCD_Command(uchar cmd) LCD_Busy_Wait();RS=0;RW=0;EN=0;P0=cmd;EN=1;DelayMS(1);EN=0;void Init_LCD() Write_LCD_Command(0x38);DelayMS(1);Write_LCD_Command(0x01);De
10、layMS(1);Write_LCD_Command(0x06);DelayMS(1);Write_LCD_Command(0x0c);DelayMS(1);void Set_LCD_POS(uchar p) Write_LCD_Command(p|0x80);void Display_LCD_String(uchar p,uchar *s) uchar i;Set_LCD_POS(p);for(i=0;i<16;i+)Write_LCD_Data(si);DelayMS(1); void Format_DateTime(uchar d,uchar *a) a0=d/10+'0'a1=d%10+'0'void main() Init_LCD();while(1) DS1302_GetTime(now); Format_DateTime(DateTime6,LCD_DSY_BUFFER1+5);Format_DateTime(DateTime4,LCD_DSY_BUFFER1+8);Format_DateTime(DateTime3,LCD_DSY_BUFFER1+11);strcpy(LCD_DSY_BUFFER1+13,WEEKDateTime5);Format_DateTime(DateTime2,LCD_DSY_BUFFER1+5);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲(chǔ)管理員崗位面試問題及答案
- 威海市重點(diǎn)中學(xué)2025屆化學(xué)高二下期末預(yù)測(cè)試題含解析
- 2025屆黑龍江省齊齊哈爾市第八中學(xué)高二下化學(xué)期末統(tǒng)考試題含解析
- 河北省承德市豐寧縣鳳山第一中學(xué)2025年高二下化學(xué)期末聯(lián)考模擬試題含解析
- 2025屆廣西欽州市靈山縣化學(xué)高一下期末監(jiān)測(cè)模擬試題含解析
- 江蘇裝飾裝修管理辦法
- 新疆旅居人員管理辦法
- 機(jī)械外協(xié)加工管理辦法
- 人臉3D建模與渲染-洞察及研究
- 北京隔離薪資管理辦法
- 2025年廣東高考政治試卷真題答案詳解講評(píng)(課件)
- 國家開放大學(xué)2024年春季學(xué)期期末統(tǒng)一考試《中文學(xué)科論文寫作》試題(試卷代號(hào)11332)
- 重慶商墅市場(chǎng)研究
- GB/T 33855-2017母嬰保健服務(wù)場(chǎng)所通用要求
- GB 8109-2005推車式滅火器
- 支架植入知情同意書模板
- 人教版四年級(jí)上冊(cè)語文生字組詞
- 茶文化講座優(yōu)選ppt資料
- 水不同溫度的熱焓值
- 綠化工程施工技術(shù)方案及措施(可編輯)
- 國航特殊餐食代碼表
評(píng)論
0/150
提交評(píng)論