單片機(jī)LED倒計(jì)時(shí)設(shè)計(jì)_第1頁(yè)
單片機(jī)LED倒計(jì)時(shí)設(shè)計(jì)_第2頁(yè)
單片機(jī)LED倒計(jì)時(shí)設(shè)計(jì)_第3頁(yè)
單片機(jī)LED倒計(jì)時(shí)設(shè)計(jì)_第4頁(yè)
單片機(jī)LED倒計(jì)時(shí)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1. 功能的需求分析.22. 總體方案說(shuō)明.23. 系統(tǒng)硬件部分設(shè)計(jì).2 3.1 6位LED數(shù)碼管顯示.2 3.2 LED倒計(jì)時(shí)器元件清單.33.3 主要元器件分析.43.3.1 單片機(jī)AT89C51.43.3.2 集成塊74LS373.43.4 基本硬件電路分析.4復(fù)位電路.43.4.2 按鍵電路.53.4.3 晶振電路.5 3.4.4 6位數(shù)碼管顯示電路.6 3.4.5 蜂鳴器電路.7 3.5 LED倒計(jì)時(shí)原理圖.84. 系統(tǒng)軟件部分設(shè)計(jì).9 4.1 軟件總體設(shè)計(jì).9 4.2 主程序說(shuō)明.10 4.3 子程序說(shuō)明.11 4.3.1 延時(shí)子程序.11 4.3.2 數(shù)碼管顯示時(shí)分秒子程序.11

2、 4.3.3 數(shù)碼管顯示時(shí)子程序.12 4.3.4 數(shù)碼管顯示時(shí)分子程序.12 4.3.5 數(shù)碼管時(shí)間顯示子程序.13 4.3.6 秒信號(hào)子程序.13 4.3.7 鍵盤掃描子程序.145. 調(diào)試過(guò)程.15.15.15.15參考文獻(xiàn).16附錄 隨著社會(huì)的不斷進(jìn)步,單片機(jī)的應(yīng)用逐漸滲入我們的生活,特別是計(jì)數(shù)方面對(duì)單片機(jī)的依賴越來(lái)越高,在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面的知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),針對(duì)具體應(yīng)用特點(diǎn)與軟件結(jié)合。本項(xiàng)目討論了LED數(shù)字倒計(jì)時(shí)器的設(shè)計(jì)與制作,任務(wù)與要求是,使基于AT89S51單片機(jī)的LED數(shù)字倒計(jì)時(shí)器主要具有如下

3、功能:1. 采用MCS51作為主控芯片;2. 采用LED數(shù)碼管顯示倒計(jì)時(shí),倒計(jì)時(shí)范圍24:00:00;3. 可調(diào)任意設(shè)定定時(shí)時(shí)間,要具有定時(shí)提醒功能,定時(shí)到2s報(bào)警功能。2. 總體方案說(shuō)明電源電路LED數(shù)字倒計(jì)時(shí)器以AT89S51單片機(jī)為核心,系統(tǒng)包括六位數(shù)碼管顯示電路,按鍵電路,電源電路,復(fù)位電路,晶振電路以及蜂鳴器電路幾部分,LED數(shù)字倒計(jì)時(shí)器設(shè)計(jì)框圖如下:晶振電路6位LED顯示電路AT89C51 單片機(jī)復(fù)位電路蜂鳴器電路按鍵電路圖1 LED數(shù)字倒計(jì)時(shí)器設(shè)計(jì)框圖3.1 6位LED數(shù)碼管顯示本項(xiàng)目設(shè)計(jì)采用了6位數(shù)碼管顯示電路,在設(shè)計(jì)6位LED顯示時(shí),為了簡(jiǎn)化電路,降低成本,采用動(dòng)態(tài)顯示方式,

