基于單片機(jī)萬(wàn)年歷設(shè)計(jì)與制作設(shè)計(jì)論文_第1頁(yè)
基于單片機(jī)萬(wàn)年歷設(shè)計(jì)與制作設(shè)計(jì)論文_第2頁(yè)
基于單片機(jī)萬(wàn)年歷設(shè)計(jì)與制作設(shè)計(jì)論文_第3頁(yè)
基于單片機(jī)萬(wàn)年歷設(shè)計(jì)與制作設(shè)計(jì)論文_第4頁(yè)
基于單片機(jī)萬(wàn)年歷設(shè)計(jì)與制作設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1.2方案選擇232系統(tǒng)概述本設(shè)計(jì)以AT89S52單片機(jī)為核心,構(gòu)成單片機(jī)控制電路,結(jié)合DS1302時(shí)鐘芯片和24C02FLASH存儲(chǔ)器,顯示陽(yáng)歷的年、月、日、星期、時(shí)、分、秒和陰歷的年、月、日,在顯示陰歷時(shí)間時(shí),能標(biāo)明是否閏月,同時(shí)完成對(duì)它們的自動(dòng)調(diào)整和掉電保護(hù),全部信息用液晶顯示出來(lái)。輸入接口由三個(gè)按鍵來(lái)實(shí)現(xiàn),用這三個(gè)按鍵可以對(duì)日期和時(shí)間進(jìn)行調(diào)整,并可以對(duì)鬧鈴的開(kāi)關(guān)和鬧鈴的時(shí)間進(jìn)行設(shè)置。鬧鈴功能通過(guò)蜂鳴器來(lái)實(shí)現(xiàn)。軟件控制程序?qū)崿F(xiàn)所有的功能。整機(jī)電路使用+5V穩(wěn)壓電源,可穩(wěn)定工作。系統(tǒng)框圖如圖2-1所示,其軟硬件設(shè)計(jì)簡(jiǎn)單,時(shí)間記錄準(zhǔn)確,可廣泛應(yīng)用于長(zhǎng)時(shí)間連續(xù)顯示的系統(tǒng)中。顯示的系統(tǒng)中。43系統(tǒng)硬件電路的設(shè)計(jì)鍵盤接口模塊、顯示模塊和鬧鈴模塊共6個(gè)模塊組成,電路系統(tǒng)構(gòu)成框圖如圖3-1以做到計(jì)時(shí)準(zhǔn)確。更重要的是,DS1302可以在很小電流的后備(2.5~5.5V電源,在2.5V時(shí)耗電小于300nA)下繼續(xù)計(jì)時(shí),并可編程選擇多種充電電流來(lái)對(duì)后備電源片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的·8KB可改編程序Flash存儲(chǔ)器(可經(jīng)受1000次的寫入/擦除周期)5·2個(gè)16位定時(shí)器/計(jì)數(shù)器AT89S52單片機(jī)的管腳說(shuō)明如圖3-2所示。P3.2(NT0)123456789(1)主要電源引腳6 ③PSEN程序存儲(chǔ)允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。當(dāng) ①PO端口(P0.0~P0.7)PO是一個(gè)8位漏極開(kāi)路型雙向I/0端口。作為輸出②P1端口(P1.0~P1.7)P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)③P2端口(P2.0~P2.7)P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過(guò)④P3端口(P3.0~P3.7)P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/0口,可P3口也可作為AT89S52的一些特殊功能,這些特殊功能見(jiàn)表3-17。7端口引腳(串行輸入口)(串行輸出口)(外部中斷0)(外部中斷1)(定時(shí)器0的外部輸入)(定時(shí)器1的外部輸入)(外部數(shù)據(jù)存儲(chǔ)器寫選通)(外部數(shù)據(jù)存儲(chǔ)器讀選通)3.2DS1302時(shí)鐘電路8行可以采用24h或帶AM(上午)/PM(下午)的12h格式。采用三線接口與CPU進(jìn)行期,開(kāi)始8位指定40個(gè)寄存器中哪個(gè)被訪問(wèn)到。在開(kāi)始8個(gè)時(shí)鐘周期,把命令字節(jié)時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達(dá)圖3-3DS1302管腳圖9如圖3-4所示,表3-2為各引腳的功能。頻器控制引腳號(hào)引腳名稱功能4地線5復(fù)位/片選線6串行數(shù)據(jù)輸入/輸出端(雙向)7串行數(shù)據(jù)輸入端8DS1302的控制字節(jié)的最高有效位(位7)必須是邏輯1;如果它為邏輯0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù);為1表示存取RAM數(shù)據(jù)。位5~1(A4~AO)指示操作單元的地址。最低有效位(位0)如為0,為了提高對(duì)32個(gè)地址的尋址能力(地址/命令位1~5=邏輯1),可以把時(shí)鐘/在多字節(jié)方式中,讀或?qū)憦牡刂?的位0開(kāi)始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個(gè)寄存器。但是,當(dāng)以多字節(jié)方式寫RAM時(shí),為了傳送數(shù)據(jù)不必寫所有31字節(jié)。不管是否寫了全部31字節(jié),所寫的每一字節(jié)都將傳送至RAM。數(shù)據(jù)讀寫程序如圖3-5DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見(jiàn)表3-3所示,其中奇數(shù)為讀操作,寄存器名范圍各位內(nèi)容寫操作讀操作765432100小時(shí)寄存器0日期寄存器00月份寄存器00000000AM-PM/12-24小時(shí)方式:小時(shí)寄存器的位7定義為12或24小時(shí)方式選擇位。它示PM,低電平表示AM,在24小時(shí)方式下,位5為第二個(gè)10小時(shí)位(20~23h)。8423675圖3-6DS1302時(shí)鐘及備用電源充電電路3.3存儲(chǔ)電路儲(chǔ)空間,具有工作電壓寬(2.5~5.5V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10ms)等特點(diǎn)。2C總線是一種用于I2C器件之間連接的二線制總線。它通過(guò)SDA(串行數(shù)據(jù)線)及SCL(串行時(shí)鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識(shí)別每(1)I2℃總線的基本結(jié)構(gòu)采用I2℃總線標(biāo)準(zhǔn)的單片機(jī)或I2C器件,其內(nèi)部不僅有I2℃接口電路,而且將內(nèi)(2)雙向傳輸?shù)慕涌谔匦缘墓δ芡ㄟ^(guò)軟件程序使其可工作于發(fā)送或接收方式。當(dāng)某個(gè)器件向總線上發(fā)送信息時(shí),它就是發(fā)送器(也叫主器件),而當(dāng)其從總線上接收信息時(shí),又成為接收器(也叫從器件)。主器件用于啟動(dòng)總線上傳送數(shù)據(jù)并產(chǎn)生時(shí)被尋址的器件均被認(rèn)為是從器件。I2C總線的控制完全由掛接在總線上的主器件送出 線都是高電平。連接總線的器件的輸出級(jí)必須是集電極或漏極開(kāi)路,以具有線“與”功能。I2C總線的數(shù)據(jù)傳送速率在標(biāo)準(zhǔn)工作方式下為100kbit/s,在快速方式下,最高傳送速率可達(dá)400kbit/s。在I2C總線上傳送信息時(shí)的時(shí)鐘同步信號(hào)是由掛接在SCL時(shí)鐘線上的所有器件的開(kāi)始低電平期。此時(shí),低電平周期短的器件的時(shí)鐘由低至高的跳變并不能影響SCL(4)數(shù)據(jù)的傳送傳送的字節(jié)后面必須跟一個(gè)認(rèn)可位(第9位),也叫應(yīng)答位(ACK)。每次都是先傳最8K6542371圖3-724C02存儲(chǔ)電路3.4液晶顯示電路顯示器部分是由HD61202液晶顯示控制驅(qū)動(dòng)器和HY12864液晶顯示器組成的,下液晶顯示驅(qū)動(dòng)控制系統(tǒng)12。號(hào)有效時(shí),關(guān)閉液晶顯示,使顯示起始行為0,RST可跟MCU相連,由MC可直接接VDD,使之不起作用HD61202的引腳功能如下表3-4所示。引腳符號(hào)引腳名稱功能芯片片選端CS1和CS2低電平選通,CS3高電平選E讀寫使能信號(hào)在E下降沿,數(shù)據(jù)被鎖存(寫)入HD61202;在E高電平期間,數(shù)據(jù)被讀出讀寫選擇信號(hào)信號(hào)RS=1為數(shù)據(jù)操作數(shù)據(jù)總線復(fù)位信號(hào)復(fù)位信號(hào)有效時(shí),關(guān)閉液晶顯示,使顯示(1)顯示開(kāi)/關(guān)指令00001110011顯示起始行(0-63)0010111頁(yè)號(hào)(0-7)顯示RAM共64行,分8頁(yè),每頁(yè)8行。(4)列地址(YAddress)設(shè)置指令000顯示列地址(0-63)(5)讀狀態(tài)指令000000REST:1-復(fù)位狀態(tài)(6)寫數(shù)據(jù)指令01寫數(shù)據(jù)(7)讀數(shù)據(jù)指令11讀顯示數(shù)據(jù)和一片HD61203,如下圖3-8所示圖3-8HY-12864的邏輯電路圖選通(1),CSA,CSB=10選通(2)。對(duì)于HY-12864,只要供給VDD、VSS和VO即12864與89S5219264接口1E3數(shù)據(jù)總線負(fù)電源2圖3-9AT89S52與液晶的接口電路路如圖3-10所示。6E89由圖3-10可以看出:VSS接地;數(shù)字電源VDD接+5V;對(duì)比度控制電壓VO接電位器,可通過(guò)調(diào)節(jié)電位器調(diào)整液晶亮度;數(shù)據(jù)、指令選擇信號(hào)RS接單片機(jī)P2.0口;讀寫選擇信號(hào)R/W接單片機(jī)P2.1口;單片機(jī)讀、寫選通信號(hào)RD、WR通過(guò)與非門接液晶的讀寫使能信號(hào)E;DB0~DB7分別接單片機(jī)的P0.0~P0.7口;芯片1、芯片2的片選分別接單片機(jī)的P2.2、P2.3口;復(fù)位端RST、背光正電源LEDA接+5V;液晶驅(qū)動(dòng)電壓VEE、背光負(fù)電源LEDK接地。3.5鍵盤電路本設(shè)計(jì)共采用按鍵3個(gè),分別與單片機(jī)的P1.5、P1.6、P1.7口相連,分別對(duì)應(yīng)光標(biāo)移動(dòng),時(shí)間、日期調(diào)整,退出、鬧鈴開(kāi)關(guān)鍵的功能。3.6鬧鈴電路當(dāng)鬧鈴顯示“關(guān)”時(shí),鬧鈴不起作用;當(dāng)鬧鈴顯示“開(kāi)”時(shí),設(shè)定鬧鈴時(shí)間,鬧鈴時(shí)間只可設(shè)定時(shí)和分,當(dāng)前時(shí)間不斷與設(shè)定的鬧鈴時(shí)間比較,不相等時(shí)不產(chǎn)生任何現(xiàn)象,一旦相等,P3.5輸出一個(gè)低電平使三極管導(dǎo)通,從而使蜂鳴器工作,鬧鈴起作用。鬧鈴電路如圖3-11所示。圖3-11鬧鈴電路4系統(tǒng)程序的設(shè)計(jì)因?yàn)槭褂昧藭r(shí)鐘芯片DS1302,陽(yáng)歷程序只需從DS1302各寄存器中讀出年、周、月、日、[小]時(shí)、分、秒等數(shù)據(jù),再處理即可。在首次對(duì)DS1302進(jìn)行操作之前,必須對(duì)它進(jìn)行初始化,然后從DS1302中讀出數(shù)據(jù),再經(jīng)過(guò)處理后,送給顯示緩沖單元。陽(yáng)歷程序流程圖見(jiàn)圖4-1所示。秒將BCD碼高低位分4.2時(shí)間調(diào)整程序設(shè)計(jì)調(diào)整時(shí)間用三個(gè)調(diào)整按鈕,一個(gè)作為移位、控制用,一出調(diào)整和鬧鈴開(kāi)關(guān)用。分別定義為控制按鈕、加按鈕、退出按鈕。在調(diào)整時(shí)間過(guò)程中,要調(diào)整的位與別的位應(yīng)該有區(qū)別,所以增加了閃爍功能,即調(diào)整的位一直在閃爍,直到調(diào)整下一位。閃爍原理就是,讓要調(diào)整的一位每隔一定的時(shí)間熄滅一次,例如間隔時(shí)間為50ms。利用定時(shí)器計(jì)時(shí),當(dāng)達(dá)到50ms溢出時(shí),就送給該位熄滅符,在下一次溢出時(shí),再送正常顯示的值,不斷交替,直到調(diào)整該位結(jié)束。此時(shí)送正常顯示值給該位,再進(jìn)入下一位調(diào)整閃爍程序。時(shí)間調(diào)整程序流程圖如圖4-2所示。年加1日加1月加1星期加1分加14.3陰歷程序設(shè)計(jì)個(gè)月不是30天就是31天(2月除外,閏年2月為29天,平年2月為28天)。陰歷一年有12個(gè)月或13個(gè)月(含閏月),一個(gè)月為30天或29天。如果把一個(gè)只有29天的月稱為小月,用1為標(biāo)志,把30天的月稱為大月,用0為標(biāo)志,那么12位二進(jìn)位,低4位表示閏月大小,大月為0,小月為1,這樣一個(gè)字節(jié)就包括了所有閏月的月份23456789閏2月大小小大大大小大小大小大小大小二進(jìn)制000100001天數(shù)十六進(jìn)制42522004年的春節(jié)和元旦差21天,這樣2004年的信息表示為:21,42H,52H,21H。其中表示12個(gè)月大小信息的字節(jié),第4位和第7位不用,第1個(gè)字節(jié)為十進(jìn)制,其Y當(dāng)前月為1月?總天數(shù)加入Y同?NN的依據(jù)的基礎(chǔ)上加1,所以以1作為該天是春節(jié)的標(biāo)志);如果結(jié)果小于1,則陰歷應(yīng)NYY設(shè)計(jì)完成后,給系統(tǒng)上電,液晶顯示屏顯示結(jié)果如圖5-1所示。調(diào)節(jié)10K電位器R4可調(diào)整液晶顯示屏的亮度。調(diào)整到合適亮度后,按控制按鈕,按一次,數(shù)字加1;若長(zhǎng)按,則數(shù)字連續(xù)加。此時(shí),調(diào)整的位一直在閃爍,直到再次停止閃爍,退出設(shè)定調(diào)整狀態(tài);當(dāng)再次按下此按鈕,鬧鈴顯示“開(kāi)”;當(dāng)?shù)谌伟聪绿摵傅?。DS1302的硬件電路很簡(jiǎn)單,只通過(guò)3根線與單片機(jī)相連,很容易檢測(cè),主軟件調(diào)試,可以編寫只含DS1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論