LED數(shù)字倒計時器單片機(jī)課程設(shè)計_第1頁
LED數(shù)字倒計時器單片機(jī)課程設(shè)計_第2頁
LED數(shù)字倒計時器單片機(jī)課程設(shè)計_第3頁
LED數(shù)字倒計時器單片機(jī)課程設(shè)計_第4頁
LED數(shù)字倒計時器單片機(jī)課程設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計任務(wù)書課程設(shè)計任務(wù)書學(xué)生姓名:學(xué)生姓名: 向偉杰向偉杰 專業(yè)班級:專業(yè)班級: 機(jī)自機(jī)自 xs1101xs1101 班班 指導(dǎo)教師:指導(dǎo)教師: 徐漢斌徐漢斌 工作單位:工作單位: 機(jī)電工程學(xué)院機(jī)電工程學(xué)院 題題 目目: : LEDLED 數(shù)字倒計時器設(shè)計數(shù)字倒計時器設(shè)計初始條件:初始條件:1 1采用采用 MCS51MCS51 作為主控芯片;作為主控芯片; 2 2采用采用 LEDLED 數(shù)碼管顯示倒計時,倒計時范圍數(shù)碼管顯示倒計時,倒計時范圍 24:00:0024:00:00; 3 3可調(diào)任意設(shè)定定時時間,要具有定時提醒功能,定時到可調(diào)任意設(shè)定定時時間,要具有定時提醒功能,定時到 2s2s

2、 報警功能。報警功能。要求完成的主要任務(wù)要求完成的主要任務(wù): : 1、查閱參考資料,自學(xué)相關(guān)可編程接口芯片的內(nèi)部結(jié)構(gòu)、工作方式和初查閱參考資料,自學(xué)相關(guān)可編程接口芯片的內(nèi)部結(jié)構(gòu)、工作方式和初始化編程過程;始化編程過程;2、根據(jù)設(shè)計系統(tǒng)的具體功能和性能參數(shù),明確設(shè)計目標(biāo);根據(jù)設(shè)計系統(tǒng)的具體功能和性能參數(shù),明確設(shè)計目標(biāo);3、單片機(jī)系統(tǒng)及其擴(kuò)展接口電路設(shè)計,繪制系統(tǒng)硬件原理圖;單片機(jī)系統(tǒng)及其擴(kuò)展接口電路設(shè)計,繪制系統(tǒng)硬件原理圖;4、編制系統(tǒng)控制源程序,繪制源程序流程圖,包括初始化和監(jiān)控程序;編制系統(tǒng)控制源程序,繪制源程序流程圖,包括初始化和監(jiān)控程序;5、撰寫設(shè)計說明書(包括參考資料目錄,字?jǐn)?shù)不少于撰

3、寫設(shè)計說明書(包括參考資料目錄,字?jǐn)?shù)不少于 5000 字)字)時間安排:(兩周)時間安排:(兩周)序號內(nèi) 容所用時間(天)1查閱資料,學(xué)習(xí)相關(guān)芯片知識22系統(tǒng)及擴(kuò)展電路硬件設(shè)計33初始化程序和應(yīng)用程序設(shè)計34相關(guān)硬件電路和程序調(diào)試35課程設(shè)計答辯1合計12指導(dǎo)教師簽名:指導(dǎo)教師簽名: 20132013 年年 1212 月月 2727 日日系主任(或責(zé)任教師)簽名:系主任(或責(zé)任教師)簽名: 年年 月月 日日目 錄1 LED 數(shù)字倒計時器的功能及需求分析.12 LED 數(shù)字倒計時器的設(shè)計方案.22.1 LED 數(shù)字倒計時器的組成.22.2 LED 數(shù)字倒計時器的系統(tǒng)設(shè)計圖.2 3 LED 數(shù)字倒

