基于單片機(jī)電子鐘的方案設(shè)計(jì)_第1頁
基于單片機(jī)電子鐘的方案設(shè)計(jì)_第2頁
基于單片機(jī)電子鐘的方案設(shè)計(jì)_第3頁
基于單片機(jī)電子鐘的方案設(shè)計(jì)_第4頁
基于單片機(jī)電子鐘的方案設(shè)計(jì)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于單片機(jī)的電子鐘的設(shè)計(jì)學(xué) 院: 班 級(jí): 姓 名: 學(xué) 號(hào): 小組成員:姓 名: 學(xué) 號(hào): 指導(dǎo)老師: 專心-專注-專業(yè)一、設(shè)計(jì)要求1、準(zhǔn)確計(jì)時(shí),以數(shù)字形式顯示時(shí)、分、秒的時(shí)間。2、小時(shí)以24小時(shí)計(jì)時(shí)形式,分秒計(jì)時(shí)為60進(jìn)位。 3、校正時(shí)間功能,即能隨意設(shè)定走時(shí)時(shí)間。4、設(shè)計(jì)5V直流電源,系統(tǒng)時(shí)鐘電路、復(fù)位電路。 二、設(shè)計(jì)方案和論證本次設(shè)計(jì)時(shí)鐘電路,使用了ATC89C51單片機(jī)芯片控制電路,單片機(jī)控制電路簡單且省去了很多復(fù)雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時(shí)鐘的時(shí)、分、秒,用一揚(yáng)聲器來進(jìn)行定時(shí)提醒,同時(shí)使用匯編語言程序來控制整個(gè)時(shí)鐘顯示,使得編程變

2、得更容易,這樣通過四個(gè)模塊:鍵盤、芯片、揚(yáng)聲器、LED顯示即可滿足設(shè)計(jì)要求。(一) 總設(shè)計(jì)原理框圖如下圖所示:微型控制器時(shí)鐘電路聲光報(bào)時(shí)校時(shí)輸入數(shù)據(jù)顯示(二)設(shè)計(jì)方案的選擇1.計(jì)時(shí)方案 方案1:采用實(shí)時(shí)時(shí)鐘芯片現(xiàn)在市場上有很多實(shí)時(shí)時(shí)鐘集成電路,如DS1287、DS12887、DS1302等。這些實(shí)時(shí)時(shí)鐘芯片具備年、月、日、時(shí)、分、秒計(jì)時(shí)功能和多點(diǎn)定時(shí)功能,計(jì)時(shí)數(shù)據(jù)的更新每秒自動(dòng)進(jìn)行一次,不需要程序干預(yù)。因此,在工業(yè)實(shí)時(shí)測控系統(tǒng)中多采用這一類專用芯片來實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘功能。 方案2:使用單片機(jī)內(nèi)部的可編程定時(shí)器。利用單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器進(jìn)行中端定時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件

3、成本,但程序設(shè)計(jì)較為復(fù)雜。2.顯示方案對(duì)于實(shí)時(shí)時(shí)鐘而言,顯示顯然是另一個(gè)重要的環(huán)節(jié)。通常LED顯示有兩種方式:動(dòng)態(tài)顯示和靜態(tài)顯示。靜態(tài)顯示的優(yōu)點(diǎn)是程序簡單、顯示亮度有保證、單片機(jī)CPU的開銷小,節(jié)約CPU的工作時(shí)間。但占有I/O口線多,每一個(gè)LED都要占有一個(gè)I/O口,硬件開銷大,電路復(fù)雜。需要幾個(gè)LED就必須占有幾個(gè)并行口,比較適用于LED數(shù)量較少的場合。當(dāng)然當(dāng)LED數(shù)量較多的時(shí)候,可以使用單片機(jī)的串行口通過移位寄存器的方式加以解決,但程序編寫比較麻煩。LED動(dòng)態(tài)顯示硬件連接簡單,但動(dòng)態(tài)掃描的顯示方式需要占有CPU較多的時(shí)間,在單片機(jī)沒有太多實(shí)時(shí)測控任務(wù)的情況下可以采用。本系統(tǒng)需要采用6位L

