freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機的日歷時鐘顯示系統(tǒng)設(shè)計畢業(yè)論文(更新版)

2025-08-06 00:35上一頁面

下一頁面
  

【正文】 S1302_RST = 0。 } }unsigned char DS1302OutputByte(void) //實時時鐘讀取一字節(jié)(內(nèi)部函數(shù)){ unsigned char i。 //定義的時間類型define AM(X) Xdefine PM(X) (X+12) // 轉(zhuǎn)成24小時制define DS1302_SECOND 0x80define DS1302_MINUTE 0x82define DS1302_HOUR 0x84 define DS1302_WEEK 0x8Adefine DS1302_DAY 0x86define DS1302_MONTH 0x88define DS1302_YEAR 0x8Cdefine DS1302_RAM(X) (0xC0+(X)*2) //用于計算 DS1302_RAM 地址的宏 void DS1302InputByte(unsigned char d) //實時時鐘寫入一字節(jié)(內(nèi)部函數(shù)){ unsigned char i。 unsigned char Hour。 Delay1ms(300)。 DateToStr(amp。 LCD_Initial()。感謝提供相關(guān)技術(shù)幫助的老師和同學(xué),你們的支持和鼓勵使我們對這次的作品完成有了信心和動力,也給了我很多無私的幫助和支持,我在此深表謝意。對電路的設(shè)計、布局要先有一個好的構(gòu)思,才顯得電路板美觀、大方。所以當(dāng)我們選用了符合32768Hz的晶振,還應(yīng)該使該晶振的負(fù)載電容與DS1302提供的6pF一致,就不會影響晶振的起振或?qū)е抡袷庮l率的偏移。在實際使用中,我們發(fā)現(xiàn)DS1302工作情況不夠穩(wěn)定,主要表現(xiàn)在實時時間的傳送會出現(xiàn)誤差,有時甚至整個芯片停止工作。能夠正常編譯的程序說明沒有什么問題了,此時我們再點擊相關(guān)欄目。 軟件調(diào)試 仿真軟件介紹圖51 Proteus仿真界面PROTEUS軟件由公司開發(fā),是目前世界上最先進、最完整的嵌入式系統(tǒng)設(shè)計與仿真平臺,可以實現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件仿真、調(diào)試與測試的EDA工具。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。指令7:設(shè)置用戶自定義CGRAM的地址,對用戶自定義CGRAM訪問時,要先設(shè)定CGRAM的地址,地址范疇為0~63。指令4:顯示開關(guān)控制 當(dāng)D=1時顯示,D=0時不顯示。⑦ 顯示數(shù)據(jù)存儲器:本存儲器(DDRAM)存儲所要顯示的數(shù)據(jù)。但是,如果在系統(tǒng)中采用時鐘芯片DS1302,則能很好地解決這個問題。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容器代替。無論是命令字還是數(shù)據(jù),一個字節(jié)傳送時都是低位在前,高位在后,每一位的讀寫發(fā)生在時鐘的上升沿。⑤ 慢充電寄存器的TCS位為控制慢充電的選擇,當(dāng)它為1010時才能使慢充電工作。 (2) DS1302的寄存器DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表2。 軟件整體設(shè)計系統(tǒng)軟件主要包括以下幾個模塊:主程序模塊,LCD顯示模塊,DS1302時鐘模塊,按鍵模塊等,通過這幾個模塊的有機結(jié)合和互相條用來完成任務(wù)。圖38所示為DS1302與單片機的連接電路。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 圖36 LCD1602功能引腳圖LCD1602引腳功能表32所示:]符號名稱功能1VSS接地0V2VDD電源電壓5V177。HD44780有80個字節(jié)的顯示緩沖區(qū),分兩行,地址分別為00H~27H,40H~67H,他們實際顯示位置的排列順序跟LCD的型號有關(guān),液晶顯示模塊1602的顯示地址與實際顯示位置的關(guān)系如圖34所示。HD44780是集控制器、驅(qū)動器于一體,專用于字符顯示控制驅(qū)動集成電路。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。11) XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。在Flash編程和校驗時,P3口也接收一些控制信號。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器時,P2口送出高八位地址。4) P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個TTL邏輯電平。(3) 如圖31所示為AT89S52的引腳圖:圖31 AT89S52引腳圖AT89S52芯片引腳說明:1) VCC:運行和程序校驗時加+5V的供電電壓。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。系統(tǒng)采用方案二。而且液晶顯示有功耗低、體積小、重量輕、壽命長、不產(chǎn)生電磁輻射污染等優(yōu)點。在總體設(shè)計思路中,我將其與過去學(xué)習(xí)過的數(shù)字電路進行了比較,決定采用單片機的實現(xiàn)形式。 (2) 采用石英鐘專用的實現(xiàn)形式圖21 基于555的妙脈沖發(fā)生器采用石英鐘專用計時芯片實現(xiàn)的電子鐘,具有實現(xiàn)簡單、計時精度高的特點。綜上所述此電子鐘具有讀取方便、顯示直觀、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場背景。而現(xiàn)在的電子時鐘硬件簡單,靈活性強、成本低、功耗低、保密性好,使用方便。89C51是80C51含EEPROM的產(chǎn)品。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。在這快速發(fā)展的時代,時間對人們來說是越來越寶貴,在快節(jié)奏的生活里,人們往往忘記了時間。本文首先描述系統(tǒng)硬件工作原理,并附以系統(tǒng)結(jié)構(gòu)圖加以說明,著重介紹了本系統(tǒng)所應(yīng)用的各硬件接口技術(shù)和各個接口模塊的功能及工作過程;其次,詳細(xì)闡述了程序的各個模塊和實現(xiàn)過程。本系統(tǒng)以AT89S52單片機為控制核心,以DS1302實時時鐘電路對年、月、日、星期、時、分、秒進行計時,,同時用匯編語言和C語言進行軟件設(shè)計。隨著大規(guī)模集成電路技術(shù)的發(fā)展,已經(jīng)可以將CPU、RAM、ROM、定時/計數(shù)器以及輸入/輸出(I/O)接口電路等計算機的主要部件集成在一塊集成電路芯片上,這樣組成的芯片級的微型計算機就是“單片微型計算機(Single Chip Microputer)”。 當(dāng)今應(yīng)用領(lǐng)域電子鐘的發(fā)展趨勢單片機的發(fā)展大致經(jīng)歷了三代:第一代:以1976年推出的MCS48系列為代表,其主要的技術(shù)特征是將CPU和計算機外圍電路集成到了一個芯片上,成為與通用CPU分道揚鑣的標(biāo)志。利用Flash存儲器可高速讀/寫的特點實現(xiàn)在系統(tǒng)編程ISP和在應(yīng)用編程IAP。密密麻麻焊接在一起的元器件,如今已經(jīng)被一個小小的、毫不起眼的芯片代替了。 2) 完成5000漢字的與設(shè)計內(nèi)容有關(guān)的英文資料的翻譯。利用5512F的2秒輸出信號作為秒加法電路的計數(shù)脈沖,可實現(xiàn)電子時鐘。系統(tǒng)采用方案二。 時鐘電路的選擇方案和論證方案一:直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒的計時。 系統(tǒng)硬件描述本系統(tǒng)是由AT89S52單片機為控制核心,具有在線編程功能、低功耗、能在3V超低壓工作。AT89S52具有以下標(biāo)準(zhǔn)功能: 8K字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。對P0端口寫“1”時,引腳用作高阻抗輸入。此外,()和時器/計數(shù)器2的觸發(fā)輸入(),具體如下所述。在Flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。9) PSEN——程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。HD44780集成電路的特點:1) 可選擇5*7或5*10點字符。圖35 字符點陣圖這些字符有阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,如數(shù)字“1”的代碼是00110001B(31H),又如大寫的英文字母“A”的代碼是01000001B(41H),“A”字的對應(yīng)上面高位代碼為0100,對應(yīng)左邊低位代碼為0001,合起來就是01000001,也就是41H。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。 系統(tǒng)硬件模塊的設(shè)計系統(tǒng)硬件主要由AT89S52主控模塊,DS1302時鐘模塊,LCD1602顯示模塊組成。本系統(tǒng)采用直接訪問方式。在本程序中,LCD1602初始化為:8位數(shù)據(jù)接口,兩行顯示,57點陣字符,顯示開,關(guān)光標(biāo),光標(biāo)移動為增量式。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。RS用于選擇連接在Vcc2與Vcc1之間的電阻,RS為00,充電器被禁止,與TCS無關(guān)。 在DS1302的時鐘日歷或RAM進行數(shù)據(jù)傳送時,DS1302必須首先發(fā)送命令字節(jié)。初始化后就可以按正常方法調(diào)整時間。② 指令寄存器:本寄存器(IR)為8位,其功能是存放微控制器所送入的指令、DDRAM、或CGRAM的地址。(說明:1為高電平、0為低電平) 指令1:清顯示,將顯示緩沖區(qū)DDRAM的內(nèi)容全部寫入空格,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令5:光標(biāo)或顯示移位 當(dāng)S/C=1時整個顯示字幕移位,S/C=0時只光標(biāo)移位。 低7位為讀出的AC的地址,值為0~127。開始各寄存器和工作狀態(tài)的初始化判斷顯示器是否忙確定光標(biāo)的書寫位判斷顯示器是否忙寫入要顯示的字符結(jié)束NYYN圖45 LCD1602顯示流程 軟件測試 測試結(jié)果及分析在將程序編譯燒進單片機后,接通電源,LCD屏幕正常運行,時間跳動正常,說明時鐘芯片與LCD屏幕的初始化成功,顯示效果達到要求。第五章 系統(tǒng)調(diào)試調(diào)試工作分硬件調(diào)試和軟件調(diào)試兩部分,調(diào)試方法如下:首先,硬件調(diào)試主要是先搭建硬件平臺,然后利用外用表等工具對電路檢查,最后應(yīng)用程序進行功能調(diào)試。它的界面友好易學(xué),在調(diào)試程序、軟件仿真方面有很強大的功能。顯示程序開始怎么調(diào)試就是不通,后來看了相關(guān)的書籍后,我才知道讀數(shù)據(jù)的時間要求是非常嚴(yán)格的。通過實驗我們發(fā)現(xiàn):當(dāng)外接晶振電路振蕩時,DS1302計時正確;當(dāng)外接晶振電路停振時,DS1302計時停止。但是本系統(tǒng)還有許多可以改進和提高的地方。也練就了我們的耐心,做什么事都在有耐心。icount。 Print(Date: )。CurrentTime)。 //實時時鐘數(shù)據(jù)線引腳 sbit DS1302_RST = P1^5。 unsigned char Month。 i0。 i) { ACC = ACC 1。 DS1302InputByte(ucAddr)。 DS1302InputByte(ucAddr|0x01)。 Write1302(Address, ((Value/10)4 | (Value%10)))。0x70)4)*10 + (ReadValueamp。0x70)4)*10 + (ReadValueamp。0x70)4)*10 + (ReadValueamp。 TimeDateString[1] = TimeYear%10 + 39。 TimeDateString[5] = 39。}void TimeToStr(SYSTEMTIME *Time){ TimeTimeString[0] = TimeHour/10 + 39。 TimeTimeString[4] = TimeMinute%10 + 39。 TimeDateString[8] = 39。 DS1302_CLK = 0。 DS1302_RST = 0。 i) { *pRClock = DS1302OutputByte()。 else Write1302(DS1302_SECOND, Dataamp。 _nop_()。 }//向LCD寫入命令或數(shù)據(jù)************************************************************define LCD_COMMAND 0 // Commanddefine LCD_DATA 1 // Datadefine LCD_CLEAR_SCRE
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1