![單片機(jī)仿真課程設(shè)計(jì)——基于51單片機(jī)的實(shí)時(shí)時(shí)鐘_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/5c871a04-c74a-4788-8b23-f2b21a06a15e/5c871a04-c74a-4788-8b23-f2b21a06a15e1.gif)
![單片機(jī)仿真課程設(shè)計(jì)——基于51單片機(jī)的實(shí)時(shí)時(shí)鐘_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/5c871a04-c74a-4788-8b23-f2b21a06a15e/5c871a04-c74a-4788-8b23-f2b21a06a15e2.gif)
![單片機(jī)仿真課程設(shè)計(jì)——基于51單片機(jī)的實(shí)時(shí)時(shí)鐘_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/5c871a04-c74a-4788-8b23-f2b21a06a15e/5c871a04-c74a-4788-8b23-f2b21a06a15e3.gif)
![單片機(jī)仿真課程設(shè)計(jì)——基于51單片機(jī)的實(shí)時(shí)時(shí)鐘_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/5c871a04-c74a-4788-8b23-f2b21a06a15e/5c871a04-c74a-4788-8b23-f2b21a06a15e4.gif)
![單片機(jī)仿真課程設(shè)計(jì)——基于51單片機(jī)的實(shí)時(shí)時(shí)鐘_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/5c871a04-c74a-4788-8b23-f2b21a06a15e/5c871a04-c74a-4788-8b23-f2b21a06a15e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精品文檔基于51系列單片機(jī)及DS1302時(shí)鐘芯片的實(shí)時(shí)時(shí)鐘仿真設(shè)計(jì)一、課程設(shè)計(jì)目的意義通過本次課程設(shè)計(jì)可以靈活運(yùn)用單片機(jī)的基礎(chǔ)知識(shí),依據(jù)課程設(shè)計(jì)內(nèi)容,能夠完成從硬件電路圖設(shè)計(jì),到軟件編程及系統(tǒng)調(diào)試實(shí)現(xiàn)系統(tǒng)功能,完成課程設(shè)計(jì),加深對單片機(jī)基礎(chǔ)知識(shí)的理解并靈活運(yùn)用。二、實(shí)現(xiàn)目標(biāo)本設(shè)計(jì)主要為實(shí)現(xiàn)一款可正常顯示時(shí)鐘/日歷的實(shí)時(shí)電子時(shí)鐘。對當(dāng)前電子鐘開發(fā)手段進(jìn)行了比較和分析,最終確定了采用單片機(jī)技術(shù)實(shí)現(xiàn)電子時(shí)鐘。本設(shè)計(jì)應(yīng)用AT89C52芯片作為核心,LCD顯示屏,使用DS1302實(shí)時(shí)時(shí)鐘日歷芯片完成時(shí)鐘 /日歷的基本功能。這種實(shí) 現(xiàn)方法的優(yōu)點(diǎn)是電路簡單,性能可靠,實(shí)時(shí)性好,時(shí)間精確,操作簡單,編程容易。
2、 三、硬件設(shè)計(jì)本設(shè)計(jì)采用具有 32根I/O引腳的AT89C52單片機(jī)。AT89C52單片機(jī)是一款低功耗,低 電壓,高性能 CMO密位單片機(jī),片內(nèi)含 4KB (可經(jīng)受1000次擦寫周期)的FLASH可編程可 反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM,器件采用CMOS:藝和ATMEI公司的高密度、非易失性存儲(chǔ)器(NURAM技術(shù)制造,其輸出引腳和指令系統(tǒng)都與MCS-52兼容。片內(nèi)的FLASHY儲(chǔ)器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性存儲(chǔ)器編程器來編程。因此,AT89C52是一種功能強(qiáng),靈活性高且價(jià)格合理的單片機(jī),可方便的應(yīng)用在各個(gè)控制領(lǐng)域。AT89C52具有以下主要性能:1. 4KB可改編程序Fla
3、sh存儲(chǔ)器;2. 全靜態(tài)工作:024Hz;3. 128X8字節(jié)內(nèi)部RAM4. 32個(gè)外部雙向輸入/輸出(I/O) 口;5. 6個(gè)中斷優(yōu)先級(jí);2個(gè)16位可編程定時(shí)計(jì)數(shù)器;6. 可編程串行通道;7. 片內(nèi)時(shí)鐘振蕩器。DS1302是美國DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘日歷芯片,附加 31 字節(jié)靜態(tài)RAM采用SPI三線接口與CPUS行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字 節(jié)的時(shí)鐘信號(hào)和 RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小于31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá)2.55.5V。采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電方式,
4、提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。有主電源和備份電源雙引腳,而且備份電源可由大容量電容( 1F)來替代。需要強(qiáng)調(diào)的是,DS1302需要使用32.768KHz的晶振。pSJ3C二V0C1V0C2XI5C1K:2IOONDR3T四、原理圖so J2歡迎下載RP133LB 2辦一戶之3 2鵬ny&嚙 吆Mj F2中也可 困的總 迎程除AF3 JIKT1P 三:4E帕包1年朝正 的軍商Fra用出此理國揶閥電PQ 404 凹 同中?!碑嘡j OMC-ra :JTW1| -13 1-, FIP13P-1?Fl OnFl 1(T3KP11F”五、程序源代碼#include #include LCD16
5、02.h#include DS1302.hvoid Delay1ms(unsigned int count) unsigned int i,j;for(i=0;icount;i+) for(j=0;j0; i-)DS1302_IO = ACC0;DS1302_CLK = 1;DS1302_CLK = 0;ACC = ACC 1;unsigned char DS1302OutputByte(void)unsigned char i;for(i=8; i0; i-)ACC = ACC 1;ACC7 = DS1302_IO;DS1302_CLK = 1;DS1302_CLK = 0;/用于計(jì)算 DS
6、1302_RAM地址的宏/ 實(shí)時(shí)時(shí)鐘寫入一字節(jié)( 內(nèi)部函數(shù) )/ 相當(dāng)于匯編中的 RRC/ 實(shí)時(shí)時(shí)鐘讀取一字節(jié)( 內(nèi)部函數(shù) )/ 相當(dāng)于匯編中的 RRCreturn(ACC);/ucAddr:DS1302地void Write1302(unsigned char ucAddr, unsigned char ucDa) 址 , ucData:要寫的數(shù)據(jù)DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputByte(ucAddr); /地址,命令DS1302InputByte(ucDa);/ 寫 1Byte 數(shù)據(jù)DS1302_CLK = 1
7、;DS1302_RST = 0;unsigned char Read1302(unsigned char ucAddr)讀取 DS1302某地址的數(shù)據(jù)unsigned char ucData;DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302InputByte(ucAddr|0x01);/地址,命令ucData = DS1302OutputByte();/讀 1Byte 數(shù)據(jù)DS1302_CLK = 1;DS1302_RST = 0;return(ucData);void DS1302_SetProtect(bit flag) /是否寫保護(hù)i
8、f(flag)Write1302(0x8E,0x10); elseWrite1302(0x8E,0x00);設(shè)置void DS1302_SetTime(unsigned char Address, unsigned char Value) / 時(shí)間函數(shù)DS1302_SetProtect(0);Write1302(Address, (Value/10)Second = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_MINUTE);Time-Minute = (ReadValue&0x70)4)*10 +
9、(ReadValue&0x0F);ReadValue = Read1302(DS1302_HOUR);Time-Hour = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_DAY);Time-Day = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_WEEK);Time-Week = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1
10、302_MONTH);Time-Month = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_YEAR);Time-Year = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);void DateToStr(SYSTEMTIME *Time)Time-DateString0 = Time-Year/10 + 0;Time-DateString1 = Time-Year%10 + 0;Time-DateString2 = -;Time-DateString3 = Time
11、-Month/10 + 0;Time-DateString4 = Time-Month%10 + 0;Time-DateString5 = -;Time-DateString6 = Time-Day/10 + 0;Time-DateString7 = Time-Day%10 + 0;Time-DateString8 = 0;void TimeToStr(SYSTEMTIME *Time)Time-TimeString0 = Time-Hour/10 + 0;Time-TimeString1 = Time-Hour%10 + 0;Time-TimeString2 = :;Time-TimeStr
12、ing3 = Time-Minute/10 + 0;Time-TimeString4 = Time-Minute%10 + 0;Time-TimeString5 = :;Time-TimeString6 = Time-Second/10 + 0;Time-TimeString7 = Time-Second%10 + 0;Time-DateString8 = 0;void Initial_DS1302(void)unsigned char Second=Read1302(DS1302_SECOND);if(Second&0x80)DS1302_SetTime(DS1302_SECOND,0);#
13、endif#ifndef LCD_CHAR_1602#define LCD_CHAR_1602#include /Port Definitionssbit LcdRs= P2A0;sbit LcdRw= P2A1;sbit LcdEn=P2A2;/P0=0x80,P1=0x90,P2=0xA0,P3=0xB0. 數(shù)據(jù)端口sfr DBPort= 0x80;/ 內(nèi)部等待函數(shù)unsigned char LCD_Wait(void) LcdRw=1;_nop_();LcdEn=1;_nop_();/while(DBPort&0x80);/LcdRs=0;在用 Proteus 仿真時(shí),注意用屏蔽此語句,
14、在調(diào)用 GotoXY()時(shí),會(huì)進(jìn)入死循環(huán),/ 可能在寫該控制字時(shí),該模塊沒有返回寫入完備命令,即DBPort&0x80=0x80/ 實(shí)際硬件時(shí)打開此語句LcdEn=0;return DBPort;/向LCD寫入命令或數(shù)據(jù)0/ Command1/ Data0x01/清屏0x02/光標(biāo)返回原點(diǎn)#define LCD_COMMAND#define LCD_DATA#define LCD_CLEAR_SCREEN#define LCDHOMING void LCD_Write(bit style, unsigned char input) LcdEn=0;LcdRs=style;LcdRw=0;_no
15、p_();DBPort=input;_nop_();/注意順序LcdEn=1;_nop_();/注意順序LcdEn=0;_nop_();LCD_Wait();/ 設(shè)置顯示模式#define LCD_SHOW0x04/顯示開#define LCD_HIDE0x00/日二顯示關(guān)#define LCD_CURSOR0x02/ 顯示光標(biāo)#define LCD_NO_CURSOR0x00/無光標(biāo)#define LCD_FLASH0x01/光標(biāo)閃動(dòng)#define LCDNO_FLASH0x00/光標(biāo)不閃動(dòng)void LCD_SetDisplay(unsigned char DisplayMode)LCD_W
16、rite(LCD_COMMAND, 0x08|DisplayMode);/ 設(shè)置輸入模式#define LCDAC_UP0x02#define LCDAC_DOWN0x00/ default#define LCDMOVE0x01/ 畫面可平移#define LCDNOMOVE0x00/defaultvoid LCD_SetInput(unsigned char InputMode)LCD_Write(LCD_COMMAND, 0x04|InputMode);/ 初始化 LCDvoid LCD_Initial()LcdEn=0;LCD_Write(LCD_COMMAND,0x38); /8 位數(shù)
17、據(jù)端口 ,2 行顯示 ,5*7 點(diǎn)陣LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); / 開啟顯示 , 無光標(biāo)LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); 清屏/LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); /AC 遞增 , 畫面不動(dòng) void GotoXY(unsigned char x, unsigned char y)if(y=0)LCD_Write(LCD_COMMAND,0x80|x);8歡迎下載 。精品文檔if(y=1)LCD_Write(LCD_COMMAND,0x80|(x-0x40);void Print(unsigned char *str)while(*str!=0)LCD_Write(LCD_DATA,*str);str+;#endif六、
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)低年級(jí)聽評(píng)課記錄
- 【人教版】八年級(jí)地理上冊第一章第二節(jié)《人口》聽課評(píng)課記錄及優(yōu)化訓(xùn)練答案
- 蘇州蘇教版六年級(jí)數(shù)學(xué)上冊第三單元《分?jǐn)?shù)應(yīng)用題(1)》聽評(píng)課記錄
- 聽評(píng)課記錄六年級(jí)語文
- 新版華東師大版八年級(jí)數(shù)學(xué)下冊《16.2.2分式的加減分式的加減-同分母分式加減》聽評(píng)課記錄16
- 小學(xué)二年級(jí)數(shù)學(xué)100道口算題
- 蘇科版七年級(jí)數(shù)學(xué)上冊《2.2有理數(shù)與無理數(shù)》聽評(píng)課記錄
- 北師大版道德與法治七年級(jí)下冊1.2《理解情緒》聽課評(píng)課記錄
- 八年級(jí)歷史人教版下冊聽課評(píng)課記錄:第9課 對外開放
- 校企共建培訓(xùn)中心合作協(xié)議書范本
- 第五講鑄牢中華民族共同體意識(shí)-2024年形勢與政策
- 中華人民共和國學(xué)前教育法
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 三年級(jí)(下冊)西師版數(shù)學(xué)全冊重點(diǎn)知識(shí)點(diǎn)
- 期末練習(xí)卷(試題)-2024-2025學(xué)年四年級(jí)上冊數(shù)學(xué)滬教版
- 2025年公務(wù)員考試申論試題與參考答案
- 抑郁癥課件教學(xué)課件
- 關(guān)于消防安全評(píng)估設(shè)備操作說明詳解
- 2025年高考作文專練(25道真題+審題立意+范文)- 2025年高考語文作文備考總復(fù)習(xí)
- 中國高血壓防治指南(2024年修訂版)要點(diǎn)解讀
評(píng)論
0/150
提交評(píng)論