4、6個(gè)LED顯示器共用一個(gè)8位的I/O,6位LED數(shù)碼管的位選線分別由相應(yīng)的P2.0p2.5控制,而將相應(yīng)的段選線并聯(lián)在一起,由一個(gè)8位的I/O口控制,即p0口。譯碼顯示電路將“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對(duì)調(diào)整。3.2 LED倒計(jì)時(shí)器元件清單表1 LED數(shù)字倒計(jì)時(shí)器元件清單元件名稱型號(hào)數(shù)量/個(gè)用途單片機(jī)AT89C511控制核心晶振12MHz1晶振電路電容30pF2晶振電路電解電容10u1復(fù)位電路電阻5002復(fù)位電路按鍵4按鍵電路數(shù)碼管共陽(yáng)6顯示器三極管PNP1蜂鳴器蜂鳴器1蜂鳴器電阻1.5k1蜂鳴器電阻3上拉電阻電阻3308上拉電阻電源1提供+5V集成塊74LS3731驅(qū)動(dòng)3.3 主要元

5、器件分析3.3.1 單片機(jī)AT89C51 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM-Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它

6、的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32 個(gè)I/O 口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。3.3.2 集成塊74LS37374ls373是常用的地

7、址鎖存器芯片,它實(shí)質(zhì)是一個(gè)是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲(chǔ)器,通常需要一塊74ls373芯片。 74LS373的工作原理: (1) .1腳是輸出使能(OE),是低電平有效,當(dāng)1腳是高電平時(shí),不管輸入3、4、7、8、13、14、17、18如何,也不管11腳(鎖存控制端,G)如何,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈現(xiàn)高阻狀態(tài)(或者叫浮空狀態(tài));(2).當(dāng)1腳是低電平時(shí),只要11腳(鎖存控制端,G)上出現(xiàn)一個(gè)下降沿,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、

8、16(Q6)、19(Q7)立即呈現(xiàn)輸入腳3、4、7、8、13、14、17、18的狀態(tài).鎖存端LE 由高變低時(shí),輸出端8 位信息被鎖存,直到LE 端再次有效。 當(dāng)三態(tài)門使能信號(hào)OE為低電平時(shí),三態(tài)門導(dǎo)通,允許Q0Q7輸出,OE為高電平時(shí),輸出懸空。3.4 基本硬件電路分析復(fù)位是單片機(jī)的初始化操作,只需給AT89C51的復(fù)位引腳RST加上大于2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期)的高電平就可得單片機(jī)復(fù)位,復(fù)位時(shí),PC初始化為0000H,使單片機(jī)從OUT單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤而使系統(tǒng)處于死鎖狀態(tài),為擺脫死鎖狀態(tài),也需按復(fù)位鍵使得RST腳為高電平,使單片

9、機(jī)重新啟動(dòng)。3.4.2 按鍵電路按鍵電路的按鍵功能說(shuō)明:(1)設(shè)置切換開(kāi)關(guān)用于改變調(diào)定時(shí)間的模式,按第一下是開(kāi)始設(shè)定小時(shí),按第二下是開(kāi)始設(shè)定分鐘,按第三下是開(kāi)始設(shè)定秒,按第四下是開(kāi)始倒計(jì)時(shí);(2)在設(shè)定時(shí)分秒時(shí),按此按鈕使設(shè)定的時(shí)間增加;(3)在設(shè)定時(shí)分秒時(shí),按此按鈕使設(shè)定的時(shí)間減小;在此按鍵電路上還設(shè)有上拉電阻,用于保護(hù)電路。(按鍵電路圖見(jiàn)下)3.4.3 晶振電路單片機(jī)晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。通常一個(gè)系統(tǒng)共用一個(gè)晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過(guò)電子調(diào)整頻率的方法保持同步。晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時(shí)鐘頻率。如不同子系統(tǒng)