4、計時器硬件電路設(shè)計與主要元器件分析.33.1 AT89C51 單片機(jī).33.2 晶振電路 .83.3 復(fù)位電路 .93.4 按鍵電路 .103.5 數(shù)碼管顯示電路 .113.6 蜂鳴電路.134 LED 數(shù)字倒計時器系統(tǒng)仿真圖.145 LED 數(shù)字倒計時器原件清單.156 LED 數(shù)字倒計時器的軟件設(shè)計.166.1 程序流程圖 .166.2 程序清單 .177 總結(jié) .228 參考文獻(xiàn) .239 評分表 .241.1.LEDLED 數(shù)字倒計時器的功能及需求分析數(shù)字倒計時器的功能及需求分析1.1 功能分析:功能分析:可實現(xiàn)倒計時功能,計時時間可通過按鍵進(jìn)行設(shè)定,設(shè)定完成后啟動倒計時,倒計時還剩下

5、兩秒時,蜂鳴電路會報警提示。(1)可實現(xiàn)倒計時功能:本設(shè)計的 LED 數(shù)字倒計時采用六位數(shù)碼管顯示時間,分別顯示小時、分鐘、秒鐘,最大的倒計時時間為 24 小時,倒計時時間為 24小時內(nèi)任意時間可調(diào)。 。(2)計時時間可通過按鍵進(jìn)行設(shè)定: 通過運用獨立的按鍵控制時,分,秒的設(shè)定。按鍵 B1 控制小時讓小時以加一方式設(shè)定,按鍵 B2 控制分鐘讓分鐘以加一方式設(shè)定,按鍵 B3 控制秒讓秒以加一方式設(shè)定,按鍵 B4 控制定時器開關(guān)。 (3)設(shè)定完成后啟動倒計時:通過按下獨立按鍵 k4 控制倒計時器開關(guān),按一下開始倒計時。(4)當(dāng)?shù)褂嫊r時間還剩下兩秒時,蜂鳴電路會報警,這些功能都是通過軟件實現(xiàn)的。LE

6、D 數(shù)字倒計時器的功能,原理上,和電子表的鬧鐘定時功能沒什么兩樣,但是,與之不同的是,LED 數(shù)字倒計時器不僅具有提醒功能,還能直接倒計時顯示,還有多長時間到達(dá)設(shè)置的時間,并且,能夠通過按鈕調(diào)節(jié),24 小時內(nèi)任意倒計時時間均可以調(diào)節(jié),可以調(diào)節(jié)小時、分鐘以及秒鐘,有按鈕復(fù)位,能夠?qū)崿F(xiàn)取消定時,有按鈕能夠?qū)崿F(xiàn)開始倒計時。1.2 需求分析需求分析近年來隨著計算機(jī)在社會領(lǐng)域的滲透,單片機(jī)的應(yīng)用正在不斷深入人們的生活,同時帶動傳統(tǒng)控制檢測日新月異。在實時檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個核心部件來使用,僅單片機(jī)方面的知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),針對具體應(yīng)用特點與軟件結(jié)合。本次課

7、程設(shè)計研究了LED 數(shù)字倒計時器的設(shè)計與制作,此方案線路簡單,成本低,應(yīng)用前景廣闊。例如,在所有大學(xué)以及初高中的每個教室里都可以安裝一個 LED 數(shù)字倒計時器,教室前面有個大的 LED 數(shù)字倒計時器,在平時不僅可以同學(xué)們還有多長時間上課下課,更主要的是,能在學(xué)校的考試或者十分重要的大型考試,如中考,高考,四六級考試,公務(wù)員考試,研究生考試等中發(fā)揮重要作用,方便考生把握考試時間發(fā)揮出最好的水平??偠灾?,LED 數(shù)字倒計時器,在未來會有十分廣闊的前景。2.LED2.LED 數(shù)字倒計時器的設(shè)計方案數(shù)字倒計時器的設(shè)計方案2.1 LED 數(shù)字倒計時器的組成:數(shù)字倒計時器的組成:a) AT89C51 單