4、ED數(shù)碼管來分別顯示時(shí)、分、秒,因數(shù)碼管個(gè)數(shù)較多,故本系統(tǒng)選擇動(dòng)態(tài)顯示方式。目錄一 電路原理圖和設(shè)計(jì)程序流程圖 單片機(jī)模塊驅(qū)動(dòng)模塊按鍵模塊LED顯示模塊時(shí)鐘模塊電源模塊 圖一流程圖系統(tǒng)由51系列單片機(jī)AT89C51、按鍵、數(shù)碼管顯示、電源等部分構(gòu)成。單片機(jī)部分包括時(shí)鐘電路、復(fù)位電路;按鍵部分能夠?qū)崿F(xiàn)對(duì)時(shí)間的調(diào)整、設(shè)定。三個(gè)按鍵的功能分別為:小時(shí)的調(diào)整,分鐘的調(diào)整,復(fù)位。電源部分(USB充電器)可輸出5V電壓,給系統(tǒng)供電。1. 單片機(jī)芯片選擇方案方案一:AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦

5、寫1000次的Flash只讀程序存儲(chǔ)器。主要性能有:與MCS-51單片機(jī)產(chǎn)品兼容、全靜態(tài)操作:0Hz33Hz、 三級(jí)加密程序存儲(chǔ)器、32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器、八個(gè)中斷源、全雙工UART串行通道、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符、易編程。方案二:AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)。主要性能有:兼容MCS51指令系統(tǒng)、32個(gè)雙向I/O口、256x8bit內(nèi)部RAM、3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷、時(shí)鐘頻率0-24MHz、

6、2個(gè)串行中斷、可編程UART串行通道、2個(gè)外部中斷源、6個(gè)中斷源、2個(gè)讀寫中斷口線、3級(jí)加密位、低功耗空閑和掉電模式、軟件設(shè)置睡眠和喚醒功能。從單片機(jī)芯片主要性能角度出發(fā),本數(shù)字電子鐘單片機(jī)芯片選擇設(shè)計(jì)采用方案一。2. 時(shí)鐘主程序流程圖時(shí)鐘主程序流程圖如圖二所示。進(jìn)入系統(tǒng)后首先實(shí)現(xiàn)程序的初始化,然后進(jìn)入主程序,定時(shí)器開始計(jì)時(shí),當(dāng)定時(shí)器發(fā)生中斷時(shí)刷新數(shù)碼管同時(shí)顯示,之后實(shí)現(xiàn)中斷與顯示的循環(huán)。圖二時(shí)鐘主程序流程圖3. 按鍵掃描程序流程圖 按鍵掃描程序流程圖如圖三所示。主程序進(jìn)入鍵盤掃描程序后判斷是否按下了P1.0。若是按下了P1.0為了去除抖動(dòng)再進(jìn)行確認(rèn)是否按下P1.0,當(dāng)確認(rèn)按下了P1.0后判斷

7、按下P1.0的次數(shù),若按了一次則進(jìn)行秒調(diào)整,若按了兩次則進(jìn)行分調(diào)整,若按了三次則進(jìn)行時(shí)調(diào)整。然后進(jìn)入顯示程序段進(jìn)行顯示刷新。圖三按鍵掃描流程圖4. 時(shí)鐘程序流程圖時(shí)鐘程序流程如圖四所示。設(shè)計(jì)中,采用51單片機(jī)的定時(shí)器的方式一定時(shí),所以如圖所示,當(dāng)程序產(chǎn)生定時(shí)溢出中斷時(shí)要重新賦初值。然后進(jìn)行是否到一秒的判斷,若到一秒則秒加一,若未到則直接退出中斷。一秒到了加一以后進(jìn)行是否秒到六十的判斷,若秒到六十則秒清零,同時(shí)分加一,若秒未到六十則退出中斷。分加一以后進(jìn)行分是否到六十的判斷,若未到六十則退出中斷,若分到六十則分清零,同時(shí)小時(shí)加一。小時(shí)加一后進(jìn)行小時(shí)是否到二十四的判斷,若未到二十四則退出中斷,若到

