基于51單片機的電子臺歷設(shè)計.docx_第1頁
基于51單片機的電子臺歷設(shè)計.docx_第2頁
基于51單片機的電子臺歷設(shè)計.docx_第3頁
基于51單片機的電子臺歷設(shè)計.docx_第4頁
基于51單片機的電子臺歷設(shè)計.docx_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于51單片機的電子臺歷課程設(shè)計摘要本設(shè)計是一個基于單片機AT89S51的簡易電子臺歷,附有復(fù)位電路,時鐘電路,鍵盤電路。復(fù)位電路是單片機的初始化操作,除了正常的初始化外,當(dāng)程序運行出錯后或者操作失誤使系統(tǒng)進(jìn)入死鎖狀態(tài)時,為擺脫困境,也需要能夠通過獨立式鍵盤電路進(jìn)行啟動,調(diào)整,再運行,時鐘電路采用12MHZ的晶振,作為系統(tǒng)的時鐘源,具有較高的準(zhǔn)確性。在上電或者復(fù)位時數(shù)碼管顯示年,月,日,時,分,秒。A鍵用于模式調(diào)整,形成一個循環(huán),按一次鍵,即對秒調(diào)整。再按一次對分調(diào)整,如此循環(huán)。B鍵用于按下A鍵之后進(jìn)行加1的操作,按一次加1,C鍵用于減1的操作,按一次減1。能夠完成從00時00分00秒到23時59分59秒的循環(huán)計時,過23時59分59秒,日期增加1,當(dāng)日期達(dá)到1個月后,月進(jìn)位1,滿12個月后,年進(jìn)位1,年的首2位保持不變,始終為20。單片機并行口的電子臺歷的設(shè)計在AT89S51的P0口和P2口外接由14個LED數(shù)碼管(LED7LED0)構(gòu)成的顯示器,用P0口作LED的段碼輸出口(P0.0P0.7對應(yīng)于LED的adp),P2.7P2.0作LED的段碼年月日的位控輸出線(P2.7P2.0對應(yīng)于LED7LED0),P1.7P1.0對應(yīng)時間的數(shù)碼管,P3口外接三個按鍵A、B、C(對應(yīng)于P3.0P3.2)。數(shù)碼管為4位一體的共陽極的數(shù)碼管,數(shù)碼管采用動態(tài)掃描法,從右往左依次點亮,顯示數(shù)字。關(guān)鍵字:單片機、電子臺歷、數(shù)碼管ABSTRACTThe design is a single electrical calendar basing SCMC of AT89S51. There are restoration circuit, clock circuit and keyboard circuit. Restoration circuit is used as an original operation, besides normal start-up, when the program runs mistakenly and system loses its order ,in order to get rid of the trouble, it also need to restart ,adjust and run through keyboard. Clock circuit uses 12MHZ Crystal as the source of the calendar ,with a high accuracy.When the system starts, the display shows year, month ,day, week and time the A keyboard is used to start and adjust, the B keyboard is used to add 1,when press it ,the date will add 1, the C keyboard is used to minus 1, when press it , the date will minus 1.It can make a cycle from 00:00 to 23:59:59.The display includes 14 LEDS, the SCMC joins the display in the P1, P0 ports and P2 ports, the SCMC joins the keyboards in the P3 scan, lighting the LEDS from right to left , showing the numbers.Keywords:SCMC,CalendarLED 目 錄第1章 前言2第2章 電子臺歷方案介紹及結(jié)構(gòu)圖32.1 方案1 介紹32.2 方案2介紹42.2.1電子臺歷整機電路原理圖42.3 電子臺歷工作原理52.3.1 實現(xiàn)時鐘計時的基本方法52.3.2 電子臺歷的顯示52.3.3 電子臺歷的啟、停及時間調(diào)整5第3章 硬件電路單元電路的設(shè)計53.1 電源電路53.2 時鐘電路63.3 復(fù)位電路63.4 鍵盤/顯示接口電路6第4章 軟件系統(tǒng)的設(shè)計7結(jié)論10參考文獻(xiàn)11附錄1 電子臺歷整機原理圖11附錄2 PCB原理圖12第1章 前言在修完本學(xué)期的課程,經(jīng)歷了單片機課程設(shè)計后,為了更好地檢測自己的水平,進(jìn)一步鞏固知識,增強應(yīng)用能力,進(jìn)行了此次課程設(shè)計,我們選定的課題為基于單片機的電子臺歷的設(shè)計。本次設(shè)計的目的在于利用所學(xué)知識和電子領(lǐng)域的生產(chǎn)實踐相互結(jié)合起來,認(rèn)識到產(chǎn)品的原理,硬件制作流程,進(jìn)一步熟練語言編程,提高畫圖水平,增添我們對學(xué)習(xí)單片機的興趣,現(xiàn)在進(jìn)行基于單片機的電子臺歷的畢業(yè)設(shè)計,無疑是很有現(xiàn)實意義和指導(dǎo)意義的。電子臺歷就是基于單片機發(fā)展起來的一種儀表,已經(jīng)廣泛使用在各個公共場合與家庭中,電子臺歷的品種眾多,前面板形式有很多種,有的除了顯示日期,時間,還安裝了傳感器,能夠顯示溫度等,還有的具有整點報時功能,用微處理器控制,微處理器的品種也很多,此次設(shè)計采用的是89S51,數(shù)字顯示可以用液晶顯示器,也可以用普通數(shù)碼管,數(shù)碼管也有一位的,四位一體等之分,還分共陰極和共陽極。大家都知道,數(shù)碼管比液晶顯示器的價錢便宜,所以我們大多見到得是數(shù)碼管顯示產(chǎn)品。數(shù)碼管不能夠顯示漢字,只能夠顯示數(shù)字,簡單的字母,所以采用分開顯示的辦法,把漢字刻在顯示數(shù)字的數(shù)碼管前。有時甚至在顯示星期時,采用7個發(fā)光二極管,對應(yīng)星期,只需來回點亮數(shù)碼管就可以達(dá)到目的,更加有利于節(jié)省成本。目前用于電子產(chǎn)品設(shè)計調(diào)試的工具有很多,有制圖用的Protel軟件,Protel 設(shè)計系統(tǒng)是第一套引入Windows環(huán)境的EDA開發(fā)工具,它具有原理圖設(shè)計等功能。C語言編譯器用到Keil uVision3軟件,Keil uVision3集成開發(fā)環(huán)境IDE是一個基于Windows的軟件開發(fā)平臺,有一個功能強大的編輯器,項目管理器和制作工具。Keil uVision3支持所有的Keil 工具,包括C編譯器,宏匯編器,鏈接器/定位器和目標(biāo)文件至HEX格式的轉(zhuǎn)換器。在本次設(shè)計中,用到了這3個專業(yè)軟件。第2章 電子臺歷方案介紹及結(jié)構(gòu)圖2.1 方案1 介紹方案1:基于Intel 8155的電子臺歷的設(shè)計利用Intel 8155芯片為AT89S51擴展并行口,通過Intel 8155外接由八個LED數(shù)碼管(LED7LED0)構(gòu)成的顯示器和由3個按鍵A、B、C構(gòu)成的鍵盤。該系統(tǒng)是以單片機為核心,通過外接鍵盤,顯示電路來實現(xiàn)的。由于外接電路和顯示電路需占用單片機的口線,而單片機的資源是有限的,為在充分利用單片機資源的同時,還能擴展其資源,使設(shè)計的整體電路應(yīng)用范圍更廣泛,因此,可以選擇能擴展單片機口線的芯片為其擴展硬件資源,又由于Intel 8155在擴展口線的同時,還能為單片機擴展定時器/計數(shù)器和RAM資源空間。該方案是采用Intel 8155芯片對單片機進(jìn)行擴展,其顯示部分就與Intel 8155接口,數(shù)碼管的段控由PA口控制,位控由PB口控制。設(shè)計方框圖如下圖2.1所示:AT89S51復(fù)位電路顯示器驅(qū)動電路8155時鐘電路 鍵盤電源電路 圖2.1 電子臺歷整機電路框圖2.2 方案2介紹方案2:基于單片機并行口的電子臺歷的設(shè)計電子臺歷整機電路框圖如下圖2.2。整個電路包括復(fù)位電路、時鐘電路、電源電路、鍵盤/顯示電路,各電路通過控制器AT89S51使其有機的結(jié)合起來。顯示器驅(qū)動電路AT89S51復(fù)位電路時鐘電路鍵盤電源電路圖2.2 電子臺歷整機電路框圖本次設(shè)計采用方案2,可以減少成本。在AT89S51的P0口,P1口和P2口外接由16個LED數(shù)碼管(LED15LED0)構(gòu)成的顯示器,用P0口作LED的段碼輸出口(P0.0P0.7)對應(yīng)于LED的adp),P2.7P2.0,P1.0P1.7作LED的位控輸出線,P3口外接3個按鍵A、B、C(對應(yīng)于P3.0P3.2)。本次電子臺歷設(shè)計出來使用單片機工作所必須的硬件資源(如連接晶振的引腳XTAL1和XTAL2,復(fù)位引腳RESET)外,對單片機的硬件資源還做了具體的安排。(1)P0口:P0.0P0.7作為數(shù)碼管顯示器的段控碼驅(qū)動74LS244的輸入端。(2)P3口:P3.0P3.2作為A、B、C鍵輸入口。(3)P1,P2口:P1.0P1.7,P2.0P2.7分別控制數(shù)碼管LED7LED0的位控碼驅(qū)動74LS244的輸入端。(4)定時/計數(shù)器使用定時器0工作方式2實現(xiàn)電子鐘的運行。方式2是8位可自動重新裝載初值的T/C,T/C是16位的,計數(shù)寄存器由TH高8位和TL低8位構(gòu)成。在特殊功能寄存器(SFR)中,對應(yīng) T/C0為TH0和TL0定時器和計數(shù)器的初始值通過TH0,TL0設(shè)置。滿計數(shù)值為2t,方式2中TH和TL被當(dāng)作為兩個8位計數(shù)器。計數(shù)過程中,TH寄存為初值并保持不變,由TL進(jìn)行8位計數(shù)。計數(shù)溢出是,除產(chǎn)生溢出中斷請求外,還自動將TH中初值重裝到TL,即重新裝載。(5)專用寄存器定時器控制寄存器TCON,通過設(shè)置該寄存器TR0位的狀態(tài)來控制地定時/計數(shù)器0的啟動/停止;中斷允許寄存器IE,通過設(shè)置該寄存器EA/ET0位的狀態(tài)來設(shè)置定時/計數(shù)器0中斷允許/禁止;定時器/計數(shù)器工作方式寄存器TMOD,設(shè)置定時/計數(shù)器0的工作方式。2.2.1電子臺歷整機電路原理圖電子臺歷的整機電路原理圖見附錄1。2.3 電子臺歷工作原理2.3.1 實現(xiàn)時鐘計時的基本方法利用單片機的可編程定時/計數(shù)器、中斷系統(tǒng)來實現(xiàn)時鐘計數(shù)。(1)計數(shù)初值計:將定時器設(shè)為工作方式2,定時時間為1000s,則計數(shù)溢出1000次即得時鐘計時最小單位秒,而1000次計數(shù)可用軟件方法實現(xiàn)。假設(shè)使用T/C0,方式2,1000s定時,fosc=12MHZ。則初值X滿足=28-1000/(12/12)=FD17H。(2)采用中斷方式進(jìn)行溢出次數(shù)累計,計滿1000次為秒計時(1秒);(3)從秒到分和從分到時的計時是通過累加器和數(shù)值進(jìn)行比較實現(xiàn)的。2.3.2 電子臺歷的顯示日期在8位數(shù)碼管上顯示,在上電或者復(fù)位后顯示,因此,在內(nèi)部RAM中設(shè)置顯示緩沖區(qū)共8個單元。電子臺歷的時鐘時間在6位數(shù)碼管上進(jìn)行顯示,因此,在內(nèi)部RAM中設(shè)置顯示緩沖區(qū)共6個單元。2.3.3 電子臺歷的啟、停及時間調(diào)整電子臺歷設(shè)置3個按鍵通過程序控制來完成電子臺歷的啟、停及時間調(diào)整。其功能分別如下:A鍵控制電子臺歷的調(diào)整;B鍵調(diào)加1;C鍵調(diào)減1。當(dāng)?shù)谝淮伟聪翧鍵進(jìn)入對秒的調(diào)整,如果按下B鍵(或者C鍵)將進(jìn)行加1(或者減1)的操作,如果不按B(或者C),再按一次A鍵,即進(jìn)入對分的調(diào)整,再按一次,對時的調(diào)整,依次類推。第3章 硬件電路單元電路的設(shè)計3.1 電源電路電源電路為整個電路提供電源,是電路設(shè)計不可缺少的一部分。電源電路的穩(wěn)定性決定了整個電路的可靠程度。在本設(shè)計中,整個電路需要+5V電源。電源電路是把市電交流220V經(jīng)過變壓器降壓為交流9V,再通過二極管整流、電容濾波、三端集成穩(wěn)壓器7805穩(wěn)壓后輸出+5V直流電源。3.2 時鐘電路時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,單片機本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時序進(jìn)行工作。時鐘電路是單片機心臟。典型值有6MHZ和12MHZ,單片機內(nèi)部有一個高增益反相放大器,XTAL1和XTAL2分別為其輸入與輸出端,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器,產(chǎn)生時鐘送至單片機內(nèi)部的各個部件。時鐘電路產(chǎn)生的震蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻后,才能成為單片機的時鐘脈沖信號。3.3 復(fù)位電路復(fù)位是單片機的初始化操作,其主要功能是把PC初始化為00H,使單片機從00H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)程序運行出錯或者操作失誤使系統(tǒng)處于死鎖狀態(tài)時,為恢復(fù)計算機正常工作,也需要按復(fù)位鍵來重新啟動。單片機在啟動運行時需要復(fù)位,使CPU和其它部件處于一種確定的安全可靠的初始狀態(tài),并從這個狀態(tài)開始工作。復(fù)位引腳RST,它是史密特觸發(fā)輸入,當(dāng)振蕩器起振后,在引腳上出現(xiàn)2個機器周期以上的高電平,使機器復(fù)位,RST為低電平后,退出復(fù)位,CPU從初始狀態(tài)開始工作。復(fù)位后狀態(tài):P0P3:0FFH; SP:07H; 此外其它16個寄存器除了SBUF外都為:00H。根據(jù)MCS-51系列單片機內(nèi)部功能,復(fù)位電路有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。本設(shè)計采用前者,即是通過外部復(fù)位電路的電容的充電來實現(xiàn)的。而后者是通過時復(fù)位端經(jīng)電阻與Vcc電源接通來實現(xiàn)的。MCS-51單片機上電瞬間RST引腳獲得高電平,隨著電容C充電,RST的電平逐漸降低,高電平只要能保持足夠時間(2個機器周期),單片機就可以復(fù)位。本設(shè)計采用的晶振頻率為12MHZ,因此,電路設(shè)計如下,選C為22F、R為2K。復(fù)位信號持續(xù)時間應(yīng)超過2s才能完成復(fù)位操作。3.4 鍵盤/顯示接口電路鍵盤電路如圖3.4所示。本設(shè)計中有3個按鍵故采用獨立式按鍵,以單片機P1,0P1.2口線作為鍵盤接口,并通過上拉電阻接到Vcc。當(dāng)有鍵按下時,P1口的相應(yīng)口線為低電平,無鍵按下時為高電平。鍵盤的每一個鍵就是一個機械開關(guān),鍵按下時,開關(guān)閉合,鍵松開時,開關(guān)斷開。但是由于機械開關(guān)的撞擊作用,開關(guān)的動作會產(chǎn)生抖動,約510MS。為保證對按鍵僅溢出處理,應(yīng)消除抖動的影響,有幾種方法:濾波,利用電容的濾波作用,按鍵按下后,輸出端為低電平;雙穩(wěn)態(tài)消抖。獨立式按鍵是直接用I/O口線構(gòu)成的單個按鍵電路,其特點是每個按鍵單獨用一根I/O口線,每個按鍵的工作不會影響其他I/O口線的狀態(tài)。此電路圖采用的是低電平有效,并且上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。按鍵的穩(wěn)定閉合期,一般為510MS??梢杂刹僮魅藛T的按鍵動作確定,一般為十分之幾秒至幾秒時間,為保證CPU對鍵的一次閉合,僅作一次鍵輸入處理,必須要消除抖動對電路的影響。通常去抖動影響的措施有硬、軟兩種。本設(shè)計采用的就是軟件去抖動法。顯示電路為電子臺歷提供顯示功能。靜態(tài)顯示和動態(tài)顯示:靜態(tài)就是需要顯示的字符的各段連續(xù)通過電流,因而所顯示的字段連續(xù)發(fā)光。動態(tài)顯示就是所需要顯示字段斷續(xù)通過電流,因而其發(fā)光也是不連續(xù)的,在多個字符需要顯示時,可以輪流給每一個字符通電流,逐次把所需要顯示的字符顯示出來,在每點一個顯示器后,必須持續(xù)通電一段時間,使之發(fā)光穩(wěn)定,然后再點亮另一個顯示器,如此循環(huán)掃描所有的顯示器,由于巡回顯示速度較快,每秒可重復(fù)多次(為了不產(chǎn)生閃爍,可每秒掃描20次)。雖然在同一時間只有一個顯示器通電,但由于視覺暫停和發(fā)光二極管的余輝效應(yīng),可以認(rèn)為每個顯示器都在穩(wěn)定地顯示,這種巡回掃描顯示器的操作要靠程序控制,動態(tài)顯示的亮度隨電流的平均值的增大而增強,其亮度大體上等于通過同樣大小的直流電流的靜態(tài)顯示器的亮度,時間為6位顯示。數(shù)碼管顯示為單片機負(fù)載,為提高顯示的可靠性需對數(shù)碼管進(jìn)行驅(qū)動。第4章 軟件系統(tǒng)的設(shè)計主程序:10#includeunsignedcharhour=16,min=5,sec=50;year=10,mon=5,day=5,date=3;unsigned char timer0_tick;#define timer0_count 0xf1b8 /* 65536-12000000/(12*200) */Unsignedchar code_seven=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;Unsignedchar selec_led=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;Unsignedchar data1=31,29,31,30,31,30,31,31,30,31,30,31;Unsignedchar data2=31,28,31,30,31,30,31,31,30,31,30,31;/*-*/void timer0_isr() interrupt 1 TR0=0; TL0=timer0_count & 0x00ff; TH0=timer0_count8; TR0=1; timer0_tick+; if(timer0_tick=200) timer0_tick=0;sec+;if(sec=60)sec=0;min+;if(min=60)min=0;hour+;if(hour=24) sec=0;min=0;hour=0;day+;date+; if(date7) date=1;if(year%4=0&year%100!=0)|year%400=0) if(daydata1mon-1) day=1;mon+; if(mon12) mon=1; year+;else if(daydata2mon-1)day=1;mon+; if(mon12) mon=1; year+; /*-*/void delay() unsigned char j,k;for(j=1;j10;j+)for(k=1;k8; PT0=1; ET0=1; TR0=1; EA=1;void delay_ms() unsigned char j,k; for(j=1;j40;j+) for(k=1;kdata1mon-1)day=1;mon+; if(mon12) mon=1;year+;else if(daydata2mon-1) day=1; mon+; if(mon12) mon=1; year+; while(P1_0=0) display();if(P1_1=0)/調(diào)整分+1 delay_ms();if(P1_1=0)mon+;if(mon12)mon=1; year+;if(mon12) hour=0;while(P1_1=0) display();if(P1_2=0)/調(diào)整時+1 delay_ms(); if(P1_2=0) year+;while(P1_2=0) display(); if(P1_3=0) delay_ms(); if(P1_3=0); P1_4=P1_4;while(P1_3=0) display(); /*/void keyscan1()if(P1_0=0) /調(diào)整秒+1delay_ms();if(P1_0=0)sec+; if(sec=0) sec=0;min+; while(P1_0=0) display1();if(P1_1=0)/調(diào)整分+1 delay_ms();if(P1_1=0)min+;if(min=60)min=0;hour+;while(P1_1=0) display1();if(P1_2=0)/調(diào)整時+1 delay_ms(); if(P1_2=0) hour+;if(hour=24) sec=0; min=0;hour=0; day+; while(P1_2=0) disp

溫馨提示

  • 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

提交評論