8、片機(jī)b) 晶振電路c) 復(fù)位電路d) 按鍵電路e) 六位數(shù)碼管顯示電路f) 蜂鳴器電路2.2 LED 數(shù)字倒計時器的系統(tǒng)設(shè)計圖數(shù)字倒計時器的系統(tǒng)設(shè)計圖 圖圖 2.22.2 AT89C51晶振電路晶振電路復(fù)位電路復(fù)位電路按鍵電路按鍵電路數(shù)碼管電路數(shù)碼管電路蜂鳴電路蜂鳴電路3.3. LEDLED 數(shù)字倒計時器硬件電路設(shè)計與主要數(shù)字倒計時器硬件電路設(shè)計與主要元器件分析元器件分析3.1 AT89C51 單片機(jī)單片機(jī)3.3.13.3.1 AT89C51AT89C51 的原理圖的原理圖圖圖 3.3.13.3.13.3.13.3.1 AT89C51AT89C51 的原理和性能介紹的原理和性能介紹(一一) A

9、T89C51的的原原理理a)VCC:供電電壓。b)GND:接地。c)P0 口口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當(dāng) P0 口的管腳第一次寫 1 時,被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH 編程時,P0 口作為原碼輸入口,當(dāng) FIASH 進(jìn)行校驗時,P0 輸出原碼,此時 P0 外部必須被拉高。d)P1 口口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時

10、,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH 編程和校驗時,P1 口作為第八位地址接收。e)P2 口口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4 個 TTL 門電流,當(dāng) P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2 口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在 FLASH 編程和

11、校驗時接收高八位地址信號和控制信號。f)P3 口口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個TTL 門電流。當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示:口管腳備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷 0)P3.3 /INT1(外部中斷 1)P3.4 T0(記時器 0 外部輸入)P3.5 T1(記時器 1 外部輸入)P3.6 /WR(外部數(shù)據(jù)

12、存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3 口同時為閃爍編程和編程校驗接收一些控制信號。g)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持 RST 腳兩個機(jī)器周期的高電平時間。 h)ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH地址上置 0。此時, ALE 只有在執(zhí)

13、行 MOVX,MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 i)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。j)/EA/VPP:當(dāng)/EA 保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH) ,不管是否有內(nèi)部程序存儲器。注意加密方式 1 時,/EA 將內(nèi)部鎖定為 RESET;當(dāng)/EA 端保持高電平時,此間內(nèi)部程序存儲器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源(VPP) 。 k

14、)XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。l)XTAL2:來自反向振蕩器的輸出。(二二) AT89C51的的性性能能分分析析a)主主要要特特點點:AT89C51是一種帶4K 字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS8位微處理器,俗稱單片機(jī)。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51指令集和輸出管腳相兼容。由于將多功能8位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51是一種高效微控制器,為

15、很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。b)振振蕩蕩器器特特性性 : TAL2分別為反向放大器的輸入和輸出。該反向放大為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。c)芯芯片片擦擦除除:整個 PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51 設(shè)有穩(wěn)態(tài)邏輯,可

16、以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU 停止工作。但 RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。3.23.2 晶振電路晶振電路3.2.1 晶晶振振電電路路原原理理圖圖圖圖 3.2.13.2.2 晶晶振振電電路路分分析析 a)晶晶振振電電路路的的原原理理:晶振是通過電激勵來產(chǎn)生固定頻率的機(jī)械振動,而振動又會產(chǎn)生電流反饋給電路,電路接到反饋 后進(jìn)行信號放大,再次用放大的電信號來激勵晶振機(jī)械振動,晶振再將振動產(chǎn)生的電流反饋給電路,如此這般。當(dāng)電路中的激勵電信

17、號和晶振的標(biāo)稱頻率相同時,電 路就能輸出信號強(qiáng)大,頻率穩(wěn)定的正弦波。整形電路再將正弦波變成方波送到數(shù)字電路中供其使用。b)晶晶振振電電路路的的特特點點:晶振是石英振蕩器的簡稱,英文名為 Crystal,晶振分為有源晶振和無源晶振兩種,其作用是在電路產(chǎn)生震蕩電流,發(fā)出時鐘信號。它是時鐘電路中最重要的部件,它的作用是向 IC 等部件提供基準(zhǔn)頻率,它就像個標(biāo)尺,工作頻率不穩(wěn)定會造成相關(guān)設(shè)備工作頻率不穩(wěn)定,自然容易出現(xiàn)問題。由于制造工藝不斷提高,現(xiàn)在晶振的頻率偏差、溫度穩(wěn)定性、老化率、密封性等重要技術(shù)指標(biāo)都很好,已不容易出現(xiàn)故障,但在選用時仍可留意一下晶振的質(zhì)量。3.33.3 復(fù)位電路復(fù)位電路3.3.