10、需要不同頻率的時(shí)鐘信號(hào),可以用與同一個(gè)晶振相連的不同鎖相環(huán)來(lái)提供。在通常工作條件下,普通的晶振頻率絕對(duì)精度可達(dá)百萬(wàn)分之五十。高級(jí)的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機(jī)械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期。如果一個(gè)單片機(jī)選擇了12MHZ晶振,它的時(shí)鐘周期是112us,它的一個(gè)機(jī)器周期是12×(112)us,也就是1us。 按鍵電路圖 晶振電路圖3.4.4 6位數(shù)碼管顯示電路 采用動(dòng)態(tài)顯示,所謂動(dòng)態(tài)顯示就是一位一位的輪流點(diǎn)亮各點(diǎn),對(duì)于顯示器的每一位來(lái)說(shuō),每隔一段時(shí)

11、間點(diǎn)亮一次。利用人的視覺(jué)暫留功能可以看到整個(gè)顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間與間隔時(shí)間的比例有關(guān)。調(diào)整參數(shù)可以實(shí)現(xiàn)較高穩(wěn)定度的顯示。動(dòng)態(tài)顯示節(jié)省了I/O口,降低了能耗。 利用AT89C51單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件成本,且能在定時(shí)/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,對(duì)單片機(jī)的指令系統(tǒng)能有更深的了解。用P0口來(lái)控制LED數(shù)碼管的段控線,而用P2口來(lái)控制其位控線。(其電路圖見(jiàn)下)6位數(shù)碼管顯示電路3.4.5 蜂鳴器電路 直流蜂鳴器的驅(qū)動(dòng)是非常簡(jiǎn)單的,只要在兩端施加額定工作

12、電壓,蜂鳴器就發(fā)聲。以NPN三極管驅(qū)動(dòng)電路,在三極管基極接入高電平,蜂鳴器就能發(fā)聲。3.5 LED倒計(jì)時(shí)原理圖4. 系統(tǒng)軟件部分設(shè)計(jì)4.1 軟件總體設(shè)計(jì)顯示的效果為動(dòng)態(tài)顯示,利用CPU控制數(shù)碼管顯示的選通和停止,通過(guò)定時(shí)器中斷不斷掃描,從而實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)顯示。 在編程上,首先進(jìn)行了初始化,定義程序的入口地址以及中斷的入口地址,在主程序開(kāi)始定義了一組固定單元用來(lái)儲(chǔ)存計(jì)數(shù)的時(shí)分秒,在顯示初值之后,進(jìn)入主循環(huán)。在主程序中,對(duì)不同的按鍵進(jìn)行掃描,實(shí)現(xiàn)秒表,時(shí)間調(diào)整,復(fù)位清零等功能,系統(tǒng)總流程圖如下: 初始化時(shí)分變化? 顯示初值NY 刷新顯示設(shè)置時(shí)間? 1秒到有關(guān)變量初始化啟動(dòng)走時(shí)切換倒計(jì)時(shí)顯示設(shè)置鬧鈴

13、時(shí)間Y 結(jié)束 蜂鳴器鬧鈴時(shí)間? 秒指示 N NYNY4.2 主程序說(shuō)明int main(void)mode=0; /開(kāi)機(jī)模式0倒計(jì)時(shí)模式Timer2_S();/秒END=0;while(1) KEY_SCAN(); /鍵盤掃描if(mode=0) KEY_SCAN();/鍵盤掃描TIM_DIS();/時(shí)間數(shù)據(jù)處理DIS_SEG();/顯示 if(END=1)END=0;TR2=0;BUZZ=0; DelayMS(2000);BUZZ=1;shi=24;miao=0;fen=0;TR2=1;/時(shí)間結(jié)束 停止if(mode=1)KEY_SCAN();/鍵盤掃描TR2=0; /關(guān)定時(shí)器2TIM_DI

