版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、/*說明 :*將實(shí)時(shí)時(shí)鐘數(shù)據(jù)通過 LCD1602 顯示 基于 51 單片機(jī)*/#include #include #define uchar unsigned char#define uint unsigned int uchar dis_time_buf16=0;/LCD1602 引腳定義/ 采用 8 位并行方式 ,DB0DB7 連接至 LCDDATA0LCDDATA7sbit RS=P2A0;sbit RW=P2A1;sbit CS=P2A2;#define LCDDATA P0/DS1302 引腳定義sbit RST=P1A3;sbit IO=P1A2;sbit SCK=P1A1;/DS
2、1302 地址定義#define ds1302_sec_add0x80 / 秒數(shù)據(jù)地址#define ds1302_min_add0x82 / 分?jǐn)?shù)據(jù)地址#define ds1302_hr_add0x84/ 時(shí)數(shù)據(jù)地址#define ds1302_date_add0x86 / 日數(shù)據(jù)地址#define ds1302_month_add0x88 / 月數(shù)據(jù)地址#define ds1302_day_add0x8a/ 星期數(shù)據(jù)地址#define ds1302_year_add0x8c / 年數(shù)據(jù)地址#define ds1302_control_add0x8e / 控制數(shù)據(jù)地址#define ds13
3、02_charger_add0x90#define ds1302_clkburst_add0xbe/ 初始時(shí)間定義uchar time_buf8 = 0x20,0x10,0x06,0x01,0x23,0x59,0x55,0x02;/ 初始時(shí)間 2010 年 6月 1 號 23 點(diǎn) 59 分 55 秒 星期二/ 功能 :延時(shí) 1 毫秒/ 入口參數(shù) :x/ 出口參數(shù) :無/說明:當(dāng)晶振為12M時(shí),j112 ;當(dāng)晶振為11.0592M時(shí),j122void Delay_xms(uint x)uint i,j;for(i=0;ix;i+)for(j=0;j0;t-)_nop_();/控制LCD寫時(shí)序vo
4、id LCD_en_write(void)CS=1;Delay_xus(20);CS=0;Delay_xus(20);/ 寫指令函數(shù)void Write_Instruction(uchar command)RS=0;RW=0;CS=1;LCDDATA=command;LCD_en_write();/ 寫入指令數(shù)據(jù)/ 寫數(shù)據(jù)函數(shù)void Write_Data(uchar Wdata)RS=1;RW=0;CS=1;LCDDATA=Wdata;LCD_en_write();/ 寫入數(shù)據(jù)/ 字符顯示初始地址設(shè)置void LCD_SET_XY(uchar X,uchar Y)uchar address;
5、if(Y=0) address=0x80+X;/Y=0, 表示在第一行顯示,地址基數(shù)為0x80elseaddress=0xc0+X;/Y 非 0 時(shí),表時(shí)在第二行顯示,地址基數(shù)為 0xC0 Write_Instruction(address);/ 寫指令,設(shè)置顯示初始地址/在第X行Y列開始顯示 Wdata所對應(yīng)的單個(gè)字符void LCD_write_char(uchar X,uchar Y,uchar Wdata)LCD_SET_XY(X,Y)寫 地址Write_Data(Wdata);/ 寫入當(dāng)前字符并顯示/ 清屏函數(shù)void LCD_clear(void)Write_Instruction
6、(0x01);Delay_xms(5);/ 顯示屏初始化函數(shù)void LCD_init(void)Write_Instruction(0x38);/ 8bit interface,2line,5*7dotsDelay_xms(5);Write_Instruction(0x38);Delay_xms(5);Write_Instruction(0x38);Write_Instruction(0x08); /關(guān)顯示,不顯光標(biāo),光標(biāo)不閃爍Write_Instruction(0x01); /清屏Delay_xms(5);Write_Instruction(0x04);/ 寫一字符,整屏顯示不移動(dòng)/Wri
7、te_Instruction(0x05);/Write_Instruction(0x06);/Write_Instruction(0x07);Delay_xms(5);/ 寫一字符,整屏右移/ 寫一字符,整屏顯示不移動(dòng)/ 寫一字符,整屏左移/ 關(guān)閉顯示(不顯示字符,只有背光亮)/ 開顯示,光標(biāo)、閃爍都關(guān)閉/ 開顯示,不顯示光標(biāo),但光標(biāo)閃爍/ 開顯示,顯示光標(biāo),但光標(biāo)不閃爍/ 開顯示,光標(biāo)、閃爍均顯示/Write_Instruction(0x0B);Write_Instruction(0x0C);/Write_Instruction(0x0D);/Write_Instruction(0x0E);
8、/Write_Instruction(0x0F); /DS1302 初始化函數(shù)void ds1302_init(void)RST=0;SCK=0;/RST 腳置低/SCK 腳置低/向DS1302寫入一字節(jié)數(shù)據(jù)void ds1302_write_byte(uchar addr, uchar d)uchar i;RST=1;/ 啟動(dòng) DS1302 總線/ 寫入目標(biāo)地址: addraddr = addr & 0xFE; / 最低位置零,寄存器 0 位為 0 時(shí)寫,為 1 時(shí)讀 for (i = 0; i 1;/ 寫入數(shù)據(jù): dfor (i = 0; i 1;RST=O;停止 DS1302 總線/從D
9、S1302讀出一字節(jié)數(shù)據(jù)uchar ds1302_read_byte(uchar addr) uchar i,temp;RST=1;/ 啟動(dòng) DS1302 總線/ 寫入目標(biāo)地址: addraddr = addr | 0x01;/ 最低位置高,寄存器 0 位為 0 時(shí)寫,為 1 時(shí)讀for (i = 0; i 1;/ 輸出數(shù)據(jù): tempfor (i = 0; i 1; if (IO) temp |= 0x80;else temp &= 0x7F; SCK=1;SCK=0;/停止 DS1302 總線RST=0;return temp;/向DS302寫入時(shí)鐘數(shù)據(jù) void ds1302_write
10、_time(void) ds1302_write_byte(ds1302_control_add,0x00);/ 關(guān)閉寫保護(hù)ds1302_write_byte(ds1302_sec_add,0x80);/ 暫停時(shí)鐘/ds1302_write_byte(ds1302_charger_add,0xa9);/ 涓流充電ds1302_write_byte(ds1302_year_add,time_buf1);/ 年ds1302_write_byte(ds1302_month_add,time_buf2); /月ds1302_write_byte(ds1302_date_add,time_buf3);/
11、 日ds1302_write_byte(ds1302_hr_add,time_buf4);/ 時(shí)ds1302_write_byte(ds1302_min_add,time_buf5);/ 分ds1302_write_byte(ds1302_sec_add,time_buf6);/ 秒ds1302_write_byte(ds1302_day_add,time_buf7);/ 周ds1302_write_byte(ds1302_control_add,0x80);/打開寫保護(hù)/從DS302讀出時(shí)鐘數(shù)據(jù) void ds1302_read_time(void)time_buf1=ds1302_read
12、_byte(ds1302_year_add);/ 年time_buf2=ds1302_read_byte(ds1302_month_add);/ 月time_buf3=ds1302_read_byte(ds1302_date_add);/ 日time_buf4=ds1302_read_byte(ds1302_hr_add);/ 時(shí)time_buf5=ds1302_read_byte(ds1302_min_add);/ 分time_buf6=(ds1302_read_byte(ds1302_sec_add)&0x7f;/ 秒,屏蔽秒的第 7 位,避免超 出 59time_buf7=ds1302_
13、read_byte(ds1302_day_add); / 周void Display(void)LCD_write_char(3,0,dis_time_buf0+0);LCD_write_char(4,0,dis_time_buf1+0);LCD_write_char(5,0,dis_time_buf2+0);LCD_write_char(6,0,dis_time_buf3+0);LCD_write_char(7,0,/);LCD_write_char(8,0,dis_time_buf4+0);LCD_write_char(9,0,dis_time_buf5+0);LCD_write_char
14、(10,0,/);LCD_write_char(11,0,dis_time_buf6+0);LCD_write_char(12,0,dis_time_buf7+0);LCD_write_char(15,0,dis_time_buf14+0); / 第 2 行顯示LCD_write_char(3,1,dis_time_buf8+0);LCD_write_char(4,1,dis_time_buf9+0);LCD_write_char(5,1,:);LCD_write_char(6,1,dis_time_buf10+0);LCD_write_char(7,1,dis_time_buf11+0);L
15、CD_write_char(8,1,:);LCD_write_char(9,1,dis_time_buf12+0);LCD_write_char(10,1,dis_time_buf13+0);/ 定時(shí)器 2 是 5 號中斷/ 定時(shí)器中斷函數(shù)void Timer2() interrupt 5static uchar t;TF2=0;t+;if(t=4) / 間隔 200ms(50ms*4) 讀取一次時(shí)間 t=0;ds1302_read_time(); / 讀取時(shí)間 dis_time_buf0=(time_buf04); / 年 dis_time_buf1=(time_buf0&0x0f);dis
16、_time_buf2=(time_buf14);dis_time_buf3=(time_buf1&0x0f);dis_time_buf4=(time_buf24); / 月dis_time_buf5=(time_buf2&0x0f);dis_time_buf6=(time_buf34); / 日dis_time_buf7=(time_buf3&0x0f);dis_time_buf14=(time_buf7&0x07); / 星期/ 第 2 行顯示dis_time_buf8=(time_buf44); / 時(shí)dis_time_buf9=(time_buf4&0x0f);dis_time_buf10=(time_buf54); / 分 dis_time_buf11=(time_buf5&0x0f);dis_time_buf12=(time_buf64); / 秒 dis_time_buf13=(time_buf6&0x0f);/ 定時(shí)器 2 初始化void Init_timer2(void)50msRCAP2H=0x3c;賦T2初始值0x3cb0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版建筑材料購銷合同書模板
- 二零二五年度臺(tái)球室租賃及品牌形象合作合同3篇
- 2025購銷合同常用文本
- 二零二五年度全新租賃房屋合同住宅押金退還管理協(xié)議3篇
- 2025年度全新出售房屋買賣貸款擔(dān)保合同3篇
- 2025年度年度全新高空纜車運(yùn)營意外事故免責(zé)服務(wù)協(xié)議3篇
- 二零二五年度智慧社區(qū)建設(shè)與運(yùn)營管理協(xié)議合同范文2篇
- 2025年農(nóng)村兄弟分家協(xié)議及遺產(chǎn)分配執(zhí)行方案
- 2025年度養(yǎng)殖場勞務(wù)合同(養(yǎng)殖場安全生產(chǎn)監(jiān)管)3篇
- 二零二五年度創(chuàng)業(yè)投資股權(quán)代持專項(xiàng)合同2篇
- 診所污水污物糞便處理方案及周邊環(huán)境
- 產(chǎn)品報(bào)價(jià)單(5篇)
- 指揮中心 施工方案
- 金融模擬交易實(shí)驗(yàn)報(bào)告
- 國家開放大學(xué)電大本科《古代小說戲曲專題》2023期末試題及答案(試卷號:1340)
- 加德納多元智能理論教學(xué)課件
- 北師大版數(shù)學(xué)八年級上冊全冊教案
- 從業(yè)人員在安全生產(chǎn)方面的權(quán)利和義務(wù)
- 新開模具清單
- 抗菌藥物臨床應(yīng)用指導(dǎo)原則(2023年版)
- 2023年軍政知識(shí)綜合題庫
評論
0/150
提交評論