18、1 復(fù)位電路的原理圖復(fù)位電路的原理圖 圖圖 3.3.13.3.2 復(fù)位電路的原理和作用復(fù)位電路的原理和作用a)復(fù)位電路的原理:復(fù)位電路的原理:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。RC 復(fù)位電路可以實現(xiàn)上述基本功能,但解決不了電源毛刺和電源緩慢下降(電池電壓不足)等問題,而且調(diào)整 RC 常數(shù)改變延時會令驅(qū)動能力變差。左邊的電路為高電平復(fù)位有效,右邊為低電平有效, 復(fù)位按鍵為手動復(fù)位開關(guān),電容可避免高頻諧波對電路的干擾。b)復(fù)位電路的作用:復(fù)位電路的作用:復(fù)位電路是為

19、確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為 5V5%,即 4.755.25V。由于微機(jī)電路是時序數(shù)字電路,它需要穩(wěn)定的時鐘信號,因此在電源上電時,只有當(dāng) VCC 超過 4.75V 低于 5.25V 以及晶體振蕩器穩(wěn)定工作時,復(fù)位信號才被撤除,微機(jī)電路開始正常工作。3.4 按鍵電路按鍵電路3.4.1 按鍵電路的原理圖按鍵電路的原理圖 圖圖 3.4.13.4.2 按鍵電路的原理分析按鍵電路的原理分析(一)按鍵電路的原理:按鍵電路的原理:按鍵 B1/B2/B3/B4斷開時,P1.0/P1.1/P1.2/P1.3輸入為高電平;按鍵B

20、1/B2/B3/B4閉合后,P1.0/P1.1/P1.2/P1.3輸入為低電平。每按一次按鍵,就會有一次低電平,單片機(jī)就會對低電平計數(shù),從而來調(diào)節(jié)定時時間。由于按鈕是機(jī)械觸點,當(dāng)機(jī)械觸點斷開、閉合時,會有抖動動,這種抖動對于計算機(jī)來說,是完全能感應(yīng)到的,因為計算機(jī)處理的速度是在微秒級,而機(jī)械抖動的時間至少是毫秒級。你只按了一次按鈕,可是計算機(jī)卻已執(zhí)行了多次中斷的過程,如果執(zhí)行的次數(shù)正好是奇數(shù)次,那么結(jié)果正如你所料,如果執(zhí)行的次數(shù)是偶數(shù)次,那就不對了,所以必須運用延時程序消除按鍵的抖動。(二)按鍵電路的功用:按鍵電路的功用:每次復(fù)位之后,三個兩位數(shù)碼管全部都會顯示為 0,而與 P1.0 相接的按

21、鈕 B1,每次按下一次,就會產(chǎn)生一次低電平,單片機(jī)就會計數(shù)一次,從而調(diào)節(jié)倒計時的小時時間,B2 則調(diào)節(jié)分鐘,B3 則調(diào)節(jié)秒鐘,與這三個按鍵分別控制數(shù)碼管的顯示倒計時的小時、分鐘、秒。與這三個按鍵不同的是,按鍵 B3 的作用是開始倒計時。這些按鍵的功能都是通過編程來控制的。 3.53.5 數(shù)碼管顯示電路數(shù)碼管顯示電路3.5.1 數(shù)碼管顯示電路的原理圖數(shù)碼管顯示電路的原理圖 圖圖 3.5.13.5.2 數(shù)碼管顯示電路的原理分析數(shù)碼管顯示電路的原理分析:(一)數(shù)碼管顯示電路的組成數(shù)碼管顯示電路的組成:a) 六位數(shù)碼管:分別顯示小時,分鐘和秒鐘。b) 含有八個電阻帶電源的排阻:分別與三個數(shù)字顯示的數(shù)碼