14、S();/時(shí)間數(shù)據(jù)處理DIS_SEG_SHI();/只顯示 -時(shí) if(mode=2)KEY_SCAN();/鍵盤掃描TIM_DIS();/時(shí)間數(shù)據(jù)處理DIS_SEG_FEN();/只顯示-時(shí)-分 if(mode=3)KEY_SCAN();/鍵盤掃描TIM_DIS();/時(shí)間數(shù)據(jù)處理DIS_SEG();/顯示時(shí)-分-秒 /定時(shí)器2void Timer2() interrupt 5 /調(diào)用定時(shí)器2,自動(dòng)重裝載模式static uchar i=0; /定義靜態(tài)變量iTF2=0; /定時(shí)器2的中斷標(biāo)志要軟件清0i+; /計(jì)數(shù)標(biāo)志自加1if(i=16) /判斷是否到1si=0; /將靜態(tài)變量清0if

15、(miao>0)miao-; /秒倒計(jì)時(shí)else if(fen>0) fen-;miao=59;/分倒計(jì)時(shí) else if(shi>0)shi-;fen=59;miao=59;/時(shí)倒計(jì)時(shí)elseEND=1;/ 倒計(jì)時(shí)結(jié)束 4.3 子程序說(shuō)明void DelayMS(unsigned int t)/延時(shí)N msunsigned int i,j;for(i=0;i<t;i+)for(j=0;j<120;j+);4.3.2 數(shù)碼管顯示時(shí)分秒子程序/-顯示數(shù)碼管-void DIS_SEG(void) /顯示時(shí) 分 秒P0=tabDisplay_Digit5; / 數(shù)碼管顯

16、示SEG1=0; DelayMS(1); /延時(shí) SEG1=1; P0=tabDisplay_Digit4; / 數(shù)碼管顯示 SEG2=0;DelayMS(1); /延時(shí) SEG2=1; P0=tabDisplay_Digit3; / 數(shù)碼管顯示SEG3=0;DelayMS(1);/延時(shí) SEG3=1; P0=tabDisplay_Digit2; / 數(shù)碼管顯示SEG4=0;DelayMS(1);/延時(shí) SEG4=1; P0=tabDisplay_Digit1; / 數(shù)碼管顯示SEG5=0; DelayMS(1); /延時(shí) SEG5=1; P0=tabDisplay_Digit0; / 數(shù)碼管

17、顯示 SEG6=0;DelayMS(1); /延時(shí) SEG6=1; 4.3.3 數(shù)碼管顯示時(shí)子程序/-顯示數(shù)碼管-void DIS_SEG_SHI(void) /顯示時(shí)P0=tabDisplay_Digit1; / 數(shù)碼管顯示SEG5=0; DelayMS(1); /延時(shí) SEG5=1; P0=tabDisplay_Digit0; / 數(shù)碼管顯示 SEG6=0;DelayMS(1); /延時(shí) SEG6=1; 4.3.4 數(shù)碼管顯示時(shí)分子程序/-顯示數(shù)碼管-void DIS_SEG_FEN(void)/顯示時(shí) 分P0=tabDisplay_Digit3; / 數(shù)碼管顯示SEG3=0;DelayM

18、S(1);/延時(shí) SEG3=1; P0=tabDisplay_Digit2; / 數(shù)碼管顯示SEG4=0;DelayMS(1);/延時(shí) SEG4=1; P0=tabDisplay_Digit1; / 數(shù)碼管顯示SEG5=0; DelayMS(1); /延時(shí) SEG5=1; P0=tabDisplay_Digit0; / 數(shù)碼管顯示 SEG6=0;DelayMS(1); /延時(shí) SEG6=1; 4.3.5 數(shù)碼管時(shí)間顯示子程序/-時(shí)間顯示-void TIM_DIS(void) / char shi=12,fen=50,miao=40; Display_Digit0=shi%100/10; /時(shí)

19、Display_Digit1=shi%10; /時(shí) Display_Digit2=fen%100/10;/分 Display_Digit3=fen%10;/分 Display_Digit4=miao%100/10;/秒 Display_Digit5=miao%10;/秒 4.3.6 秒信號(hào)子程序/-秒信號(hào)-void Timer2_S(void) /timer2初始化 /-定時(shí)器2設(shè)置-RCAP2H=(65536-62500)/256; /重裝載計(jì)數(shù)器賦初值RCAP2L=(65536-62500)%256;ET2=1; /開(kāi)定時(shí)器2中斷EA=1; /開(kāi)總中斷TR2=1; /開(kāi)啟定時(shí)器,并設(shè)置為自