8、二十四則清零,然后退出中斷。圖四時(shí)鐘程序流程圖二 設(shè)計(jì)方案分析1. 時(shí)鐘電路 時(shí)鐘電路由外接諧振器的時(shí)鐘振蕩器、時(shí)鐘發(fā)生器及關(guān)斷控制信號(hào)等組成。時(shí)鐘振蕩器是單片機(jī)的時(shí)鐘源,時(shí)鐘發(fā)生器對(duì)振蕩器的輸出信號(hào)進(jìn)行二分頻。 CPU 的時(shí)鐘振蕩信號(hào)有兩個(gè)來源:一是采用內(nèi)部振蕩器,此時(shí)需要在 XTAL1 和XTAL2 腳連接一只頻率范圍為033MHZ 的晶體振蕩或陶瓷振蕩器及兩只 30pf 電容。二是采用外部振蕩,此時(shí)應(yīng)將外部振蕩器的輸出信號(hào)接至 XTAL1 腳,將XTAL2 腳浮空。 利用單片機(jī)內(nèi)部的定時(shí)功能來實(shí)現(xiàn)時(shí)鐘的走時(shí),通過編程實(shí)現(xiàn)每 50 毫秒產(chǎn)生一次中斷,中斷20 次后,秒單元加1,秒單元加到6

9、0 時(shí),跳回到零再繼續(xù)加,同時(shí)分單元加1;當(dāng)分單元加到60 時(shí),跳到零再繼續(xù)加,同時(shí)時(shí)單元的個(gè)位加1,以次類推,從而實(shí)現(xiàn)秒、分、小時(shí)的走時(shí)。 本次設(shè)計(jì)中采用的是內(nèi)部振蕩器,頻率為 12MHZ 的晶體振蕩器及 30pf 瓷片電容 。2. 復(fù)位電路 復(fù)位是指在規(guī)定的條件下,單片機(jī)自動(dòng)將CPU 以及與程序運(yùn)行相關(guān)的主要功能部件、I/O 口等設(shè)置為確定初始狀態(tài)的過程。如果電路參數(shù)不符合規(guī)定的條件或干擾導(dǎo)致單片機(jī)不能正確的復(fù)位,系統(tǒng)將無法進(jìn)行正常的工作,因此,復(fù)位電路除了要符合廠家規(guī)定的參數(shù)外,還要濾除可能的干擾。AT89S51 單片機(jī)內(nèi)部有一個(gè)由施密特觸發(fā)器等組成的復(fù)位電路。復(fù)位信號(hào)是從其9 腳,即R

10、ST 腳輸入的。AT89S51單片機(jī)規(guī)定,當(dāng)其處于正常工作基于51 單片機(jī)的數(shù)字時(shí)鐘的設(shè)計(jì)狀態(tài),且振蕩器工作穩(wěn)定后,在RST 端有從高電平到低電平,且高電平時(shí)間大于兩個(gè)機(jī)器周期的復(fù)位信號(hào)時(shí),CPU 將完成對(duì)系統(tǒng)的復(fù)位。有兩點(diǎn)需要注意:一、復(fù)位信號(hào)是高電平有效,二、高電平的保持時(shí)間必須大于兩個(gè)機(jī)器周期,可見高電平保持時(shí)間與振蕩頻率有關(guān)。 上電復(fù)位是指在系統(tǒng)上電時(shí),RST 端自動(dòng)產(chǎn)生復(fù)位所需要的信號(hào)將單片機(jī)復(fù)位。上電時(shí),RST 端高電平的維持時(shí)間取決于R(1k)和C(22uF)的值。要使單片機(jī)可靠的復(fù)位,設(shè)計(jì)中使其維持的時(shí)間足夠長。 (二)設(shè)計(jì)方案的選擇1.計(jì)時(shí)方案 方案1:采用實(shí)時(shí)時(shí)鐘芯片現(xiàn)在市

11、場上有很多實(shí)時(shí)時(shí)鐘集成電路,如DS1287、DS12887、DS1302等。這些實(shí)時(shí)時(shí)鐘芯片具備年、月、日、時(shí)、分、秒計(jì)時(shí)功能和多點(diǎn)定時(shí)功能,計(jì)時(shí)數(shù)據(jù)的更新每秒自動(dòng)進(jìn)行一次,不需要程序干預(yù)。因此,在工業(yè)實(shí)時(shí)測控系統(tǒng)中多采用這一類專用芯片來實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘功能。 方案2:使用單片機(jī)內(nèi)部的可編程定時(shí)器。利用單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器進(jìn)行中端定時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件成本,但程序設(shè)計(jì)較為復(fù)雜。2.顯示方案對(duì)于實(shí)時(shí)時(shí)鐘而言,顯示顯然是另一個(gè)重要的環(huán)節(jié)。通常LED顯示有兩種方式:動(dòng)態(tài)顯示和靜態(tài)顯示。靜態(tài)顯示的優(yōu)點(diǎn)是程序簡單、顯示亮度有保證、單片機(jī)CPU的開銷小,節(jié)約CPU的工作時(shí)間。