22、管并聯(lián),電源給數(shù)碼管提供電壓,電阻的作用是保護(hù)數(shù)碼管不被燒壞。c) 將 PO 口的八位與數(shù)碼管和排阻連載一起的導(dǎo)線,將 P2 口的六位分別與六位數(shù)碼管的六個位選引腳接在一起。(二)數(shù)碼管顯示電路的工作原理數(shù)碼管顯示電路的工作原理:a)七段數(shù)碼管的的結(jié)構(gòu):七段數(shù)碼管的的結(jié)構(gòu):7 段數(shù)碼管一般由 8 個發(fā)光二極管組成,其中由 7 個細(xì)長的發(fā)光二極管組成數(shù)字顯示,另外一個圓形的發(fā)光二極管顯示小數(shù)點。當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點或一個筆畫發(fā)光??刂葡鄳?yīng)的二極管導(dǎo)通,就能顯示出各種字符,盡管顯示的字符形狀有些失真,能顯示的數(shù)符數(shù)量也有限,但其控制簡單,使有也方便。發(fā)光二極管的陽極連在一起的稱為共陽極

23、數(shù)碼管,陰極連在一起的稱為共陰極數(shù)碼管。 圖圖 3.5.2 b)七段數(shù)碼管的驅(qū)動方法:七段數(shù)碼管的驅(qū)動方法:7 段數(shù)碼管內(nèi)部字段 LED 和引腳分布共陰極 共陽極發(fā)光二極管(LED 是一種由磷化鎵(GaP)等半導(dǎo)體材料制成的,能直接將電能轉(zhuǎn)變成光能的發(fā)光顯示器件。當(dāng)其內(nèi)部有一一電流通過時,它就會發(fā)光。7 段數(shù)碼管每段的驅(qū)動電流和其他單個 LED 發(fā)光二極管一樣,一般為 510mA;正向電壓隨發(fā)光材料不同表現(xiàn)為 1.82.5V 不等。c)七段數(shù)碼管的動態(tài)顯示:七段數(shù)碼管的動態(tài)顯示:所謂動態(tài)顯示就是一位一位地輪流點亮各位顯示器(掃描) ,對于顯示器的每一位而言,每隔一段時間點亮一次。雖然在同一時刻

24、只有一位顯示器在工作(點亮) ,但利用人眼的視覺暫留效應(yīng)和發(fā)光二極管熄 滅時的余輝效應(yīng),看到的卻是多個字符“同時”顯示。顯示器亮度既與點亮?xí)r的導(dǎo)通電流有關(guān),也與點亮?xí)r間和間隔時間的比例有關(guān)。調(diào)整電流和時間參烽,可實現(xiàn)亮度較高較穩(wěn)定的顯示。若顯示器的位數(shù)不大于 8 位,則控制顯示器公共極電位只需一個 8位 I/O 口(稱為掃描口或字位口) ,控制各位 LED 顯示器所顯示的字形也需要一個 8 位口(稱為數(shù)據(jù)口或字形口) 。3.63.6 蜂鳴電路蜂鳴電路3.6.1 蜂鳴電路的組成圖蜂鳴電路的組成圖 3.6.1 圖圖 3.6.2 蜂鳴電路的結(jié)構(gòu)和原理蜂鳴電路的結(jié)構(gòu)和原理a)蜂鳴電路的組成:蜂鳴電路的

25、組成:兩個阻值為一千歐姆的電阻,一個阻值為 100 歐姆的電阻,一個蜂鳴器,一個三極管,一個接地,以及導(dǎo)線。b)蜂鳴電路的工作原理:蜂鳴電路的工作原理:蜂鳴電路是利用 I/O 定時翻轉(zhuǎn)電平產(chǎn)生驅(qū)動波形對蜂鳴器進(jìn)行驅(qū)動。在程序上,可以使用 TIMER0 來定時,將 TIMER0 的預(yù)分頻設(shè)置為/1,選擇 TIMER0 的始終為系統(tǒng)時鐘(主振蕩器時鐘/4),通過按鍵可以在 TIMER0 的載入/計數(shù)寄存器內(nèi)調(diào)節(jié)設(shè)置時間,就能將 TIMER0 的中斷設(shè)置設(shè)置為倒計時時間,當(dāng)需要I/O 口驅(qū)動的蜂鳴器鳴叫時,只需要在進(jìn)入 TIMER0 中斷的時候?qū)υ?I/O 口的電平進(jìn)行翻轉(zhuǎn)一次,直到蜂鳴器不需要鳴叫

