版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)字電子鐘單片機原理與應用(大作業(yè))姓名:XXX班級:自動化11102班學號:摘要本論文基于單片機原理技術(shù)介紹了一款于STC89C52芯片作為核心控制器的單片機數(shù)字電子鐘的設(shè)計與制作,包括硬件電路原理的實現(xiàn)方案設(shè)計、軟件程序編輯的實現(xiàn)、數(shù)字電子鐘正常工作的流程、原理圖仿真實現(xiàn)、硬件實物的安裝制作與硬件實物的調(diào)試過程。該單片機數(shù)字電子鐘采用LED數(shù)碼管能夠準確顯示時間(顯示格式為:時時,分分,秒秒),可隨時進行時間調(diào)整,時間可采用12小時制顯示或24小時制顯示,采用12小時顯示時可在標志位數(shù)碼管上顯示A(表示上午)或B(表示下午),可暫停時間的變動,暫停時一位數(shù)碼管上顯示字母T,可按自己的要求設(shè)置擴展的小鍵盤個數(shù)。關(guān)鍵詞:單片機;數(shù)字電子鐘;數(shù)碼管;STC89C52目錄1. 設(shè)計任務與要求 41.1 設(shè)計任務 41.2 設(shè)計要求 42. 方案設(shè)計與論證 42.1 單片機芯片選擇方案 52.2 數(shù)碼管顯示選擇方案 52.3 數(shù)碼管驅(qū)動選擇方案 63. 硬件單元電路設(shè)計與參數(shù)計算 63.1 電源電路 63.2 按鍵電路 63.3 時鐘電路 63.4 驅(qū)動電路 73.5 LED顯示電路 83.6 單片機電路 84. 軟件設(shè)計與流程圖 84.1 數(shù)字電子時鐘主程序流程圖 84.2 中斷服務程序流程圖 94.3 顯示子程序流程圖 115. 總原電路及元器件清單 125.1 總原理圖 125.2 PCB制板圖 135.3 整體電路仿真圖 145.4 元件清單 15心得體會 16參考文獻 17致謝 18程序清單 19設(shè)計任務與要求設(shè)計任務用單片機設(shè)計一個數(shù)字電子鐘,采用LED數(shù)碼管來顯示時間。設(shè)計要求顯示格式為:XX:XX:XX,即:時:分:秒。時間可采用12小時制顯示或24小時制顯示,采用12小時顯示時必須在另外一個數(shù)碼管上顯示A(表示上午)或B(表示下午)。設(shè)置一個按鍵用于時間顯示方式的切換。系統(tǒng)上電后從上電時初始化顯示:12-00-00開始計時。能進行時間的調(diào)整,可暫停時間的變動,暫停時一位數(shù)碼管上顯示字母T可按自己的要求設(shè)置擴展的小鍵盤個數(shù)。方案設(shè)計與論證圖1-1系統(tǒng)整體框圖整個系統(tǒng)用單片機作為中央控制器,由單片機執(zhí)行采集芯片內(nèi)部時鐘信號,時鐘信號通過單片機I/O口傳給單片機,單片機模塊控制驅(qū)動模塊驅(qū)動顯示模塊,通過顯示模塊來實現(xiàn)信號的輸出、LED的顯示及相關(guān)的控制功能。系統(tǒng)設(shè)有按鍵模塊用于對時間進行調(diào)整及擴展多個小鍵盤,系統(tǒng)整體框圖如圖1-1所示。單片機芯片選擇方案方案一:STC89S52是一個低功耗,高性能CMOS8位單片機,片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復擦寫1000次的Flash只讀程序存儲器。主要性能有:與MCS-51單片機產(chǎn)品兼容、全靜態(tài)操作:0Hz~33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數(shù)器、八個中斷源、全雙工UART串行通道、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符、易編程。方案二:STC89C52是一個低電壓,高性能CMOS8位單片機,片內(nèi)含8kbytes的可反復擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器(RAM)。主要性能有:兼容MCS51指令系統(tǒng)、32個雙向I/O口、256x8bit內(nèi)部RAM、3個16位可編程定時/計數(shù)器中斷、時鐘頻率0-24MHz、2個串行中斷、可編程UART串行通道、2個外部中斷源、6個中斷源、2個讀寫中斷口線、3級加密位、低功耗空閑和掉電模式、軟件設(shè)置睡眠和喚醒功能。從單片機芯片主要性能角度出發(fā),本數(shù)字電子鐘單片機芯片選擇設(shè)計采用方案一。數(shù)碼管顯示選擇方案方案一:靜態(tài)顯示。靜態(tài)顯示,即當顯示器顯示某一字符時,相應的發(fā)光二極管恒定導通或截止。該方式每一位都需要一個8位輸出口控制。靜態(tài)顯示時較小電流能獲得較高的亮度,且字符不閃爍。但因當所需顯示的位數(shù)較多時,靜態(tài)顯示所需的I/O口數(shù)較大,造成資源的浪費。方案二:動態(tài)顯示。動態(tài)顯示,即各位數(shù)碼管輪流點亮,對于顯示器各位數(shù)碼管,每隔一段延時時間循環(huán)點亮一次。利用人的視覺暫留功能可以看到整個顯示,但須保證掃描速度足夠快,人的視覺暫留功能才可察覺不到字符閃爍。顯示器的亮度與導通電流、點亮時間及間隔時間的比例有關(guān)。調(diào)整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動態(tài)顯示節(jié)省了I/O口,降低了能耗。從節(jié)省單片機芯片I/O口和降低能耗角度出發(fā),本數(shù)字電子鐘數(shù)碼管顯示選擇設(shè)計采用方案二。數(shù)碼管驅(qū)動選擇方案方案一:上拉電阻驅(qū)動方式。數(shù)碼管段碼與接有上拉電阻的單片機芯片I/O口相連,通過編程,單片機芯片即控制段碼電平的高低。該方式經(jīng)費低,但實物制作較復雜。方案二:74LS245芯片驅(qū)動方式。數(shù)碼管段碼與74LS245芯片B口相連,74LS245芯片A口與單片機芯片I/O口,通過編程,單片機芯片即可控制段碼電平的高低。該方式實物制作簡單,增強驅(qū)動數(shù)碼管段碼能力。從實物制作簡易程度與驅(qū)動數(shù)碼管段碼能力角度出發(fā),本數(shù)字電子鐘數(shù)碼管驅(qū)動選擇設(shè)計采用方案二。硬件單元電路設(shè)計與參數(shù)計算電源電路本數(shù)字電子鐘設(shè)計所需電源電壓為直流、電壓值大小5V的電壓源。從硬件實物設(shè)計簡易程度與經(jīng)費方面考慮,用兩節(jié)電壓值大小2.5V干電池與電路電壓源引腳相連接即可達到硬件設(shè)計要求。即本數(shù)字電子鐘設(shè)計用兩節(jié)電壓值大小2.5V干電池做硬件電路電壓源。按鍵電路本數(shù)字電子鐘設(shè)計所需按鍵用于進行顯示時間的調(diào)整與設(shè)置擴展的小鍵盤。單片機芯片4個I/O口可與按鍵直接相連,通過編程,單片機芯片即可控制按鍵接口電平的高低,即按鍵的開與關(guān),以達到用按鍵進行顯示時間的調(diào)整與設(shè)置擴展的小鍵盤的設(shè)計要求。時鐘電路單片機芯片可使用內(nèi)部時鐘電路和外部時鐘電路兩種方式產(chǎn)生電路所需的時鐘脈沖,內(nèi)部時鐘電路實現(xiàn)可用石英晶體和微調(diào)電容外接即可達到,外部時鐘電路實現(xiàn)需要一個外部脈沖源引入脈沖信號以保證個單片機之間時鐘信號的同步。從硬件實現(xiàn)難易角度考慮,內(nèi)部時鐘電路的實現(xiàn)比外部時鐘電路的實現(xiàn)更簡易。既本數(shù)字電子鐘設(shè)計所需的時鐘源采用內(nèi)部時鐘電路實現(xiàn)。所用定時方式為工作方式1,石英晶振為12M,即最小定時時間為1us,最大定時時間約為65.5ms,其電路圖如下圖2-1所示。圖2-1時鐘電路圖驅(qū)動電路從實物制作簡易程度與驅(qū)動數(shù)碼管段碼能力角度出發(fā),本數(shù)字電子鐘設(shè)計采用數(shù)碼管段碼與74LS245芯片B口相連,74LS245芯片A口與單片機芯片I/O口,通過編程,單片機芯片即可控制段碼電平的高低的方式實現(xiàn)數(shù)碼管段碼控制,74LS245芯片圖如下圖3-1所示。圖3-174LS245芯片圖LED顯示電路數(shù)字電子鐘設(shè)計的顯示模塊用8個一位數(shù)碼管實現(xiàn),也可用兩個四位一體數(shù)碼管實現(xiàn)。兩種實現(xiàn)方式實現(xiàn)效果一樣。從實物制作的難易程度出,本數(shù)字電子鐘設(shè)計采用兩個四位一體數(shù)碼管實現(xiàn)。即數(shù)碼管引腳與單片機芯片和74LS245對應引腳相連接。單片機電路本數(shù)字電子鐘設(shè)計采用STC89C52單片機芯片作為中央控制器,實現(xiàn)信號的輸出、LED的顯示及相關(guān)的控制功能。軟件設(shè)計與流程圖數(shù)字電子時鐘主程序流程圖主程序流程圖如下圖圖4-1所示。圖4-1數(shù)字電子時鐘主程序流程圖中斷服務程序流程圖中斷服務程序流程圖如下圖圖4-2所示。圖4-2中斷服務程序流程圖顯示子程序流程圖顯示子程序流程圖如下圖圖4-3所示。圖4-3顯示子程序流程圖總原電路及元器件清單總原理圖最小系統(tǒng)控制原理圖如下圖圖5-1所示,數(shù)碼管原理圖如下圖圖5-2所示。圖5-1最小系統(tǒng)控制原理圖圖5-2數(shù)碼管原理圖PCB制板圖數(shù)碼管PCB圖如下圖圖5-3所示,最小系統(tǒng)控制PCB圖如下圖圖5-4所示。圖5-3數(shù)碼管PCB圖圖5-4最小系統(tǒng)PCB圖整體電路仿真圖整體電路仿真圖如下圖圖5-5所示。圖5-5整體電路仿真圖元件清單名稱數(shù)量型號芯片1片AT89S52四位一體數(shù)碼管2個共陰極按鍵5個晶振1個12M電容2個30p74LS2451片電阻2個220歐電阻1個1.5k發(fā)光二極管1個LED名稱數(shù)量型號心得體會本單片機數(shù)字電子鐘系統(tǒng)的功能基本符合顯示格式為:XX:XX:XX,即時:分:秒。時間可采用12小時制顯示或24小時制顯示,采用12小時顯示時必須在另外一個數(shù)碼管上顯示A(表示上午)或B(表示下午)。設(shè)置一個按鍵用于時間顯示方式的切換。系統(tǒng)上電后從上電時初始化顯示:12-00-00開始計時,能進行時間的調(diào)整,可暫停時間的變動,暫停時一位數(shù)碼管上顯示字母T,可按自己的要求設(shè)置擴展的小鍵盤個數(shù)設(shè)計任務的要求,經(jīng)過測試數(shù)據(jù)顯示,系統(tǒng)的可靠性已經(jīng)基本能夠達到實際電子鐘的設(shè)計要求,同時本單片機數(shù)字電子鐘系統(tǒng)具有擴展性。課程設(shè)計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)實際問題、提出實際問題、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際學習能力、動手能力的具體訓練和考察過程。在此次數(shù)字鐘設(shè)計過程中,在學習新知識的同時,把在課程中學到的理論知識運用到實際作品設(shè)計、操作中,更進一步地熟悉了單片機芯片的結(jié)構(gòu)及掌握了其工作原理和具體的使用方法與相關(guān)元器件的參數(shù)計算方法、使用方法,了解了電路的開發(fā)和制作及課程設(shè)計報告的編寫。加深了對相關(guān)理論知識及專業(yè)知識的掌握度,增強自身的動手能力,鍛煉及提高了理解問題、分析問題、解決問題的能力,更深刻的體會到了理論聯(lián)系實際的重要性,進一步掌握畫圖軟件的使用和提高相應的畫圖操作水平及技巧。參考文獻[1]沈精虎.Protel99SE基礎(chǔ)教程[J].[2]李廣弟,朱月秀,冷祖祁.單片機的硬件結(jié)構(gòu)[J].頁碼148。[3]譚丙煜.怎樣撰寫科學論文[M].2版.沈陽:遼寧人民出版社,1982:5-6.(本條為中文圖書著錄格式)[4]陳正義.單片機控制實習[D].頁碼148。致謝從課題的開始到最終的完成,本課程設(shè)計及報告論文是在指導老師的精心指導和同學的熱心幫助下順利完成的。本課程設(shè)計能順利地完成,與父母多年來一如既往的支持和關(guān)懷是分不開的,在此,向任勞任怨、含辛茹苦的父母致以衷心的感謝!此外衷心感謝在本次課程設(shè)計中指點和幫助我的指導老師與同學!感謝學院為我們提供了良好課程設(shè)計儀器設(shè)備及學習環(huán)境。程序清單#include<reg51.h>#include<intrins.h>unsignedchardatadis_digit;unsignedcharkey_s,key_v;unsignedcharcodedis_code[11]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};//0,1,2,34,5,6,7,8,9,off //共陰數(shù)碼管unsignedchardatadis_buf[8];unsignedchardatadis_index;unsignedcharhour,min,sec;unsignedcharsec100;unsignedcharflag,flag1,flag2; //falg用于時間停止和啟動標志,falg1為12小時和24小時的切換標志,falg2為12小時的上午和下午的切換標志sbitK1=P1^0; //用于時的調(diào)整sbitK2=P1^1; //用于分的調(diào)整sbitK3=P1^2; //用于秒的調(diào)整sbitK4=P1^3; //用于時間調(diào)整的開關(guān),按下一次暫停時間,再按一次時則開始計時sbitK5=P1^4; //用于24小時制和12小時制的切換bitscan_key();voidproc_key();voidinc_sec();voidinc_min();voidinc_hour();voidinc_hour1();voiddelayms(unsignedcharms);voidmain(void){P0=0xff;P2=0xff;TMOD=0x11;//定時器0,1工作模式1,16位定時方式TH1=0xd8; //使用12MHz的晶振,定時時間為:10msTL1=0xf0;TH0=0xf8; //定時時間為2ms,用于數(shù)碼管的動態(tài)掃描TL0=0x30;hour=12;min=00;sec=00;sec100=0;flag=0;flag1=0;dis_buf[0]=dis_code[hour/10];//時十位dis_buf[1]=dis_code[hour%10];//時個位dis_buf[2]=dis_code[min/10];//分十位dis_buf[3]=dis_code[min%10];//分個位dis_buf[4]=dis_code[sec/10];//秒十位dis_buf[5]=dis_code[sec%10];//秒個位 dis_buf[6]=0x00; //關(guān)閉該位數(shù)碼管dis_buf[7]=0x7f; //顯示B表示下午dis_digit=0xfe;dis_index=0;TCON=0x01; //T1:TF1TR1T0:TF0TR0定時中斷:IE1IT1IE0IT0//外部中斷0的觸發(fā)方式為下降沿觸發(fā)IE=0x8a;//使能timer0,1中斷,控制IE寄存器的格式:EA--ESET1EX1ET0EX0 //10001010TR0=1; //開定時器0TR1=1; //開定時器1key_v=0x1f; //定義為K1,K2,K3,K4,K5相應的按鍵,當沒有按下時則為,K1,K2,K3,K4,K5,都為高電平,0x1fwhile(1){if(scan_key()) //先掃描一次是否有按鍵按下{delayms(10); //延時if(scan_key()) //再次掃描一次是否有按鍵按下{key_v=key_s; //將key_s的值傳給key_vproc_key();}}}}bitscan_key(){key_s=0x00; //設(shè)置key_s先為0key_s|=K5;key_s<<=1;key_s|=K4;key_s<<=1;key_s|=K3;key_s<<=1;key_s|=K2; //K2->P1.1,若K2按下則為0,當K2按下時key_s與K2或的結(jié)果會使得key_s為0x00,未按下時K2則為1,key_s與K2或的結(jié)果會使得key_s為0x01key_s<<=1; //將key_s左移一位,key_s|=K1; //K1->P1.0,若K1按下則為0,當K1按下時key_s與K1或的結(jié)果會使得key_s為0x00或是0x02,沒有按下時則得到的結(jié)果為0x01或是0x03return(key_s^key_v); //進行邏輯異或運算,相同為0,不同為1. 已經(jīng)定義了變量:key_v=0x1f;如果兩個按鍵都沒有按下則是得到0x03,異或的結(jié)果是為0}voidproc_key(){if(K4==0) //K4是否按下 {flag++;//關(guān)閉定時器 TR1=0; //關(guān)閉定時器1 dis_buf[6]=0x76; //顯示H,用于表示設(shè)定時間的標志 } if(K5==0) {flag1++; //flag1的初始值是0,falg1為12小時和24小時的切換標志 if(flag1==1) //24小時制 {if(dis_buf[7]==0x7f) //判斷是不是下午 {hour=hour+12; dis_buf[7]=0x00; } dis_buf[7]=0x00; //關(guān)閉顯示 if(hour>23) {hour=0; } if(hour>9) dis_buf[0]=dis_code[hour/10];//時十位 else dis_buf[0]=0x00;//當小時的十位為0時不顯示 dis_buf[1]=dis_code[hour%10];//時個位 } if(flag1==2) //12小時制 {flag1=0;if(hour>12||hour==0) //判斷是不是下午,并用于處理24小時制的大于13和等于0的處理 { if(hour>12) hour=hour-12; if(hour==0) hour=12; dis_buf[7]=0x7f;//顯示下午B } else dis_buf[7]=0x77; //顯示A表示上午 if(hour>9) dis_buf[0]=dis_code[hour/10];//時十位 else dis_buf[0]=0x00;//當小時的十位為0時不顯示 dis_buf[1]=dis_code[hour%10];//時個位 } } if((key_v&0x01)==0)//K1,當只有K1按下時,則key_s為0x02,沒有按下時key_s則為0x03 {if(flag1==0) inc_hour(); if(flag1==1) inc_hour1(); } elseif((key_v&0x02)==0)//K2,當只有K2按下時,則key_s為0x01,沒有按下時key_s則為0x03 {min++; if(min>59) {min=0; } dis_buf[2]=dis_code[min/10];//分十位 dis_buf[3]=dis_code[min%10];//分個位 } elseif((key_v&0x04)==0)//K3是否按下 {sec++; if(sec>59) {sec=0; } dis_buf[4]=dis_code[sec/10];//秒十位 dis_buf[5]=dis_code[sec%10];//秒個位 } if(flag==2) {flag=0; TR1=1; dis_buf[6]=0x00; if(flag1==0) {if(flag2) dis_buf[7]=0x77; //顯示A表示上午 else dis_buf[7]=0x7f; //顯示B表示下午 } }}voidtimer0()interrupt1//定時器0中斷服務程序,用于數(shù)碼管的動態(tài)掃描//dis_index顯示索引,用于標識當前顯示的數(shù)碼管和緩沖區(qū)的偏移量//dis_digit位選通值,傳送到P0口用于選通當前數(shù)碼管的數(shù)值,如等于0xfe時,//選通P2.0口數(shù)碼管//dis_buf顯于緩沖區(qū)基地址{TH0=0xf8; //定時時間為2msTL0=0x30;P2=0xff;//先關(guān)閉所有數(shù)碼管P0=dis_buf[dis_index];//顯示代碼傳送到P0口P2=dis_digit;//dis_digit=_crol_(dis_digit,1);//位選通值左移,下次中斷時選通下一位數(shù)碼管dis_index++;//dis_index&=0x07;//8個數(shù)碼管全部掃描完一遍之后,再回到第一個開始下一次掃描,限定了只掃描8位,當為超過8位時則開始清零.} //0x07=00000111dis_index在一個個加一時,則為加到8次。//定時器1的定時時間為10msvoidtimer1()interrupt3{TH1=0xd8;TL1=0xf0;sec100++;if(sec100>=100)//定時1秒的時間{sec100=0;inc_sec();}}voidinc_sec(){sec++;if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育教師招聘協(xié)議模板
- 基礎(chǔ)教育建設(shè)合同范本
- 家電制造保溫板安裝協(xié)議
- 玻璃制造租賃合同
- 滑雪場木地板安裝合同
- 城市屋頂花園廊架施工合同
- 地鐵建設(shè)物探施工合同
- 幕墻制作合同模板
- 生日宴席合同范例
- 脫貧戶信息保密協(xié)議書
- 法院特別委托書授權(quán)模板
- 品質(zhì)年度總結(jié)及來年計劃
- 學生體質(zhì)健康存在的主要問題及改進措施
- 2024年執(zhí)業(yè)藥師資格繼續(xù)教育定期考試題庫(附含答案)
- 安徽工程大學《自然語言處理及應用》2022-2023學年第一學期期末試卷
- 2024年室內(nèi)設(shè)計協(xié)議書
- 中儲糧西安分公司招聘真題
- 大學人工智能期末考試題庫
- 2024土方開挖工程合同范本
- 建筑幕墻工程檢測知識考試題庫500題(含答案)
- 鋼棚鋼結(jié)構(gòu)施工方案
評論
0/150
提交評論