12、但占有I/O口線多,每一個(gè)LED都要占有一個(gè)I/O口,硬件開銷大,電路復(fù)雜。需要幾個(gè)LED就必須占有幾個(gè)并行口,比較適用于LED數(shù)量較少的場合。當(dāng)然當(dāng)LED數(shù)量較多的時(shí)候,可以使用單片機(jī)的串行口通過移位寄存器的方式加以解決,但程序編寫比較麻煩。LED動(dòng)態(tài)顯示硬件連接簡單,但動(dòng)態(tài)掃描的顯示方式需要占有CPU較多的時(shí)間,在單片機(jī)沒有太多實(shí)時(shí)測控任務(wù)的情況下可以采用。本系統(tǒng)需要采用6位LED數(shù)碼管來分別顯示時(shí)、分、秒,因數(shù)碼管個(gè)數(shù)較多,故本系統(tǒng)選擇動(dòng)態(tài)顯示方式。(三)硬件部分1、STC89C51單片機(jī)介紹STC89C51單片機(jī)是由深圳宏晶公司代理銷售的一款MCU,是由美國設(shè)計(jì)生產(chǎn)的一種低電壓、高性能

13、CMOS 8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)寫的FlashROM和128bytes的RAM,2個(gè)16位定時(shí)計(jì)數(shù)器5。 STC89C51單片機(jī)內(nèi)部主要包括累加器ACC(有時(shí)也簡稱為A)、程序狀態(tài)字PSW、地址指示器DPTR、只讀存儲(chǔ)器ROM、隨機(jī)存取存儲(chǔ)器RAM、寄存器、并行I/O接口P0P3、定時(shí)器/計(jì)數(shù)器、串行I/O接口以及定時(shí)控制邏輯電路等。這些部件通過內(nèi)部總線聯(lián)接起來,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。其管腳圖如圖所示。STC89C51單片機(jī)管腳結(jié)構(gòu)圖VCC:電源。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻

14、輸入。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門電流。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)部上拉電阻 拉高,且作為輸入。

15、并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存 儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器 的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊

16、功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周

17、期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器 時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)(0000H-FFFFH),不管是否有內(nèi)部

18、程序存儲(chǔ)器。注意加密方式1時(shí), /EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。2、上電按鈕復(fù)位電路 本設(shè)計(jì)采用上電按鈕復(fù)位電路:首先經(jīng)過上電復(fù)位,當(dāng)按下按鍵時(shí),RST直接與VCC相連,為高電平形成復(fù)位,同時(shí)電解電容被電路放電;按鍵松開時(shí),VCC對(duì)電容充電,充電電流在電阻上,RST依然為高電平,仍然是復(fù)位,充電完成后,電容相當(dāng)于開路,RST為低電平,單片機(jī)芯片正常工作。其中電阻R2決定了電容充電的時(shí)間,R2越大則充電時(shí)間長,復(fù)位信號(hào)從VCC回落到0V的時(shí)間也長。3、晶振電路本設(shè)計(jì)晶振電路采用12M的晶振。

19、晶振的作用是給單片機(jī)正常工作提供穩(wěn)定的時(shí)鐘信號(hào)。單片機(jī)的晶振并不是只能用12M,只要不超過20M就行,在準(zhǔn)許的范圍內(nèi),晶振越大,單片機(jī)運(yùn)行越快,還有用12M的就是好算時(shí)間,因?yàn)橐粋€(gè)機(jī)器周期為1/12時(shí)鐘周期,所以這樣用12M的話,一個(gè)時(shí)鐘周期為12us,那么定時(shí)器計(jì)一次數(shù)就是1us了,電容范圍在20-40pF之間,這里連接的是30pF的電容。機(jī)器周期=10*晶振周期=12*系統(tǒng)時(shí)鐘周期4. 顯示電路方案一:采用動(dòng)態(tài)顯示 這種工作方式是分時(shí)輪流選通數(shù)碼管的公共端,使得各個(gè)數(shù)碼管輪流導(dǎo)通。當(dāng)所有數(shù)碼管依次顯示一遍后,軟件控制循環(huán),使每位顯示器分時(shí)點(diǎn)亮,外接7407組成顯示電路。這種方式不但能提高數(shù)

