版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
-目錄TOC\o"1-3"\u摘要 IABSTRACT II第1章緒論 11.1國內(nèi)外研究現(xiàn)狀及課題意義 11.1.1課題意義 11.1.2國內(nèi)外研究現(xiàn)狀 11.2主要研究的內(nèi)容 41.3方案論證 41.3.1傳感電路部分 41.3.2執(zhí)行電路部分 5第2章總體設(shè)計 62.1設(shè)計要求 62.2設(shè)計思路 62.3系統(tǒng)框圖 7第3章硬件設(shè)計 83.1單片機概述 83.1.1單片機的簡介 83.1.2單片機的特點 93.2單片機的選型 93.2.1AT89C51的簡介 103.2.2AT89C51特性概述 113.2.3單片機的中斷系統(tǒng) 113.2.4引腳說明 113.2.5時鐘電路 153.2.6存儲器系統(tǒng) 153.3時鐘電路 183.4復(fù)位電路 193.4.1復(fù)位方式 193.4.2手動按鈕復(fù)位 193.4.3上電復(fù)位 203.5LM324 213.5.1LM324簡介 213.5.2LM324的特點 223.674HC573簡介 223.7光敏電阻簡介 243.8按鍵電路 253.9顯示電路 263.9.1顯示方式選擇 263.9.2LED的驅(qū)動和顯示 273.10電源電路 283.11光控電路 283.12路燈控制電路 29第4章軟件設(shè)計 304.1主程序 304.2計時程序 304.3中斷程序 344.4按鍵程序 354.5程序清單 36第5章系統(tǒng)調(diào)試 485.1結(jié)果分析 485.2系統(tǒng)調(diào)試 485.2.1對每個子程序進(jìn)行調(diào)試 485.2.2總的程序調(diào)試 48第6章結(jié)論 50參考文獻(xiàn) 51附錄A外文參考及中文翻譯 53附錄B系統(tǒng)原理圖 71致謝 72第1章緒論1.1國內(nèi)外研究現(xiàn)狀及課題意義1.1.1課題意義近年來,隨著我國經(jīng)濟改革的深入發(fā)展和信息化時代的深入,各級政府對城市整體形象工程建設(shè)備受重視,他們通過各種方式來開展城市化建設(shè)。城市亮化隨之也被政府重視,既而大量的資金投入建設(shè)與改造中,是我們的城市變得燈火輝煌的同時,諸多問題隨之而來:我國目前大部分城市采用全夜燈方式照明,可是到了后半夜行人稀少,浪費太大;所以,有些地方采用前半夜全亮,而后半夜全滅的方式,這種方式雖然節(jié)約電費支出,但是不利于社會治安,容易引發(fā)交通事故。而且,我國大多數(shù)地區(qū)的路燈關(guān)開燈都是采用人工控制或者定時控制,這樣也有許多的不利之處;若采用人工控制,則路燈開關(guān)存在著一定的不確定性,同時也占用了一定的人力資源;定時控制則存在著夏冬季白黑晝時間不同的情況,有的天還沒黑路燈就開,天還沒亮路燈就滅的情況,影響人們的日常生活。高效LED照明系統(tǒng)具有省電、輕巧、壽命長、高耐久性等特征,近年來已經(jīng)越來越多應(yīng)用于路燈照明系統(tǒng),其趨勢是取代目前廣泛采用的高壓汞燈的路燈照明。明顯地提高了路燈的用電效率,延長了路燈的使用壽命?,F(xiàn)階段,城市路燈照明系統(tǒng)存在的燈光控制方法和管理手段落后,所用燈具科技含量低等問題。為了解決這些缺點與不足,為此,提出了路燈智能化控制,采用高效LED路燈光源,以單片機作為控制中心,利用傳感器模塊、光控路燈模塊來實現(xiàn)。1.1.2國內(nèi)外研究現(xiàn)狀隨著技術(shù)發(fā)展和人們對生活質(zhì)量要求的提高,對城市公共照明系統(tǒng)也提出了新的要求。其發(fā)展趨勢可以體現(xiàn)在以下幾個方面,即:精確化控制、多場景控制、網(wǎng)絡(luò)化控制、節(jié)能與快速反應(yīng)。綠色照明是當(dāng)今和未來照明領(lǐng)域的重要發(fā)展趨勢,提高城市照明系統(tǒng)的實時監(jiān)控,提高城市照明維護(hù)響應(yīng)速度是現(xiàn)代技術(shù)發(fā)展的必然結(jié)果。城市照明監(jiān)控技術(shù)在我國已有將近三十年的發(fā)展歷史了,從過去簡單的有線載波監(jiān)控和無線監(jiān)控技術(shù)發(fā)展到今天的網(wǎng)絡(luò)通信技術(shù),城市照明監(jiān)控的理念正在發(fā)生變化。近年來,隨著科技的不斷發(fā)展,各種路燈控制器也被不斷的研究出來。其中,美國和日本主要集中在研究緊湊型熒光燈和鎮(zhèn)流器熒光燈兩個方面。而我國目前的市場上有多種路燈節(jié)能控制產(chǎn)品,能達(dá)到一定的節(jié)能效果,但就功能和效果上還不能盡如人意,主要有以下幾種情況:第一種,采用自耦變壓器及磁飽和電抗器的降壓技術(shù)。其不足是由于反應(yīng)速度較慢,用電高峰時電壓降到非穩(wěn)定區(qū)容易造成燈光閃滅,不能自動調(diào)節(jié),同時如果電壓突然升高,則會對燈具造成損壞,相對來說穩(wěn)壓效果較差;第二種是采用電子器件構(gòu)件的可控硅式設(shè)備。該設(shè)備主要采取簡單的相控技術(shù),不足之處是元器件較容易發(fā)熱損壞。而為了更好的達(dá)到控制的目的,現(xiàn)在國內(nèi)外都開始采用智能控制方式,如光控、聲控、時空等,國外甚至開始采用太陽能供能光控方式來控制路燈,基本可以達(dá)到完全自給自足的效果。本系統(tǒng)采用的路燈是LED燈。眾所周知,LED是目前最為節(jié)能的發(fā)光元件,通過采用LED發(fā)光可以節(jié)省大量的電能,并且LED燈發(fā)光柔和,亮度適中,對環(huán)境無污染,已經(jīng)廣泛的應(yīng)用于各種照明場合。因此,智能光控節(jié)能路燈必將在未來得到廣泛的應(yīng)用。目前LED路燈的配光技術(shù)已經(jīng)有了很大發(fā)展,有些廠家已經(jīng)開發(fā)出良好的二次配光系統(tǒng),而不再是單純依靠光源排列來配光,但綜合看,配光還不能做到完全合理,有些在道路內(nèi)側(cè)的配光較亮,均勻度也能滿足要求,但人行道側(cè)環(huán)境光的亮度明顯不足,SR值明顯不符合要求,還是廠家設(shè)計人員對道路照明標(biāo)準(zhǔn)的要求理解不夠。LED路燈的色溫問題:目前大功率LED路燈基本上都是采用5000K—6000K色溫的白光,作為道路照明光源,在視覺上過分陰冷甚至陰森,同時遠(yuǎn)視時眼睛的觀察能力會下降,在這方面的一些研究中證明,低于3000K的黃光或暖白光是比較適合道路照明的。高壓鈉燈的相關(guān)色溫(Tcp)為2100K左右,屬于暖色溫,其顯色指數(shù)(Ra)只有23—25,顯色性低;而LED路燈現(xiàn)在使用的色溫多大于5300K,屬于冷色溫,較好的產(chǎn)品,其Ra可達(dá)70—80,顯色性好。作為機動車行駛的快速通道與主干道,偏黃色光的鈉燈,對看清前方90—160m左右距離路面狀況,效果比白色光略優(yōu),特別是在有霧、多塵的空氣條件下,鈉燈較有優(yōu)勢,相對的LED路燈射程短,在較高的高度下工作,燈光就顯得很暗。對于人行道、商業(yè)步行街、居住小區(qū)等道路,LED的顯色性優(yōu)于鈉燈,分辨人的狀況更加清晰,較有優(yōu)勢。LED路燈的壽命:使用壽命應(yīng)立足于整個燈的壽命。高壓鈉燈稱標(biāo)準(zhǔn)壽命目前已超過2萬小時,實際應(yīng)用3年左右,節(jié)能型電感鎮(zhèn)流器不會低于20度,燈具也是如此。LED路燈標(biāo)稱使用壽命是5萬小時以上,這是芯片的理想壽命,芯片的封裝、燈具散熱等因素都有可能光衰減,還有驅(qū)動電路(以電子元器件為主)的壽命顯然也不能達(dá)到5萬小時。美國能源之星制訂的要求,分為不低于35000h和25000h兩檔,主要是LED芯片壽命很長,卻與封裝后的溫度,散熱等諸多因素有關(guān),另外還有驅(qū)動電路裝置的電子元器件壽命問題。LED路燈的維護(hù):對于光源的維護(hù),高壓鈉燈若直接更換光源電器,成本較高。而對于LED路燈,現(xiàn)在很多大功率LED燈珠內(nèi)部集成了齊納二極管,單顆LED燈珠損壞不會影響整體燈具的亮度,不需要更換,但是要整個光源更換,現(xiàn)場的維護(hù)就無法進(jìn)行了。一旦出現(xiàn)整體故障時,只能整個燈具進(jìn)行替換維護(hù),這對使用單位來說是很不方便的,還有待今后解決。LED路燈的統(tǒng)一標(biāo)準(zhǔn):LED路燈在產(chǎn)品規(guī)格方面缺少統(tǒng)一的技術(shù)標(biāo)準(zhǔn),目前還沒有統(tǒng)一的LED路燈生產(chǎn)技術(shù)標(biāo)準(zhǔn),每個廠家都按自己的標(biāo)準(zhǔn)生產(chǎn)自己的產(chǎn)品,彼此之間是很難通用的。而高壓鈉燈由于技術(shù)標(biāo)準(zhǔn)的統(tǒng)一,燈具、光源、電器方面通用性較強,不同廠家之間的產(chǎn)品是可以互用的,從維護(hù)角度考慮,這是很重要的,而維護(hù)對于路燈管理單位來說則又是重中之重,只有這樣才可以及時對熄滅路燈進(jìn)行維護(hù),保證高的亮燈率,同時大大降低維護(hù)成本。LED路燈還沒有標(biāo)準(zhǔn)可循,對訂購、使用、維護(hù)都不利。本設(shè)計是采用MSC-51系列單片機AT89C51和相關(guān)的光電檢測設(shè)備來設(shè)計智能光控路燈控制器,實現(xiàn)了能根據(jù)實際光線條件通過8051芯片的P1口控制路燈開關(guān)的功能。照明系統(tǒng)能夠根據(jù)不同區(qū)域的不同功能需求,在每天不同時段、不同自然光照度或者不同交通流量情況下,按照特定的設(shè)置,實現(xiàn)對道路照明的動態(tài)智能化管理,即TPO管理(TIME時間/PLACE地點/OCCASION場合)。智能化道路照明控制系統(tǒng),通過綜合考慮和分析與道路照明密切相關(guān)的時間、路段、環(huán)境照度和交通流量等因素的場景控制方法,在微機中按照預(yù)設(shè)的控制策略,對道路照明進(jìn)行動態(tài)智能化管理,控制路燈在不同情況下工作在不同狀態(tài)實現(xiàn)多樣化的道路照明場景,從而在提高照明質(zhì)量的同時獲得最佳的節(jié)簡單的相控技術(shù),不足之處是元器件較容易發(fā)熱損壞。而為了更好的達(dá)到控制的目的,現(xiàn)在國內(nèi)外都開始采用智能控制方式,如光控、聲控、時控等,國外甚至開始采用太陽能供能光控能效果。隨著社會文明的不斷發(fā)展,城市照明已不僅局限于街道的照明,而且發(fā)展成了了城市景觀等裝飾性照明的綜合市政工程。社會對亮燈率、開關(guān)燈的準(zhǔn)確率、故障檢測的實時性和維修的及時性要求不斷提高,利用51系列單片機可編程控制八位邏輯I/O端口實現(xiàn)路燈的智能化,達(dá)到節(jié)能、自動控制的目的,避免了傳統(tǒng)電路對能源的浪費,且路燈的自動控制更方便了工作人員的管理。本系統(tǒng)實用性強、操作簡單?,F(xiàn)在許多生產(chǎn)廠家大功率LED的熱沉散熱殼體應(yīng)用基本采用不同的合金鋁材料,其導(dǎo)熱系數(shù)不一,一些材料的散熱速率難以滿足LED工作條件。不可忽略的鋁基板及導(dǎo)熱硅膠,硅脂材料的導(dǎo)熱環(huán)節(jié),使用材料的實際壽命質(zhì)量,將直接影響LED的工作散熱條件。如何減少中間環(huán)節(jié),直接與熱沉散熱近距離接觸將熱量快速達(dá)到平衡的有效散熱,是現(xiàn)今高質(zhì)量的LED燈具產(chǎn)品開發(fā)需考慮的方向。從對比上看,最好的散熱材料也并不是鋁材。銅和鋁的對比中形成了一種新型的工藝——銅鋁結(jié)合。所謂的銅鋁結(jié)合就是把銅和鋁用一定的工藝完美的結(jié)合到一塊,讓銅快速的把熱量傳給鋁,再由大面積的鋁把熱量散去,這不但增充了鋁的導(dǎo)熱不及銅,還彌補了銅的散熱不如鋁,有機的結(jié)合從而達(dá)到急速傳熱快速散熱的效果。多篇文章中都闡述了散熱是靠面積而不是看體積的大小,許多企業(yè)都了解了個中道理,殼體采用多層翅片散熱,但對熱沉散熱殼體的翅片忽略了防塵和積塵,日積月累將會影響殼體的散熱效果。應(yīng)從在自然條件下規(guī)避積塵的最小化,不同方向的風(fēng)和雨的自然沖刷可易性和清除灰塵的粘敷性。保證熱沉殼體的散熱效果不受惡劣環(huán)境的影響,散熱通道的暢通,做到真正的長壽命。大家共同來探討一個設(shè)計方式:散熱是靠面積的道理顯而易見,是否可以將散熱面做成柱狀或多面形錐體。作為解決辦法,導(dǎo)熱介質(zhì)就應(yīng)運而生了,它的作用就是填充兩個接觸表面之間大大小小的空隙,增大發(fā)熱源與散熱片的接觸面積。導(dǎo)熱硅脂是我們最常見的導(dǎo)熱介質(zhì)。導(dǎo)熱硅脂是用來填充鋁基板與散熱片之間的空隙的材料的一種,這種材料又稱之為熱界面材料。其作用是用來向散熱片傳導(dǎo)鋁基板散發(fā)出來的熱量,使鋁基板溫度保持在一個可以穩(wěn)定工作的水平,防止鋁基板因為散熱不良而損毀,并延長使用壽命。有關(guān)人士正研究在熱沉材料上進(jìn)行特殊的陶瓷化處理直接安裝線路,經(jīng)過這樣的優(yōu)化后將會根本解決散熱的導(dǎo)熱環(huán)節(jié)。1.2主要研究的內(nèi)容本課題主要以模擬路燈控制系統(tǒng)為背景,采用高效LED路燈光源,以AT89C51單片機作為控制中心,利用傳感器模塊、光控路燈模塊、恒流源模塊等來實現(xiàn)。根據(jù)環(huán)境、交通等因素,單片機采用光敏電阻或光電開關(guān)的信號控制路燈的亮滅,具有自動檢查故障報警等功能;采用切換多種模式設(shè)定并實現(xiàn)PWM調(diào)光功能,實現(xiàn)了光電控制、時間控制、交通情況檢測、故障自動檢測與報警功能,節(jié)省了電力能源和人力資源。
設(shè)計主要包括硬件和軟件的設(shè)計,硬件設(shè)計可分為傳感器模塊和光控路燈模塊,包括:調(diào)光方式設(shè)計、時鐘芯片的選擇、液晶顯示器的選擇。軟件的設(shè)計包括:畫出程序框圖、主程序設(shè)計、鍵盤和顯示軟件設(shè)計、各功能程序設(shè)計及清單注釋。1.3方案論證1.3.1傳感電路部分方案一:使用光敏電阻與電源相連,通過上拉電阻給51單片機輸入信號,并進(jìn)行相應(yīng)的后續(xù)程序操作。方案二:使用光敏電阻和三極管聯(lián)合驅(qū)動的方式,提供給單片機輸入傳感信號。由于方案二提供的輸入信號相對來說對環(huán)境的要求較高,難以實現(xiàn)且不符合系統(tǒng)在現(xiàn)實生活中的實用性等原則,故選取方案一。1.3.2執(zhí)行電路部分方案一:由單片機端口對相應(yīng)電路進(jìn)行操作;方案二:使用LM324芯片,含有四個運算放大器,電源電壓范圍寬,靜態(tài)功耗小,可單電源使用。方案三:由單片機對后續(xù)的執(zhí)行元件進(jìn)行操作,如繼電器等相關(guān)的執(zhí)行元件。由于方案二使用LM324芯片等相關(guān)元件,使系統(tǒng)的設(shè)計更加接近實際應(yīng)用,在實際應(yīng)用中,系統(tǒng)是由電子電路→電氣電路的控制,使用LM324等可使系統(tǒng)的現(xiàn)實性大大增強。第2章總體設(shè)計2.1設(shè)計要求本設(shè)計是采用高效LED路燈光源,以AT89C51單片機為核心,利用傳感器模塊、光控路燈模塊、恒流源模塊等來實現(xiàn)路燈智能化控制。1、根據(jù)日照設(shè)置光控參數(shù)、時間參數(shù);2、可同時控制多路照明、單雙間隔開啟照明;3、系統(tǒng)要求可自動、手動、緊急三種模式操作;4、系統(tǒng)要求有LED檢測模塊、聲光報警模塊、時鐘模塊。2.2設(shè)計思路一個大型的單片機應(yīng)用系統(tǒng)的硬件電路設(shè)計包含兩部分內(nèi)容:一是系統(tǒng)擴展,二是系統(tǒng)的配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,要設(shè)計合適的接口電路。硬件電路部分主要包括以下幾個部分:單片機最小系統(tǒng)、路燈控制電路部分、光電檢測電路部分。其中最小系統(tǒng)是51單片機的最基本的組成部分,雖然51單片機的引腳只有四十,但是它有很多的擴展功能,根據(jù)相應(yīng)的課題設(shè)計要求可以設(shè)計相應(yīng)的外圍電路。根據(jù)任務(wù)書的要求,分析出需要的功能有:具備時鐘功能、時間調(diào)節(jié)的調(diào)節(jié)、二極管(模擬路燈)的顯示功能、定時開燈關(guān)燈的時間調(diào)整功能、按鍵控制功能,光電控制路燈功能。通過硬件電路的分析,當(dāng)開機后,經(jīng)過上電復(fù)位,時鐘顯示為17:59:50,這時可以調(diào)整時、分、秒按鈕進(jìn)行精確調(diào)整到當(dāng)前時間,進(jìn)行正常走時。開機后系統(tǒng)內(nèi)部自定義開路燈時間為18:00:00,關(guān)路燈時間為6:00:00,如果不做調(diào)整的話,時間就是下午六點鐘開燈,早晨6點鐘關(guān)燈,但春、夏、秋、冬四季的晝夜并不相等,為了更好的節(jié)省資源(電力)。本設(shè)計中可以進(jìn)行手動調(diào)整,根據(jù)四季的變化來調(diào)整開路燈和關(guān)路燈的時間,更有效的節(jié)省資源。本設(shè)計中另外的一大特點就是在夜晚12:00的時候,路燈會熄滅一半,這種設(shè)計也是為了節(jié)省資源,因為夜深人靜的時候,并不需要太多的路燈照明整個路面,只需要點點燈光就行。然后到早晨六點鐘或自己重新設(shè)定的時間的時候在關(guān)閉其它的路燈。本次設(shè)計中共用到了五個按鈕和四個發(fā)光二極管,用來控制路燈和調(diào)整時間。按鈕上到下編號為①、②、③、④、⑤。①為進(jìn)入調(diào)整開燈、關(guān)燈的時間按鈕,還有為退出調(diào)整開燈和關(guān)燈的按鈕,只有通過它才能有效的退出定義開燈和關(guān)燈的調(diào)整狀態(tài);②為調(diào)整加一小時的按鈕,③為調(diào)整減一小時的按鈕,④為調(diào)加一分鐘的按鈕,⑤為調(diào)整減一分鐘的按鈕。發(fā)光二極管從上至下的標(biāo)號是①、②、③、④。①、③為路燈的左邊一排。②、④為路燈的右邊一排。2.3系統(tǒng)框圖圖2-1系統(tǒng)框圖第3章硬件設(shè)計3.1單片機概述3.1.1單片機的簡介單片微型計算機簡稱單片機,是典型的嵌入式微控制器,常用英文字母縮寫MCU表示單片機。它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。單片機是采用超大規(guī)模技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運算、邏輯運算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU)、隨機數(shù)據(jù)存儲器(RAM)、只讀存儲器(ROM)、輸入/輸出電路(I/O口)等電路集成到單片芯片上,構(gòu)成一個最小而完善的計算機系統(tǒng)。有時還包括定時器/計數(shù)器,串行通信口、顯示驅(qū)動電路(LCD或LED驅(qū)動電路)、脈寬調(diào)制電路(PWM)、模擬多路轉(zhuǎn)換器以及A/D轉(zhuǎn)換器等電路,并具有獨立的指令系統(tǒng)。這些電路能在軟件控制之下,準(zhǔn)確、迅速、高效地完成程序設(shè)計者事先規(guī)定的任務(wù)。它能夠單獨地完成現(xiàn)代工業(yè)控制系統(tǒng)所要求的智能化控制功能。單片機的功能很多:比較器;模數(shù)/數(shù)模轉(zhuǎn)換器;PWM;多種多樣的接口;LCD驅(qū)動;存儲器等等。同時它也是計算機—單片微型計算機。部分單片機的計算能力已經(jīng)比早期PC的CPU強大,速度也越來越快。甚至也有類似雙核CPU的設(shè)計出現(xiàn)。因為能夠運行程序,所以可以做很多的事情。幾乎您上網(wǎng)用的計算機能做的事情,它都同樣能做。只是能力沒那么強大。比如:可以讀寫硬盤、可以接受按鍵輸入、可以顯示輸出、可以驅(qū)動打印、您甚至可以給它接個鼠標(biāo)。當(dāng)然這可能涉及一些接口的問題,但是CPU也不是直接做這些事情的。它的輸入輸出,如前面所說,也是多種多樣的??梢允悄M量,也可以是數(shù)字量,標(biāo)準(zhǔn)的USB接口也已經(jīng)集成在了單片機內(nèi)部。此外,單片機的體積小、價格低、可靠性高、適用面寬、有著其本身的指令系統(tǒng)等諸多優(yōu)勢,在各行各業(yè)都得到廣泛應(yīng)用。單片機控制系統(tǒng)已基本取代了以前復(fù)雜的電子線路或數(shù)字電路構(gòu)成的控制系統(tǒng),用軟件來實現(xiàn)產(chǎn)品的智能化。現(xiàn)在,單片機的控制范疇無所不在,其應(yīng)用領(lǐng)域也越來越廣泛。單片機的應(yīng)用意義遠(yuǎn)不限于它的應(yīng)用范疇或由此帶來的經(jīng)濟效益,更重要的是它從根本上改變了傳統(tǒng)的控制方法和設(shè)計理念,向著嵌入式系統(tǒng)方向發(fā)展。隨著嵌入式系統(tǒng)的快速發(fā)展和在各行各業(yè)的深入應(yīng)用,人們的電子設(shè)備的小型化、智能化的要求也越來越高。在航空航天、機械加工、工程控制、智能儀器儀表、家用電器、通信系統(tǒng)等領(lǐng)域,單片機都正在發(fā)生著非常重要的作用。單片機應(yīng)用技術(shù)業(yè)已成為現(xiàn)代電子技術(shù)應(yīng)用領(lǐng)域十分重要的高新技術(shù)之一,是電子工程技術(shù)人員必備的知識技能,它能使你設(shè)計出更具智能化和方便的產(chǎn)品。3.1.2單片機的特點單片機及其應(yīng)用系統(tǒng)之所以能發(fā)揮著如此重要的作用,歸納起來原因如下:①單片機具有體積小、功能強、價格低、使用靈活等特點,具有明顯的優(yōu)勢和廣闊的應(yīng)用前景。②單片機具有獨立的指令系統(tǒng),可以將我們的設(shè)計思想充分表達(dá)出來,使產(chǎn)品智能化。③系統(tǒng)配置以滿足控制對象的要求出發(fā)點,使得系統(tǒng)具有較高的性價比。④應(yīng)用系統(tǒng)通常將程序駐留在片內(nèi)(外)ROM中,抗干擾能力強,可靠性高,使用方便。⑤單片機本身并不具備開發(fā)能力,一般情況下,需要借助專用的開發(fā)工具在相應(yīng)的開發(fā)環(huán)境下,進(jìn)行系統(tǒng)的開發(fā)和調(diào)試,但最終形成的產(chǎn)品簡單實用,成本低,效益高。⑥單片機應(yīng)用系統(tǒng)所使用的存儲芯片可選用EPROM、EEPROM、OTP芯片或利用掩膜形式生產(chǎn),便于批量生產(chǎn)和應(yīng)用。大多數(shù)單片機如51系列,開發(fā)芯片和擴展應(yīng)用芯片相互配套,降低了系統(tǒng)成本。⑦由于系統(tǒng)小巧玲瓏,控制功能強、體積小,便于嵌入被控設(shè)備內(nèi),大大推動了產(chǎn)品的智能化。隨著微電子技術(shù)和集成電路技術(shù)的迅速發(fā)展,目前各個公司研制出了能夠適用于各種領(lǐng)域的單片機。高性能的單片機芯片市場也異?;钴S,采用新技術(shù),使單片機的種類、性能不斷提高,應(yīng)用領(lǐng)域迅速擴大。單片機的改進(jìn)和發(fā)展歸納起來有以下幾個方面:①CPU得到改進(jìn):現(xiàn)在CPU開始采用雙CPU結(jié)構(gòu),提高了芯片的處理能力。②存儲器的發(fā)展:增大了片內(nèi)存儲器容量;片內(nèi)采用EEPROM和Flash可在線編程,讀/寫更加方便;采用了編程加密技術(shù)。③內(nèi)部資源增多:片內(nèi)的資源越豐富,產(chǎn)品的體積就越小,可靠性就越高。④I/O接口形式增多:性能提高了。⑤引腳的多功能化:單片機現(xiàn)在普遍都采用管腳復(fù)用的設(shè)計方案。⑥低電壓和低功耗:單片機制造時普遍采用CMOS工藝制作。3.2單片機的選型單片機的種類很多,最常用的就是8051系列,其常見的型號有AT89C51、AT89C52、AT89S51、AT89S52等。有相當(dāng)一部分廠家的單片機與8051單片機是基于該系列單片機,從而可以方便地替換該系列單片機,如STC公司、PHILIPS公司等等。一般情況下,52型號的可以直接替換51型號單片機,如果程序不大(code區(qū)小于4096)的話51型號也可以替換52型號。如果程序較大,還可以采用89C54、89C58等資源更多的單片機。本系統(tǒng)采用的是最常用的AT89C51。3.2.1AT89C51的簡介MCS-51系列單片機是由美國的Intel公司開發(fā)研制,并于1980年推出的產(chǎn)品。與MCS-48系列單片機相比,其以典型的體系結(jié)構(gòu)和完善的專用寄存器集中管理方式,方便的邏輯位操作功能及豐富的指令系統(tǒng)[5],堪稱一代“名機”,為之后的其他單片機的發(fā)展奠定了基礎(chǔ)。因此,MCS-51系列單片機結(jié)構(gòu)先進(jìn),功能強大,增加了更多的電路單元和功能模塊,指令數(shù)達(dá)111條。其中的代表作便是AT89C5x系列單片機,而本文所采用的就是AT89C51。AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶有2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。圖3-1單片機外形圖及引腳圖3.2.2AT89C51特性概述AT89C51具有以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲器;128字節(jié)內(nèi)部RAM;32個I/O口線;兩個16位定時/計數(shù)器;一個5向量兩級中斷結(jié)構(gòu);一個全雙工串行通信口;片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。3.2.3單片機的中斷系統(tǒng)8051具備較完善的中斷功能,其中有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。3.2.4引腳說明AT89C51的引腳如圖所示:圖3-2AT89C51管腳圖管腳說明:VCC:電源電壓。GND:接地。P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。當(dāng)P0口作為輸出口用時,在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在FLASH編程時,P0口作為原碼輸入口,而當(dāng)FLASH在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口:P1口是一個帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2是一個帶有內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O,可接收輸出4個TTL門電路。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如下表所示:表STYLEREF1\s3-1P3口第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外中斷0)P3.3/INT1(外中斷1)P3.4T0(定時/計數(shù)器0外部輸入)P3.5T1(定時/計數(shù)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)RESET/復(fù)位信號復(fù)用腳,當(dāng)8051通電時,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,如下圖所示。此外,RESET/還是一復(fù)用腳,VCC掉電其間,此腳可接上備用電源,來保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。圖STYLEREF1\s3-3AT89C51的復(fù)位方式XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器的特性:XTAL1和XTAL2分別為反向放大器的輸入與輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。ALE當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機是否工作,同時也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。如果單片機是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,當(dāng)外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。EA/程序存儲器的內(nèi)外部選通線,8051和8751單片機,內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而當(dāng)超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。3.2.5時鐘電路8051內(nèi)置最高頻率可達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。3.2.6存儲器系統(tǒng)在計算機的組成結(jié)構(gòu)中,有一個很重要的部分,就是存儲器。存儲器是一種記憶部件,是用來存儲程序和數(shù)據(jù)的。對于計算機來說,有了存儲器,才有記憶功能,才能保證正常工作。存儲器的種類很多,8051單片機存儲器在物理結(jié)構(gòu)上分為程序存儲器空間和數(shù)據(jù)存儲器空間。程序存儲器ROM;為了讓單片機實現(xiàn)某種功能,需要利用匯編語言或者其他語言編寫一些源程序,然后再燒錄到芯片中。我們編寫的這些程序,就存儲在程序存儲器空間中。而數(shù)據(jù)存儲器RAM:我們編寫的源程序,在運行的過程中,會產(chǎn)生一些臨時的運算結(jié)果,這些結(jié)果需要臨時存放在一個地方,這個地方就是數(shù)據(jù)寄存器。8051單片機具有四個存儲器空間:①片內(nèi)程序存儲器,即單片機芯片內(nèi)置的存儲空間。②片外程序存儲器,即當(dāng)單片機芯片內(nèi)置的存儲空間不夠使用時,我們需要外加的一個存儲器芯片。③片內(nèi)數(shù)據(jù)存儲器,即單片機芯片內(nèi)置的存儲空間。④片外數(shù)據(jù)存儲器,即當(dāng)單片機芯片內(nèi)置的存儲空間不夠使用時,我們需要外加的一個存儲器芯片。從用戶使用的角度,8051存儲器地址空間分為三類:片內(nèi)片外統(tǒng)一編址的0000H--FFFFH的64K字節(jié)的程序存儲器地址空間,用16位地址。64K字節(jié)片外數(shù)據(jù)存儲器空間,地址也是從0000H--FFFFH用16位地址。256字節(jié)數(shù)據(jù)存儲器空間,用8位地址。表3-2MCS-51系列單片機性能一覽表一、程序存儲器地址空間8051程序存儲器用于存放編寫好的程序和表格常數(shù)。程序存儲器通過16位程序計數(shù)器PC尋址。尋址能力為64K字節(jié)。片內(nèi)ROM為4KB。地址為0000H--0FFFH。片外最多可擴至64K字節(jié)。地址為1000H--FFFFH。片內(nèi)片外是統(tǒng)一編址的。當(dāng)引腳EA接高電平時,8051程序計數(shù)器PC在0000H--0FFFH范圍內(nèi),即前4K字節(jié)地址執(zhí)行片內(nèi)ROM中的程序。當(dāng)指令地址超過0FFFH后,就自動轉(zhuǎn)向片外ROM中取指令。程序存儲器的某些單元是留給系統(tǒng)使用的。存儲單元0000H--0002H用作8051上電復(fù)位后引導(dǎo)程序存放單元。因為8051上電復(fù)位后程序計數(shù)器PC的內(nèi)容為0000H,所以CPU總是從0000H開始執(zhí)行程序,如果在這三個單元中有跳轉(zhuǎn)指令,那么,程序就被引導(dǎo)到轉(zhuǎn)移指令所指的ROM空間去執(zhí)行。二、數(shù)據(jù)存儲器空間數(shù)據(jù)存儲器RAM用于存放運算中的結(jié)果、數(shù)據(jù)暫存或緩沖、標(biāo)志位等。數(shù)據(jù)存儲空間也分為片內(nèi)和片外兩大部分,即片內(nèi)RAM和片外RAM。(1)片外數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器又稱為外部數(shù)據(jù)RAM,當(dāng)805l片內(nèi)256個字節(jié)的數(shù)據(jù)RAM不能滿足數(shù)量上的要求時,可通過總線端口和其它I/O端口擴展外部數(shù)據(jù)RAM(擴展方法見相關(guān)章節(jié)),其最大容量可達(dá)64K字節(jié)。地址從0000H--FFFFH。外部數(shù)據(jù)RAM與內(nèi)部數(shù)據(jù)RAM的功用基本相同,但外部數(shù)據(jù)RAM不能進(jìn)行堆棧操作。(2)片內(nèi)數(shù)據(jù)存儲器MCS-51系列單片機的片內(nèi)數(shù)據(jù)存儲器包括通用數(shù)據(jù)存儲器塊和特殊功能寄存器(SFR)塊。對于51子系列,前者占128B,其編址為00H—7FH,后者也占128B,其編址為80H—FFH,二者連續(xù)而不重疊。對于52子系列,前者有256B,其編址為00H—FFH,后者占128B,其編址為80H—FFH,后者與前者高128B的編址是重疊的,由于訪問所用的指令不同,所以不會引起混亂。片內(nèi)數(shù)據(jù)存儲器的容量很小,常需要擴展片外數(shù)據(jù)存儲器。MCS-51系列單片機有一個數(shù)據(jù)指針寄存器,可用于尋址程序存儲器或數(shù)據(jù)存儲器單元,它有16位,尋址范圍可達(dá)64KB。故片外數(shù)據(jù)存儲器的容量可達(dá)到與程序存儲器一樣,其編址自0000H開始,最大可至FFFFH。片內(nèi)RAM數(shù)據(jù)存儲器最大尋址空間為256字節(jié)。他們又分為兩個部分。低128字節(jié)00H--7FH是真正的RAM區(qū)。低128字節(jié)中地址00H一1FH的32個單元,安排為四組工作寄存器。每組又分為8個寄存器區(qū)R0--R7。圖3-4AT89C51內(nèi)部功能圖3.3時鐘電路時鐘電路是產(chǎn)生CPU校準(zhǔn)時序,是單片機的控制核心,它控制著計算機的工作節(jié)奏。MCS-51系列單片機允許的時鐘頻率是因型號而不同的。AT89C51的時鐘信號可通過內(nèi)部振蕩方式和外部振蕩方式兩種方式得到。內(nèi)部振蕩方式,AT89C51內(nèi)部都有一個反相放大器,XTAL1、XTAL2分別為反相放大器輸入和輸出端,外接定時反饋元件以后就組成振蕩器,產(chǎn)生時鐘送至單片機內(nèi)部的各個部件,這樣就構(gòu)成了內(nèi)部振蕩方式。外部振蕩方式是把已有的時鐘信號引入單片機內(nèi)。這種方式適合用來使單片機的時鐘與外部信號一致。在本次設(shè)計中不需要與外部時鐘信號保持一致,所以我選擇內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。而對于晶振的選擇:一種是:6MHz的晶振,其機器周期是2us。另一種是:12MHz的晶振,其機器周期是1us,也就是說在執(zhí)行同一條指令時用6MHz的晶振所用的時間是12MHz晶振的兩倍。為了提高整個系統(tǒng)的性能我選擇了12MHz的晶振。晶振我選擇了12MHz,相對于6MHz的晶振,整個系統(tǒng)的運行速度就更快了。電容器C1、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值我選擇了30pF。內(nèi)部振蕩方式所得的時鐘信號穩(wěn)定性高。3.4復(fù)位電路3.4.1復(fù)位方式單片機在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始工作。89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,而且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機器周期(24個振蕩周期)以上,則CPU就可以響應(yīng)并將其系統(tǒng)復(fù)位。單片機系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位。3.4.2手動按鈕復(fù)位手動按鈕復(fù)位需要人為在復(fù)位輸入端RST加上高電平。一般的方法是將一個按鈕開關(guān)并聯(lián)于上電自動復(fù)位電路,按一下開關(guān)就RST端出現(xiàn)一段時間的高電平,即使器件復(fù)位。如圖所示:圖3-5上電和開關(guān)復(fù)位3.4.3上電復(fù)位上電復(fù)位是常用的一種復(fù)位方式,AT89C51單片機有一個復(fù)位引腳RST,它是施密特觸發(fā)輸入,當(dāng)振蕩器起振后,該引腳上出現(xiàn)2個機器周期(即24個時鐘周期)以上的高電平。使元器件復(fù)位,只要RST保持高電平,AT89C51保持復(fù)位狀態(tài)。此時ALE、/PSEN、P0、P1、P2、P3口都輸出高電平。RST變?yōu)榈碗娖胶螅顺鰪?fù)位,則CPU從初始狀態(tài)開始工作。復(fù)位以后內(nèi)部寄存器的初始狀態(tài)為(SP=07,P0、P1、P2、P3為0FFH外,其它寄存器都為0)。對于NMOS型單片機,在RST復(fù)位端接一個電容至VccHE一個電阻至Vss,就能實現(xiàn)上電自動復(fù)位,對于CMOS單片機只要接一個電容至Vcc即可。如圖,在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定時間的高電平,只要高電平時間足夠長,就可以使AT89C51有效地復(fù)位。RST端在加電時應(yīng)保持的高電平時間包括Vcc的上升時間和振蕩器起振時間,Vcc上升時間若為10ms,振蕩器起振時間和頻率有關(guān)。10MHz時間約為1ms,1MHz時約為10ms,所以一般為了可靠地復(fù)位,RST在上電時應(yīng)保持20ms以上的高電平。圖2.5中,RC時間常數(shù)越大,上電時RST端保持高電平的時間越長。振蕩頻率為12MHZ時,典型值為C=10uF,R=8.2kΩ。若復(fù)位電路失效,加電后CPU從一個隨機的狀態(tài)開始工作,系統(tǒng)就不能正常運轉(zhuǎn)。上電復(fù)位電路如下圖所示:圖3-6上電復(fù)位電路在這次的畢業(yè)設(shè)計中我選擇運用上電復(fù)位電路.即只要一接+5V電壓,系統(tǒng)就會自動的復(fù)位.出于可靠性和適時性的考慮,我選擇了簡單實用的上電復(fù)位電路上電后,由于電容充電,使RST持續(xù)一段高電平時間。從而實現(xiàn)上電復(fù)位操作。我選擇的C=10uF,R=1kΩ。3.5LM3243.5.1LM324簡介LM324系列器件帶有差動輸入的四運算放大器。與單電源應(yīng)用場合的標(biāo)準(zhǔn)運算放大器相比,它們有一些顯著優(yōu)點。該放大器可以工作在低到3.0伏或者高于32伏的電源下,靜態(tài)電流為MC1741的靜態(tài)電流的五分之一。LM324是采用14腳雙列直插塑料封裝,外形如圖所示。它的內(nèi)部包含四組形式完全相同的運算放大器。除電源共用之外,四組運放是相互獨立的。每一組運算放大器可用圖一所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號的輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”(+)為輸出端,兩個信號輸入端中,“Vi-”(-)為反相輸入端,表示運放輸出端Vo的信號與該輸入端的位相反;“Vi+”(+)為同相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相同。LM324的引腳排列見圖:圖3-7LM324引腳排列圖3-8LM324外形圖3.5.2LM324的特點LM324的特點可歸納如下:(1)短跑保護(hù)輸出。(2)真差動輸入級。(3)可單電源工作:3V-32V。(4)低偏置電流:最大100nA(LM324A)。(5)每封裝含四個運算放大器。(6)具有內(nèi)部補償?shù)墓δ堋?7)共模范圍擴展到負(fù)電源。(8)行業(yè)標(biāo)準(zhǔn)的引腳排列。(9)輸入端具有靜電保護(hù)功能。由于LM324芯片四運放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價格低廉等優(yōu)點,因此被廣泛應(yīng)用于各種電路中。3.674HC573簡介74HC573是八進(jìn)制三態(tài)非反轉(zhuǎn)透明鎖存器,它是高性能硅門CMOS器件。SL74HC573跟LS/AL573的管腳一樣的器件。器件的輸入是和標(biāo)準(zhǔn)CMOS輸出兼容的,加上拉電阻他們能和LS/ALSTTL輸出兼容。圖3-974HC573引腳圖表3-374HC573引腳功能表引腳號符號名稱及功能1/OE3態(tài)輸出使能輸入(低電平)2,3,4,5,6,7,8,9D0toD7數(shù)據(jù)輸入12,13,14,15,16,17,18,19Q0toQ73態(tài)鎖存輸出11LE鎖存使能輸入10GND接地(0V)20VCC電源電壓對于原理說明:74HC573的八個鎖存器都是透明D型鎖存器,當(dāng)使能(G)為高時,則Q為輸出將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能(G)為低時,輸出將鎖存在已經(jīng)建立的數(shù)據(jù)電平上。輸出控制不會影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)還可以保持,而且甚至當(dāng)輸出被關(guān)閉時,新的數(shù)據(jù)也可以置入。這樣的電路可以驅(qū)動大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并且驅(qū)動總線,不需要外接口。特別適用于緩沖寄存器,I/O通道,雙向總線驅(qū)動器和工作寄存器。鎖存器的使用可以大大的緩解處理器這方面的壓力。當(dāng)處理器把數(shù)據(jù)傳輸?shù)芥i存器并將其鎖存后,鎖存器的輸出引腳便會一直保持?jǐn)?shù)據(jù)的狀態(tài)直到下一次鎖存新的數(shù)據(jù)為止。3.7光敏電阻簡介光敏電阻器又稱光導(dǎo)管,特性是指在特定的照射下,其阻值迅速減小,可用于檢測可見光。光敏電阻器是利用半導(dǎo)體的光電效應(yīng)而制成的一種電阻值隨入射光的強弱而改變的電阻器;入射光增強,電阻值減小,入射光減弱,電阻值增大。光敏電阻一般用于光的測量、光的控制和光電轉(zhuǎn)換等。光敏電阻器通常是由光敏層、玻璃基層(或樹脂防潮膜)和電極等組成。光敏電阻器在電路中用字母“R”或“RL”、“RG”表示。光敏電阻的工作原理是基于內(nèi)光電效應(yīng)。在半導(dǎo)體光敏材料的兩端裝上電極引線,將它封裝在帶有透明窗的管殼里就構(gòu)成光敏電阻,為了增加靈敏度,兩電極通常做成梳狀。用于制造光敏電阻的材料主要是金屬的硫化物、硒化物和碲化物等半導(dǎo)體。并且通常采用涂敷、噴涂、燒結(jié)等方法在絕緣襯底上制作很薄的光敏電阻體及梳狀的歐姆電極,然后接出引線,封裝在具有透光鏡的密封殼體內(nèi),以避免受潮影響其靈敏度。當(dāng)入射光消失后,由光子激發(fā)產(chǎn)生的電子—空穴對將復(fù)合,光敏電阻的阻值也將恢復(fù)原來的值。在光敏電阻兩端的金屬電極加上電壓,其中便會有電流通過,受到一定波長的光線照射時,電流就會隨光強的增大而增大,從而實現(xiàn)了光電轉(zhuǎn)換。光敏電阻沒有極性,純粹是一個電阻器件。使用時既可以加直流電壓,也可以加交流電壓。半導(dǎo)體的導(dǎo)電能力取決于半導(dǎo)體導(dǎo)帶內(nèi)載流子數(shù)目的多少。光敏電阻的原理結(jié)構(gòu)如下圖所示。圖3-10光敏電阻原理圖圖3-11光敏電阻結(jié)構(gòu)圖在黑暗環(huán)境下,它的電阻值很高,當(dāng)它受到光照時,只要光子能量大于半導(dǎo)體材料的禁帶寬度,則價帶中的電子吸收一個光子的能量后可躍遷到導(dǎo)帶,并在價帶中產(chǎn)生一個帶正電荷的空穴,這種由光照所產(chǎn)生的電子—空穴對增加了半導(dǎo)體材料中載流子的數(shù)目,使其電阻率變小,從而造成光敏電阻阻值的下降。光照越強,阻值越低。入射光消失后,由光子激發(fā)產(chǎn)生的電子—空穴對將逐漸復(fù)合,光敏電阻的阻值也就逐漸恢復(fù)到原值。光敏電阻屬于半導(dǎo)體光敏器件,除了具有靈敏度高,反應(yīng)速度快,光譜特性好以及R值一致性好等特點外,在高溫、多濕的惡劣環(huán)境下,還能保持高度的穩(wěn)定性和可靠性,并且廣泛應(yīng)用于照相機,太陽能庭院燈,草坪燈,石英鐘,禮品盒,路燈自動開關(guān)以及各種光控玩具,光控?zé)麸?,燈具等光自動開關(guān)控制領(lǐng)域。3.8按鍵電路在單片機系統(tǒng)中,通常有且僅有一鍵按下才視為按鍵有效。有效的確認(rèn)方式通??梢苑譃閮深悺5谝活愂前聪?釋放鍵方式,系統(tǒng)要求從按下倒釋放鍵才算一次有效按鍵。第二類是連擊方式,就是一次按鍵可以產(chǎn)生多次擊鍵效果,其連擊頻率可以自己設(shè)定,如2次/秒、3次/秒等等。對于本次設(shè)計,我選擇了按下-釋放方式,電路如下圖所示。電路為低電平有效輸出方式,當(dāng)按鍵按下時輸出為低電平。在按下-釋放鍵方式時,系統(tǒng)先判斷是否有鍵按下,如果不用硬件去抖,則同時進(jìn)行軟件去抖,確認(rèn)有鍵按下,然后等待至該按鍵釋放才算依次按鍵,注意釋放鍵判斷同樣要進(jìn)行去抖處理。圖3-12按鍵電路圖3.9顯示電路3.9.1顯示方式選擇顯示器用于實現(xiàn)單片機應(yīng)用系統(tǒng)中的數(shù)據(jù)輸出和狀態(tài)反饋。單片機系統(tǒng)中常用的顯示器有發(fā)光二極管、七段數(shù)碼顯示器和液晶顯示器等等。LED數(shù)碼顯示器是一種常用的顯示器,具有顯示亮度高、響應(yīng)速度快等特點。最常用的是七段式LED顯示器,也稱之為數(shù)碼管。它能夠顯示十進(jìn)制或十六進(jìn)制數(shù)字及某些簡單字符。但控制簡單,使用方便。七段式LED顯示器的內(nèi)部是由7個條形發(fā)光的二極管和1個小圓點發(fā)光二極管組成,并且根據(jù)各管的亮暗組合成各種字符。從各發(fā)光段電極連接方式分為共陰極和共陽極兩種方式。所謂的共陰極方式就是指筆畫顯示器各段發(fā)光管的陰極(即N區(qū))是公共的,而陽極卻是互相隔離的。而共陽極方式就是指筆畫顯示器各段發(fā)光管的陽極(即P區(qū))是公共的,而陰極卻是互相隔離的。圖3-13數(shù)碼管及共陰極共陽極電路顯示的方式共有兩種方式,所謂的靜態(tài)顯示方式就是把共陰極或共陽極的公共端(位選端)連接在一起接地或接5V電源,形成位控端;每一位的段選線(a—dp)作為段控端。而動態(tài)顯示方式是單片機應(yīng)用系統(tǒng)中最常用的顯示方式,就是把所有的顯示器的同名段選端選線相互并接在一起,由同一個8位的并行輸出口控制;而各顯示器的位選線則分別由不同輸出口線控制端。這樣各顯示位不能同時顯示不同的數(shù)字或字符。因此要選擇掃描的方法,即從右到左(或從左到右)依次輪流使每位顯示器顯示數(shù)字或者字符并保留一段時間(通常位1ms),由于LED的余輝特性以及人眼視覺上的惰性,盡管各位顯示器實際上使分時斷續(xù)地顯示,但只要適當(dāng)選取掃描頻率,給人眼的視察印象就會是在連續(xù)地顯示,察覺不到閃爍的現(xiàn)象。相對于靜態(tài)顯示,動態(tài)顯示方式雖然占用的CPU空間較多,但使用的硬件較少,所占用的端口也較靜態(tài)顯示方式少,這樣可以大大的節(jié)約系統(tǒng)的端口資源,所以根據(jù)我設(shè)計中沒有擴展端口,端口資源比較緊張,因此我選擇動態(tài)顯示,不僅能節(jié)約線路板空間,而且效果也不差于靜態(tài)顯示。3.9.2LED的驅(qū)動和顯示在本次電路設(shè)計的過程中,單片機的的P2.6口接的是74HC573作為段選輸出口,經(jīng)過上拉電阻加到數(shù)碼管的A-G和DP上,P2.7口接的是74HC573作為位選輸出口,經(jīng)電阻驅(qū)動分別加到數(shù)碼管的COM端。LED的驅(qū)動問題是顯示設(shè)計中的一個非常重要的環(huán)節(jié)。如果驅(qū)動能力差,顯示器高度就低;且驅(qū)動器長期在超負(fù)荷下運行很容易損壞。下面就簡單介紹選擇LED驅(qū)動器時應(yīng)注意的問題。顯示分為靜態(tài)顯示和動態(tài)顯示兩種方式,由于這兩種方式有本質(zhì)的不同,因此在選擇LED驅(qū)動器時,一定要分清顯示方式。如果是靜態(tài)顯示,則LED驅(qū)動器的選擇較為簡單,只要驅(qū)動器的驅(qū)動能力與顯示器的工作電流相匹配即可,而且只需要考慮段的驅(qū)動,因為,共陽極接+5V,而共陰極接地,所以位的驅(qū)動無須考慮。動態(tài)顯示則不同,由于一位數(shù)據(jù)的表示是由段和位選信號共同配合完成的,因此必須同時考慮段與位的驅(qū)動能力和位的驅(qū)動能力,而且段的驅(qū)動能力決定位的驅(qū)動能力。段的驅(qū)動能力是由驅(qū)動能力決定位的驅(qū)動能力。段的驅(qū)動能力是由顯示器的亮度決定的,通過發(fā)光的二極管的電流較大,其亮度也就越多,對于靜態(tài)顯示器,當(dāng)某位電量時,此位中點亮的段通過恒定的電流;而對于動態(tài)顯示器,此電流卻是以一定脈沖方式出現(xiàn)的,其峰值電流來考慮。我采用的是三個數(shù)碼管集成在一起的管子,這種管子的好處是在接線的時候比較簡單,三個COM端接位選接口,非常適合用于動態(tài)顯示。我們所采用的是動態(tài)顯示,雖然有閃爍感,占用的CPU空間較多,但使用的硬件少,能節(jié)約線路板空間。3.10電源電路電源是一個控制系統(tǒng)中最重要的一部分,用于驅(qū)動整個系統(tǒng)的運行。輸入電源經(jīng)過穩(wěn)壓塊后輸出穩(wěn)定的+5V電源。圖3-14+5V穩(wěn)壓電路3.11光控電路由光敏電阻、滑動變阻器、電阻及運算放大器LM324組成,如圖所示:圖3-15光控電路在這次設(shè)計中把光敏電阻作為光傳感器件對外界光線進(jìn)行檢測,若光敏電阻受光照時,電阻阻值減小,運放同向輸入端為低電平;若光照減弱時,電阻增大,運放同向輸入端就為高電平。光控電路的輸出信號經(jīng)過電壓跟隨器后,將比較微弱的電流信號放大到單片機能夠識別到的電流,然后再由運放輸出端將放大后的信號傳給單片機的P1.7口。電路圖中的調(diào)節(jié)變阻器RV1能夠改變電流,從而來控制整個光控電路對光信號的靈敏度。3.12路燈控制電路路燈控制電路是整個硬件電路的基本組成部分之一,也是智能化路燈控制器電路的發(fā)光部分,這一部分的電路相對來說是比較簡單的,在其中起到控制作用的元件是單片機,它的控制功能主要是通過指令系統(tǒng)的指令來實現(xiàn)的。圖3-16路燈控制電路第4章軟件設(shè)計4.1主程序模擬路燈控制系統(tǒng)的軟件程序設(shè)計包括判斷各個按鈕按下之后能夠?qū)崿F(xiàn)什么樣功能,判斷開燈、關(guān)燈的時間。其中,動態(tài)顯示是在中斷子程序中來進(jìn)行的,每一次中斷的時間為1Ms,每中斷一次就掃描一次,從而實現(xiàn)動態(tài)顯示。正常走時的動態(tài)顯示是在T0中斷中進(jìn)行動態(tài)掃描的,而設(shè)置開燈、關(guān)燈的時間是在T1中斷中進(jìn)行動態(tài)掃描的。主程序流程圖如下:圖4-1主程序流程圖4.2計時程序在計時程序中主要是定時器/計數(shù)器的運用,基本的MCS-51單片機內(nèi)部有兩個16位可編程的定時器/計數(shù)器,即定時器/計數(shù)器T0和定時器/計數(shù)器T1。它們既可以做定時器,也可以做計數(shù)器。定時器/計數(shù)器的基本結(jié)構(gòu)是由兩個8位的計數(shù)器(其中TH0、TL0是T0的計數(shù)器,TH1、TL1是T1的計數(shù)器。)組裝而成的。當(dāng)它作為定時器使用時,輸入的時鐘脈沖是由于晶體振蕩器的輸出經(jīng)12分頻后得到的。所以定時器也可看做是對計算機的機器周期的計數(shù)器,因為每個機器周期包含晶體振蕩器的12個振蕩周期,所以每一個機器周期定時器加1,可以把輸入的時鐘脈沖看成機器周期信號。故它的頻率為晶振頻率的1/12。如果晶振頻率為12MHZ,那么定時器每接收一個輸入脈沖的時間為1us。定時器/計數(shù)器一共有四種工作方式,其工作方式的選擇與控制都由兩個特殊功能寄存器(TMOD和TCON)的內(nèi)容來決定。先用指令改變TMOD或TCON的內(nèi)容后,則在下一條指令的第一個機器周期的S1P1時起作用。對于定時器/計數(shù)器的工作方式而言,MCS-51片內(nèi)的定時器/計數(shù)器可以通過對特殊功能寄存器TMOD中的控制位C/的設(shè)置來選擇定時器方式或計數(shù)器方式;通過對M1、M0兩位的設(shè)置來選擇四種工作方式,由于在設(shè)計中采用了T0,所以就以T0來加以說明。①方式0當(dāng)M1M0設(shè)置為00時,定時器選定為方式0工作。在這種方式下,16位寄存器只用了13位,TL0的高三位沒有用。由TH0的8位和TL0的低5位組成一個13位計數(shù)器。當(dāng)GATE=0時,只要TCON中的TR0為1,TL0及TH0組成的13位計數(shù)器就開始計數(shù);當(dāng)GATE=1時,此時僅TR0=1仍不能使計數(shù)器計數(shù),還需要引腳為1才能使計數(shù)器工作。由此可知,當(dāng)GATE=1和TR0=1時,TH0+TL0是否計數(shù)取決于引腳的信號,當(dāng)由0變1時,開始計數(shù);當(dāng)由1變0時,停止計數(shù),這樣就可以用來測量在端出現(xiàn)的脈沖寬度。當(dāng)13位計數(shù)器從0或設(shè)定的初值,加1到全“1”以后,再加1就產(chǎn)生溢出。這時,置TCON的TF0位為1,同時把計數(shù)器變?yōu)槿?”。②方式1方式1和方式0的工作相同,唯一的差別是TH0和TL0組成一個16位計數(shù)器。③方式2方式2把TL0配置成一個可以自動恢復(fù)初值(初始常數(shù)自動重新裝入)的8位計數(shù)器,TH0作為常數(shù)緩沖器,TH0由軟件預(yù)置值。當(dāng)TL0產(chǎn)生溢出時,一方面使溢出標(biāo)志TF0置1,同時把TH0中的8位數(shù)據(jù)重新裝入TL0中。方式2常用于定時控制。例如希望每隔250μs產(chǎn)生一個定時控制脈沖,則可以采用12MHz的振蕩器,把TH0預(yù)置為6,并使C/=0就能實現(xiàn)。方式2不用作串行口波特率發(fā)生器。④方式3方式3對定時器T0和定時器T1是不相同的。若T1設(shè)置為方式3,則停止工作(其效果與TR1=0相同)。所以方式3只適用于T0。方式0和方式1的最大特點是計數(shù)溢出后,計數(shù)器全為0,因此循環(huán)定時或計數(shù)應(yīng)用時就存在重新設(shè)置計數(shù)初值的問題,這不但影響定時精度,而且也給程序設(shè)計帶來不便。方式2就是針對此問題而設(shè)置的,它具有自動重新加載功能,因此也可以說方式2是自動重新加載工作方式。在這種工作方式下,把16位計數(shù)器分為兩部分,即以TL0作計數(shù)器,以TH0作預(yù)置寄存器,初始化時把計數(shù)初值分別裝入TL0和TH0中。當(dāng)計數(shù)溢出后,由預(yù)置寄存器以硬件方法自動加載。初始化時,8位計數(shù)初值同時裝入TL0和TH0中。當(dāng)TL0計數(shù)溢出時,置位TF0,同時把保存在TH0中的計數(shù)初值自動加載裝入TL0中,然后TL0重新計數(shù),如此重復(fù)不止,這不但省去了用戶程序中的重裝指令,而且有利于提高定時精度。但這種方式下計數(shù)值有限,最大只能到256。這種自動重新加載工作方式非常適用于連續(xù)定時或計數(shù)應(yīng)用。當(dāng)為計數(shù)工作方式時,計數(shù)值的范圍是:1-256(28)當(dāng)為定時工作方式時,定時時間計算公式為:(28-計數(shù)初值)x晶振周期x12或(28-計數(shù)初值)x機器周期通過上述四種方式的比較,根據(jù)本計時軟件設(shè)計的要求,所以我們就采用了T0定時器的方式1。時間調(diào)整子程序流程圖:圖4-2時間調(diào)整子程序流程圖這次設(shè)計用到了T0和T1進(jìn)行中斷控制,T0和T1用的都是方式一。在中斷子程序中放進(jìn)了顯示程序,中斷時間為1Ms,可以實現(xiàn)數(shù)碼管的動態(tài)掃描且無閃爍感。4.3中斷程序所謂的中斷就是指在計算機執(zhí)行程序過程中,當(dāng)出現(xiàn)某種情況時(例如:發(fā)生停電或其他情況),先由服務(wù)對象向CPU發(fā)出中斷請求信號,要求CPU暫時中斷當(dāng)前程序的執(zhí)行,而轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,等待處理程序執(zhí)行完畢后,再繼續(xù)處理執(zhí)行原來被中斷的程序。實現(xiàn)這一個功能的部件稱作為中斷系統(tǒng),申請CPU中斷的請求源稱之為中斷源,單片機的中斷系統(tǒng)一般允許多個中斷源,若當(dāng)多個中斷源同時向CPU請求中斷時,就存在一個中斷優(yōu)先權(quán)的問題。通常情況下,根據(jù)中斷源的優(yōu)先級別,優(yōu)先處理最緊急事件的中斷請求源,即最先響應(yīng)級別最高的中斷請求。MCS-51單片機的中斷控制系統(tǒng)有兩種中斷方式,即外部中斷與內(nèi)部中斷。外部中斷是指從單片機的外部引腳/INT0和/INT1輸入中斷請求信號的中斷,即外部中斷源共有兩個。如輸入/輸出的中斷請求、掉電和設(shè)備故障的中斷請求都可以作為外部中斷源,從引腳輸入。內(nèi)部中斷是指單片機芯片內(nèi)部產(chǎn)生的中斷,MCS-51單片機的內(nèi)部中斷有定時/計數(shù)器T0和T1的溢出中斷、串行口的發(fā)送/接收中斷。當(dāng)定時/計數(shù)器T0和T1的定時或計數(shù)到時,由硬件自動置位TCON的TF1或TF0,然后向CPU申請中斷;CPU響應(yīng)中斷而轉(zhuǎn)向中斷服務(wù)程序時,由硬件自動將TF0或TF1清零。當(dāng)串行口發(fā)送或接收完一幀數(shù)據(jù)時,由硬件自動置位SCON的TI或RI,以此向CPU申請中斷;CPU響應(yīng)中斷后,硬件不能自動將TI或RI清零,即CPU響應(yīng)串行口中斷后不能自動撤除中斷請求信號,必須由用戶采用軟件方法將TI或RI清零,來撤除中斷請求信號。中斷過程分為5個階段:中斷請求、中斷優(yōu)先、中斷響應(yīng)、中斷處理和中斷返回。其中中斷處理就是執(zhí)行中斷服務(wù)程序,這就是中斷系統(tǒng)的核心。不同的計算機系統(tǒng)的中斷處理過程各具特色,但是對多數(shù)計算機而言,中斷服務(wù)程序的流程如下。中斷處理的過程基本上是由3部分組成,第一部分為準(zhǔn)備部分,它的基本功能是保護(hù)現(xiàn)場,相對于非向量中斷方式則需要確定中斷源,然后開放中斷,允許更高級的中斷請求來打斷低級的中斷服務(wù)程序;第二部分是處理部分,即真正執(zhí)行具體的為某個中斷源服務(wù)的中斷服務(wù)程序;第三部分是結(jié)尾部分,首先要關(guān)掉中斷,以便返回原來的程序后可響應(yīng)其他的中斷請求。中斷服務(wù)程序的最后一條指令一定是中斷返回指令了。流程圖如下:圖4-3中斷程序流程圖4.4按鍵程序?qū)τ诎存I電路的設(shè)計,在沒有鍵按下去時一直為高電平,有按鍵按下時就變?yōu)榈碗娖?。單片機據(jù)此作為判斷的依據(jù)。用來表示每個不同的按鈕按下能夠?qū)崿F(xiàn)不同的功能,例如:調(diào)節(jié)定時開燈時間、定時關(guān)燈時間等等。當(dāng)單片機查到按鍵閉合時,就調(diào)用按鍵功能程序,來實現(xiàn)相應(yīng)的功能。4.5程序清單與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),界面友好,易學(xué)易用。#include<reg51.h>sbitfunction=P1^0;sbithour_add=P1^1;sbithour_sub=P1^2;sbitminute_add =P1^3;sbitminute_sub =P1^4;sbitlamp1=P3^0;sbitlamp2=P3^1;sbitlamp3=P3^2;sbitlamp4=P3^3;sbitguang=P0^2;bitEN_COCLK=1;bitBEGIN=0;unsignedcharcnt;unsignedcharhour;unsignedcharminute;unsignedcharsecond;unsignedcharhalf_second;unsignedintms50;structtime{ unsignedcharhour; unsignedcharminute; unsignedcharsecond;}ds[2];codeunsignedcharseg[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsignedcharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //CA//unsignedcharcodechoose_bit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsignedcharcodechoose_bit[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};unsignedcharidatadisdata[7];unsignedcharidatadissetup[7];unsignedcharturnon[4]={0x01,0x02,0x04,0x08};unsignedcharkey_min_hour=0; //分或秒閃爍unsignedchardisp_type=0; //記錄時間組unsignedcharrn; //按定時開關(guān)鍵次數(shù)/**************************************** 延時1毫秒*****************************************/voiddelay1ms(unsignedinti) { unsignedinta,b;for(a=0;a<i;a++) for(b=0;b<120;b++);}voiddelay(unsignedchara){ while(--a) ;}/******************************* 顯示時鐘*******************************/voiddisp_clock(void){ unsignedchardisplay; unsignedchari; disdata[0]=hour/10; disdata[1]=hour%10; disdata[2]=minute/10; disdata[3]=minute%10; disdata[4]=second/10; disdata[5]=second%10; for(i=0;i<6;i++) { P0=0xff; display=tab[disdata[i]]; if(half_second&&(i==3)) { display&=0x7f; } P2=choose_bit[i]; P0=display; delay1ms(1); } P0=0xff; //關(guān)燈}/******************************* 顯示設(shè)置時間值*******************************/voiddisp_init(void){ unsignedchardisplay; unsignedchari; dissetup[0]=ds[disp_type-1].hour/10; dissetup[1]=ds[disp_type-1].hour%10; dissetup[2]=ds[disp_type-1].minute/10; dissetup[3]=ds[disp_type-1].minute%10; dissetup[4]=ds[disp_type-1].second/10; dissetup[5]=ds[disp_type-1].second%10; for(i=0;i<6;i++) { P0=0xff; display=tab[dissetup[i]]; if(i==3||i==1) { display&=0x7f; } P2=choose_bit[i]; P0=display; delay1ms(1); } P0=0xff;} /****************************** 鍵盤掃描子程序******************************/voidkeyscan(void){unsignedcharhouradd=1;unsignedcharminadd=1;if(!function) {delay1ms(20);if(function==0){while(function==0);EN_COCLK=0;if(++disp_type==3){ disp_type=0; EN_COCLK=1;}}}if(!hour_add) {delay1ms(20);if(hour_add==0){while(hour_add==0);switch(disp_type){case0:if(++hour>=24) hour=0;break;case1:if(++ds[0].hour>=24)ds[0].hour=0;break;case2:if(++ds[1].hour>=24) ds[1].hour=0;break;default:break;}}}if(!hour_sub) {delay1ms(20);if(hour_sub==0){while(hour_sub==0); switch(disp_type){ case0: if(--hour==0xff) hour=23; break; case1: if(--ds[0].hour==0xff) ds[0].hour=23; break; case2: if(--ds[1].hour==0xff) ds[1].hour=23; break; default: break;}}}if(!minute_add) {delay1ms(20);if(minute_add==0){while(minute_add==0);switch(disp_type){ case0: if(
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版商鋪出租合同樣本3篇
- 2024物業(yè)管理系統(tǒng)托管服務(wù)合同
- 2024年標(biāo)準(zhǔn)簡易借款合同模板版B版
- 2024年高清安防監(jiān)控系統(tǒng)安裝協(xié)議版B版
- 2024版測量技術(shù)員勞動協(xié)議范本版B版
- 2024年科技型中小企業(yè)借款擔(dān)保服務(wù)協(xié)議3篇
- 2025年度影視拍攝車輛租賃及場景搭建續(xù)約協(xié)議3篇
- 2024年許可使用合同:知名品牌商標(biāo)使用許可協(xié)議
- 2024年股權(quán)轉(zhuǎn)讓介紹協(xié)議
- 2024版攝影棚居間合同
- 2023年全國統(tǒng)一建筑工程預(yù)算工程量計算規(guī)則完整版
- 大學(xué)《工程力學(xué)》期末考試試題庫含詳細(xì)答案
- cn.7a一種醬香型大曲酒固態(tài)發(fā)酵的生態(tài)控制方法
- TLFSA 003-2020 危害分析與關(guān)鍵控制點(HACCP)體系調(diào)味面制品生產(chǎn)企業(yè)要求
- LY/T 2244.3-2014自然保護(hù)區(qū)保護(hù)成效評估技術(shù)導(dǎo)則第3部分:景觀保護(hù)
- GB/T 8491-2009高硅耐蝕鑄鐵件
- 供水安全與搶修
- DB31 595-2021 冷庫單位產(chǎn)品能源消耗指標(biāo)
- 第三章果蔬采后生理課件
- 【英語手寫體】26英文字母手寫體描紅書寫字帖
- 實習(xí)護(hù)生壓瘡相關(guān)知識掌握情況及預(yù)防態(tài)度的調(diào)查問卷
評論
0/150
提交評論