26、的時候,將 I/O 口的電平設(shè)置為低電平即可。不鳴叫時將 I/O 口的輸出電平設(shè)置為低電平是為了防止漏電。4. LEDLED 數(shù)字倒計時器的仿真圖數(shù)字倒計時器的仿真圖 圖圖 45 .LEDLED 數(shù)字倒計時器元件清單數(shù)字倒計時器元件清單元件名稱型號數(shù)量/個用途單片機(jī)AT89C511控制核心晶振12MHz1晶振電路電容30pF2晶振電路電解電容22F/10V1復(fù)位電路電阻10k1復(fù)位電路按鍵5按鍵電路和復(fù)位電路數(shù)碼管共陽6顯示器三極管2N50881蜂鳴器喇叭8/0.5W1蜂鳴器電阻1k2蜂鳴器電阻1001蜂鳴器電阻3308排阻電源+5V/0.5A1提供+5V 表表 56 . LED 數(shù)字倒計時器

27、軟件設(shè)計數(shù)字倒計時器軟件設(shè)計 6.1 LED 數(shù)字倒計時器的程序流程圖數(shù)字倒計時器的程序流程圖開始CPU 系統(tǒng)初始化定時器 0 初始化中斷初始化設(shè)置時間?設(shè)置鬧鈴時間顯示刷新啟動走時有關(guān)變量初始化時分變化?刷新顯示1 秒到秒指示鬧鈴時間?蜂鳴器結(jié)束YNYNYNYN 圖圖 6.16.2 LED 數(shù)字倒計時器程序清單數(shù)字倒計時器程序清單 #includesbit kh=P10;/定義 kh 為與 P1.0 相連接的按鍵 B1sbit km=P11;/定義 km 為與 P1.1 相連接的按鍵 B2sbit ks=P12;/定義 ks 為與 P1.2 相連接的按鍵 B3sbit st=P13;/定義

28、st 為與 P1.3 相連接的按鍵 B4sbit b=P37;/定義 b 為 P3.7unsigned char table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71; / LED 數(shù)碼管從 0 到 F 的顯示unsigned char i=0,hour=0,minute=0,second=0;/定義無符號的變量并賦初值void delayms(unsigned int x)unsigned char a=160;/定義無符號變量 a 的值為 1

29、60,指延時時間為 160 個及其周期乘以 x,160 可以為 180、200 等,自己設(shè)置while(x-)while(a-);a=160;/定義延時程序的延時時間為 160 個及其周期乘以 x,避免按鍵抖動的影響main()TH0=(65536-50000)/256;/設(shè)置定時時間對高八位賦值,50000 是 50000個機(jī)器周期,0.05 秒TL0=(65536-50000)%256;/設(shè)置定時時間對低八位賦值,50000 是 50000個機(jī)器周期,0.05 秒TMOD=1;/定時器模式TR0=0;/停止計時ET0=1;/開定時器中斷EA=1;/開總中斷while(1)P0=tableh

30、our/10;/顯示小時的十位P2=32;/對數(shù)碼管進(jìn)行位選和段選,選中顯示小時的十位delayms(1);/延時以便于顯示P2=0 xff;/重新給 P2 口一個高電平,避免誤操作P0=tablehour%10;/顯示小時的個位P2=16;/對數(shù)碼管位選和片選,選中顯示小時的個位delayms(1);/延時以便于顯示P2=0 xff;/重新給 P2 口一個高電平,避免誤操作P0=tableminute/10;/顯示分鐘的十位P2=8;/對數(shù)碼管進(jìn)行位選和段選,選中顯示分鐘的十位delayms(1);/延時以便于顯示P2=0 xff;/重新給 P2 口一個高電平,避免誤操作P0=tablemi