20、碼管的發(fā)光效率,并且由于各個(gè)數(shù)碼管的字段線是并聯(lián)使用的,因而大大簡化了硬件線路。 各個(gè)數(shù)碼管雖然是分時(shí)輪流通電,但由于發(fā)光數(shù)碼管具有余輝特性及人眼具有視覺暫留作用,所以適當(dāng)選取循環(huán)掃描頻率時(shí),看上去所有數(shù)碼管是同時(shí)點(diǎn)亮的,察覺不出有閃爍現(xiàn)象。方案二:采用靜態(tài)顯示 數(shù)碼管工作在靜態(tài)顯示方式下,共陰極或共陽極點(diǎn)連接在一起接地或高電平。每位的段選線與一個(gè)8 位并行口相連。只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。該工作方式常采用串行口設(shè)定方式0 輸出,外接74LS164 移位寄存器構(gòu)成顯示電路。 綜合考慮,采用動(dòng)態(tài)顯示,采用一片7407芯片作為緩沖,分時(shí)選中三片數(shù)碼管,從編程和

21、提供的硬件等方面綜合考慮后,決定采用動(dòng)態(tài)顯示的方法, 圖五顯示電路 LED 顯示器的結(jié)構(gòu)與原理5. LED的結(jié)構(gòu)與原理一般數(shù)碼管內(nèi)部有共陰和共陽兩種連接方式。共陰就是將各個(gè)發(fā)光二極管的陰極接地,共陰極數(shù)碼管如圖 所示。圖中一個(gè)發(fā)光二極管就相當(dāng)于一個(gè)數(shù)碼段。若給某段加上高電平,那么相對(duì)的段就會(huì)亮。根據(jù)要想顯示的數(shù)值給各段數(shù)碼管加上相應(yīng)的高電平就可以顯示不同的數(shù)值了。 共陽就是將各個(gè)發(fā)光二極管的陰極一起接在高電平上。 從圖 中可以看出共陽的顯示器與共陰的顯示器有一點(diǎn)區(qū)別,就是它將陽極連接在一起接到高電平上。這樣在想顯示某個(gè)數(shù)的時(shí)候,各個(gè)發(fā)光二極管賦低電平而不是在共陰時(shí)的高電平了,這就是共陰共陽的區(qū)

22、別。 圖六LED的引腳圖由于它內(nèi)部構(gòu)造不同,在顯示時(shí)代碼也有所不同,共陰七段LED 段選碼表 。 共陰七段LED段選碼顯示字符數(shù)顯代碼顯示字符數(shù)顯代碼00x3f50x6d 1 0x06 60x7d 2 0x5b 70x07 30x4f 80x7f 4 0x66 90x6f三程序仿真在proteus中畫出原理圖導(dǎo)入.hex文件,畫出原理電路圖。圖七proteus仿真電路圖四 心得體會(huì)做了兩周的課程設(shè)計(jì),有很多的心得體會(huì),有關(guān)于單片機(jī)的,也有關(guān)于模電數(shù)電等基礎(chǔ)科目的。因?yàn)閱纹瑱C(jī)已經(jīng)很久沒復(fù)習(xí),剛拿到題目,不知道從哪入手,后來通過對(duì)書本的回顧,加深了對(duì)單片機(jī)的記憶。有些知識(shí)會(huì)遷移和聯(lián)系模電數(shù)電。課堂

23、教學(xué)考慮到大多數(shù)同學(xué)的需求,主要強(qiáng)調(diào)“基本”基本知識(shí)、基本理論、基本方法、基本技能。而這次設(shè)計(jì)正是為我們提供了一個(gè)深入學(xué)習(xí)、探索的機(jī)會(huì),成為課堂教學(xué)的有益補(bǔ)充。我們正面臨就業(yè)問題,這次課設(shè)給了我們一個(gè)機(jī)會(huì)去試驗(yàn)。單片機(jī)理論的學(xué)習(xí)是為課程的設(shè)計(jì)作準(zhǔn)備的,但有時(shí)學(xué)習(xí)的理論也解決不了實(shí)踐中的問題。實(shí)踐中獲得的知識(shí)能讓我對(duì)單片機(jī)的知識(shí)有更好的認(rèn)識(shí)和理解。雖然這次的課程設(shè)計(jì)我參考了一些文獻(xiàn)資料,沒有做到創(chuàng)新,但在對(duì)程序的讀寫過程中我明白了許多。這次課程設(shè)計(jì)的最大收獲是只有把理論用到實(shí)踐中我們才能真正掌握好所學(xué)知識(shí)。附一:源程序#include <reg51.h>unsigned char l

