基于單片機的自動加料機控制系統(tǒng)
基于單片機的自動加料機控制系統(tǒng),基于,單片機,自動,加料,控制系統(tǒng)
目 錄第一章 緒 論11.1 題目來源及課題意義11.2 自動加料機控制系統(tǒng)的工作原理及技術(shù)要求11.3 系統(tǒng)的主要技術(shù)參數(shù):1第二章 方案論證22.1 單片機的選擇22.2 物位傳感器的選擇32.3 存儲器擴展電路的選擇52.4 LED顯示電路選擇72.5 鍵盤輸入電路8第三章 自動加料機主電路103.1 系統(tǒng)結(jié)構(gòu)原理圖113.2 主機電路核心器件介紹103.3 顯示電路183.4 繼電器控制電路223.5 鍵盤及顯示電路233.6 外部存儲器擴展電路273.7 看門狗MAX813L電路303.8 料位開關(guān)32第四章 系統(tǒng)的抗干擾及可靠性35第五章 軟件設計36第六章 結(jié)論語38參考文獻:39附錄A:系統(tǒng)框圖40附錄B:系統(tǒng)硬件框圖41程序清單:41第一章 緒 論1.1 題目來源及課題意義 在現(xiàn)代科學技術(shù)的許多領(lǐng)域中,自動控制技術(shù)起這愈來愈重要的作用,并且,隨著生產(chǎn)和科學技術(shù)的發(fā)展,自動化水平也越來越高。自動控制利用控制裝置使被控對象的某個參數(shù)自動的按照預定的規(guī)律運行。本設計的自動加料機控制系統(tǒng)就是采用自動控制技術(shù)來實現(xiàn)功能的,這樣就大大提高了工作的效率,整個過程又快又穩(wěn)。1.2 自動加料機控制系統(tǒng)的工作原理及技術(shù)要求本設計的由單片機控制的自動加料系統(tǒng)是與料斗式干燥機配套的加料系統(tǒng)。根據(jù)加料工藝要求,其工作原理是:先將真空管關(guān)閉,啟動電機,用低真空氣流將塑料樹脂粒子送入真空管,電機停轉(zhuǎn),再將粒子排入料斗,如此循環(huán)。在設計的控制系統(tǒng)中,可用一個電機控制兩個加料生產(chǎn)線,由方向閥切換。兩個生產(chǎn)線既可單獨運行,也可同時運行。假如兩者同時運行,當一生產(chǎn)線輸送結(jié)束后,判斷到另一個生產(chǎn)線排料已經(jīng)結(jié)束,那么,電機不停轉(zhuǎn)而方向閥換向,從而為另一個生產(chǎn)線送料。這樣可以發(fā)揮控制系統(tǒng)和電機的效率,從而實現(xiàn)供料自動化??刂葡到y(tǒng)的控制器有單片機89C51和擴展電路組成,單片機控制繼電器,繼電器控制交流接觸器,又由接觸器控制電機等執(zhí)行機構(gòu)的運動。本控制系統(tǒng)可以根據(jù)送料工藝的需要,設置兩條生產(chǎn)線的輸送、排料、滿料、空料等參數(shù)值,也可裝載系統(tǒng)前次工藝參數(shù)值。1.3 系統(tǒng)的主要技術(shù)參數(shù):(1) 用一臺電機控制兩條生產(chǎn)線(2) 要能檢測到滿料狀態(tài),并顯示出輸送、排料、滿料時間(3) 時間誤差:0.1秒(4) 具有抗干擾能力第二章 方案論證2.1 單片機的選擇20世紀80年代以來,單片機的發(fā)展非常迅速,就通用單片機而言,世界上一些著名的計算機廠家已投放市場的產(chǎn)品就有50多個系列,數(shù)百個品種。目前世界上較為著名的8位單片機的生產(chǎn)廠家和主要機型如下:美國Intel公司:MCS51系列及其增強型系列美國Motorola公司:6801系列和6805系列美國Atmel公司:89C51等單片機美國Zilog公司:Z8系列及SUPER8美國Fairchild公司:F8系列和3870系列美國Rockwell公司:6500/1系列美國TI(德克薩司儀器儀表)公司:TMS7000系列NS(美國國家半導體)公司:NS8070系列 等等。盡管單片機的品種很多,但是在我國使用最多的還是Intel公司的MCS51系列單片機和美國Atmel公司的89C51單片機MCS51系列單片機包括三個基本型8031、8051、87518031內(nèi)部包括一個8位CPU、128個字節(jié)RAM,21個特殊功能寄存器(SFR)、4個8位并行I/O口、1個全雙工串行口、2個16位定時器/計數(shù)器,但片內(nèi)無程序存儲器,需外擴EPROM芯片。比較麻煩,不予采用8051是在8031的基礎上,片內(nèi)集成有4K ROM,作為程序存儲器,是一個程序不超過4K字節(jié)的小系統(tǒng)。ROM內(nèi)的程序是公司制作芯片時,代為用戶燒制的,出廠的8051都是含有特殊用途的單片機。所以8051適合與應用在程序已定,且批量大的單片機產(chǎn)品中。也不予采用。8751是在8031基礎上,增加了4K字節(jié)的EPROM,它構(gòu)成了一個程序小于4KB的小系統(tǒng)。用戶可以將程序固化在EPROM中,可以反復修改程序。但其價格相對8031較貴。8031外擴一片4KB EPROM的就相當與8751,它的最大優(yōu)點是價格低。隨著大規(guī)模集成電路技術(shù)的不斷發(fā)展,能裝入片內(nèi)的外圍接口電路也可以是大規(guī)模的。也不予采用。AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機,片內(nèi)含4K bytes的可反復擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存取數(shù)據(jù)存儲器(ROM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元。功能強大AT89C51單片機可提供許多高性價比的應用場合,可靈活應用于各種控制領(lǐng)域。此設計就采用AT89C51。2.2 物位傳感器的選擇物位是指貯存容器或工業(yè)生產(chǎn)設備里的液體、粉粒壯固體、氣體之間的分界面位置,也可以是互不相溶的兩種液體間由于密度不等而形成的界面位置。根據(jù)具體用途分為液位、料位、界位傳感器或變送器。物位不僅是物料耗量或產(chǎn)量計量的參數(shù),也是保證連續(xù)生產(chǎn)和設備安全的重要參數(shù)。特別是在現(xiàn)代工業(yè)中,生產(chǎn)規(guī)模大,速度高,且常有高溫、高壓、強腐蝕性或易燃易爆物料,對于物位的監(jiān)視和自動控制更是至關(guān)重要。物位測量可用于計算物料儲量。對于粉粒體,必須考慮到顆粒間有空隙,應區(qū)分密度和容重。密度是指不含空隙的物料每單位體積的質(zhì)量,即通常的質(zhì)量密度,如果乘以重力加速度g,就成為重力密度r,簡稱為重度。容重是包含空隙在內(nèi)的每單位體積的重量v,也就是視在重度或宏觀重度,它總要比顆粒物質(zhì)本身的重度小,其差額決定于空隙率。而空隙率又取決與許多因素。例如顆粒形狀、尺寸的一致程度、是否受外力壓實、是否經(jīng)受過振動、有無黏結(jié)性等,所以粉粒體物料的體積儲量和質(zhì)量儲量之間不易精確換算,這是需要注意的。2.2.1 電容式物位傳感器 利用物料介電常數(shù)恒定時極間電容正比與物位的原理,可構(gòu)成電容式物位傳感器。根據(jù)電機的結(jié)構(gòu)可將容式物位傳感器分為三中:(1)適用與導電容器中的絕緣性物料,且容器為立式圓筒形,器壁為一極,沿軸線插入金屬棒為另一極,其間構(gòu)成的電容C與物位成比例。也可懸掛帶重錘的軟導線作為電機。(2)適用與非金屬容器,或雖為金屬容器但非立式圓筒形,物料為絕緣性的。這時在棒壯電極周圍用絕緣支架套裝金屬筒,筒上下開口,或整體上均勻分布多個孔,使內(nèi)外物位相同。中央圓棒和與之同軸的套筒構(gòu)成兩個電極,其間電容和容器形狀無關(guān),只取決于物位。所以這種電極只用于液位,粉粒體容易滯留在極間。(3)用于導電性物料,起外形和(1)一樣,但中央圓棒電極上包有絕緣材料,電容是由絕緣材料的介電常數(shù)和物位決定的,與物料的介電常數(shù)無關(guān),導電物料使筒壁與中央電極間的距離縮短為絕緣層的厚度,物位升降相當于電極面積改變。電容式物位傳感器無可動部件,與物料密度無關(guān),但應注意物料中含水分時將對測量結(jié)果影響很大,并且要求物料的介電常數(shù)與空氣介電常數(shù)差別大,需用高頻電路。所以不予采用。2.2.2 阻力式料位傳感器阻力式料位傳感器是指物料對機械運動所呈現(xiàn)的阻擋力。粉末顆粒狀物料比液態(tài)物質(zhì)流動性差,對運動物體有明顯的阻力,利用這一特點可構(gòu)成各種料位傳感器。(1)重錘探索法:在容器頂部安裝由脈沖分配器控制的步進電機,此電機正轉(zhuǎn)時緩緩釋放懸有重錘的鋼索。重錘下降到與料面接觸后,鋼索受到的合力突然減小,促使力傳感器發(fā)出脈沖。此脈沖改變門電路的狀態(tài),使步進電機改變轉(zhuǎn)向重錘提升,同時開始脈沖計數(shù)。待重錘升至頂部觸及行程開關(guān),步進電機停止轉(zhuǎn)動,同時計數(shù)器也停止計數(shù)并顯示料位(料位值即容器全高減去重錘行程之差)。顯示值一直保持到下次探索后刷新為另一值。開始探索的觸發(fā)信號可由定時電路周期性地供給,也可以人為地啟動。不進行探索時,重錘保持在容器頂部,以免物料將重錘淹埋。萬一重錘被物位埋沒,排放物料時產(chǎn)生的強大拉力就可能拉斷鋼索報警措施及出料過濾柵。但這種方法運用了邏輯電路和數(shù)字技術(shù),可連續(xù)測量料位值并輸出數(shù)字量,是數(shù)字傳感器,但其采樣是周期性的,對時間而言不連續(xù),此設計不予采用。(2)旋槳或推板法:這是一種位式傳感器,或稱料位開關(guān)。在容器壁的某一高度處裝小功率電動機,其軸伸入容器內(nèi),末端帶有槳狀葉片。葉片不接觸物料時,自由旋轉(zhuǎn)的空載狀態(tài)下電動機的電流很小,一旦料位上升到與葉片接觸,轉(zhuǎn)動阻力增加,甚至成堵轉(zhuǎn)狀態(tài),電流顯著加大。根據(jù)電流的大小使繼電器的接點動作,發(fā)出料位報警或位式控制信號。如電機軸經(jīng)過曲柄連桿機構(gòu)變?yōu)橥鶑瓦\動,則可帶動活塞或平板在容器中做推拉動作,即成推板法。旋槳法或推板法不一定都是靠電機電流的大小時繼電器接點動作,也可以利用離合器或連桿上的傳動機構(gòu),在葉片或推板負載增大時改變電接點的通斷狀態(tài)。所用電動機應能在長時間堵轉(zhuǎn)狀態(tài)下,或離合器打滑狀態(tài)下,不致過熱而損壞。這類原理構(gòu)成的料位開關(guān),只能安裝在容器壁上,安裝高度取決于動作所對應的料位值。應用不那么廣泛,所以次設計也不予采用。(3)音叉法:根據(jù)物料對振動中的音叉有無阻力探知料位是否到達或超過某高度,并發(fā)出通斷信號,這種原理不需要大幅度的機械運動,驅(qū)動功率小,機械結(jié)構(gòu)簡單、靈敏而可靠。音叉由彈性良好的金屬制成,本身具有確定的固有頻率,如外加交變力的頻率與其固有頻率一致,則叉體處于共振狀態(tài)。由于周圍空氣對振動的阻尼微弱,金屬內(nèi)部的能量損耗又很少,所以只需微小的驅(qū)動功率就能維持較強的振動。當粉粒體物料觸及叉體之后,能量消耗在物料顆粒間的摩擦上,迫使振幅急劇衰減,音叉停振。為了給音叉提供交變的驅(qū)動力,利用放大電路對壓電元件施加交變電場,靠逆壓電效應產(chǎn)生機械力作用在叉體上。用另外一組壓電元件的正壓電效應檢測振動,它把振動力 為微弱的交變電信號。再由電子放大器和移相電路,把檢振元件的信號放大。經(jīng)過移相,施加到驅(qū)動元件上去,構(gòu)成閉環(huán)振蕩器。在這個閉環(huán)中,既有機械能也有電能,叉體是其中的一個環(huán)節(jié),倘若受到物料阻尼難以振動,正反饋的幅值和相位都將明顯的改變,破壞了振蕩條件,就會停振。只要在放大電路的輸出端接以適當?shù)钠骷?,不難得到開關(guān)信號。為了保護壓電元件免受物料損壞和粉塵污染,將驅(qū)動和檢振元件裝在叉體內(nèi)部,經(jīng)過金屬膜片傳遞振動。如果在容器的上下方都裝叉體,可以實現(xiàn)自動進料或自動出料的邏輯控制,或者把料位越限信號遠傳到控制室。在控制室里的控制電路判斷料位是否越限,并按要求使被控的進出料設備啟停。并且叉體的制造和裝配良好時,音叉也可用于液體測量和控制。在測量時不需要大幅度的機械運動,驅(qū)動功率小,機械結(jié)構(gòu)簡單、靈敏而可靠。此設計選擇音叉法阻力式料位傳感器。2.3 存儲器擴展電路的選擇2.3.1 24C01擴展:串行總線上的各單片機或集成電路模塊,通過一條數(shù)據(jù)線(SDA)和一條時鐘線(SCL),按照通信規(guī)約進行尋址和信息傳輸。每個集成電路模塊都有唯偽地址,既可以是主控機(能控制總線,并能完成一次傳輸過程的初始化和產(chǎn)生時鐘信號及傳輸終止信號的器件)或被控機(被主控器尋址的器件),可以是發(fā)送器(在總線1:發(fā)送信息的器件)或接收器(從總線上接收治息的器件) IC總線上的器件,根據(jù)它的不同工作狀態(tài),可分為主控發(fā)送器、主控接收器、被控發(fā)送器、被控接收器。當多個主控器同時企圖控制總線而不丟失信,這叫多主競爭。這時就要進行仲裁,仲裁就是針對這種情況進行裁決的過程。只允許其卞一個主控器繼續(xù)占用總線,其它退出豐攙器狀態(tài)。仲裁過程中還要保證總線的信息不丟失。多主競爭時必須對所有參與競爭的主控器的時鐘信號進行同步處理。信息傳輸時,SCL為高電平期間,SDA上的信息必須保持穩(wěn)定不變,只有SCL為低電平期間,SDA上的信息才允許變化。同時SDA上信息每一位部和SCL的時鐘脈沖相對應。SCL沒有時鐘信號,SDA信息將停止傳輸處于等待狀態(tài)。這因為線“與”邏輯,使SCL在低電平時鉗住總線。實現(xiàn)線“與”邏輯功能各IC總線接口的輸出端必須是漏極開路或集電極開路結(jié)構(gòu)。SCL保持高電平期間,SDA由高電平向低電平變化這種狀態(tài)定義為起始信號。SCL保持高電平期間,SDA由低電平向高電平變化,這種狀態(tài)定義為終止信號。SDA傳輸?shù)拿總€字節(jié)必須8位(最高有效位首先傳送),每個傳送字節(jié)必須跟隨一位應答位。與應答信號相應的時鐘信號由主控器產(chǎn)生,發(fā)送器在這個時鐘信號釋放SDA,使它處于高電平狀態(tài),以便接收由接收器在這位發(fā)出的應答信號。這時接收器還必須SCL在這位高電平期間,在SDA上輸出一個恒定低電平信氣以完成應答信號的輸出。整個傳輸過程中,傳輸?shù)淖止?jié)數(shù)目是沒有限制的。數(shù)據(jù)傳輸一段時間后,接收器無法繼續(xù)接收更多的數(shù)據(jù),主控器同樣可以終止數(shù)據(jù)的傳送。24C01是一種128字節(jié)串行CMOS EEPROM,它具有如下特點:1存儲容量為128字節(jié)。2串行接口可使用普通兩根I/O接口。3具有頁寫模式:每頁4字節(jié)。4同步周期小于10ms。它只使用一條數(shù)據(jù)線和一條時鐘線,采用ATMEL公司的24C01串口存儲器,應用簡單方便,但是其編程較為復雜。2.3.2 2864A芯片擴展:2864A是一種并行EEPROM,它的特點同上,但每頁有16字節(jié),2864A與8051單片機的接口電路如下圖所示,2864A的片選端與高地址線P27連接,P27=0才能選中2864A,這種線選法決定了2864A對應多組地址空間,即0000H1FFFH,2000H3FFFH,4000H5FFFH,6000H7FFFH,這8K字節(jié)存儲器可作為數(shù)據(jù)存儲器使用,但掉電后數(shù)據(jù)不丟失。2864A的四種工作方式:(1)維持方式:當為高電平時,2864A進入低功耗維持狀態(tài)。此時,輸出線呈高阻狀態(tài),芯片的電流從140mA下降至維持電流60mA。(2)讀方式:當和均為低電平而為高電平時,內(nèi)部的數(shù)據(jù)緩沖器被打開,數(shù)據(jù)送上總線,此時,可進行讀操作。(3)寫方式:2864A提供了兩種數(shù)據(jù)寫入方式:頁寫入和字節(jié)寫入。頁寫入:為了提高寫入速度,2864A片內(nèi)設置了16字節(jié)的“頁緩沖器”,并將整個存儲器陣列劃分成512頁,每頁16個字節(jié)。頁的區(qū)分可由地址的高9位(A4A12)來確定,地址線的低四位(A0A3)用以選擇頁緩沖器中的16個地址單元之一。對2864A的寫操作可分為兩步來實現(xiàn):第一步,在軟件控制下把數(shù)據(jù)寫入頁緩沖器,這部稱為頁裝載,與一般的靜態(tài)RAM寫操作是一樣的。第二步,在最后一個字節(jié)(即第16個字節(jié))寫入到頁緩沖器后20ns自動開始,把頁緩沖器的內(nèi)容寫到EEPROM陣列中對應的地址單元中,這一步成為頁存儲。 寫方式時,為低電平,在下降沿,地址碼A0A12被片內(nèi)鎖存器鎖存,在上升沿時數(shù)據(jù)被鎖存片內(nèi)還有一個字節(jié)裝載限時定時器,只要時間未到,數(shù)據(jù)可以隨機地寫入頁緩沖器。在連續(xù)向頁緩沖器寫入數(shù)據(jù)的過程中,不用擔心限時定時器會溢出,因為每當下降沿時,限時定時器自動被復位并重新啟動計時。限時定時器要求寫入一個字節(jié)數(shù)據(jù)的操作時間須滿足;3S20S,這樣是正確完成對2864A頁面寫入操作的關(guān)鍵。當一頁裝載完畢,不再有信號時,限時定時器將溢出,于是頁存儲操作隨即自動開始。首先把選中頁的內(nèi)容擦除,然后寫入的數(shù)據(jù)由頁緩沖器傳遞到EEPROM陣列中。字節(jié)寫入:字節(jié)寫入的過程與頁寫入的過程類似,不同之處在于僅寫入一個字節(jié),限時定時器就溢出。(4)數(shù)據(jù)查詢方式:數(shù)據(jù)查詢是指用軟件來檢測寫操作中的頁存儲周期是否完成。在頁存儲期間,如對2864A執(zhí)行讀操作,那么讀出的是最后寫入的字節(jié),若芯片的轉(zhuǎn)儲工作未完成,則讀出數(shù)據(jù)的最高位是原來寫入字節(jié)最高位的反碼。據(jù)此,CPU可判斷芯片的編程是否結(jié)束。如果讀出的數(shù)據(jù)與寫入的數(shù)據(jù)相同,表示芯片已完成編程,CPU可繼續(xù)向2864A裝載下一頁數(shù)據(jù)。并且編程起來比較簡單,所以此設計采用此方案。2.4 LED顯示電路選擇 LED顯示器是由N個LED顯示塊拼接成N位LED顯示器。N個LED顯示塊有N跟位選線,根據(jù)顯示方式的不同,位選線和段選線的連接方法也各不相同,段選線控制顯示字符的字型,而位選線為各個LED顯示塊的公共端,它控制該LED顯示位的亮、暗。LED顯示器有靜態(tài)顯示和動態(tài)顯示兩種顯示方式。2.4.1 LED靜態(tài)顯示方式LED顯示器工作于靜態(tài)顯示方式時,各位的共陰極(或共陽極)連接在一起并接地(或+5V);每位的段選線(adp)分別與一個8位的鎖存器輸出相連。所以稱為靜態(tài)顯示。各個LED的顯示字符一經(jīng)確定,相應鎖存器的輸出將維持不變,直到顯示另一個字符為止。也正因此如此,靜態(tài)顯示器的亮度都較高。這種顯示方式接口編程容易。付出的代價是占用口線較多,若用I/O接口,則要占用4個8位I/O口,若用鎖存器接口,則要用4片74LS373芯片。如果顯示器位數(shù)增多,則靜態(tài)顯示方式更是無法適應,因此在顯示位數(shù)較多的情況下,一般都采用動態(tài)顯示方式。2.4.2 LED動態(tài)顯示方式 在多位LED顯示時,為了簡化硬件電路,通常將所有位的段選線相應的并聯(lián)在一起,有一個8位I/O口控制,形成段選線的多路復用。而各位的共陽極或共陰極分別由相應的I/O線控制,實現(xiàn)各位的分時選通。其中段選線占用一個8位I/O口,而位選線占用一個4位I/O口。由于各位的段選線并聯(lián),段碼的輸出對各位來說都是相同的,因此,同一時刻,如果各位位選線都處于選通狀態(tài)的話,4位LED將顯示相同的字符。若要各位LED能夠顯示出與本位相應的顯示字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,段選線上輸出相應位要顯示字節(jié)的段碼。在確定LED不同位顯示的時間間隔,不能太短,因為發(fā)光二極管從導通到發(fā)光有一定的延時,導通時間太短,發(fā)光太弱人眼無法看清。但也不能太長,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用CPU時間也越多,另外,顯示位增多,也將占用大量的CPU時間,因此動態(tài)顯示實質(zhì)是一犧牲CPU時間來換取元件的減少。所以,由于本系統(tǒng)只涉及到2位顯示輸出,就采用了和2片8位移位寄存器串級使用的LED靜態(tài)顯示方式。2.5 鍵盤輸入電路2.5.1 矩陣式鍵盤接口:矩陣式鍵盤(也稱行列式鍵盤)適用于按鍵數(shù)目較多的場合,它由行線和列線組成,按鍵位于行列的交點上。一個33的行列結(jié)構(gòu)可以構(gòu)成一個有9個按鍵的鍵盤。同理,一個44的行列結(jié)構(gòu)可以構(gòu)成一個16鍵的鍵盤,很明顯,在按鍵數(shù)量較多的場合,矩陣式鍵盤與獨立式鍵盤相比,要節(jié)省很多的I/O口線。按鍵設置在行列線交點上,行列線分別接到按鍵開關(guān)兩端。行線通過上拉電阻接到+5V上。平時無按鍵按下時,行線處于高電平狀態(tài),而當有按鍵按下時,行線電平狀態(tài)將由于此行線相連的列線電平?jīng)Q定。列線電平如果為低電平,則行線電平為低電平,列線電平如果為高電平,則行線電平為高電平。這是識別矩陣鍵盤按鍵是否按下的關(guān)鍵所在。由于矩陣鍵盤中行列線為多鍵公用,各按鍵均影響該鍵所在行列的電平。因此各按鍵彼此將相互發(fā)生影響,所以必須將行列信號配合起來比做適當?shù)奶幚?,才能確定閉合鍵的位置。2.5.2 獨立式按鍵接口:獨立式按鍵就是各按鍵相互獨立,每個按鍵各接入一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其他輸入線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)可以很容易判斷哪個按鍵按下了。獨立式按鍵電路配置靈活,軟件簡單。但每個按鍵需要占用一個輸入口線,在按鍵數(shù)量較多時,需要較多的輸入口線且電路結(jié)構(gòu)復雜,故此種鍵盤適用于按鍵較少或操作速度較高的場合。由于此系統(tǒng)中共有啟動兩條生產(chǎn)線的“啟動1”鍵和“啟動2”鍵、分秒選擇鍵、時間設置加、時間設置減、顯示生產(chǎn)線狀態(tài)的切換鍵,時間設置鍵、時間切換鍵。只有這8個鍵,比較簡單。所以就采用獨立式按鍵接口電路。 第三章 自動加料機主電路 主電路采用AT89C51,由于AT89C51內(nèi)含4KB容量,因此在設計中不需要外擴ROM。硬件電路主要有LED顯示電路、鍵盤接受電路、繼電器控制電路、EEPROM外部存儲器擴展電路,以及看門狗MAX813L等組成。3.1 系統(tǒng)結(jié)構(gòu)原理圖主電路采用AT89C51,由于AT89C51內(nèi)含4KB容量,因此在設計中不需要外擴ROM。硬件電路主要有LED顯示電路、鍵盤接受電路、繼電器控制電路、EEPROM外部存儲器擴展電路,以及看門狗MAX813L等組成。電路原理框圖如圖所示:3.2 主機電路核心器件介紹 AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機,片內(nèi)含4K bytes的可反復擦寫的只讀程序存儲器(PEROM)和128bytes的隨機存取數(shù)據(jù)存儲器(ROM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元。功能強大AT89C51單片機可提供許多高性價比的應用場合,可靈活應用于各種控制領(lǐng)域。3.2.1 AT89C51主要性能參數(shù).與MCS-51產(chǎn)品指令系統(tǒng)完全兼容.4K字節(jié)可重擦寫Flash閃速存儲器.1000次擦寫周期.全靜態(tài)操作:0Hz-24MHz.三級加密程序存儲器.1288字節(jié)內(nèi)部RAM.32個可編程I/O 口線.2個16位定時/計數(shù)器.6個中斷源.可編程串行UART通道.低功率空閑和掉電模式3.2.2 AT89C51 功能特性概述AT89C51提供以下標準功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/0 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可將至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。3.2.3 AT89C51 引腳功能說明.Vcc:電源電壓.GND:地.P0口:P0口是一組8位漏極開路型雙向I/O,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。 在Flash編程時,P0接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。.P1口:P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉倒高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗期間,P1接收低8位地址。.P2口:P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVE DPTR指令)時。P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX RI指令)時,P2口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)總R2寄存器的內(nèi)容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接收高位地址和其他控制信號。.P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如下表所示:端 口 引 腳 第 二 功 能P3.0 RXD (串行輸入口)P3.1 TXD (串行輸出口)P3.2 (外中斷0)P3,3 (外中斷1)P3.4 T0 (定時/計數(shù)器0)P3.5 T1 (定時/計數(shù)器1)P3.6 (外部數(shù)據(jù)存儲器寫選通)P3.7 (外部數(shù)據(jù)存儲器讀選通) P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。.RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將單片機復位。.ALE/:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器。ALE仍一時鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。但要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖()。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令ALE才會被激活,此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE無效。.:程序存儲允許()輸出是外部程序存儲器的讀選通信號,當AT89C51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,這兩次有效的信號不出現(xiàn)。.EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需要注意的是:如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部會鎖存EA端狀態(tài)。Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。.XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。.XTAL2:振蕩器3放大器的輸出端。3.2.4 時鐘振蕩器 AT89C51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路如圖:外接石英晶體(或陶瓷振蕩器)及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1、C2雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低,振蕩器工作的穩(wěn)定性,起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,則推薦電容使用30pF10pF,而如使用陶瓷振蕩器建議選擇40pF10F。用戶也可以采用外部時鐘,采用時鐘的電路如圖。在這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分鐘觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產(chǎn)品技術(shù)條件的要求。3.2.5 空閑節(jié)電模式 AT89C51有兩種可用軟件編程的省電模式,它們是空閑模式和掉點工作模式。這兩種方式是控制專用寄存器PCON(即電源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位來實現(xiàn)的。PD是掉電模式,當PD=1時,激活掉電工作模式,單片機模式,即PD和IOL同時為1,則先激活掉電模式。在空閑工作模式狀態(tài),CPU保持睡眠狀態(tài)而所有片內(nèi)的外設保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時,片內(nèi)RAM和所有特殊功能寄存器的內(nèi)容保持不變??臻e模式可由任何允許的中斷請求或硬件復位終止。終止空閑工作模式的方法有兩種,其一是任何一條被允許中斷的事件被激活,IDL(PCON.0)被硬件清除,即刻終止空閑工作模式。程序會首先響應中斷,進入中斷服務程序,執(zhí)行完中斷服務程序并緊隨RETI(中斷返回)指令后,下一條要執(zhí)行的指令就是使單片機進入空閑模式那條指令后面的一條指令。其二是通過硬件復位也可將空閑工作模式終止。需要注意的是,當有硬件復位來終止空閑工作模式時,CPU通常是從激活空閑模式那條指令的下一條指令開始繼續(xù)執(zhí)行程序的,要完成內(nèi)部復位操作,硬件復位脈沖要保持兩個機器周期(24個時鐘周期)有效,在這種情況下,內(nèi)部禁止CPU訪問片內(nèi)RAM,而允許訪問其它端口。為了避免可能對端口產(chǎn)生意外寫入,激活空閑模式的那條指令后一條指令不應是一條對端口或外部存儲器的寫入指令。3.2.6 掉電模式在掉點模式下,振蕩器停止工作,進入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復位,復位后將重新定義全部特殊功能寄存器但不改變RAM中的內(nèi)容,在VCC恢復到正常電平前,復位應無效,且必須保持一定時間以使振蕩器重啟動并穩(wěn)定工作。模式 程序存儲器ALE/PSENP0P1P2P3空閑模式 內(nèi)部 11數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù) 空閑模式 外部 11浮空數(shù)據(jù)地址數(shù)據(jù) 掉電模式 內(nèi)部 00數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù) 掉電模式 外部 00浮空數(shù)據(jù)數(shù)據(jù)數(shù)據(jù) 空閑和掉電模式外部引腳狀態(tài)3.2.7 程序存儲器的加密AT89C51可使用對芯片上的3個加密位LB1、LB2、LB3進行編程(P)或不編程(U)來得到下表所示的功能: 加密位保護功能表 程序加密位保護類型LB1LB2LB31UUU沒有程序保護功能2PUU禁止從外部程序存儲器中執(zhí)行MOVC指令讀取內(nèi)部程序存儲器的內(nèi)容3PPU除上表功能外,還禁止程序校驗4PPP除以上功能外,同時禁止外部執(zhí)行當加密位LB1被編程時,在復位期間,EA端的邏輯電平被采樣并鎖存,如果單片機上電后一直沒有復位,則鎖存起的初始值是一個隨機數(shù),且這個隨機數(shù)會一直保存到真正復位為止,為使單片機能正常工作,被鎖存的EA電平必須與該引腳當前的邏輯電平一致。此外,加密位只能通過整片擦除的方法清除。 Flash閃速存儲器的編程 AT89C51單片機內(nèi)部有4K字節(jié)的FlashPEROM,這個Flash存儲陣列出廠時已處于擦除狀態(tài)(即所有存儲單元的內(nèi)容均為FFH),用戶隨時可對其進行編程。編程接口可接收高電壓(+12V)或低電壓(Vcc)的允許編程信號。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用EPROM編程器兼容。AT89C51單片機中,有些屬于低電壓編程方式,而有些則是高電壓編程方式。用戶可從芯片上的型號和讀取芯片內(nèi)的簽名字節(jié)獲得該信息。如圖Vpp=12VVpp=5V芯片頂面標識AT89C51xxxxyywwAT89C51xxxx5yyww簽名字節(jié)(030H)=1EH(031H)=51H(032H)=FFH(030H)=1EH(031H)=51H(032H)=05HAT89C51的程序存儲器列陣采用字節(jié)寫入方式編程的,每次寫入一個字節(jié),要對整個芯片內(nèi)的PEROM程序存儲器寫入一個非空字節(jié),必須使用擦除的方式將整個存儲器的內(nèi)容清楚。3.2.8 編程方法 編程前,先設置好地址,數(shù)據(jù)及控制信號,編程單元的地址加在P1口和P2口的P2.0P2.3(11位地址范圍為0000H0FFFH),數(shù)據(jù)從P0口輸入,引腳P2.6、P2.7和P3.6、P3.7的電平,PSEN為低電平,RST保持高電平,EA/Vpp引腳是編程電源的輸入端,按要求加上編程電壓,ALE/PROG引腳輸入編程脈沖(負脈沖)。編程時,可采用420MHz的時鐘振蕩器,AT89C51編程方法如下:1. 在地址線上加上要編程單元的地址信號。2. 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。3. 激活相應的控制信號。4. 在高電壓編程方式時,將/EA/Vpp端加上+12V編程電壓。5. 每對Flash存儲陣列寫入一個字節(jié)或每寫入一個程序加密位,加上一個ALE/PROG編程脈沖。改變編程單元的地址和寫入的數(shù)據(jù),重復15步驟,直到全部文件編程結(jié)束。每個字節(jié)寫入周期是自身定時的,通常約為1.5ms3.2.9 數(shù)據(jù)查詢 AT89C51單片機用數(shù)據(jù)查詢方式來檢測一個寫周期是否結(jié)束,在一個寫周期中,如需讀取最后寫入的那個字節(jié),則讀出的數(shù)據(jù)的最高位(P0.7)是原來寫入字節(jié)最高的反碼,寫周期完成后,有效的數(shù)據(jù)就會出現(xiàn)在所有輸出端上,此時,可進入下一個字節(jié)的寫周期,寫周期開始后,可在任意時刻進行數(shù)據(jù)查詢。Ready/Busy:字節(jié)編程的進度可通過RDY/BSY輸出信號監(jiān)測,編程期間,ALE變成高電平“H”后P3.4端電平被拉低,表示正在編程狀態(tài)。編程完成后。P3.4變?yōu)楦唠娖奖硎緶蕚渚途w狀態(tài)。3.2.11 程序校驗及芯片擦除如果加密位LB1、LB2沒有進行編程,則代碼數(shù)據(jù)可通過地址和數(shù)據(jù)線讀回原編寫的數(shù)據(jù)。采用下圖電路。程序存儲器的地址由P1和P2口的P2.0-P2.3輸入,數(shù)據(jù)有P0口讀出,P2.6、P2.7和P3.6、P3.7的控制信號保持低電平,ALE、和RST保持高電平。校驗時P0口須接上10K左右的上拉電阻。加密位不可直接校驗,加密位的校驗可通過對存儲器的校驗和寫入狀態(tài)來驗證。利用控制信號的正確組合并保持ALE/引腳10ms的低電平脈沖寬度即可將PEROM陣列(4k字節(jié))和三個加密位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫入“1”,這步驟需再編程之前進行。3.2.12 讀片內(nèi)簽名字節(jié)及編程接口 AT89C51單片機內(nèi)有3個簽名字節(jié),地址為030H、031H和032H。用于聲明該器件的廠商、型號和編程電壓。讀簽名字節(jié)的過程和單元030H、031H和032H的正常校驗相仿,只需將P3.6、P3.7保持低電平,返回值意義如下: (030H)=1EH 聲明產(chǎn)品由ATMEL公式制造。 (031H)=51H 聲明為AT89C51單片機。(032H)=FFH 聲明為12V編程電壓。(032H)=05H 聲明為5V編程電壓。編程接口:采用控制信號的正確組合可對Flash閃速存儲陣裂中的每一代碼字節(jié)進行寫入和存儲器的整片擦除,寫操作周期是自身定時的,初始化后它將自動定時到操作完成。3.2.13 AT89C51的極限參數(shù):極限參數(shù):工作溫度-55to+125 儲藏溫度-65to+150 任一引腳對地電壓-1.0Vto+7.0V 最高工作電壓6.6V 直流輸出電流15.0mA3.3 顯示電路在單片機應用系統(tǒng)中,如果需要顯示的內(nèi)容只有數(shù)碼和某些字母,使用LED數(shù)碼管是一種較好的選擇。LED數(shù)碼管顯示清晰、成本低廉、配置靈活,與單片機接口簡單易行。LED數(shù)碼管是由發(fā)光二極管作為顯示字段的數(shù)碼型顯示器件,其中七只發(fā)光二極管分別對應ag筆端構(gòu)成“日”字形,另一只發(fā)光二極管Dp作為小數(shù)點。因此這種LED顯示器稱為七段數(shù)碼管或八段數(shù)碼管。如圖所示:LED數(shù)碼管按電路中的連接方式可分為共陰型和共陽型兩大類,共陽型是將各段發(fā)光二極管的正極連在一起,作為公共端COM,公共端COM接高電平,ag、Dp各筆段通過限流電阻接控制端。某筆段控制端低電平時,該筆段發(fā)光,高電平時不發(fā)光??刂颇硯锥喂P端發(fā)光,就能顯示出某個數(shù)碼或字符。共陰型是將各段發(fā)光二極管的負極連在一起,作為公共端COM接地,某筆段通過限流電阻接高電平時發(fā)光。在自動加料機控制系統(tǒng)中運行是要顯示輸送、排料、滿料、空料時間,有時間切換鍵和標志哪條生產(chǎn)線的發(fā)光二極管表示,顯示的位數(shù)少,所以就采用靜態(tài)顯示的方式。LED顯示器工作于靜態(tài)顯示方式時,各位的共陰極(或共陽極)連接在一起并接地(或+5V);每位的段選線(adp)分別與一個8位的鎖存器輸出相連。所以稱為靜態(tài)顯示。各個LED的顯示字符一經(jīng)確定,相應鎖存器的輸出將維持不變,直到顯示另一個字符為止。也正因此如此,靜態(tài)顯示器的亮度都較高。這種顯示方式接口編程容易。若用I/O接口,則要占用4個8位I/O口,若用鎖存器接口,則要用4片74LS373芯片。如果顯示器位數(shù)增多,則靜態(tài)顯示方式便無法適應。在設計中,LED顯示電路采用74LS377驅(qū)動器和MC14511B譯碼器控制LED數(shù)碼管。3.3.1 74LS377芯片介紹.D0D7:8個信號輸入端。.Q0Q7:8個信號輸出端。.CLK:時鐘信號輸入端。. :鎖存允許信號。當=0時,CLK端的上跳變將把8位D輸入端的數(shù)據(jù)打入8位鎖存器。74LS377真值表CLKDQ1XXQ0011000X0XQ03.3.2 MC14511B芯片介紹.AD:四個信號輸入端。.ag:七個信號輸出端。.LT、BI:接地。.LE:接電源。3.3.3 LED接口電路 LED顯示電路采用74LS377驅(qū)動器和MC14511B譯碼器控制LED數(shù)碼管。兩個LED顯示一條生產(chǎn)線一個工作過程的秒數(shù)。兩片MC14511B把P0口的高四位和低四位譯碼成十進制控制LED顯示。電路圖如下:3.4 繼電器控制電路在電氣控制領(lǐng)域或產(chǎn)品中,凡是需要邏輯控制的場合,幾乎都需要使用繼電器,從家用電器到工農(nóng)業(yè)應用,甚至國民經(jīng)濟各個部門,可謂無所不見。繼電器是一種利用各種物理量的變化,將電量或非電量信號轉(zhuǎn)化為電磁力(有觸頭式)或使輸出狀態(tài)發(fā)生階躍變化(無觸頭式),從而通過其觸頭或突變量促使在同一電路或另一電路中的其它器件或裝置動作的一種控制元件。根據(jù)轉(zhuǎn)化的物理量的不同,可以構(gòu)成各種各樣的不同功能的繼電器,以用于各種控制電路中進行信號傳遞、放大、轉(zhuǎn)換、聯(lián)鎖等,從而控制主電路和輔助電路中的器件或設備按預定的動作程序進行工作,實現(xiàn)自動控制和保護的目的。被轉(zhuǎn)化或施加于繼電器的電量或非電量稱為繼電器的激勵量,當繼電器被激勵,從一個起始位置達到預定的工作位置,并完成電路的切換動作,稱為繼電器的工作特性,包括吸合。不吸合,保持與釋放狀態(tài)。當輸入量變化到高于它的吸合值或低于它的釋放值時,繼電器動作,對于有觸頭式繼電器其觸頭閉合或斷開,對于無觸頭式繼電器起輸出發(fā)生階躍變化,以此提供一定的邏輯變量。自動加料機是把塑料粒子送到一個真空管,在輸送時真空管關(guān)閉合,排料時真空管需要打開,將粒子送到排料漏斗。本設計共需2個繼電器控制交流接觸器,一個接帶動生產(chǎn)的電動機。另一個為控制工作方向的方向閥。經(jīng)考慮采用4123無極12V直流控制24V的交流繼電器,并利用光耦合器件P521和MCU隔開。89C51的P1初始值為0FFH,所以加一個74LS04反相器使得繼電器初始不產(chǎn)生閉合,使用MC1413為無源驅(qū)動器,IN4007組成繼電器的續(xù)流二極管。電路圖如下:3.5 鍵盤及顯示電路鍵盤在單片機應用系統(tǒng)中能實現(xiàn)向單片機輸入數(shù)據(jù)、傳送命令等功能,是人工干擾單片機的主要手段。本設計采用8255A為I/O擴展。 3.5.1 鍵盤接口非編碼鍵盤與單片機的接口單片機系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。編碼鍵盤本身除了按鍵之外,還包括產(chǎn)生鍵碼的硬件電路,只要按下某一個鍵,就能產(chǎn)生這個鍵的代碼,一般稱為鍵碼,同時,還能產(chǎn)生一個脈沖信號,以通知CPU接收(輸入)鍵碼。這種鍵盤的使用比較方便,亦不需要編寫很多程序,但使用的硬件較復雜,在微型計算機控制系統(tǒng)中使用還不多。非編碼鍵盤是由一些按鍵排列成的一個行列矩陣。按鍵的作用,只是簡單地實現(xiàn)接點的接通和斷開,但必須有一套相應的程序與之配合,才能產(chǎn)生出相應的鍵碼。非編碼鍵盤幾乎不需要附加什么硬件電路,目前,在微型計算機控制系統(tǒng)中使用比較普遍。使用非編碼鍵需要用軟件來解決按鍵的識別,防止抖動以及鍵碼的產(chǎn)生等工作。設有一個6行5列的非編碼鍵盤,其中有16個為數(shù)字鍵0F,其余的為控制鍵,用以發(fā)布各種控制命令。鍵盤的行線接8155C口的六條線PC5PC0,鍵盤的列線則接8155B口的5條線。在沒有任何鍵按下時,所有鍵盤列線上的信號都是高電平。當有按鍵按下時,就會出現(xiàn)鍵的識別、防止抖動以及確定鍵碼等一系列問題。按鍵識別有各種方法,此系統(tǒng)只 “行掃描”法:(1)確定是否有按鍵按下。CPU通過并行口輸出000000到鍵盤的行線,然后檢測鍵盤的列線信號。若沒有鍵按下,則為11111。若有任一個按鍵按下,則有某一條列線為0,也就是當PB4PB0不為11111時,就表示有鍵按下。(2)通過“行掃描”確定已按鍵的行、列位置。所謂行掃描就是依次給每條行線輸入0信號,而其余各行都輸入1,并檢測每次掃描時所對應的列信號。在圖2中就是在C口先輸出111110(PC5PC0),然后是111101,直到最后是011111,并檢測每次所對應的B口輸入。只有在某行上有鍵按下時,在這一行上輸入0(其他行為1),在列輸出上才能檢測到0信號。若是輸入為0的這一行上沒有按鍵按下,則收到的列信號仍然全是1。因此,只要記下列信號不全為1時的C口輸出及B口輸入,就能確定以按鍵的位置。設圖2中處于第3行第1列的鍵已按下,則必須是行輸出信號為110111,檢測到的列信號為11101。對應于其他的行信號,列信號都是11111。這樣,通過行掃描,就可以確定按鍵的行、列坐標。(3)確定是否有多鍵同時按下。有時一次按下的鍵不止一個,這在一般情況下是由于誤操作引起的,是不應該出現(xiàn)的通常稱為竄鍵。出現(xiàn)這種情況時,就可能有不止一次會得到列信號不為全1,這時就不容易判斷哪個鍵是真正需要按下的。為了處理這種情況可采取兩種辦法:一是行掃描一定是掃到最后一行才結(jié)束,而不是檢測到列信號不為全1時就結(jié)束,以便發(fā)現(xiàn)竄鍵;二是如果出現(xiàn)了竄鍵,最簡單的處理辦法就是這次行掃描不算,再來一遍,即以最后放開的那個鍵為準。實際上,由于掃描的速度很快,真正找到兩個鍵同時按下的情況是很少的。(4)消除鍵抖動。一般按鍵在按下的時候有抖動的問題,即鍵的簧片在按下時會有輕微的彈跳,需經(jīng)過一個短暫的時間才會可靠地接觸。若在簧片抖動時進行掃描就可能得出不正確的結(jié)果。因此,在程序中要考慮防抖動的問題。最簡單的辦法是在檢測到有鍵按下時,等待(延遲)一段時間再進行“行掃描”,延遲時間為1020ms。這可通過調(diào)用子程序來解決,當系統(tǒng)中有顯示子程序時,調(diào)用幾次顯示子程序也能同時達到消除抖動的目的。3.5.2 8255A芯片介紹 自動加料系統(tǒng)有8個按鍵:啟動兩條生產(chǎn)線的“啟動1”鍵和“啟動2”鍵、分秒選擇鍵、時間設置加/減鍵、顯示生產(chǎn)線狀態(tài)切換鍵,時間設置鍵,時間切換鍵,由于單片機的并行口有限。本系統(tǒng)采用8255A擴展并行口。(1)8255A的內(nèi)部結(jié)構(gòu)8255A的內(nèi)部結(jié)構(gòu)有以下幾部分組成:a.并行I/O端口A、B、C 8255A的內(nèi)部有3個8位并行I/O口:A口、B口、C口。3個I/O口都可以通過編程選擇為輸入口或輸出口,但在結(jié)構(gòu)和功能上有所不同。A口:含有一個8位數(shù)據(jù)輸出鎖存/緩沖器和一個8位輸入鎖存器。B口:含有一個8位數(shù)據(jù)輸出鎖存/緩沖器和一個8位輸入鎖存器(不鎖存)。C口:含有一個8位數(shù)據(jù)輸出鎖存/緩沖器和一個8位輸入鎖存器(不鎖存)。當數(shù)據(jù)傳送不需要聯(lián)絡信號時,這3個端口都可以用作輸入口或輸出口。當A口B口需要有聯(lián)絡信號時,C口可以作為A口和B口的聯(lián)絡信號線。b.工作方式控制電路:8255A的三個端口在使用使可分為A、B兩組。A組包括A口8位和C口高4位:B組包括B口8位和C口低4位。兩組的控制電路中分別有控制寄存器,根據(jù)寫入的控制字決定兩組的工作方式,也可對C口每一位置“1” 或清“0”。c.數(shù)據(jù)總線緩沖器:數(shù)據(jù)總線緩沖器是三態(tài)雙向的8位緩沖器,是8255A與單片機數(shù)據(jù)總線的接口,8255A的D0D7可以和AT89C51單片機的P0.0P0.7直接相連。數(shù)據(jù)的輸入輸出、控制字和狀態(tài)信息的傳遞,均可通過數(shù)據(jù)總線緩沖器進行。d.讀/寫控制邏輯:8255A讀/寫控制邏輯的作用是從CPU的地址和控制總線上接受有關(guān)信號,轉(zhuǎn)變成各種控制命令送到數(shù)據(jù)緩沖器及A組和B組的控制電路,控制A、B、C3個端口的操作。3.5.3 8255A引腳功能8255A共有40個引腳,一般為雙列直插DIP封裝,40個引腳可分為與CPU連接的數(shù)據(jù)線、地址和控制信號以及與外圍設備連接的三個端口線。.D0D7:雙向三態(tài)數(shù)據(jù)總線。.RESET:復位信號,輸入,高電平有效。復位后,控制寄存器清0,A口、B口、C口被置為輸入方式。.:片選信號,輸入,低電平有效。.:讀信號,輸入,低電平有效。有效時,允許CPU通過8255A D0D7讀取數(shù)據(jù)或狀態(tài)信息。.:寫信號,輸入,低電平有效。有效時,允許.A1A0:端口控制信號,輸入。2位可構(gòu)成四種狀態(tài),分別尋址A口、B口、C口和控制寄存器.PA0PA7:A口數(shù)據(jù)線,雙向。.PB0PB7:B口數(shù)據(jù)線,雙向。.PC0PC7:C口數(shù)據(jù)/信號線,雙向。當8255A工作于方式0時,PC0PC7分為兩組(每組4位)并行I/O數(shù)據(jù)線;當8255A工作于方式1或方式2時,PC0PC7為A口、B口提供聯(lián)絡信號。 A1A0與 、信號一起,可確定8255A的操作狀態(tài),如圖所示:8255A功能操作A1A0操 作001010000111000A口數(shù)據(jù)總線B口數(shù)據(jù)總線C口數(shù)據(jù)總線輸入操作00110101111100000000數(shù)據(jù)總線A口數(shù)據(jù)總線B口數(shù)據(jù)總線C口數(shù)據(jù)總線控制口輸出操
收藏
編號:2689911
類型:共享資源
大小:430.83KB
格式:ZIP
上傳時間:2019-11-28
5
積分
- 關(guān) 鍵 詞:
-
基于
單片機
自動
加料
控制系統(tǒng)
- 資源描述:
-
基于單片機的自動加料機控制系統(tǒng),基于,單片機,自動,加料,控制系統(tǒng)
展開閱讀全文
- 溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。