20、動(dòng)重裝載模式 /-定時(shí)器2設(shè)置-/-秒信號(hào)-void S2_ADD(void) if(mode=1) /shi+; if(shi>23)shi=23; /最大值23if(mode=2) /fen+; if(fen>59)fen=59; /最大值59if(mode=3)/ miao+;if(miao>59)miao=59; /最大值59void S3_SUB(void) if(mode=1) if(shi<1)shi=1;shi-; /最小減到0if(mode=2) if(fen<1)fen=1;fen-; /最小減到0if(mode=3)if(miao<1)

21、miao=1;miao-; /最小減到0T2定時(shí)器預(yù)裝載值的計(jì)算:設(shè)晶振為12MHz,每秒鐘可以執(zhí)行1000000(12000000/12)個(gè)機(jī)器周期。而T2每次溢出時(shí)最多經(jīng)過(guò)了65536個(gè)機(jī)器周期。我們應(yīng)該盡量讓T2定時(shí)器的溢出中斷的次數(shù)最少。選擇每秒中斷14次,每次溢出1000000/14=71428.57個(gè)機(jī)器周期,不為整數(shù)且超出65536。選擇每秒中斷16次,每次溢出1000000/16=62500個(gè)機(jī)器周期,小于65536,有效。選擇每秒中斷20次,每次溢出1000000/20=50000個(gè)機(jī)器周期,小于65536,有效。其他的就不再算了,我們通過(guò)上面的計(jì)算,我們可以發(fā)現(xiàn),我們可以選

22、擇的方式有很多,但是最佳的是每秒中斷16次,每次溢出62500個(gè)機(jī)器周期。4.3.7 鍵盤掃描子程序void KEY_SCAN(void) /鍵盤掃描 if(S1=0)/切換 設(shè)置DelayMS(10); /延時(shí)去抖動(dòng)mode+;if(mode>3)mode=0;TR2=1; /在0 1 2 3中切換while(!S1);/等待按鍵釋放 if(S2=0) /加DelayMS(10); /延時(shí)去抖動(dòng) S2_ADD();while(!S2);/等待按鍵釋放if(S3=0)/減DelayMS(10); /延時(shí)去抖動(dòng) S3_SUB();while(!S3);/等待按鍵釋放5.調(diào)試過(guò)程 系統(tǒng)仿真用

23、的是Protues軟件,可通過(guò)仿真顯示出所設(shè)計(jì)系統(tǒng)的功能,對(duì)于程序的調(diào)試等有很大幫助。 系統(tǒng)仿真時(shí)如果使用c語(yǔ)言編程或c語(yǔ)言與匯編語(yǔ)言聯(lián)合編程,一般使用Keil C譯碼器,把所寫的程序進(jìn)行編譯,同時(shí)在仿真器里設(shè)置生成HEX文件,編譯無(wú)錯(cuò)進(jìn)行Protues仿真。等所有的元件都連接完成后可以把Keil C生成的無(wú)錯(cuò)誤文件編譯加載到AT89C51中,然后點(diǎn)擊運(yùn)行。 啟動(dòng)Protues軟件的運(yùn)行按鈕,用按鍵設(shè)定倒計(jì)時(shí)初值,數(shù)碼管上從左到右依次顯示6個(gè)數(shù)字從而設(shè)定初值,當(dāng)按下開(kāi)始鍵時(shí),數(shù)碼管上的數(shù)字減1,也就是1s計(jì)時(shí)時(shí)間到了,如果中間按暫停則暫停倒計(jì)時(shí),當(dāng)之后第二遍再按暫停鍵則繼續(xù)開(kāi)始倒計(jì)時(shí),若按停止

