




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)電子時(shí)鐘專業(yè)班級:電子091學(xué)生姓名:韓松0903741026洪凌 0903741027孟忱 0903741029指導(dǎo)教師:鄒崇濤 王駿摘要單片機(jī) 即單片微型計(jì)算機(jī)。 ( Single-Chip Microcomputer)是 集 CPU ,RAM ,ROM , 定時(shí),計(jì)數(shù)和多種接口于一體的微控制 器。他體積小,成本低,功能強(qiáng),廣泛應(yīng)用于工業(yè)自動(dòng)化上和智 能產(chǎn)品。我們課程設(shè)計(jì)小組設(shè)想: 可不可以利用單片機(jī)功能集成化高, 價(jià)格又便宜的特點(diǎn)設(shè)計(jì)一款結(jié)構(gòu)簡單的單片機(jī)電子時(shí)鐘呢? 基于這種情況 , 我們課程設(shè)計(jì)小組成員多方查閱資料,反復(fù) 論證設(shè)計(jì)出了這款既簡單實(shí)用的單片機(jī)電子時(shí)鐘。關(guān)鍵詞:單片機(jī)
2、 、 時(shí)鐘 、 計(jì)時(shí)目錄摘要 錯(cuò)誤! 未定義書簽。第一章 系統(tǒng)設(shè)計(jì)要求 51.1 基本功能 51.2 擴(kuò)展功能 5第二章 硬件總體設(shè)計(jì)方案 錯(cuò) 誤! 未定義書簽。2.1 系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思路 62.2 各部分功能實(shí)現(xiàn) 182.3 系統(tǒng)工作原理 192.4 時(shí)鐘各功能分析及圖解 202.4.1 電路各功能圖解分析 202.4.2 電路功能使用說明 23第三章 控制電路的 C 語言源程序 錯(cuò)誤! 未定義書簽。第四章 課程設(shè)計(jì)結(jié)果分析 35第五章 總結(jié) 37引言時(shí)鐘, 自從它發(fā)明的那天起,就成為人類的朋友, 但隨著時(shí) 間的推移, 科學(xué)技術(shù)的不斷發(fā)展, 人們對時(shí)間計(jì)量的精度要求越 來越高,應(yīng)用越來
3、越廣。怎樣讓時(shí)鐘更好的為人民服務(wù),怎樣讓 我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘?,F(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器, 由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度 高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集 成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替顯示器 代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí), 分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對,片選的靈活 性好。時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng) 正常工作的基礎(chǔ)。 在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中, 時(shí)鐘有兩方面的含 義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)
4、振蕩定時(shí)信號, 主要由晶 振和外圍電路組成, 晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快 慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間,它通常有兩種實(shí) 現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定時(shí) / 計(jì)數(shù) 器來實(shí)現(xiàn),但誤差很大,主要用在對時(shí)間精度要求不高的場合; 二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對時(shí)間精度要求很高的情況下, 通常采用這種方法, 典型的時(shí)鐘芯片有: DS1302, DS12887, X1203 等都可以滿足高精度的要求。本文主要介紹用單片機(jī)內(nèi)部的定時(shí) / 計(jì)數(shù)器來實(shí)現(xiàn)電子時(shí)鐘 的方法,本設(shè)計(jì)由單片機(jī)AT89S51芯片和LED數(shù)碼管為核心,輔 以必要的電路,構(gòu)成了一個(gè)單片機(jī)電子時(shí)鐘。第
5、一章 系統(tǒng)設(shè)計(jì)要求1.1 基本功能(1)能夠顯示時(shí)分秒(2)能夠調(diào)整時(shí)分秒1.2 擴(kuò)展功能(1)能夠任意設(shè)置定時(shí)時(shí)間(2)定時(shí)時(shí)間到鬧鈴能夠報(bào)警(3)實(shí)現(xiàn)了秒表功能第二章 硬件總體設(shè)計(jì)方案本次設(shè)計(jì)時(shí)鐘電路, 使用了 AT89C51 單片機(jī)芯片控制電路, 單片機(jī)控制電路簡單且省去了很多復(fù)雜的線路, 使得電路簡明易 懂,使用鍵盤鍵上的按鍵來調(diào)整時(shí)鐘的時(shí)、分、秒,用一揚(yáng)聲器 來進(jìn)行定時(shí)提醒,同時(shí)使用 C 語言程序來控制整個(gè)時(shí)鐘顯示, 使得編程變得更容易, 這樣通過四個(gè)模塊: 鍵盤、芯片、揚(yáng)聲器、 顯示屏即可滿足設(shè)計(jì)要求。2.1 系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思路此設(shè)計(jì)原理框圖如圖 2-1 所示,此電路包括以下
6、四個(gè)部分: 單片機(jī),鍵盤,鬧鈴電路及顯示電路。圖2-1 設(shè)計(jì)原理框圖經(jīng)多方論證硬件我們小組采用 AT89C51單片機(jī)和7SED八 位共陽極數(shù)碼管等來實(shí)現(xiàn)單片機(jī)電子時(shí)鐘的功能。AT89C51 簡介AT89C51 是一種帶 4K 字節(jié) FLASH 存儲器 (FPEROM Flash Programmable and Erasable Read OnlyMemory )的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲 器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用 ATMEL高密度非易失存儲器制造技術(shù)制造, 與工業(yè)
7、標(biāo)準(zhǔn)的 MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖所示ATB9S5111 PC05QK* TMCll 24PE 3143XTC521TTO?1 tHTTiPj. 3(TO)?, 2. T/M15) P2. 6/ (A14) P2. 5/ r*2. 4U12J ?L 3/ P2. 2/0)亂 1/Wl) 叫估!H二加單片丄幾矢外書圖主要特性:與MCS-51兼容4K字節(jié)可編程FLASH
8、存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24MHz三級程序存儲器鎖定128X8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路管腳說明:VCC :供電電壓。GND :接地。P0 口: P0 口為一個(gè)8位漏級開路雙向I/O 口,每腳可吸 收8TTL門電流。當(dāng)P0 口的管腳第一次寫 1時(shí),被定義為高 阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為 數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí) P0外部必須 被拉咼。P1 口 :
9、P1 口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O 口,P1 口緩沖器能接收輸出 4TTL門電流。P1 口管腳寫入1后, 被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí), 將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1 口作為第八位地址接收。P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O 口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2 口被寫“ 1時(shí), 其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的 緣故。P2 口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2 口輸出地址的
10、高八位。在給出地址“ 1時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3 口: P3 口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸出4個(gè)TTL門電流。當(dāng)P3 口寫入“ 1后,它們被內(nèi) 部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低 電平,P3 口將輸出電流(ILL )這是由于上拉的緣故。P3 口也可作為 AT89C51的一些特殊功能口, 如下表所示: 口管腳備選功能P3.0 RXD (串行輸入口)P3.1 TXD (串行輸出口)P3.2 /INTO (外部中斷0)
11、P3.3 /INT1 (外部中斷 1)P3.4 T0 (記時(shí)器0外部輸入)P3.5 T1 (記時(shí)器1外部輸入)P3.6 /WR (外部數(shù)據(jù)存儲器寫選通)P3.7 /RD (外部數(shù)據(jù)存儲器讀選通)P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。RST :復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG :當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸 出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用
12、作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止 ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行 MOVX, MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如 果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN :外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù) 據(jù)存儲器時(shí),這兩次有效的 /PSEN信號將不出現(xiàn)。/EA/VPP :當(dāng)/EA保持低電平時(shí),則在此期間外部程序存 儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加 密方式1時(shí),/EA將內(nèi)部鎖定為 RESET ;當(dāng)/EA端保持高電平 時(shí),此
13、間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP )。XTAL1 :反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2 :來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求, 但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控 制信號組合,并保持 ALE管腳處于低電平 10ms來完成。在 芯片
14、擦操作中,代碼陣列全被寫“ 1且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條 件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但 RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng) 仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器, 禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。串口通訊單片機(jī)的結(jié)構(gòu)和特殊寄存器, 這是你編寫軟件的關(guān)鍵。 至 于串口通信需要用到那些特殊功能寄存器呢,它們是SCON,TCON,TMOD,SCON等,各代表什么含義呢?SBUF數(shù)據(jù)緩沖寄存器這是一個(gè)可以直接尋址的串行口 專用寄存器。有朋友
15、這樣問起過為何在串行口收發(fā)中,都只是使用到同一個(gè)寄存器 SBUF ?而不是收發(fā)各用一個(gè)寄存器?!?實(shí)際上SBUF包含了兩個(gè)獨(dú)立的寄存器,一個(gè)是發(fā)送寄存, 另一個(gè)是接收寄存器,但它們都共同使用同一個(gè)尋址地址- 99H。CPU在讀SBUF時(shí)會指到接收寄存器,在寫時(shí)會指到 發(fā)送寄存器,而且接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒有及時(shí)的被響應(yīng),數(shù)據(jù)沒有被取走,下一幀數(shù)據(jù)已到來,而造成的數(shù)據(jù)重疊問題。發(fā)送器則不需要用到雙緩沖, 一般情況下我們在寫發(fā)送程序時(shí)也不必用到發(fā)送中斷去外理 發(fā)送數(shù)據(jù)。操作SBUF寄存器的方法則很簡單,只要把這個(gè)99H地址用關(guān)鍵字sfr定義為一個(gè)變量就可以對其進(jìn)行讀寫操
16、作了,如sfr SBUF = 0x99;當(dāng)然你也可以用其它的名稱。通常 在標(biāo)準(zhǔn)的reg51.h或at89x51.h等頭文件中已對其做了定義, 只要用#inelude引用就可以了。SCON串行口控制寄存器通常在芯片或設(shè)備中為了監(jiān)視或控制接口狀態(tài),都會引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。它的尋址地址是98H,是一個(gè)可以位尋址的寄存器,作用就是監(jiān)視和控制51芯片串行口的工作狀態(tài)。51芯片的串口可以工作在幾個(gè)不同的工作模式下, 其工作模式的設(shè)置就是使用SCON寄存器。它的各個(gè)位的具體定義如下:SM0 SM1 SM2 REN TB8 RB8 TI RISM0、SM1為串行口工作
17、模式設(shè)置位,這樣兩位可以對應(yīng)進(jìn)行四種模式的設(shè)置。串行口工作模式設(shè)置。SM0 SM1模式功能波特率0 0 0同步移位寄存器 fosc/120 1 1 8位UART可變1 0 2 9 位 UART fosc/32 或 fosc/641 1 3 9位UART可變在這里只說明最常用的模式1,其它的模式也就一一略過,有興趣的朋友可以找相關(guān)的硬件資料查看。表中的fosc代表振蕩器的頻率,也就是晶振的頻率。UART為(Un iversal Asynchronous Receiver )的英文縮寫。SM2在模式2、模式3中為多處理機(jī)通信使能位。在模 式0中要求該位為0。REM為允許接收位,REM 置1時(shí)串口允
18、許接收,置0時(shí) 禁止接收。REM是由軟件置位或清零。如果在一個(gè)電路中接 收和發(fā)送引腳 P3.0,P3.1都和上位機(jī)相連,在軟件上有串口中 斷處理程序,當(dāng)要求在處理某個(gè)子程序時(shí)不允許串口被上位機(jī) 來的控制字符產(chǎn)生中斷,那么可以在這個(gè)子程序的開始處加入REM=0來禁止接收,在子程序結(jié)束處加入REM=1再次打開串口接收。大家也可以用上面的實(shí)際源碼加入REM=0來進(jìn)行實(shí)驗(yàn)。TB8發(fā)送數(shù)據(jù)位8,在模式2和3是要發(fā)送的第 9位。 該位可以用軟件根據(jù)需要置位或清除,通常這位在通信協(xié)議中做奇偶位,在多處理機(jī)通信中這一位則用于表示是地址幀還是 數(shù)據(jù)幀。RB8接收數(shù)據(jù)位8,在模式2和3是已接收數(shù)據(jù)的第 9 位。該
19、位可能是奇偶位, 地址/數(shù)據(jù)標(biāo)識位。在模式0中,RB8 為保留位沒有被使用。在模式 1中,當(dāng)SM2=0,RB8是已接收數(shù)據(jù)的停止位。TI發(fā)送中斷標(biāo)識位。在模式0,發(fā)送完第8位數(shù)據(jù)時(shí),由硬件置位。其它模式中則是在發(fā)送停止位之初,由硬件置位。TI置位后,申請中斷, CPU響應(yīng)中斷后,發(fā)送下一幀數(shù)據(jù)。 在任何模式下,TI都必須由軟件來清除,也就是說在數(shù)據(jù)寫 入到SBUF后,硬件發(fā)送數(shù)據(jù),中斷響應(yīng)(如中斷打開) ,這 時(shí)TI=1,表明發(fā)送已完成,TI不會由硬件清除,所以這時(shí)必 須用軟件對其清零。RI接收中斷標(biāo)識位。在模式0,接收第8位結(jié)束時(shí),由硬件置位。其它模式中則是在接收停止位的半中間,由硬件置位。
20、RI=1,申請中斷,要求 CPU取走數(shù)據(jù)。但在模式 1中, SM2=1時(shí),當(dāng)未收到有效的停止位,則不會對RI置位。同樣RI也必須要靠軟件清除。常用的串口模式1是傳輸10個(gè)位的,1位起始位為0,8位數(shù)據(jù)位,低位在先,1位停止位為1。 它的波特率是可變的,其速率是取決于定時(shí)器1或定時(shí)器2的定時(shí)值(溢出速率)。AT89C51和AT89C2051等51系列 芯片只有兩個(gè)定時(shí)器,定時(shí)器0和定時(shí)器1,而定時(shí)器2是89C52系列芯片才有的。波特率在使用串口做通訊時(shí),一個(gè)很重要的參數(shù)就是波特率,只有上下位機(jī)的波特率一樣時(shí)才可以進(jìn)行正常通訊。波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。有一些初學(xué)的朋友認(rèn)為波特率
21、是指每秒傳輸?shù)淖止?jié)數(shù),如標(biāo)準(zhǔn)9600會被誤認(rèn)為每秒種可以傳送 9600個(gè)字節(jié),而實(shí)際上它是指每秒可以傳 送9600個(gè)二進(jìn)位,而一個(gè)字節(jié)要 8個(gè)二進(jìn)位,如用串口模式 1來傳輸那么加上起始位和停止位,每個(gè)數(shù)據(jù)字節(jié)就要占用 10個(gè)二進(jìn)位,9600波特率用模式 1傳輸時(shí),每秒傳輸?shù)淖?節(jié)數(shù)是9600-10 = 960字節(jié)。51芯片的串口工作模式 0的波 特率是固定的,為fosc/12,以一個(gè)12M的晶振來計(jì)算,那么 它的波特率可以達(dá)到1M。模式2的波特率是固定在 fosc/64或fosc/32,具體用那一種就取決于PCON寄存器中的SMOD位,女口 SMOD 為0,波特率為focs/64,SMOD 為
22、1,波特率為 focs/32。模式1和模式3的波特率是可變的,取決于定時(shí)器 1或2 ( 52芯片)的溢出速率。那么我們怎么去計(jì)算這兩個(gè) 模式的波特率設(shè)置時(shí)相關(guān)的寄存器的值呢?可以用以下的公式去計(jì)算。波特率=(2SMOB 32) 淀時(shí)器1溢出速率上式中如設(shè)置了 PCON寄存器中的 SMOD位為1時(shí)就 可以把波特率提升 2倍。通常會使用定時(shí)器1工作在定時(shí)器工作模式2下,這時(shí)定時(shí)值中的 TL1做為計(jì)數(shù),TH1做為自 動(dòng)重裝值,這個(gè)定時(shí)模式下,定時(shí)器溢出后,TH1的值會自動(dòng)裝載到TL1,再次開始計(jì)數(shù),這樣可以不用軟件去干預(yù),使 得定時(shí)更準(zhǔn)確。在這個(gè)定時(shí)模式2下定時(shí)器1溢出速率的計(jì)算公式如下:溢出速率=
23、(計(jì)數(shù)速率)/(256 - TH1)上式中的 計(jì)數(shù)速率”與所使用的晶體振蕩器頻率有關(guān),在51芯片中定時(shí)器啟動(dòng)后會在每一個(gè)機(jī)器周期使定時(shí)寄存器TH的值增加一,一個(gè)機(jī)器周期等于十二個(gè)振蕩周期,所以可 以得知51芯片的計(jì)數(shù)速率為晶體振蕩器頻率的1/12,一個(gè)12M的晶振用在51芯片上,那么51的計(jì)數(shù)速率就為 1M。 通常用11.0592M晶體是為了得到標(biāo)準(zhǔn)的無誤差的波特率,那么為何呢?計(jì)算一下就知道了。如我們要得到9600的波特率,晶振為11.0592M和12M,定時(shí)器1為模式2,SMOD設(shè)為 1,分別看看那所要求的TH1為何值。代入公式:11.0592M9600 = (2 2) X(11.0592
24、M/12)/(256-TH1)TH1=25012M9600 = (2 2) X(12M/12)/(256-TH1)TH仁 249.49上面的計(jì)算可以看出使用12M晶體的時(shí)候計(jì)算出來的TH1不為整數(shù),而 TH1的值只能取整數(shù),這樣它就會有 一定的誤差存在不能產(chǎn)生精確的9600波特率。當(dāng)然一定的誤差是可以在使用中被接受的,就算使用11.0592M的晶體振蕩器也會因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對波特率的影響是十分之小的,可以忽略不計(jì)。詳細(xì)兀器件列表如表2.1所示:AT89C511片7SED八位共陽極數(shù)碼管1片NPN三極管1個(gè)104p電容6個(gè)30p電容2個(gè)10K電阻6個(gè)560
25、歐姆電阻8個(gè)200歐姆電阻1個(gè)100歐姆電阻6個(gè)按鍵開關(guān)4個(gè)蜂鳴器1個(gè)2.2各部分功能實(shí)現(xiàn)(1) 單片機(jī)發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出 來。(2) 單片機(jī)通過輸出各種電脈沖信號來驅(qū)動(dòng)控制各部分正常 工作。(3) 為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,校時(shí)電路是必不可少的, 鍵盤用來校正數(shù)碼管上顯示的時(shí)間。(4) 單片機(jī)通過控制鬧鈴電路來完成 定時(shí)鬧鐘的功能。2.3系統(tǒng)工作原理設(shè)計(jì)的電路主要由四模塊構(gòu)成:單片機(jī)控制電路,顯示電路、 鬧鈴電路以及校正電路。詳細(xì)電路功能圖如圖2-2 :圖2-2詳細(xì)電路功能圖本設(shè)計(jì)采用C語言程序設(shè)計(jì),使單片機(jī)控制數(shù)碼管顯示時(shí)、分、秒,當(dāng)秒計(jì)數(shù)計(jì)滿 60時(shí)就向分進(jìn)位,
26、分計(jì)數(shù)器計(jì)滿 60后 向時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按“ 23翻0 ”規(guī)律計(jì)數(shù)。時(shí)、分、秒 的計(jì)數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計(jì)時(shí)發(fā)生誤差的時(shí)候可以用校時(shí)電路進(jìn)行校正。 設(shè)計(jì)采用的是時(shí)、分、秒顯示, 單片機(jī)對數(shù)據(jù)進(jìn)行處理同時(shí)在數(shù)碼管上顯示。2.4時(shí)鐘各功能分析及圖解2.4.1電路各功能圖解分析(1) 時(shí)鐘運(yùn)行圖仿真開始運(yùn)行時(shí),或按下 key4鍵時(shí),時(shí)鐘從12 : 00 : 00開始運(yùn)行,其中key2鍵對分進(jìn)行調(diào)整,key3對小時(shí)進(jìn)行調(diào)整,圖2-3時(shí)鐘運(yùn)行圖key6可以讓時(shí)鐘暫停。時(shí)鐘運(yùn)行圖如圖2-3所示:單片機(jī)電子時(shí)鐘主要功能:e-on-nn2、時(shí)間調(diào)整3、數(shù)字顯示4、鬧鈴設(shè)置時(shí)間顯示區(qū)
27、C7C7r 30pX101鍵盤控制區(qū)12MHz020304050630p1918929 30011 022033044055* U66077088.C8XTAL1XTAL2RSTP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7PSENALEEAU1核心控制區(qū)P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.
28、4/T0P3.5/T1P3.6/WRP3.7/RD39-2 b 23 C24 d25e26 f27g 28 d 10 1 11 2 123 134V 1456-167 178a秒表 調(diào)時(shí)調(diào)分 顯時(shí) 鬧鈴暫停AT89C51Q1PNP外設(shè)鬧鈴電子信息0701王勇貴曹文忠 劉志強(qiáng)原娟慧(2)秒表計(jì)時(shí)圖當(dāng)按下key1鍵進(jìn)入秒表計(jì)時(shí)狀態(tài),key6是秒表暫停鍵,可 按key4鍵跳出秒表計(jì)時(shí)狀態(tài)。如圖2-4 :單片機(jī)電子時(shí)鐘主要功能:1、秒表2、時(shí)間調(diào)整3、數(shù)字顯示0 c 8 - 8B4、鬧鈴設(shè)置時(shí)間顯示區(qū)T1C7C82n3I4H5671801鍵盤控制區(qū)30p19w核心控制區(qū)39R1302030405060
29、10405060708XTAL1P0.0/AD0XTAL2P0.1/AD1P0.2/AD2P0.3/AD3RSTP0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7PSENP2.0/A8P2.1/A9P2.2/A10P2.3/A11ALEP2.4/A12EAP2.5/A13P1.0P2.6/A14P2.7/A15P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD10 111 212 32817189291234567823242614表調(diào)時(shí)調(diào)分顯時(shí)鬧鈴暫
30、停外設(shè)鬧鈴LS1AT89C51電子信息0701王勇貴曹文忠劉志強(qiáng)原娟慧圖2-4秒表計(jì)時(shí)圖(3)鬧鈴設(shè)置圖及運(yùn)行圖當(dāng)按下key5,開始定時(shí),分別按 key2調(diào)分,key3調(diào)時(shí)設(shè)置鬧鈴時(shí)間,然后按下key4鍵恢復(fù)時(shí)鐘運(yùn)行狀態(tài)(圖2-5)當(dāng)鬧鈴設(shè)置時(shí)間到時(shí),蜂鳴器將發(fā)出10秒中蜂鳴聲(圖2-6)。單片機(jī)電子時(shí)鐘主要功能:nn.nn.nn1、2、秒表時(shí)間調(diào)整3、4、數(shù)字顯示 鬧鈴設(shè)置時(shí)間顯示區(qū)鍵盤控制區(qū)lh_ C73X1MO-12MHz_L C830p5核心控制區(qū)910103040506293TJ 1T廿I呼|T表調(diào)時(shí)調(diào)分顯時(shí)鬧鈴暫停011022J 04055-066077-08834!,XTAL1P
31、0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12-EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/MDP1.3P3.3J*tMTIP1.4P3.4/T0P1.5P3.5/T1P1.6P1.7P3.7/RDAT89C5121 - 39Q1PNP圖2-5鬧鈴時(shí)間設(shè)置圖單片機(jī)電子時(shí)鐘主要功能:1、秒表2、時(shí)間調(diào)整3、數(shù)字顯示4、鬧鈴設(shè)置-Q時(shí)間顯示區(qū)
32、鍵盤控制區(qū)丄C7mam秒表 調(diào)時(shí) 調(diào)分 顯時(shí) 鬧鈴 暫停 23 c:.24 J75ej-26f-2/g1.28 j10 1 h 2-12 3-|-134T45Tie7178外設(shè)鬧鈴SPEAKER電子信息0701王勇貴曹文忠劉志強(qiáng)原娟慧P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3,XTAL15核心控制區(qū)9 293031011f022033044 -Z 055 r066fl*077088廠RSTPSENP1.2P1.3P1.6P1.0P1.1P1.4P1.5圖2-6鬧鈴運(yùn)行圖P1.7AT89C51P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0
33、/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDb 22 26-10121112313 14_45151617Q1PNP外設(shè)鬧鈴LS1電子信息0701王勇貴曹文忠劉志強(qiáng)原娟慧該數(shù)字鐘是用一片 AT89C51單片機(jī)通過編程去驅(qū)動(dòng) 8個(gè)數(shù)碼管實(shí)現(xiàn)的。通過 6 個(gè)開關(guān)控制 ,從上到下 6 個(gè)開關(guān) KEY1-KEY6 的功能分別為: KEY1, 切換至秒表; KEY2, 調(diào)節(jié) 時(shí)間 ,每調(diào)一次時(shí)加 1;KEY3,
34、 調(diào)節(jié)時(shí)間 ,每調(diào)一次分加 1; KEY4, 從其它狀態(tài)切換至?xí)r鐘狀態(tài); KEY5, 切換至鬧鐘設(shè)置狀 態(tài),也可以對秒表清零;KEY6,秒表暫停.控制鍵分別與 P1.0P1.5 口連接其中:A 通過 P2 口和 P3 口去控制數(shù)碼管的顯示如圖所示 P2 口接 數(shù)碼管的 a g 端,是控制輸出編碼 ,P3 口接數(shù)碼管的 1 8 端,是控制動(dòng)態(tài)掃描輸出B 從 P0.0 輸出一個(gè)信號使二極管發(fā)光,二極管在設(shè)置的鬧鐘時(shí) 間到了時(shí)候發(fā)光,若有樂曲可以去驅(qū)動(dòng)揚(yáng)聲器實(shí) 現(xiàn)。2.4.2 電路功能使用說明( 1) 各個(gè)控制鍵的功能:可對時(shí)間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加1);按下設(shè)置鍵數(shù)字時(shí)鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的
35、 時(shí)間;時(shí)加1、分加1鍵是在校準(zhǔn)時(shí)間時(shí)或設(shè)置鬧鐘時(shí)間對 小時(shí)數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的; 按下秒切換鍵就可以進(jìn)入秒 表模式,同時(shí)秒表也開始計(jì)時(shí),按下秒表暫停、復(fù)位鍵就暫 停、歸零,如果要重新對秒計(jì)時(shí)則可以按秒表開始、復(fù)位; 清零鍵可以對鬧鐘清零。( 2)AT89C51 單片機(jī),通過編寫程序?qū)?shù)碼顯示進(jìn)行控制3) 八個(gè) 7 段數(shù)碼管顯示時(shí)鐘和秒表信號第三章 電路控制源程序#include#define uchar unsigned char#define uint unsigned int#define delay_time 3/* 宏定義 */uchar k,dat=0,0,0,0,0,0,0,0
36、;uint tcount,t,u;uchar dat1=0,0,0,0,0,0,2,1;uchar dat2=0,0,0,0,0,0,0,0;uchar alarms=0,0,0,0,0,0,0,0;uchardis_bit=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;unsigned char code SEG711=0xC0,/*0*/0xF9,/*1*/0xA4,/*2*/0xB0,/*3*/0x99,/*4*/0x92,/*5*/0x82,/*6*/0xF8,/*7*/0x80,/*8*/0x90,/*9*/0xBF,/*-*/;/* 數(shù)字顯示數(shù)組
37、*/sbit miaobiao 仁 P1A0;sbit tminute=P1Al;sbit thour=P1A2;sbit miaobiao2=P1A3;sbit alarm=P1A4;sbit P0_0=P0A0;sbit P1_5=P1A5;sbit P1_6=P1A6;sbit P1_7=P1A7;/* 端口定義 */uchar ms=0;uchar flag=0;uchar sec=0;uchar minit=0;struct timeuchar second;uchar minute;uchar hour;time1;uchar n,i;void delay(n)while(n-)
38、for(i=120;i0;i-);/*延時(shí)子程序 */ void modify(void)EA=0;if(thour=0)if(flag=0)dat16+;delay(280); if(dat169)dat16=0;dat17+;else if(dat171)&(dat163) dat17=0; dat16=0; if(flag=1) alarms6+;delay(300);if(alarms69)alarms6=0;alarms7+;if(alarms72) alarms7=0;dat6=alarms6;dat7=alarms7; if(tminute=0) if(flag=0)dat13+
39、;delay(280); if(dat3=9) dat14+;dat13=0;if(dat145)dat14=0;if(flag=1)alarms3+; delay(300); if(alarms39)alarms4+;alarms3=0;if(alarms45)alarms4=0;dat3=alarms3;dat4=alarms4;if(miaobiao1=0)TR0=0;ET0=0;TR1=1;ET1=1;if(miaobiao2=0)TR0=1;ET0=1;TR1=0;ET1=0;dat20=0;dat21=0;dat23=0;dat24=0;dat26=0;dat27=0;ms=0;s
40、ec=0;minit=0;if(P1_5=0)TR0=0;ET0=0;TR1=0;ET1=0;if(alarm=0)TR0=0;ET0=0;TR1=0;ET1=0;flag=1;dat0=0; dat1=0;dat2=10; dat3=0;dat4=0; dat5=10;dat6=0;dat7=0;EA=1; /*按鍵掃描 */ void init(void) TMOD = 0x11;TH0 = 0xDB;TL0 =0xFF;TH1=0xDB;TL1=0xFF;/10msET0 = 1;ET1=1;/ TR1=1;TR0=1;tcount=0;ms=0;sec=0;minit=0;EA = 1;/*初始化 */void test(void)for(k=0;k23)time1.hour=0;dat5=10;dat2=10;dat0=dat10;da
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院安全檢查標(biāo)準(zhǔn)與實(shí)施要點(diǎn)
- 中國女排精神與競技成就
- 醫(yī)學(xué)隨訪數(shù)據(jù)管理及應(yīng)用研究
- 醫(yī)院有毒藥品管理
- 重癥醫(yī)學(xué)科院感知識培訓(xùn)
- 國際接待業(yè)概論
- 藥學(xué)信息檢索技術(shù)
- 醫(yī)院藥品價(jià)格管理體系
- 中小學(xué)心理輔導(dǎo)工作計(jì)劃與總結(jié)范本
- 國旗在我心中課件
- 安徽省《地下水監(jiān)測井建設(shè)技術(shù)規(guī)范》DB34-T 4822-2024
- 2025-2030年中國真絲絲巾市場競爭格局及發(fā)展策略分析報(bào)告
- 河北省張家口市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版競賽題(上學(xué)期)試卷及答案
- 2025年合肥市淮南市田家庵區(qū)招考社區(qū)工作人員管理單位筆試遴選500模擬題附帶答案詳解
- 外科患者的營養(yǎng)支持-腸外營養(yǎng)(外科課件)
- 2025年云南省曲靖市事業(yè)單位定向招聘駐曲部隊(duì)未就業(yè)隨軍家屬14人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
- 神經(jīng)源性膀胱個(gè)案護(hù)理
- 施工安全責(zé)任確認(rèn)書
- 設(shè)計(jì)后續(xù)服務(wù)承諾及保障措施
- 醫(yī)療服務(wù)價(jià)格政策培訓(xùn)
評論
0/150
提交評論