版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 硬件技術綜合課程設計</p><p><b> 實驗報告</b></p><p> 題 目:DS1302時鐘</p><p> 學 院:</p><p> 指導老師:</p><p> 日 期:</p><p> 試驗對象:<
2、/p><p> 實驗人員:姓名學號</p><p> 課程設計(論文)任務書</p><p> 課程設計(論文)成績評定表</p><p><b> 摘要</b></p><p> 本文介紹的實時時鐘芯片為DSl302,它是Dallas公司的一種具有涓細電流充電能力的實時時鐘芯片,采用普通32
3、.768kHz晶振。主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關閉充電功能。它可以對年、月、日、星期、時、分、秒進行計時,且具有閏年補償?shù)榷喾N功能。并給出了基于DSl302設計的時鐘顯示在讀寫中的C51程序及流程圖,以及在調試過程中的注意事項。</p><p> 關鍵詞:單片機 DS1302 數(shù)碼管 數(shù)字鐘</p><p><b&g
4、t; 1設計目標5</b></p><p><b> 2概要設計5</b></p><p><b> 2.1設計目的5</b></p><p><b> 2.2設計儀器5</b></p><p> 2.3設計內(nèi)容12</p><
5、;p><b> 3詳細設計12</b></p><p> 3.1系統(tǒng)需求分析12</p><p> 3.2系統(tǒng)目標14</p><p> 3.3功能分析14</p><p> 3.4詳細步驟15</p><p><b> 4總結18</b><
6、;/p><p> 參考文獻(資料)19</p><p><b> 設計背景</b></p><p> 自古就有:“一寸光陰,一寸金”的說法。而隨著人類的進步科學技術的發(fā)展時間觀也越來越被人們重視,而能夠準確的知道時間能夠提高人們的工作效率,能更好的在規(guī)定的時間內(nèi)完成所規(guī)定的工作 。因此能有隨時隨地的知道當前時間是非常重要的。隨著科學技術的發(fā)
7、展,單片機技術的不斷完善,使得數(shù)字鐘的設計變得更加的靈便、更加簡單、功能更加的完善、計時也更加的準確。本設計實用簡單,設計方便,計時準確,能夠對年、月、日、周、日、時、分、秒進行準確的計時,可以讓人們隨時知道時間。</p><p><b> 1設計目標</b></p><p> 本設計主要實現(xiàn)電子時鐘顯示用LED數(shù)碼管顯示,格式為:XX XX XX,由左向右分別為
8、:時、分、秒,比如:23 20 40表示23時20分40秒,剛開始工作時應顯示為:12 00 00,并且要實現(xiàn)對時分秒進行校準。</p><p><b> 2概要設計</b></p><p><b> 2.1設計目的</b></p><p> 本設計利用AT89C52的特點及DS1302的特點,提出一種基DS1302
9、單片機控制,再利用數(shù)碼管顯示的數(shù)字鐘。本系統(tǒng)硬件利用AT89S52作為CPU進行總體控制,通過DS1302時鐘芯片獲取準確詳細的時間(年、月、日、周、日、時、分、秒準確時間),對時鐘信號進行控制,同時利用液晶顯示芯片LCD1602對時間進行準確顯示年、月、日、周、日、時、分、秒。該數(shù)字鐘硬件電路簡單,使用靈活,功能穩(wěn)定,顯示準確且無論對于社會或者科研也有一定的研究價值。</p><p><b> 2.
10、2設計儀器</b></p><p> 根據(jù)系統(tǒng)設計結構圖來對每個部分的電路進行分析和說明,重點講述微控制器AT89S52、數(shù)碼管顯示模塊、實時時鐘芯片DS1302。</p><p> 2.2.1 MCU微控制器電路</p><p> AT89S52的塑封圖如圖2.1所示,它為DIP40雙列直插塑料封裝。AT89S52作為系統(tǒng)的核心控制元件,只有它
11、能正常工作后才能使其它的元件進入正常工作狀態(tài)。因此,下面對AT89S52進行必要的說明,AT89S52的管腳如圖2.2所示。</p><p> 圖2.1 AT89C52封裝圖 圖2.2 AT89C52引腳圖</p><p> 1)VCC:40腳,供電電壓,一般接+5V電壓。</p><p> 2)GND:20腳,接工作地。
12、</p><p> 3)P0口:1~8腳,P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。</p><p> 當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內(nèi)部上電阻。但是P0口在程序校驗作為輸出指令字節(jié)時,需要外部加上拉電阻,一般上拉電阻選4.7K~10K為宜。本設計
13、中用5.1K的排阻對P0口進行上拉電平。</p><p> 4)P1口:32~39腳,P1口是一個內(nèi)部具有上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個TTL門電流。P1端口寫入“1”后,被內(nèi)部上拉電阻把端口拉高,此時可以作為作輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。</p><p> 5)P2口:20~27腳,P2 口是一個具有內(nèi)部上拉電阻
14、的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。6)P3口:10~17腳,P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P3 輸出緩沖器能驅動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。</p><p> 7)RESET:9腳,復位輸入端。當振蕩器復位器件時,
15、要保持RST腳兩個機器周期的高電平時間。</p><p> 8):30腳,當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于系統(tǒng)校驗。</p><p> 9)PSEN:29腳,外部程序存儲器的選通信號。</p&
16、gt;<p> 10):31腳,訪問外部程序存儲器控制信號。當為低電平時,讀取外部程序存儲器;當端為高電平時,則讀取內(nèi)部程序存儲器,設計中一般接高電平。</p><p> 11)XTAL1:19腳,振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。如采用外部時鐘源時,XTAL1為輸入端。</p><p> 12)XTAL2:18腳,振蕩器反相放大器的輸出端。如采用外部時鐘源時
17、,XTAL2應懸空不接。</p><p> 2.2.2 LCD液晶顯示電路</p><p> 液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在各種小系統(tǒng)中得到了更廣泛的應用。本設計中使用的液晶顯示模塊是LCD1602。圖2.3所示為本設計LCD1602的連接圖。</p><p> 圖2.3 LCD1602連接圖</p><
18、;p> LCD1602是一種用5x7點陣圖形來顯示字符的液晶顯示器模塊,它顯示的容量為2行16個字。其實物如圖2.4和圖2.5所示,它的顯示內(nèi)容豐富、體積小、美觀和易于控制都是本設計選擇作為顯示模塊的原因。其引腳結構圖如圖2.6所示。</p><p> 圖2.4 LCD1602正面圖</p><p> 圖2.5 LCD1602反面圖</p><p>
19、 圖2.6 LCD1602引腳結構圖</p><p> 關于LCD1602的引腳說明如下:</p><p> 1)第1腳:GND為地電源。</p><p> 2)第2腳:VCC接+5V電源。</p><p> 3)第3腳:VEE為液晶顯示器對比度調整端。接+5V電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使
20、用時可以通過一個10K的精密電位器調整對比度,一般對比電壓為0.7V左右。</p><p> 4)第4腳:RS為寄存器選擇。高電平時選擇數(shù)據(jù)寄存器,否則選擇指令寄存器。</p><p> 5)第5腳:為讀寫信號線。高電平時進行讀操作,低電平時進行寫操作。當RS和共同為低電平時可以寫入指令或者顯示地址,當RS為低電平為高電平時可以讀出忙信號,當RS為高電平為低電平時可以寫入數(shù)據(jù)。<
21、/p><p> 6)第6腳:E端為使能端。當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p> 7)第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 </p><p> 8)第15腳:背光燈VCC,一般直接和+5V電源相連接。</p><p> 9)第16腳:背光燈GND。</p><p> LCD160
22、2液晶模塊內(nèi)部的字符發(fā)生存儲器已經(jīng)存儲了160個不同的點陣字符圖形,這些字符圖有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。 LCD1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2.8所示。</p><p> 它的讀寫操
23、作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的(說明:1為高電平,0為低電平)。</p><p> 指令1:清顯示,指令碼01H,光標復位到地址00H位置。</p><p> 指令2:光標復位,光標返回到地址00H 。</p><p> 指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 。S:屏幕上所有文字是否左移或者右移。高電平表示有效
24、,低電平則無效 。</p><p> 指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示。 C:控制光標的開與關,高電平表示有光標,低電平表示無光標。 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍 。</p><p> 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標 。</p><p> 指令6:功
25、能設置命令 DL:高電平時為4位總線,低電平時為8位總線。 N:低電平時為單行顯示,高電平時雙行顯示。 F:低電平時顯示5X7的點陣字符,高電平時顯示5x10的點陣字符 (有些模塊是 DL:高電平時為8位總線,低電平時為4位總線)。</p><p> 指令7:字符發(fā)生器RAM地址設置 。</p><p> 指令8:DDRAM地址設置 。</p><p&g
26、t; 指令9:讀出忙信號和光標地址。 BF為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙,模塊就能接收相應的命令或者數(shù)據(jù)。</p><p> 指令10:寫數(shù)據(jù) 。</p><p> 指令11:讀數(shù)據(jù) 。</p><p> 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志位是不是為低電平,是低電平則表示不
27、忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。表2.9為 LCD1602的內(nèi)部顯示地址。</p><p> 表2.9 LCD1602的內(nèi)部顯示地址</p><p> 2.2.3 實時時鐘電路</p><p> 本設計使用的實時時鐘電路芯片是美國DALLAS公司生產(chǎn)的一種高性能、低功耗、帶RAM的實時時鐘電路芯片DS13
28、02,其引腳如圖2.11所示。VCC1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由VCC1或VCC2兩者中的較大 者供電;當VCC2大于VCC1+0.2V時,VCC2給DS1302供電;當VCC2小于VCC1時,DS1302由VCC1供電。X1和X2是振蕩源,外接32.768kHz晶振。是復位/片選線,通過把輸 入驅動置高電平來啟動所有的數(shù)據(jù)傳送。
29、 圖2.11 DS1302引腳圖</p><p> 輸入有兩種功能。首先,接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時在Vcc≥2.5V之前,必須保持低電平。只有在SCLK為低電平時,才能將置為高電平。I/O為串行數(shù)據(jù)
30、輸入輸出端(雙向),SCLK始終是輸入端。本設計入端。本設計連接圖如圖3.15所示,其中C1和C2起微調晶振的作用。 </p><p> DS1302接線圖 </p><p><b> 2.2.4復位電路</b></p><p> 在AT89S52單片機中的振蕩器運行時,引腳上保持到少2個機器周期的高電平輸入信號,復位過程即可完成。
31、根據(jù)此原理,本設計采用上電復位和按鍵復位嵌套在系統(tǒng)中,增強了系統(tǒng)的實用性。本設計的具體復位圖如下。</p><p><b> 2.2.5晶振電路</b></p><p> AT89S52在工作時需要外部提供時鐘信號,因此,本設計選擇在其18腳19腳之間接上12MHz的晶振,為單片機提供1μs的機器振蕩周期。其電路連接圖如圖所示。在圖中,電容器C3.C4起穩(wěn)定振蕩頻
32、率、快速起振的作用,其電容值一般在20~50pF</p><p><b> 2.3設計內(nèi)容</b></p><p> 根據(jù)系統(tǒng)設計的要求和設計思路,確定該系統(tǒng)的系統(tǒng)設計結構圖。如圖2.12所示。硬件電路主要由MCU微處理控制器單元、DS1302時鐘電路、儲存器、復位電路、晶振電路、數(shù)碼管顯示模塊構成。</p><p> 圖2.12 系統(tǒng)結
33、構圖設計</p><p><b> 3詳細設計</b></p><p><b> 3.1系統(tǒng)需求分析</b></p><p> 根據(jù)設計要求,結合實際情況和設計成本要求,對系統(tǒng)主要部分的電路方案敘述如下:</p><p> 3.1.1 MCU微處理控制器的方案對比選擇</p>
34、<p> 方案一:MCU微處理控制器的種類很多,有ATMEL公司生產(chǎn)的AT89SXX系列單片機,其中有8位的單片機,也有16位的單片機。AT89S52為8位的單片機,它是一種低損耗、高性能的CMOS微處理器,片內(nèi)有8K字節(jié)的存儲空間,128字節(jié)RAM、4個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器,尋址范圍64K。并且可以在線進行重復編程、快速擦除、快速寫入程序,能重復擦除 / 寫入1000次左右,數(shù)據(jù)保存時間為十
35、年。</p><p> 方案二:微處理控制器也有凌陽公司生產(chǎn)的,同樣有8位的CPU和16位的CPU。它也有很多特點,比如:體積小 、集成度高、可靠性好、易于擴展;具有較強的中斷處理能力;功能強、效率高的指令系統(tǒng)及低功耗、低電壓。但是其應用領域主要是為控制處理數(shù)據(jù)處理以及數(shù)字信號處理等領域,其中凌陽的16位單片機就是為適應這種發(fā)展而設計的。</p><p> 綜上所述,在本設計中,考慮到
36、本人對單片機的運用熟練度和單片機的功能領域,選擇ATMEL公司生產(chǎn)的AT89S52單片機作為本設計的微控制器。</p><p> 3.1.2 LCD液晶顯示模塊的方案對比選擇</p><p> 方案一:顯示的方法有很多種,其中LED數(shù)碼管是常用的一種顯示方法。在這個設計中,可以用LED數(shù)碼管來顯示相應站臺的站號,提醒司機知道是去向或者是回向的第幾站,讓司機心里有數(shù),同時增加顯示數(shù)字的
37、可讀性。該設計中,顯示站號至少要2個LED數(shù)碼管,顯示時間信息要12個,顯示星期信息要1個,總共需要15個LED數(shù)碼管。單價是1.2元,那15個共需要15×1.2=18(元)。另外在PCB布線過程中很困難,給設計帶來很不方便的使用。</p><p> 方案二:LCD1602液晶顯示器是一塊價廉物美的器件,其體積小,控制簡單,使用方便。它能顯示2行16列的數(shù)字或英文信息,另外連接它的線很少,只要8根數(shù)據(jù)
38、線和3根控制線,這樣給使用帶來很大的方便,節(jié)約單片機I/O口。市場上一塊LCD1602的價格也只在15元左右,比數(shù)碼管便宜。</p><p> 方案三:功能強大、可以顯示中文文字的LCD12864液晶顯示器,其價格貴,體積大,控制比LCD1602稍微復雜點,但是使用也是很方便的。在控制使用上,需要8根數(shù)據(jù)線和3根控制線,其余的PSB、和BLA直接與VCC相連接。但是在本設計中使用它的性價比不高,體積大,占用覆銅
39、板面積大,而且笨拙。</p><p> 綜上所述,在LCD液晶顯示模塊上,選擇方案二中的LCD1602液晶顯示器作為本設計的顯示模塊。顯示時間年、月、日、周、日、時、分、秒。</p><p> 3.1.3 實時時鐘電路的方案對比選擇</p><p> 方案一:DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路芯片,它可以對年、
40、月、日、星期、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是有主電源/后背電源雙電源引腳,可以同時對后背電源進行涓細電流充電。</p><p> 方案二:DS12887也是是美國DALLAS半導體公司最新推出的串
41、行接口實時時鐘芯片,采用CMOS技術制成,內(nèi)部具有晶振和時鐘芯片備份鋰電池。采用DS12887芯片設計的時鐘電路無需任何外圍電路和器件,并具有良好的微機接口。DS12887芯片具有微功耗、外圍接口簡單、精度高、工作穩(wěn)定可靠等優(yōu)點,可廣泛用于各種需要較高精度的實時時鐘系統(tǒng)中。但是由于它是串行接口的,外接單片機需要接很多引腳,才能對它達到一個很好的控制。</p><p> 綜上所述,結合本設計的實際問題及單片機的I
42、/O口線,選擇方案一中的DS1302作為本設計的實時時鐘電路的芯片。其控制方便、占單片機I/O口線少、體積小、價格便宜,方便本設計的使用。</p><p><b> 3.2系統(tǒng)目標</b></p><p> 本設計主要實現(xiàn)電子時鐘顯示用LED數(shù)碼管顯示,格式為:XX XX XX,由左向右分別為:時、分、秒,比如:23 20 40表示23時20分40秒,剛開始工作時
43、應顯示為:12 00 00,并且要實現(xiàn)對時分秒進行校準。</p><p><b> 3.3功能分析</b></p><p><b> 主程序</b></p><p> 系統(tǒng)的主程序設計是用來控制整個系統(tǒng)運行時的時序工作狀態(tài),因此,完善的程序設計是本設計的重點內(nèi)容。下圖是是本設計使用的主程序設計流程圖。</p&g
44、t;<p> 以下是程序主程序的一下部分:</p><p> ORG 00H</p><p> AJMP START</p><p> ;==================================</p><p> ORG 0050H</p><p><b>
45、START:</b></p><p> MOV SP,#70H</p><p> LCALL INITIALZE ;調用初始化液晶屏幕</p><p> LCALL INIT_P ;調用初始畫面</p><p> MOV A, #00000001B ;清液晶屏,寫成空白</p><p
46、> LCALL WRITE_COM</p><p> ;============主程序================</p><p><b> MAIN:</b></p><p> LCALL RD_DS1302</p><p> LCALL DATA_BUF</p><p>
47、; LCALL DISPLAY</p><p> AJMP MAIN</p><p> ………………………………</p><p><b> 3.4詳細步驟</b></p><p> 按圖4-1連接實驗線路。</p><p><b> (2)寫程序</b>&l
48、t;/p><p> #include”Intrins.h”</p><p> sbit t_clk=P3^3;</p><p> sbit t_io=P3^4;</p><p> sbit rst_P3^5;</p><p> sbit BIT7=ACC^7;</p><p> sbit
49、 BITO=ACC^O;</p><p> void inputbyte(unsigned char ucda)//八位數(shù)據(jù)寫入函數(shù)</p><p><b> {</b></p><p> unsigned char i;</p><p> ACC=ucda;//將要寫入的數(shù)放入ACC</p>&l
50、t;p> t_rst=l;//啟動數(shù)據(jù)傳送</p><p> for(i=8;i>0;i--)//循環(huán)八次,寫入八位數(shù)據(jù),從低位到</p><p><b> {</b></p><p> t_io=BIT0;//將Accn0的值賦給時鐘數(shù)據(jù)線</p><p><b> t_clk=0;&l
51、t;/b></p><p> t_clk=l;;;//在時鐘線的上升沿寫入一位數(shù)據(jù)</p><p> ACC=ACC>>1;//將高一位數(shù)據(jù)移至ACC^0</p><p><b> }</b></p><p><b> }</b></p><p>
52、 unsigned char outputbyte(void)//八位數(shù)據(jù)讀出函數(shù)</p><p><b> {</b></p><p> unsigned char i;</p><p> t_rst=1;//啟動數(shù)據(jù)傳送</p><p> for(i=8;i>0;i--)//讀出八位數(shù)據(jù),從低位到高位&
53、lt;/p><p><b> {</b></p><p> ACC=ACC>>1;//將前一下降沿讀出的數(shù)據(jù)右移一位,從而該次讀出的數(shù)放入Accn7</p><p> t_io=l;腳l口輸入之前置l</p><p><b> t_clk=l;</b></p><
54、p> t_clk=0;;;//時鐘線下降沿讀出一位數(shù)據(jù)</p><p> BIT7=t_io;//can not use P1^7=t_io for P1^7 not varient</p><p><b> }</b></p><p> retum(ACC);</p><p><b> }&l
55、t;/b></p><p> //將指令或數(shù)據(jù)寫入對應寄存器</p><p> void wr_l302(unsigned char add,unsigned char ucda)</p><p><b> {</b></p><p><b> t_rst=0;</b></p&g
56、t;<p><b> t_clk=O;</b></p><p> t_rst=l;;;</p><p> inputbyte(add);</p><p> //delayl5(1);</p><p> inputbyte(ucda);</p><p><b>
57、t_rst=O:</b></p><p><b> t_io=l;</b></p><p><b> }</b></p><p> unsigned char re_1302(unsigned char add)//賣出對應寄存器內(nèi)容</p><p><b> {<
58、;/b></p><p> unsigned char ucda;</p><p><b> t_rst=0;</b></p><p><b> t_clk=0;</b></p><p> t_rst=1;;;</p><p> inputbyte(add);
59、</p><p> ?。?delayl5(1);</p><p> ucda=outputbyte();</p><p><b> t_rst=0;</b></p><p> return(ucda);</p><p><b> }</b></p>&l
60、t;p> void setl302(unsigned char *pda)∥設置時間初值</p><p><b> {</b></p><p> unsigned char i;</p><p> unsigned char add=0x80;</p><p> wr_1302(0X8e,Ox00);//
61、將控制寄存器值設為零,最高位WP=0允許寫</p><p> for(i=7;i>0;i--)//將七個時問初值寫入對應寄存器</p><p><b> {</b></p><p> wr_1302(add,*pda);//寫對應時鐘寄存器的值</p><p><b> pda++;</b&
62、gt;</p><p><b> add+=2;</b></p><p><b> }</b></p><p> wr_1302(0x8e,0x80);//寫保護,防止干擾影響時間值</p><p><b> }</b></p><p> vo
63、id get_l302(unsigned char curtime[])//讀取當前時間值</p><p><b> {</b></p><p> unsigned chari,j;</p><p> unsigned char add=Ox8l;</p><p> bdata unsigned char sec
64、;</p><p> fo(i=0;i<7;i++)</p><p><b> {</b></p><p> curtime[i]=re_1302(add);//讀對應時鐘寄存器的值</p><p> sec= curtime [i];</p><p> j=sec>>
65、4;//將BcD碼轉化成對應十進制數(shù)</p><p><b> j*=10;</b></p><p> sec=sec&0xOf:</p><p><b> sec+=j;</b></p><p> curtime[i]=sec;</p><p><b>
66、 add+=2;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> (3)運行程序</b></p><p> DSl302與微處理器作數(shù)據(jù)交換時,首先由微處理器向芯片發(fā)送命令字節(jié),命令字節(jié)最高位MS
67、B(D7)必須為邏輯1,如果D7=0,則禁止寫DSl302,即寫保護;D6=0,指定時鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入),D0=1,指定讀操作(輸出)。</p><p> 在DSl302的時鐘日歷或RAM進行數(shù)據(jù)傳送時,DSl302必須首先發(fā)送命令字節(jié)。若進行單字節(jié)傳送,8位命令字節(jié)傳送結束之后,在下2個SCLK周期的上升沿輸
68、入數(shù)據(jù)字節(jié),或在下8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。</p><p> 要特別說明的是備用電源B1,可以用電池或者超級電容(0.1F以上)。雖然DSl302在主電源掉電后,耗電很小,但如果要保證時鐘長時間正常,最好選用小型充電電池。可以用老式電腦主板上的3.6V充電電池。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容代替。100uF就可以保證l小時的正常走時。DSl302在第一次加電后,
69、須進行初始化操作。初始化后就可以按正常方法調整時間。</p><p><b> 4總結</b></p><p> 通過這次對DS1302的數(shù)字鐘的設計與制作過程,加強了我們動手、思考和解決問題的能力。</p><p> 在設計過程中我們先后利用keil軟件進行編程、Proteus進行仿真、protel進行原理圖及PCB圖的繪制,最后再利用
70、學習板進行檢查看程序是否能顯示其功能。在過程中讓我進一步深刻的學習各種軟件的利用以及各種軟件給我們帶來的便利。特別是proteus在沒有實物的情況下進行仿真進行程序的檢查看是否能現(xiàn)實功能。</p><p> 該數(shù)字鐘通過單片機AT89C52做CPU進行總的控制,基于時鐘芯片DS1302產(chǎn)生時間,利用LCD1602進行液晶顯示的一個簡易的數(shù)字鐘。LCD1602能夠對年、月、日、周、日、時、分、秒進行計時及顯示。通
71、過設計后能夠熟練的掌握時鐘芯片DS1302、LCD1620、AT89C52的的各個引腳及功能,并能夠掌握和運用這幾個芯片。</p><p> 通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,難免會遇到過各種各樣的問題,
72、同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。 這次課程設計終于順利完成了,在設計中遇到了很多專業(yè)知識問題,最后在老師的辛勤指導下,終于游逆而解。同時,在老師的身上我們學也到很多實用的知識,在次我們表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝!</p><p><b> 參考文獻(資料)</b></p>
73、;<p> [1] 張昆藏:計算機系統(tǒng)結構.北京:科學出版社,1994</p><p> [2] 于復生,宋現(xiàn)春,艾興:時鐘芯片DSl302及其在數(shù)據(jù)記錄中的應用.電子技術應用,2003,(3)</p><p> [3] 陶海敏:利用DSl302時鐘芯片實現(xiàn)“時間鎖”的方法[J].單片機與嵌入式系統(tǒng)應用,2003,(3)</p><p> [4
74、] DSl302的說明書</p><p> [5] 51單片機的原理與應用</p><p> [6] 張迎新:單片機初級教程——單片機基礎(第二版) 北京航空航天大學出版社 2006.8</p><p> [7] 閻石:數(shù)字電子技術基礎 (第五版) 北京高等教育出版社 2006.1~550</p><p> [8] 蔡明文,馮
75、先成:單片機課程設計 華中科技大學出版社 2007.3</p><p> [9] 陳明螢:8051單片機課程設計實訓教材 清華大學出版社 2004</p><p> [10]康華光:模擬電子技術基礎(第五版) 高等教育出版社 2006</p><p> [11]黃智偉:全國大學生電子設計競賽電路(第一版)航空航天大學出版社 2006.36</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于ds1302的高精度多功能電子時鐘課程設計
- ds1302
- ds1302電子時鐘制作畢業(yè)設計
- ds1302時鐘數(shù)碼管課程設計--用數(shù)碼管顯示實時日歷時鐘的設計
- 時鐘芯片ds1302中文資料
- ds1302教程
- 基于ds1302實時日歷時鐘顯示系統(tǒng)畢業(yè)設計說明書
- 實時時鐘模ds1302程序列子
- 基于ds1302時鐘芯片數(shù)字鐘報告
- 單片機驅動ds1302時鐘芯片
- ds1302實時時鐘c程序加仿真原理圖
- DS1302介紹.doc
- 基于51單片機ds1302萬年歷課程設計報告
- 基于51單片機ds1302萬年歷課程設計報告
- 有關ds1302 時鐘和8051中斷c程序的問題
- 外文翻譯--ds1302涓流充電計時芯片
- 用ds1302與lcd1602可調數(shù)字萬年歷課程設計
- 硬件課程設計--數(shù)字時鐘設計
- 硬件技術綜合課程設計
- 畢業(yè)設計——基于ds1302的電子萬年歷設計
評論
0/150
提交評論