24、鍵則停止倒計(jì)時(shí)。數(shù)碼管顯示功能正常,按運(yùn)行鍵時(shí),單片機(jī)和各處高低電平顯示正常。但按鍵功能功能有點(diǎn)異常,致使數(shù)據(jù)無(wú)法顯示。在復(fù)位電路時(shí),由于電阻選用過(guò)大,致使復(fù)位功能不能實(shí)現(xiàn)。5. 總結(jié)與體會(huì)這次單片機(jī)的課程設(shè)計(jì),我做的是LED倒計(jì)時(shí),在學(xué)習(xí)單片機(jī)的課程時(shí)我們?cè)?jīng)做過(guò)一些其他的東西,這次做這個(gè)題目,我在此將課本與實(shí)踐聯(lián)系起來(lái),從中學(xué)到不少的知識(shí)。(1) 在本次課程設(shè)計(jì)中,我對(duì)AT89C51、74LS373、7SEG系列顯示器等都加深了了解,鞏固了對(duì)它們的使用,對(duì)于硬件和軟件綜合運(yùn)用有了更深一步的理解,為以后的電路分析和設(shè)計(jì)奠定了一定的基礎(chǔ)。(2) 在本次課程設(shè)計(jì)中,我們將課本理論知識(shí)與實(shí)際應(yīng)用聯(lián)

25、系起來(lái),加深了對(duì)課本知識(shí)的認(rèn)識(shí)理解,也加深了對(duì)電路設(shè)計(jì)方法和實(shí)際電路聯(lián)系的實(shí)踐知識(shí)。拿到課程設(shè)計(jì)的題目后,我們按照書本上的知識(shí)和老師講授的方法,首先和同學(xué)一起分析此次電路設(shè)計(jì)任務(wù)和要求,然后按照分析的結(jié)果進(jìn)行實(shí)際連接操作,檢測(cè)和校正,再進(jìn)一步完善電路。(3) 在本次課程設(shè)計(jì)中,我感到不僅電路設(shè)計(jì)能力有所提高,更重要的是通過(guò)對(duì)電路設(shè)計(jì)的學(xué)習(xí)和了解,進(jìn)一步激發(fā)了我們對(duì)專業(yè)知識(shí)的興趣,并能夠結(jié)合實(shí)際存在的問(wèn)題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。 這次課程設(shè)計(jì)持續(xù)的時(shí)間比較充裕,從接到任務(wù)書,然后去分析找資料,進(jìn)行初步設(shè)計(jì),編程,仿真調(diào)試,最終完成任務(wù),這一輪下來(lái)我們獲益良多,不僅僅在知識(shí)方面有所收獲,在實(shí)

26、際遇到問(wèn)題,然后去解決問(wèn)題的方面我們得到很大的提升,當(dāng)然也得到了老師和同學(xué)的一些幫助,這些經(jīng)歷都是我們?cè)谶@里面的巨大收獲。7. 參考文獻(xiàn)1 李光弟 朱月秀 冷祖祁單片機(jī)基礎(chǔ)(第3版)北京北京航空航天大學(xué)出版社2007 2 李鳳霞 劉桂山 陳朔鷹 薛慶.C語(yǔ)言程序設(shè)計(jì)(第二版).北京. 北京理工大學(xué)出版社,2008. 3 樓然苗 李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo). 北京.北京航空航天大學(xué)出版,2007附錄(源程序)#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsign

27、ed charsbit SEG1=P20; /段碼位1sbit SEG2=P21; /段碼位2 sbit SEG3=P22; /段碼位3sbit SEG4=P23; /段碼位4sbit SEG5=P24; /段碼位5sbit SEG6=P25; /段碼位6sbit S1=P10; /設(shè)置 上下限sbit S2=P11; /加sbit S3=P12; /減sbit BUZZ=P30; /蜂鳴器 /* 0 1 2 3 4 5 6 7 8 9 a b c d e f - 關(guān)*/uchar code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x

