




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程名稱(chēng)專(zhuān)業(yè)班級(jí)姓名學(xué)號(hào)指導(dǎo)教師課程名稱(chēng)專(zhuān)業(yè)班級(jí)姓名學(xué)號(hào)指導(dǎo)教師單片機(jī)課程設(shè)計(jì)報(bào)告單片機(jī)課程設(shè)計(jì)電氣工程及其自動(dòng)化2012年3月9日DS12887日歷時(shí)鐘課程設(shè)計(jì)目錄41.1設(shè)計(jì)任務(wù)及要求 41.2設(shè)計(jì)應(yīng)用意義 4二方案的論證 4三總體設(shè)計(jì) 43.1基本工作原理. 43.2、 硬件總體設(shè)計(jì) 53.3、 軟件總體設(shè)計(jì) 5四硬件設(shè)計(jì) DS12887的功能介紹 64.1.1引腳功能 64.2LCD1602 7LCD1602液晶介紹. 74.3STC89C52 84.3.1芯片介紹. 84.3.2管腳說(shuō)明 9五軟件設(shè)計(jì) 105.1時(shí)鐘設(shè)置 10六系統(tǒng)操作說(shuō)明 11七結(jié)束語(yǔ)
八參考文獻(xiàn) 12附錄:121、系統(tǒng)原理圖132、程序:(1)液晶顯示的程序13(2)總的程序14一、 前言用單片機(jī)控制時(shí)間的讀取并顯示在液晶屏幕上面,并可通過(guò)按鍵實(shí)現(xiàn)對(duì)時(shí)間的修改。文中詳細(xì)論述了電子日歷鐘設(shè)計(jì)原理、使用的各芯片的介紹,闡明了本實(shí)例所使用的設(shè)計(jì)方案、詳細(xì)的電路圖以及電子程序.1.1設(shè)計(jì)任務(wù)及要求DS12887芯片具有低功耗、外圍接口簡(jiǎn)單、精度高、工作穩(wěn)定可靠等優(yōu)點(diǎn)。采用DS12887芯片設(shè)計(jì)的時(shí)鐘電路無(wú)需任何外圍電路和器件,并具有良好的微機(jī)接口,廣泛用于各種需要精度較高的實(shí)時(shí)時(shí)鐘系統(tǒng)中。設(shè)計(jì)內(nèi)容包括DS12887芯片的時(shí)鐘電路硬件設(shè)計(jì),軟件設(shè)計(jì),畫(huà)出Protel原理圖、PCB版圖、寫(xiě)出元件清單,驗(yàn)收后方可焊接電路板并調(diào)試。設(shè)計(jì)實(shí)現(xiàn)如下目標(biāo):利用DS12887和STC8952單片機(jī)設(shè)計(jì)一個(gè)時(shí)鐘和日歷,時(shí)間以24小時(shí)為一個(gè)周期;顯示當(dāng)前時(shí)、分、秒;有校時(shí)功能,可以分別對(duì)時(shí)及分進(jìn)行單獨(dú)校時(shí),使其校正到標(biāo)準(zhǔn)時(shí)間;可以實(shí)現(xiàn)基本的調(diào)時(shí)定時(shí)日期的修改。1.2本設(shè)計(jì)的應(yīng)用意義此電子日歷鐘小巧便捷利于攜帶,界面清爽,一目了然,方便您知曉當(dāng)前時(shí)間,并可對(duì)時(shí)間做出修改,實(shí)在是居家旅行日常生活之必備用品!二、 方案的論證本系統(tǒng)采用STC89C52單片機(jī)作為控制核心,使用單片集成的即時(shí)時(shí)鐘芯片DS12887來(lái)實(shí)現(xiàn)時(shí)鐘功能,顯示系統(tǒng)采用液晶模塊LCD顯示時(shí)間、日歷及鬧鈴等提示信息,有著智能化的人機(jī)界面。用此方案設(shè)計(jì)的電路圖簡(jiǎn)單,不需要驅(qū)動(dòng)電路,用并行口的數(shù)據(jù)線(xiàn)便可以實(shí)現(xiàn)時(shí)間、日歷以及鬧鐘的顯示。STC89C52有成熟的閃存技術(shù),本身自帶有看門(mén)狗定時(shí)器電路,這樣在單片機(jī)死機(jī)或遇到程序故障時(shí)系統(tǒng)能夠自動(dòng)復(fù)位,看門(mén)狗定時(shí)器由一個(gè)14位預(yù)分頻器構(gòu)成,以系統(tǒng)時(shí)鐘或者是系統(tǒng)時(shí)鐘的分頻信號(hào)作為其計(jì)數(shù)源,當(dāng)看門(mén)狗溢出時(shí)將使系統(tǒng)復(fù)位。系統(tǒng)時(shí)鐘頻率可動(dòng)態(tài)調(diào)節(jié),有集成省電、上電復(fù)位/掉電檢測(cè)等功能。三、 總體設(shè)計(jì)3.1基本工作原理利用DS12887實(shí)時(shí)時(shí)鐘電路芯片來(lái)讀取系統(tǒng)中的日期以及時(shí)間信息,并利用P0端口將相關(guān)信息傳送至STC89C51主芯片之中,利用P2端口使之顯示于LCD1602液晶顯示屏上,四個(gè)按鍵分別置于P1口的1、2、3、4端口可以對(duì)時(shí)間進(jìn)行控制修改。相關(guān)說(shuō)明:點(diǎn)擊確定按鍵可以進(jìn)入LCD屏上方顯示的主菜單,點(diǎn)擊返回按鍵可以退出菜單,在時(shí)間修改菜單中點(diǎn)擊修改“小時(shí)”按鍵可以修改時(shí)間中的小時(shí)數(shù),點(diǎn)擊修改“分鐘”按鍵可以修改時(shí)間中的分鐘數(shù)。
3.2硬件總體設(shè)計(jì)3.3軟件總體設(shè)計(jì)主程序主要包括:系統(tǒng)初始化、獲取串口數(shù)據(jù)、設(shè)置日歷時(shí)鐘芯片、獲取時(shí)鐘芯片的時(shí)間信息和時(shí)鐘校正、顯示等子程序。初始化子程序主要包括設(shè)置單片機(jī)的串口和定時(shí)器的初始化,日歷時(shí)鐘芯片初始參數(shù)和驅(qū)動(dòng)芯片的初始化等。主程序流程圖如圖6所示。田工町序迢赴閔四、硬件設(shè)計(jì)4.1DS12887的功能介紹DS12887是美國(guó)DALLAS半導(dǎo)體公司最新推出的8位串行接口并自帶RAM的實(shí)時(shí)日歷時(shí)鐘芯片,內(nèi)部有14個(gè)時(shí)鐘控制寄存器,包括10個(gè)時(shí)標(biāo)寄存器,4個(gè)狀態(tài)寄存器和114bit作掉電保護(hù)用的低功耗RAM。CPU通過(guò)讀DS12887的內(nèi)部時(shí)標(biāo)寄存器得到當(dāng)前的時(shí)間和日歷,也可通過(guò)選擇二進(jìn)制或BCD碼初始化芯片的10個(gè)時(shí)標(biāo)寄存器,其4個(gè)狀態(tài)寄存器用來(lái)控制和指出DS12887的當(dāng)前工作狀態(tài),114bit非易失性靜態(tài)RAM可在掉電時(shí)保存一些重要數(shù)據(jù)。
DS12887功能強(qiáng)大,應(yīng)用廠(chǎng)泛。4.1.1引腳功能:GND:接地端VCC:直流電源+5V電壓。當(dāng)5V電壓在正常范圍內(nèi)時(shí),數(shù)據(jù)可讀寫(xiě);當(dāng)VCC低于4.25V,讀寫(xiě)禁止,計(jì)時(shí)功能仍繼續(xù);當(dāng)VCC下降到3V以下時(shí),RAM和計(jì)時(shí)器被切換到內(nèi)部鋰電池。M0T(模式選擇):MOT引腳接到VCC時(shí),選擇MOTOROLA時(shí)序,當(dāng)接到GFND時(shí),選擇INTEL時(shí)序。SQW(方波信號(hào)輸出):SQW引腳能從實(shí)時(shí)時(shí)鐘內(nèi)部15級(jí)分頻器的13個(gè)抽頭中選擇一個(gè)作為輸出信號(hào),其輸出頻率可通過(guò)對(duì)寄存器A編程改變。ADO?AD7(雙向地址/數(shù)據(jù)復(fù)用線(xiàn)):總線(xiàn)接口,可與MOTOROLA微機(jī)系列和INTEL微機(jī)系列接口。AS(地址選通輸入):用于實(shí)現(xiàn)信號(hào)分離,在A(yíng)D/ALE的下降沿把地址鎖入DS12887。DS(數(shù)據(jù)選通或讀輸入):DS/RD有2種操作模式,取決于MOT引腳的電平,當(dāng)使用MOTOROLA時(shí)序時(shí),DS是一正脈沖,出現(xiàn)在總線(xiàn)周期的后段,稱(chēng)為數(shù)據(jù)選通;在讀周期,DS指示DS12887驅(qū)動(dòng)雙向總的時(shí)刻;在寫(xiě)周期,DS的后沿使DS12887鎖存寫(xiě)數(shù)據(jù)。選擇INTEL時(shí)序時(shí),DS稱(chēng)作(RD),RD與典型存儲(chǔ)器的允許信號(hào)(OE)的定義相同。R/W(讀/寫(xiě)輸入):也有兩種操作模式。選MOTOROLA時(shí)序時(shí),是一電平信號(hào),指示當(dāng)前周期是讀或?qū)懼芷?,DSO為高電平時(shí),高電平指示讀周期,低電平指示寫(xiě)周期;選INTEL時(shí)序,信號(hào)是一低電平信號(hào),稱(chēng)為WR。在此模式下,R/W與通用RAM的寫(xiě)允許信號(hào)(WE)的含義相同。/CS(片選輸入):在訪(fǎng)問(wèn)DS12887的總線(xiàn)周期內(nèi),片選信號(hào)必須保持為低。IRQ(中斷申請(qǐng)輸入):低電平有效,可作微處理的中斷輸入。沒(méi)有中斷條件滿(mǎn)足時(shí),IRQ處于高阻態(tài)。IRQ線(xiàn)是漏極開(kāi)路輸入,要求外接上接電阻。RESET(復(fù)位輸出):當(dāng)保持低電平時(shí)間大于200ms,保證DS12887有效復(fù)位。DS12887ATfl9C520-12345^743ADAI}戰(zhàn)齦血ADJS.
覽
3?-11
3j3016DS12887ATfl9C520-12345^743ADAI}戰(zhàn)齦血ADJS.
覽
3?-11
3j301610如下OVccSSV211235Q*4-朮口1374LMS13SYS7圖2DS12887與單片機(jī)的顒靜睪門(mén)山DS12887的內(nèi)部地址分配:地址00H和03H單元取值范圍是00H?3BH(十進(jìn)制為0?59);
04H?05H單元按12小時(shí)制取值范圍是上午(AM)01H?0CH(十進(jìn)制為1?12),下午(PM)51H?
5CH(十進(jìn)制為81?92),按24小時(shí)制取值范圍是00H?17H(十進(jìn)制為0?23);06H單元的取
值范圍是01H?07H(十進(jìn)制為1?7);07H單元取值范圍O1H?1FH(十進(jìn)制為1?31);08H
單元取值范圍是01H?OCH(十進(jìn)制為1?12);09H單元取值范圍是00H?63H(十進(jìn)制為0?99)。4.2LCD16022.11602液晶模塊簡(jiǎn)介1602液晶顯示模塊,是點(diǎn)陣字符型液晶顯示模塊,可以用來(lái)顯示字母,符號(hào),數(shù)字以及簡(jiǎn)單的漢字和圖案等信息?!?602”的含義是這類(lèi)液晶顯示模塊每行能夠顯示16個(gè)字符,一共可以顯示兩行。該液晶顯示模塊,分為帶背光和不帶背光兩類(lèi),兩者在應(yīng)用過(guò)程中功能基本類(lèi)似,只是帶背光的模塊更厚一些,通常的背光顏色以黃綠色和藍(lán)色為主。目前,多數(shù)602液晶顯示模塊的生產(chǎn)廠(chǎng)商使用的控制芯片都是日立公司的HD44780,這得單片機(jī)對(duì)1602液晶顯示模塊的控制更加統(tǒng)一和方便。1602液晶顯示模塊的主要技術(shù)參數(shù)如下:(1) 顯示容量,為16個(gè)字符X兩行,即每行最多顯示32個(gè)字符;(2) 模塊工作電壓,在4.5-5V之間,模塊的最佳工作電壓為5V;(3) 模塊工作電流,再最佳工作電壓5V式,工作電流是2mA;(4) 顯示字符的大小,每個(gè)被顯示的字符大小為2.95mmX4.35mm(字符的寬度乘高度)。4.2.21602液晶模塊的管腳介紹第1腳:GND為電源地,接GND。第2腳:VCC接5V正電源。第3腳:VO為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為指令寄存器或數(shù)據(jù)寄存器的選擇。高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫(xiě)信號(hào)線(xiàn),高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:E端為讀或?qū)懖僮鞯氖鼓芏?,?dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7?14腳:D0?D7為8位雙向數(shù)據(jù)線(xiàn)。第15腳:BGVCC背光電源正極(+5V)輸入引腳。第16腳:BGGND背光電源負(fù)極,接GND。4.3STC89C52芯片4.3.1芯片介紹STC89C52單片機(jī)簡(jiǎn)介STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌
入式控制應(yīng)用系統(tǒng)提供咼靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM, 32位I/O口線(xiàn),看門(mén)狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外STC89X52可降至OHz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35Mhz,6T/12T可選。和Atmel的對(duì)比:STC89C52RC單片機(jī)具有8K字節(jié)程序存儲(chǔ)空間;512字節(jié)數(shù)據(jù)存儲(chǔ)空間;內(nèi)帶4K字節(jié)EEPROM存儲(chǔ)空間;可直接使用串口下載的特點(diǎn)而AT89S52單片機(jī)則具有8K字節(jié)程序存儲(chǔ)空間;256字節(jié)數(shù)據(jù)存儲(chǔ)空間;沒(méi)有內(nèi)帶EEPROM存儲(chǔ)空間的特點(diǎn)。STC89C52芯片如下圖所示:T2/P1.0T2/P1.0140T2EX/PL1239P1.2338P1.3437卩1.1|536P1.51635P1.61734P1.7833RST19i i32RXD/P3.01101―%ij] [731TXD/r3.1|111亠30IXT0/P3.2112o29IXT1/P3.311328T0/P3.1|1427T1/P3.511526WR/P3.6|1625RD/P3.71721XTAL2|1823XTAL1|1922VSS12021VCCPO.O/ADOPO.1/AD1PO.2/AD2PO,3/AD3PO.4.W4PO.5/AD5PO.6/AD6PO.7/AD7EA ALE/PROGPSE\卩£7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/AUP2.2/A10卩£1/A9P2.0/A84.3.2管腳說(shuō)明:VCC:供電電壓。VSS:接地端。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址T”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為STC89C52的一些特殊功能口:即P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INTO(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)同時(shí),P3口也可為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。五、軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)包括單片機(jī)計(jì)算機(jī)兩部分的編程。計(jì)算機(jī)軟件編程主要實(shí)現(xiàn)參數(shù)設(shè)置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲(chǔ)。單片機(jī)軟件編程主要實(shí)現(xiàn)鍵盤(pán)、液晶顯示、鬧鐘等各模塊的功能,采用C語(yǔ)言編程。該系統(tǒng)通過(guò)串行口與鍵盤(pán)通信,鍵盤(pán)給單片機(jī)發(fā)指令實(shí)現(xiàn)數(shù)據(jù)采集及系統(tǒng)控制,并將數(shù)據(jù)實(shí)時(shí)傳回液晶顯示器顯示結(jié)果。整個(gè)軟件系統(tǒng)采用模塊化的程序設(shè)計(jì)方法,共分為時(shí)間日期的設(shè)定、鬧鈴設(shè)定、LCD顯示模塊和鍵盤(pán)掃描模塊4個(gè)部分。其中主要是鬧點(diǎn)的設(shè)定與提取。軟件系統(tǒng)的主要特點(diǎn)是整個(gè)過(guò)程完全在鍵盤(pán)的控制之下,實(shí)現(xiàn)了友好的人機(jī)交互功能。主程序通過(guò)判斷鍵盤(pán)的輸入情況調(diào)用不同的子程序,子程序的功能實(shí)現(xiàn)也是在鍵盤(pán)的配合之下完成的。主程序流程圖,如圖6所示?!?孔程丹此赴閨首先對(duì)單片機(jī)的串行口及定時(shí)器進(jìn)行初始化,然后進(jìn)行鍵盤(pán)掃描,如果有鍵按下,則根據(jù)掃描到的鍵值跳轉(zhuǎn)到相應(yīng)的入口并執(zhí)行相應(yīng)的程序,并根據(jù)外部的輸入進(jìn)行相應(yīng)的操作。如果沒(méi)有鍵按下,則回到初始化狀態(tài)。在并行運(yùn)行的程序中,本設(shè)計(jì)將調(diào)用編寫(xiě)的日歷時(shí)鐘和及LCD液晶顯示的程序程序,并將其送入液晶顯示器中進(jìn)行顯示。5.1時(shí)鐘設(shè)置在使用DS12887時(shí),首先要初始化,主要是打開(kāi)晶振、對(duì)控制寄存器A、B寫(xiě)入控制字以及對(duì)日歷、時(shí)鐘各寄存器寫(xiě)入初始值。除校時(shí)外,上電時(shí)不用再次初始化。第一次初始化時(shí),應(yīng)禁止操作DS12887內(nèi)部更新周期,即先將寄存器B的SET位置“1”,然后初始化時(shí)標(biāo)寄存器(00H?09H)和狀態(tài)寄存器A,再通過(guò)讀寄存器C清除中斷標(biāo)志,讀寄存器D將VRT位置“1”,最后將寄存器B的SET位清零,DS12887開(kāi)始計(jì)時(shí)。設(shè)置日歷時(shí)鐘,必須保證時(shí)鐘芯片DS12887處于設(shè)置狀態(tài),即SET=1,然后向DS12887的專(zhuān)用寄存器寫(xiě)入時(shí)間信息,寫(xiě)入完畢后,DS12887恢復(fù)正常數(shù)據(jù)更新?tīng)顟B(tài),即SET=O。在讀取日歷時(shí)鐘芯片DS12887的時(shí)鐘信息時(shí),必須保證UIP=O,然后讀取存儲(chǔ)其內(nèi)部寄存器的時(shí)鐘信息。為了能夠方便地顯示時(shí)間和校正時(shí)鐘,可在單片機(jī)中的用戶(hù)寄存器中開(kāi)辟特殊的時(shí)間地址單元作為顯示緩沖區(qū),分別放置“年,月,日,時(shí),分,秒”等值。此時(shí)只要將DS12887中的時(shí)間值讀入到用戶(hù)開(kāi)辟的時(shí)間地址中,用戶(hù)就可以方便控制時(shí)間。六、系統(tǒng)操作說(shuō)明利用DS12887實(shí)時(shí)時(shí)鐘電路芯片來(lái)讀取系統(tǒng)中的日期以及時(shí)間信息,并利用P0端口將相關(guān)信息傳送至STC89C51主芯片之中,利用P2端口使之顯示于LCD1602液晶顯示屏上,四個(gè)按鍵分別置于P1口的1、2、3、4端口可以對(duì)時(shí)間進(jìn)行控制修改。相關(guān)說(shuō)明:點(diǎn)擊確定按鍵可以進(jìn)入LCD屏上方顯示的主菜單,點(diǎn)擊返回按鍵可以退出菜單,在時(shí)間修改菜單中點(diǎn)擊修改“小時(shí)”按鍵可以修改時(shí)間中的小時(shí)數(shù),點(diǎn)擊修改“分鐘”按鍵可以修改時(shí)間中的分鐘數(shù)。七、結(jié)束語(yǔ)做了兩周的課程設(shè)計(jì),讓我感觸很深,有關(guān)與單片機(jī)方面的,但更多的是團(tuán)隊(duì)和合作方面的。我們組共有兩個(gè)人,在得到實(shí)驗(yàn)課題之后,就覺(jué)得壓力好大。因?yàn)槲覀兤綍r(shí)接觸的都是純粹理論性的東西,做實(shí)驗(yàn)也是霧里看花,對(duì)硬件的認(rèn)識(shí)也很缺乏。之后,我們就去圖書(shū)館查閱大量的單片機(jī)和數(shù)字芯片的資料,并帶還來(lái)仔細(xì)研究。在硬件電路的設(shè)計(jì)中,由于要涉及軟件設(shè)計(jì)的具體情況,我們又共同討論研究,最終將原理圖設(shè)計(jì)完成。在焊電路圖的過(guò)程中,由于原理圖比較復(fù)雜,接線(xiàn)及走線(xiàn)也就顯得很困難,在具體的調(diào)試中遇到的困難也比較多,但在指導(dǎo)老師的幫助下改正了幾處問(wèn)題,雖然最終沒(méi)有調(diào)試成功,但在整個(gè)過(guò)程中,我收獲了很多。這次課程設(shè)計(jì)很漫長(zhǎng),特別是編寫(xiě)程序的時(shí)候,但我從中學(xué)到了很多東西,個(gè)人的分析能力對(duì)問(wèn)題的處理能力有了不同程度的提高。對(duì)電路的判斷分析和程序的分析特別是對(duì)52單片機(jī)進(jìn)一步學(xué)習(xí),讓我收獲頗多。很感謝學(xué)校和老師給我們安排了這次的課程設(shè)計(jì),讓我真正感受到了合作的重要性很多時(shí)候都是組員的討論和老師的指導(dǎo)中的一句半句啟發(fā)了我。這次的課程設(shè)計(jì)讓我知道:理論知識(shí)固然重要,但如果不與實(shí)踐聯(lián)系起來(lái),也就如同空白紙一樣,毫無(wú)用處。八、參考文獻(xiàn)單片機(jī)基礎(chǔ)(第三版)單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)(第4版)單片機(jī)系統(tǒng)及應(yīng)用實(shí)驗(yàn)教程單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)EDA技術(shù)基礎(chǔ)教程附錄:原理圖、程序原理圖Cl□HH#
CspSainIO14.FI [Y1C2&ND匈SemiC3HiQQpF云^11lOOpF■■&W=£I'STRigSaniSpeakerVCCP89C51ET'2ENrt)lVCCXTAL1P0.0/AI:-0PO.l/AIMXTAL2P0.2/AI:-2RSTEAn.-TPP0.3/AI:'BP0.4/AIj4P0J/AI:-5P0.6/AI:Cl□HH#
CspSainIO14.FI [Y1C2&ND匈SemiC3HiQQpF云^11lOOpF■■&W=£I'STRigSaniSpeakerVCCP89C51ET'2ENrt)lVCCXTAL1P0.0/AI:-0PO.l/AIMXTAL2P0.2/AI:-2RSTEAn.-TPP0.3/AI:'BP0.4/AIj4P0J/AI:-5P0.6/AI:-6P0.7/AI:'?P1.0/T2PSEtTP1.1/T2E<ALETROGP1.2ZECIP3.0/RxDPl.B/CE-nP1.4/CE-!!P1.5/CEX2P3.1/TxDP1.6/CEW3P3.2/INT0P1.7/CE-3P3.3/INT1P3.4/T0P2.0/A8P3.5/T1P2.1/AQP3.6/WRP2.2/A10P3.7/RDP2.3/A11VSSP2.+/A12P2.5/A13P2.6/A14P2.7/A15U1RET9P嘩P3葩 =3^GKDDQVCC1011VCC Ccinq)on£Ht_5PUP?P4P5P6MOTVCCNCSWQNCNCAI:'LiNCAI:'lNCAI:-2IRQAI-'j.ELEbETAD4DSAD5NCAI:-6EL'WAPTADG1WcsDS12887vcc242322212019P331817P3?1615P3(514PIO13P17jijNLaM- 0tH§8oOAA— UN.zi-C^JWn寸巾9lA己m>HHHlHlHlHIHIHe己WPi;wQQQQ|Z|QQQpqpqr-iE寸gM$0r—1■)O-l寸'?■DE£r-iIX寸亠■oPL.£tipLIlCEElhZ/—||jNDVCCGHPRU)Adj2IK程序:1.液晶顯示的程序#includevreg52.h> 〃單片機(jī)頭文件#defineucharunsignedchar〃定義無(wú)符號(hào)字符型#defineuintunsignedint 〃定義無(wú)符號(hào)整型sbitrs=P3A0; 〃rs的位地址為P3.0sbitlcden=P3Al;//lcden的位地址為P3.1sbitfengming=P3A5;//fengming的位地址為P3.5//ucharcount,s1num;//charmiao,shi,fen;ucharcodetable[]=" 2007-7-30MON"; 〃定義第一行顯示的字符ucharcodetable1[]=" 00:00:00";〃定義第二行顯示的字符voiddelay(uintz) 〃延時(shí)子程序{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidwrite_com(ucharcom)//向1602模塊寫(xiě)數(shù)據(jù){rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}voidwrite_date(uchardate){rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=O;}voidinit() 〃1602模塊的初始化{ucharnum;fengming=O;lcden=0;write_com(0x38);〃八位數(shù)據(jù)傳輸write_com(0x0c);〃開(kāi)顯示、關(guān)光標(biāo)write_com(0x06);〃光標(biāo)右移、地址加1write_com(0x01);〃清屏write_com(0x80);for(num=0;numv15;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40);for(num=0;numv12;num++){write_date(table1[num]);delay(5);}}voidmain(){init();while(1);}總程序DS12887:#includevreg52.h>#includevintrins.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P3A5;ucharmiao,fen,shi,n,yue,ri,xing,ml,mh,fl,fh,sl,sh,yl,yh,rl,rh,flag,flag1,flaga,flag2,flag3,am,as,af,c,flagz;〃定義均為漢語(yǔ)拼音fl為分高位fh為分高位am定時(shí)的秒uintCount;longinttemp1;sbitwexu=P1A6;〃位選鎖存器控制sbitduxu=P1A5;〃段選鎖存器控制sbitbee_Speak=P3A5;〃揚(yáng)聲器驅(qū)動(dòng)引腳定義sbitkey1=P1A1;〃按鍵4個(gè)sbitkey2=P1A2;sbitkey3=P1A3;sbitkey4=P1A4;sbitcss=P1A7;//12887片選sbitass=P1A0;//12887鎖存器sbitdss=P3A7;//12887讀寫(xiě)控制sbitrw=P3A6;//12887讀寫(xiě)控制sbitp30=P3A0;//3.0-3.3后三位數(shù)碼管位選控制sbitp31=P3A1;sbitp33=P3A3;sbitp35=P3A5;〃揚(yáng)聲器voidsj(longinti);TOC\o"1-5"\h\zuchar codeduma1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};〃數(shù)碼管段碼帶小數(shù)uchar codeduma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};〃數(shù)碼管段碼uchar codewema[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};〃數(shù)碼管位選voiddelay15us()//誤差Ous{unsignedchara;for(a=5;a>0;a--);34.}35.voiddelay5us()//誤差0us36.{37._nop_();//ifKeil,requireuseintrins.hTOC\o"1-5"\h\z}39.voiddelay3us() //誤差Ous{42._nop_(); //ifKeil,requireuseintrins.h{n=n;43.}87.flagz=0;44.voiddelay45us()//誤差0us88.}45.{89.}46.unsignedchara;90.voidsj(longinti)47.for(a=20;a>0;a--);91.{48.}92.uintone,two,three,four,five,six;49.voiddelay1(uintz)〃延時(shí)一個(gè)毫秒93.one=i%10;50.{94.two=(i/10)%10;51.uintx,y;95.three=(i/100)%10;52.for(x=z;x>0;x--)96.four=(i/1000)%10;53.for(y=110;y>0;y--);97.five=(i/10000)%10;54.}98.six=(i/100000)%10;55.voiddelay2(uintz)//延時(shí)一個(gè)毫秒99.wexu=1;56.{100.P2=wema[7];57.uintx;101.wexu=0;58.for(x=z;x>0;x--)102.duxu=1;59.{sj(temp1);103.P2=duma[one];60.delay1(2);104.duxu=0;61.}105.delay1(3);62.}106.duxu=1;63.voidwritebyte(ucharn)107.P2=duma[two];64.{108.duxu=0;65.uchari;109.wexu=1;66.for(i=0;iv8;i++)110.P2=wema[6];67.{111.wexu=0;68.DQ=0;112.delay1(3);69.delay15us();113.duxu=1;70.DQ=n&0x01;114.P2=duma[three];71.n>>=1;115.duxu=0;72.delay45us();116.wexu=1;73.DQ=1;117.P2=wema[5];74.}118.wexu=0;75.DQ=1;119.delay1(3);76.}120.duxu=1;77.voidfuhao(ucharm,ucharn)121.P2=duma1[four];78.{122.duxu=0;79.if(m&0x80)123.wexu=1;80.{124.P2=wema[4];81.n=(~n)+1;125.wexu=0;82.flagz=1;126.delay1(3);83.}127.duxu=1;84.else128.if(five==0){if(flagz==1){P2=duma[10];}elseP2=duma[11];}elseP2=duma[five];duxu=0;wexu=1;P2=wema[3];wexu=0;delay1(3);duxu=1;if(six==0){if(flagz==1&&five!=0){P2=duma[10];}elseP2=duma[11];}elseP2=duma[six];duxu=0;wexu=1;P2=wema⑵;wexu=0;delay1(3);if(flagz==1&&six!=0){duxu=1;P2=duma[10];duxu=0;wexu=1;P2=wema[1];wexu=0;delay1(3);}wexu=1;P2=wema[8];wexu=0;delay1(1);TOC\o"1-5"\h\z}voiddelay3(uintz){while(z--);}voidiniti(){uchari;i=1;DQ=1;delay3(8);DQ=0;delay3(90);DQ=1;delay3(8);i=DQ;while(i);delay3(85);DQ=1;}ucharreadbyte(){uchari,j;j=0;for(i=0;iv8;i++){j>>=1;DQ=1;delay3us();DQ=0;delay3us();DQ=1;delay15us();if(DQ)jl=0x80;delay45us();delay5us();207.TOC\o"1-5"\h\z}return(j);}voidwedu(){213.uchardath,datl;longinttemp;temp=0;templ=O;dath=0;datl=0;while(flaga){initi();delay1(1);writebyte(Oxcc);writebyte(0x44);delay2(50);initi();delay1(1);writebyte(Oxcc);writebyte(Oxbe);datl=readbyte();dath=readbyte();temp=dath;temp<<=8;temp=templdatl;fuhao(dath,temp);temp1=temp*63;//0.0625if(key4==0){while(!key4);flaga++;if(flaga>=2)flaga=0;TOC\o"1-5"\h\z}}}voiddelay(uintz)〃延時(shí)函數(shù){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidwrite_sj(uchardz,ucharsj)//12887寫(xiě)函數(shù){css=0;ass=1;dss=1;rw=1;P0=dz;ass=0;rw=0;P0=sj;rw=1;ass=1;css=1;}ucharread_sj(uchardz1)//12887讀函數(shù){ucharm;css=0;dss=1;rw=1;ass=1;P0=dz1;ass=0;dss=0;P0=0xff;m=P0;dss=1;ass=1;css=1;returnm;}voiddispay(uintm,uintf,uints,uintx,uinty,uintr)//顯示函數(shù){mh=m/10;ml=m%10;fh=f/10;fl=f%10;sh=s/10;sl=s%10;yh=y/10;yl=y%10;rh=r/10;rl=r%10;duxu=1;P2=duma[fl];duxu=0;wexu=1;P2=wema[7];wexu=0;delay(3);duxu=1;P2=duma[fh];P2=duma[fh];duxu=0;wexu=l;P2=wema[6];wexu=0;delay(3);duxu=1;P2=duma[sl];duxu=0;wexu=1;P2=wema[5];wexu=0;delay(3);duxu=1;P2=duma[sh];duxu=0;wexu=1;P2=wema[4];wexu=0;delay(3);duxu=1;P2=duma[rl];duxu=0;wexu=1;P2=wema[3];wexu=0;delay(3);duxu=1;P2=duma[rh];duxu=0;wexu=1;P2=wema[2];wexu=0;delay(3);duxu=1;P2=duma[yl];duxu=0;wexu=1;P2=wema[1];wexu=0;delay(3);duxu=1;P2=duma[yh];duxu=0;wexu=1;P2=wema[0];wexu=0;delay(3);wexu=1;P2=wema[8];wexu=0;delay(1);354.p30=0;duxu=1;P2=duma[mh];duxu=0;delay(3);p30=1;p31=0;duxu=1;P2=duma[ml];duxu=0;delay(3);p31=1;p33=0;duxu=1;P2=duma[x];duxu=0;delay(3);p33=1;}voidkey()〃調(diào)時(shí)函數(shù){write_sj(0x0a,0x00);〃關(guān)閉晶振調(diào)試時(shí)不更新377.if(key1==0)378.{delay(5);379.if(key1==0)380.{381.while(!ke)382.flag++;383.if(flag>=7)384.{flag=0;}385.}386.}387.if(flag==1)388.{if(key2==0){delay(5);if(key2==0){while(!key2);m
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 皖西衛(wèi)生職業(yè)學(xué)院《數(shù)字游戲角色設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 幼兒園大班社會(huì)活動(dòng)《課間十分鐘》教案(5篇)
- 2025年重慶市安全員知識(shí)題庫(kù)及答案
- 莆田學(xué)院《數(shù)據(jù)結(jié)構(gòu)(Java)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津中德應(yīng)用技術(shù)大學(xué)《商務(wù)數(shù)據(jù)分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 濰坊學(xué)院《土地測(cè)量與評(píng)價(jià)》2023-2024學(xué)年第二學(xué)期期末試卷
- 邯鄲科技職業(yè)學(xué)院《風(fēng)電機(jī)組設(shè)計(jì)與制造》2023-2024學(xué)年第二學(xué)期期末試卷
- 長(zhǎng)治幼兒師范高等專(zhuān)科學(xué)?!额A(yù)算管理模擬》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年江西省建筑安全員《B證》考試題庫(kù)
- 2025年湖南省安全員《A證》考試題庫(kù)及答案
- 施工技術(shù)交底(電氣安裝)
- 高中英語(yǔ)真題-高考英語(yǔ)語(yǔ)法填空專(zhuān)練(6)及答案
- 污水處理廠(chǎng)TOT項(xiàng)目招標(biāo)文件模板
- 勞工及道德體系法律法規(guī)清單
- 倉(cāng)儲(chǔ)物流中心物業(yè)管理服務(wù)費(fèi)報(bào)價(jià)單
- 2024年哈爾濱科學(xué)技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
- 2024年北京市大興區(qū)清源街道招聘筆試沖刺題(帶答案解析)
- (2024年)污水處理設(shè)備培訓(xùn)方案
- 《生物質(zhì)熱電聯(lián)產(chǎn)工程設(shè)計(jì)規(guī)范》
- 中國(guó)十五冶招聘線(xiàn)上筆試測(cè)評(píng)題庫(kù)
- 中國(guó)結(jié)直腸癌診療規(guī)范(2023版)解讀
評(píng)論
0/150
提交評(píng)論