31、nute%10;/顯示分鐘的個位P2=4;/對數(shù)碼管進(jìn)行位選和段選,選中顯示分鐘的個位delayms(1);/延時以便于顯示P2=0 xff;/重新給 P2 口一個高電平,避免誤操作P0=tablesecond/10;/顯示秒鐘的十位P2=2;/對數(shù)碼管進(jìn)行位選和段選,選中顯示秒鐘的十位delayms(1);/延時以便于顯示P2=0 xff;/重新給 P2 口一個高電平,避免誤操作P0=tablesecond%10;/對數(shù)碼管進(jìn)行位選和段選,選中顯示秒鐘的個位P2=1;/對數(shù)碼管進(jìn)行位選和段選,選中顯示秒鐘的個位delayms(1);/延時以便于顯示P2=0 xff;/重新給 P2 口一個高電

32、平,避免誤操作if(!kh)/如果小時按鍵 B1 按下delayms(200);/延時 200 乘以 160 個機(jī)器周期,避免按鍵抖動的影響hour+;/定時時間的小時加一if(hour23)/因為是無符號的變量,減到 0 之后,再減就會變成 ff,大于 23hour=23;else if(!km)/如果分鐘按鍵 B2 按下delayms(200);/延時 200 乘以 160 個機(jī)器周期,避免按鍵抖動的影響minute+;定時時間的分鐘加一if(minute59)/因為是無符號的變量,減到 0 之后,再減就會變成 ff,大于 2359minute=59;else if(!ks)/如果秒按鍵

33、B3 按下delayms(200);/延時 200 乘以 160 個機(jī)器周期,避免按鍵抖動的影響second+;定時時間的分鐘加一if(second59)/因為是無符號的變量,減到 0 之后,再減就會變成 ff,大于 59second=59;if(!st)/開始按加按下delayms(200);/延時 200 乘以 160 個機(jī)器周期,避免按鍵抖動的影響TR0=1;/開始計時if(TR0=1&hour=0&minute=0&second=20)/定時滿 20 次是 1 秒,即 50000 個機(jī)器周期為一秒i=0;second-;/秒減一if(second59)/因為是無

34、符號的變量,減到 0 之后,再減就會變成 ff,大于 59second=59;/秒為 59minute-;/分鐘減一if(minute59)/因為是無符號的變量,減到 0 之后,再減就會變成 ff,大于 59minute=59;/因為是無符號的變量,減到 0之后,再減就會變成 ff,大于 59hour-;/小時減一if(hour23)/因為是無符號的變量,減到 0之后,再減就會變成 ff,大于 59,如果小時減過 0 說明計時結(jié)束hour=0;minute=0;second=0;TR0=0;/停止計時7 . 總結(jié)總結(jié)這個學(xué)期的單片機(jī)課雖然早已經(jīng)上完了,但是理論純屬理論,沒有與實踐的結(jié)合總讓我們

35、學(xué)的不踏實,感覺沒有達(dá)到學(xué)以致用的效果。所慶幸的是在課程介紹考試完之后,老師給我們安排了這次單片機(jī)課程設(shè)計,給了我們學(xué)以致用的做好的實踐。關(guān)于這次課程設(shè)計,我們花費了比較多的心思,既是對課程理論內(nèi)容的一次復(fù)習(xí)和鞏固,還讓我們豐富了更多與該專業(yè)相關(guān)的其他知識,比如軟件應(yīng)用等,在摸索中學(xué)習(xí),在摸索中成長,在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計的又一收獲,在真正設(shè)計之前我們做了相當(dāng)豐富的準(zhǔn)備,首先鞏固一下課程理論,再一遍熟悉課程知識的構(gòu)架,然后結(jié)合加以理論分析、總結(jié),有了一個清晰的思路和一個完整的的軟件流程圖之后才著手設(shè)計。在設(shè)計程序時,我們不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計的必經(jīng)之路;養(yǎng)成注釋程序的好習(xí)慣是非常必要的,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也能為資料的保存和交流提供了方便;我覺得在設(shè)計課程過程中遇到問題是很正常,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設(shè)計又出錯了。除了對此次設(shè)計的準(zhǔn)備工作之外,我們還學(xué)到了很多平時難得的東西,首先

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論