28、6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x00; uchar Display_Digit=0,0,0,0,0,0,0,0;/待顯示的各溫度數(shù)位uchar key; /鍵值/-時(shí)間-/uchar shi=1,fen=1,miao=5;/ 時(shí)分秒計(jì)時(shí) 測(cè)試1/uchar shi=0,fen=1,miao=5;/ 時(shí)分秒計(jì)時(shí) 測(cè)試2uchar shi=0,fen=0,miao=8;/ 時(shí)分秒計(jì)時(shí) 測(cè)試3 開(kāi)機(jī)倒計(jì)時(shí)時(shí)間 可自由設(shè)置/-時(shí)間-uchar END;uchar mode; /模式 0 1 2 3void DelayMS(unsigned int t)/

29、延時(shí)N msunsigned int i,j;for(i=0;i<t;i+)for(j=0;j<120;j+);/-顯示數(shù)碼管-void DIS_SEG(void) /顯示時(shí) 分 秒P0=tabDisplay_Digit5; / 數(shù)碼管顯示SEG1=0; DelayMS(1); /延時(shí) SEG1=1; P0=tabDisplay_Digit4; / 數(shù)碼管顯示 SEG2=0;DelayMS(1); /延時(shí) SEG2=1; P0=tabDisplay_Digit3; / 數(shù)碼管顯示SEG3=0;DelayMS(1);/延時(shí) SEG3=1; P0=tabDisplay_Digit2;

30、/ 數(shù)碼管顯示SEG4=0;DelayMS(1);/延時(shí) SEG4=1; P0=tabDisplay_Digit1; / 數(shù)碼管顯示SEG5=0; DelayMS(1); /延時(shí) SEG5=1; P0=tabDisplay_Digit0; / 數(shù)碼管顯示 SEG6=0;DelayMS(1); /延時(shí) SEG6=1; /-顯示數(shù)碼管-void DIS_SEG_SHI(void) /顯示時(shí)P0=tabDisplay_Digit1; / 數(shù)碼管顯示SEG5=0; DelayMS(1); /延時(shí) SEG5=1; P0=tabDisplay_Digit0; / 數(shù)碼管顯示 SEG6=0;DelayMS(

31、1); /延時(shí) SEG6=1; /-顯示數(shù)碼管-void DIS_SEG_FEN(void)/顯示時(shí) 分P0=tabDisplay_Digit3; / 數(shù)碼管顯示SEG3=0;DelayMS(1);/延時(shí) SEG3=1; P0=tabDisplay_Digit2; / 數(shù)碼管顯示SEG4=0;DelayMS(1);/延時(shí) SEG4=1; P0=tabDisplay_Digit1; / 數(shù)碼管顯示SEG5=0; DelayMS(1); /延時(shí) SEG5=1; P0=tabDisplay_Digit0; / 數(shù)碼管顯示 SEG6=0;DelayMS(1); /延時(shí) SEG6=1; /-時(shí)間顯示-v

32、oid TIM_DIS(void) / char shi=12,fen=50,miao=40; Display_Digit0=shi%100/10; /時(shí) Display_Digit1=shi%10; /時(shí) Display_Digit2=fen%100/10;/分 Display_Digit3=fen%10;/分 Display_Digit4=miao%100/10;/秒 Display_Digit5=miao%10;/秒 /-秒信號(hào)-void Timer2_S(void) /timer2初始化 /-定時(shí)器2設(shè)置-RCAP2H=(65536-62500)/256; /重裝載計(jì)數(shù)器賦初值RCAP2L=(65536-62500)%256;ET2=1; /開(kāi)定時(shí)器2中斷EA=1; /開(kāi)總中斷TR2=1; /開(kāi)啟定時(shí)器,并設(shè)置為自動(dòng)重裝載模式 /-定時(shí)器2設(shè)置-/-秒信號(hào)-void S2_ADD(void) if(mode=1) /shi+; if(shi>23)shi=23; /最大值23if(mode=2) /fen+; if(fen>59)fen=59; /最大值59if(mode=3)/ miao+;if(mi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論