24、ed12=0x3f,0x09,0xb3,0x9b,0x8d,0x9e,0xbe,0x0b,0xbf,0x9f,0x80,0x00; /用一維數(shù)組定義0-9、橫杠、全滅unsigned char a6; unsigned char second=0,minute=0,hour=12;/初始值unsigned char hour1=0,minute1=0;/鬧鐘初始值unsigned char b6=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/掃描unsigned char k=0;unsigned int temp; / 記錄毫秒為秒的變量unsigned char M,Sha

25、nshuo;/M模式、Shanshuo閃爍標(biāo)志sbit Miaoshan=P10;sbit K1=P32;sbit K2=P33;sbit K3=P35;sbit Beep=P36;void delay(unsigned n) /延時(shí),可根據(jù)n調(diào)節(jié)int x,y; for(x=0;x<n;x+) for(y=0;y<24;y+); void init() M=0; Miaoshan=0; /秒閃標(biāo)志位 Shanshuo=0; /閃爍標(biāo)志Beep=0; /整點(diǎn)報(bào)時(shí) TMOD=0x10; /定時(shí)器以方式1定時(shí) TH1=0xfd; TL1=0xff; EA=1; /打開總中斷 ET1=1

26、; /允許定時(shí)器中斷 TR1=1; /開啟定時(shí)器void time1() interrupt 3 /定時(shí)器中斷函數(shù) TH1=0xfe; /定時(shí)ms TL1=0x0c; temp+; if(temp=500) Miaoshan=!Miaoshan; if(temp=1000) /配合定時(shí)器定時(shí)s temp=0; second+; Miaoshan=!Miaoshan; if(second=59) second=0; if(minute<59) minute+; else minute=0; hour+; hour%=24; if(temp%500=0)Shanshuo=!Shanshuo;

27、 /閃爍標(biāo)志位取反if(hour>7&&hour<23&&minute=0&&second<1)|(hour1=hour&&minute1=minute&&second<10&&temp%500=0)Beep=!Beep; /整點(diǎn)報(bào)時(shí) 、鬧鐘響鈴 if(k=6) k=0; P0=ak; P2=bk+; delay(1); P2=0x3f; void display()switch(M)case 0:a0=ledhour/10;a1=ledhour%10;a2=ledminut

28、e/10; a3=ledsecond%10;a4=ledsecond/10;a5=ledminute%10;break;case 1:if(Shanshuo=1)a0=ledhour/10;a1=ledhour%10;elsea0=led11;a1=led11;a2=ledminute/10;a5=ledminute%10;a4=ledsecond/10;a3=ledsecond%10;break;case 2:a0=ledhour/10;a1=ledhour%10;if(Shanshuo=1)a2=ledminute/10;a5=ledminute%10;elsea2=led11;a5=le

29、d11;a4=ledsecond/10;a3=ledsecond%10;break;case 3: a0=ledhour/10;a1=ledhour%10;a2=ledminute/10;a5=ledminute%10;if(Shanshuo=1)a4=ledsecond/10;a3=ledsecond%10;elsea4=led11;a3=led11;break;case 4:if(Shanshuo=1)a0=ledhour1/10;a1=ledhour1%10;elsea0=led10;a1=led10;a2=ledminute1/10;a5=ledminute1%10;break;cas

30、e 5:a0=ledhour1/10;a1=ledhour1%10;if(Shanshuo=1)a2=ledminute1/10;a5=ledminute1%10;elsea2=led10;a5=led10;break;void key_prc()/按鍵掃描模塊 if(K1=0) delay(10);/延時(shí)去抖 if(K1=0) /按K1進(jìn)行模式切換 M+;if(M=6) M=0;while(!K1); /等待按鍵釋放 if(M!=0) switch(M) case 1: /模式-調(diào)時(shí) if(K2=0)delay(10);/延時(shí)去抖 if(K2=0) /加鍵按下 if(hour<23) hour+;else hour=0; while(!K2); /等待按鍵釋放if(K3=0)delay(10); if(K3=0) if(hour> 0) hour-;else hour=23; while(!K3); break;case 2: /模式

溫馨提示

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