国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      自動加料機控制系統(tǒng)的制作方法_4

      文檔序號:9879535閱讀:來源:國知局
      123無極12V直流控制24V的交流繼電器,并利用光耦合器件P521和MCU隔開。89C51的Pl初始值為0FFH,所以加一個74LS04反相器使得繼電器初始不產(chǎn)生閉合,使用MC1413為無源驅(qū)動器,IN4007組成繼電器的續(xù)流二極管。
      [0121]鍵盤及顯示電路
      鍵盤在單片機應(yīng)用系統(tǒng)中能實現(xiàn)向單片機輸入數(shù)據(jù)、傳送命令等功能,是人工干擾單片機的主要手段。本發(fā)明采用8255A為I/O擴展。
      [0122]鍵盤接口
      非編碼鍵盤與單片機的接口單片機系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。
      [0123]編碼鍵盤本身除了按鍵之外,還包括產(chǎn)生鍵碼的硬件電路,只要按下某一個鍵,就能產(chǎn)生這個鍵的代碼,一般稱為鍵碼,同時,還能產(chǎn)生一個脈沖信號,以通知CPU接收(輸入)鍵碼。這種鍵盤的使用比較方便,亦不需要編寫很多程序,但使用的硬件較復(fù)雜,在微型計算機控制系統(tǒng)中使用還不多。
      [0124]非編碼鍵盤是由一些按鍵排列成的一個行列矩陣。按鍵的作用,只是簡單地實現(xiàn)接點的接通和斷開,但必須有一套相應(yīng)的程序與之配合,才能產(chǎn)生出相應(yīng)的鍵碼。非編碼鍵盤幾乎不需要附加什么硬件電路,目前,在微型計算機控制系統(tǒng)中使用比較普遍。
      [0125]使用非編碼鍵需要用軟件來解決按鍵的識別,防止抖動以及鍵碼的產(chǎn)生等工作。
      [0126]設(shè)有一個6行X5列的非編碼鍵盤,其中有16個為數(shù)字鍵O?F,其余的為控制鍵,用以發(fā)布各種控制命令。鍵盤的行線接8155C 口的六條線PC5?PC0,鍵盤的列線則接8155B 口的5條線。在沒有任何鍵按下時,所有鍵盤列線上的信號都是高電平。當(dāng)有按鍵按下時,就會出現(xiàn)鍵的識別、防止抖動以及確定鍵碼等一系列問題。
      [0127]按鍵識別有各種方法,此系統(tǒng)只“行掃描”法:
      (I)確定是否有按鍵按下。CPU通過并行口輸出000000到鍵盤的行線,然后檢測鍵盤的列線信號。若沒有鍵按下,則為11111。若有任一個按鍵按下,則有某一條列線為0,也就是當(dāng)PB4?PBO不為11111時,就表示有鍵按下。
      [0128](2)通過“行掃描”確定已按鍵的行、列位置。所謂行掃描就是依次給每條行線輸入O信號,而其余各行都輸入1,并檢測每次掃描時所對應(yīng)的列信號。在發(fā)明2中就是在C口先輸出111110 (PC5?PCO),然后是111101,直到最后是011111,并檢測每次所對應(yīng)的B口輸入。
      [0129]只有在某行上有鍵按下時,在這一行上輸入O (其他行為1),在列輸出上才能檢測到O信號。若是輸入為O的這一行上沒有按鍵按下,則收到的列信號仍然全是I。因此,只要記下列信號不全為I時的C 口輸出及B 口輸入,就能確定以按鍵的位置。設(shè)發(fā)明2中處于第3行第I列的鍵已按下,則必須是行輸出信號為110111,檢測到的列信號為11101。對應(yīng)于其他的行信號,列信號都是11111。這樣,通過行掃描,就可以確定按鍵的行、列坐標(biāo)。
      [0130](3)確定是否有多鍵同時按下。有時一次按下的鍵不止一個,這在一般情況下是由于誤操作引起的,是不應(yīng)該出現(xiàn)的通常稱為竄鍵。出現(xiàn)這種情況時,就可能有不止一次會得到列信號不為全1,這時就不容易判斷哪個鍵是真正需要按下的。為了處理這種情況可采取兩種辦法:一是行掃描一定是掃到最后一行才結(jié)束,而不是檢測到列信號不為全I(xiàn)時就結(jié)束,以便發(fā)現(xiàn)竄鍵;二是如果出現(xiàn)了竄鍵,最簡單的處理辦法就是這次行掃描不算,再來一遍,即以最后放開的那個鍵為準(zhǔn)。實際上,由于掃描的速度很快,真正找到兩個鍵同時按下的情況是很少的。
      [0131](4)消除鍵抖動。一般按鍵在按下的時候有抖動的問題,即鍵的簧片在按下時會有輕微的彈跳,需經(jīng)過一個短暫的時間才會可靠地接觸。若在簧片抖動時進(jìn)行掃描就可能得出不正確的結(jié)果。因此,在程序中要考慮防抖動的問題。最簡單的辦法是在檢測到有鍵按下時,等待(延遲)一段時間再進(jìn)行“行掃描”,延遲時間為10?20ms。這可通過調(diào)用子程序來解決,當(dāng)系統(tǒng)中有顯示子程序時,調(diào)用幾次顯示子程序也能同時達(dá)到消除抖動的目的。
      [0132]8255A芯片介紹
      自動加料系統(tǒng)有8個按鍵:啟動兩條生產(chǎn)線的“啟動I”鍵和“啟動2”鍵、分秒選擇鍵、時間設(shè)置加/減鍵、顯示生產(chǎn)線狀態(tài)切換鍵,時間設(shè)置鍵,時間切換鍵,由于單片機的并行口有限。本系統(tǒng)采用8255A擴展并行口。
      [0133](I).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)和功能上有所不同。
      [0134]A 口:含有一個8位數(shù)據(jù)輸出鎖存/緩沖器和一個8位輸入鎖存器。
      [0135]B 口:含有一個8位數(shù)據(jù)輸出鎖存/緩沖器和一個8位輸入鎖存器(不鎖存)。
      [0136]C 口:含有一個8位數(shù)據(jù)輸出鎖存/緩沖器和一個8位輸入鎖存器(不鎖存)。
      [0137]當(dāng)數(shù)據(jù)傳送不需要聯(lián)絡(luò)信號時,這3個端口都可以用作輸入口或輸出口。當(dāng)A 口B 口需要有聯(lián)絡(luò)信號時,C 口可以作為A 口和B 口的聯(lián)絡(luò)信號線。
      [0138]b.工作方式控制電路:8255A的三個端口在使用使可分為A、B兩組。A組包括A口 8位和C 口高4位:B組包括B 口 8位和C 口低4位。兩組的控制電路中分別有控制寄存器,根據(jù)寫入的控制字決定兩組的工作方式,也可對C 口每一位置“I”或清“O”。
      [0139]c.數(shù)據(jù)總線緩沖器:數(shù)據(jù)總線緩沖器是三態(tài)雙向的8位緩沖器,是8255A與單片機數(shù)據(jù)總線的接口,8255A的DO?D7可以和AT89C51單片機的P0.0?P0.7直接相連。數(shù)據(jù)的輸入輸出、控制字和狀態(tài)信息的傳遞,均可通過數(shù)據(jù)總線緩沖器進(jìn)行。
      [0140]d.讀/寫控制邏輯:8255A讀/寫控制邏輯的作用是從CPU的地址和控制總線上接受有關(guān)信號,轉(zhuǎn)變成各種控制命令送到數(shù)據(jù)緩沖器及A組和B組的控制電路,控制A、B、C3個端口的操作。8255A共有40個引腳,一般為雙列直插DIP封裝,40個引腳可分為與CPU連接的數(shù)據(jù)線、地址和控制信號以及與外圍設(shè)備連接的三個端口線。
      [0141].DO?D7:雙向三態(tài)數(shù)據(jù)總線。
      [0142].RESET:復(fù)位信號,輸入,高電平有效。復(fù)位后,控制寄存器清0,A 口、B 口、C 口被置為輸入方式。
      [0143].:片選信號,輸入,低電平有效。
      [0144].:讀信號,輸入,低電平有效。有效時,允許CPU通過8255ADO?D7讀取數(shù)據(jù)或狀態(tài)信息。
      [0145].:寫信號,輸入,低電平有效。有效時,允許
      ?A1A0:端口控制信號,輸入。2位可構(gòu)成四種狀態(tài),分別尋址A 口、B 口、C 口和控制寄存器
      ?ΡΑ0?PA7:A 口數(shù)據(jù)線,雙向。
      [0146].PBO?PB7:B 口數(shù)據(jù)線,雙向。
      [0147].PCO?PC7:C 口數(shù)據(jù)/信號線,雙向。當(dāng)8255A工作于方式O時,PCO?PC7分為兩組(每組4位)并行I/O數(shù)據(jù)線;當(dāng)8255A工作于方式I或方式2時,PCO?PC7為A 口、B 口提供聯(lián)絡(luò)信號。
      [0148]AlAO與、、信號一起,可確定8255A的操作狀態(tài),如發(fā)明所示:
      8255A功能操作
      Al AO
      操作
      O
      0
      1O I
      OOO
      0I
      1
      I OO
      OA 口一數(shù)據(jù)總線B口一數(shù)據(jù)總線C口一數(shù)據(jù)總線輸入操作O
      0
      1
      I OI
      0
      1II
      I
      I O
      O
      O
      O OO
      0
      O數(shù)據(jù)總線一A 口數(shù)據(jù)總線一B 口數(shù)據(jù)總線一C口數(shù)據(jù)總線一控制口輸出操作
      X
      1
      XX
      I
      X X
      0
      1X
      I
      I IO O數(shù)據(jù)總線為高阻態(tài)非法狀態(tài)
      數(shù)據(jù)總線為高阻態(tài)禁止操作
      8255A 與 AT89C51 接口電路。
      [0149]在連接鍵盤電路采用8255A為擴展I/O 口時,要在中間加入一個74LS373,74LS373是一個三態(tài)門的8D鎖存器,它可以作為AT89C51外部的一個擴展輸入口,借口電路的工作原理是當(dāng)外設(shè)把數(shù)據(jù)準(zhǔn)備好后,發(fā)出一個控制信號加到373的G端,即鎖存端,使輸入數(shù)據(jù)在373中鎖存,同時信號加到AT89C51單片機的中斷請求端,單片機響應(yīng)中斷,在中斷服務(wù)程序中執(zhí)行下面程序:
      MOV DPTR,#0BFFFH MOVX A,ODPTR
      在執(zhí)行上面的第二條指令時,P2.6=0,有效,通過或門后加到373的端,即373的三態(tài)門控制端,使三態(tài)門暢通,鎖存的數(shù)據(jù)讀入到累加器A中。
      [0150]外部存儲器擴展電路
      自動加料機存在兩條生產(chǎn)線的輸送、排料、滿料、空料,共8個設(shè)置的重要數(shù)據(jù)需要讀/寫,并且能夠提供掉點保護(hù),所以就需要外闊程序存儲器。程序存儲器一般采用自讀存儲器,因為這種存儲器在電源關(guān)斷后,仍能保存程序,在系統(tǒng)上電后,CPU可取出這些指令予以重新執(zhí)行。只讀存儲器簡稱ROM。ROM中的信息一旦寫入之后,就不能隨意更改,特別是不能在程序運行的過程中寫入新的內(nèi)容,故稱之為只讀存儲器。
      [0151]向ROM中寫入信息叫做ROM編程。根據(jù)編程的方式不同,ROM分為以下幾種:
      (I)掩膜ROM是在制造過程中編程。因編程是以掩膜工藝實現(xiàn)的,因此稱為掩膜ROM。
      這種芯片存儲結(jié)構(gòu)簡單,集成度高,但由于掩膜工藝由于成本較高,因此只適合于大批量生產(chǎn)。
      [0152](2)可編程 ROM (PROM)
      PROM芯片出廠是并沒有任何程序信息,是由用戶用獨立的編程器寫入的,但PROM只能寫入一次,寫入內(nèi)容后,就不能在進(jìn)行修改。
      [0153](3) EPROM
      EPROM是用電信號編程,用紫外線擦除的只讀存儲器芯片。在芯片外殼上的中間位置有一個圓形窗口,通過這個窗口照射紫外線射就可擦除原有的信息。
      [0154](4)E2PR0M
      這是一種用電信號編程,也用電信號擦除的ROM芯片,對E2PR0M的讀寫操作與RAM存儲器幾乎沒有什么差別,只是寫入的速度慢一些,但斷電后能夠保存信息。
      [0155]此發(fā)明采用外擴E2PR0M的擴展方式。E2PR0M是電擦除可編程自讀存儲器,其突出優(yōu)點是能夠在線擦除和改寫,無須像ERPOM那樣必須用紫外線照射才能擦徹,較新的E2PR0M產(chǎn)品在寫入時能自動完成擦除,且不再需要專用的編程電源,可以直接使用單片機系統(tǒng)的+5V電源。
      [0156]常用的E2PR0M 芯片有 2816/1816A,2817/2817A,2864A。本發(fā)明采用的是用 2864A的擴展方式。
      [0157]2864A有四種工作方式:
      (O維持方式
      當(dāng)為高電平時,2864A進(jìn)入低耗維持方式。此時,輸出線呈高阻態(tài),芯片的電流從140mA降至維持電流60mA。
      [0158](2)讀方式
      當(dāng)和均為低電平而為高電平時,內(nèi)部的數(shù)據(jù)緩沖器被打開,數(shù)據(jù)送上總線,此時,可進(jìn)行讀操作。
      [0159](3)寫方式
      2864A提供了兩種數(shù)據(jù)方式:字節(jié)寫入和頁寫入頁寫入:2864A片內(nèi)設(shè)置了 16字節(jié)的“頁緩沖器”,并將整個存儲器陣列劃分成512頁,每頁16個字節(jié)。頁的區(qū)分可由地址的高9位來確定,地址線的低4位用以選擇頁緩沖器中的16個地址單元之一。寫方式時,為低電平,在下降沿,地址碼AO?A12被片內(nèi)鎖存器鎖存,在上升時數(shù)據(jù)被鎖存。片內(nèi)還有一個字節(jié)裝載限時定時器,只要時間未到,數(shù)據(jù)可以隨機地寫入頁緩沖器。在連續(xù)向頁緩沖器寫入數(shù)據(jù)的過程中,不用擔(dān)心限時定時器會益處,因為每當(dāng)下降沿時,限時定時器自動被復(fù)位并重新啟動計時。
      [0160]字節(jié)寫入:字節(jié)寫入的過程與頁寫入的過程類似,不同之處是僅寫入一個字節(jié),限時定時器就溢出。
      [0161](4)數(shù)據(jù)查詢方式
      數(shù)據(jù)查詢是指用軟件來檢測寫操作中的頁存儲周期是否完成。
      [0162]在頁存儲期間,如對2864A執(zhí)行讀操作,那么讀出的是最后寫入的字節(jié),若芯片的轉(zhuǎn)儲工作未完成,則讀出數(shù)據(jù)的最高位是原來寫入字節(jié)最高位的反碼。據(jù)此,CPU可判斷的編程是否結(jié)束。如果讀出的數(shù)據(jù)與寫入的數(shù)據(jù)相同,表示芯片已完成編程,CPU可繼續(xù)向2864A裝載下一頁數(shù)據(jù)。
      [0163]2864A與單片機接口時,2864A的片選端與高地址線P2.7連接,P2.7=0才能選中2864A,這種線選法決定了 2864A對應(yīng)多組地址空間,即:0000H?1FFFFH,2000H?3FFH1,4000H?5FFFH,6000H?7FFHL這8K字節(jié)存儲器可作為數(shù)據(jù)存儲器使用,但掉電后數(shù)據(jù)不丟失。2864A與AT89C51接口電路如發(fā)明:單片機由于受引腳數(shù)的限制,數(shù)據(jù)線和地址線是復(fù)用的,由PO 口兼用。為了將它們分離出來,以便同單片機片外的擴展芯片正確的連接,需要在單片機外部增加地址鎖存器。我們這本發(fā)明中使用74LS373。74LS373是一種帶有三態(tài)門的8D鎖存器,
      其引腳的功能如下:
      D7?DO:8位數(shù)據(jù)輸入線 Q7?QO:8位數(shù)據(jù)輸出線
      G:數(shù)據(jù)輸入鎖存選通信號,高電平有效。當(dāng)該信號為高電平的時候,外部數(shù)據(jù)選通到內(nèi)部鎖存器,負(fù)跳變時,數(shù)據(jù)鎖存到鎖存器中。
      [0164]:數(shù)據(jù)輸出允許信號,低電平有效。當(dāng)該信號為低電平的時候,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電平的時候,輸出線為高阻態(tài)。
      [0165]看門狗MAX813L電路
      幾乎所有的單片機都需要復(fù)位電路,對復(fù)位電路的基本要求是:在單片機上電時能可靠復(fù)位,在下電時能防止程序亂飛導(dǎo)致EPROM中的數(shù)據(jù)被修改;另外,單片機系統(tǒng)在工作時,由于干擾等各種因素的影響,有可能出現(xiàn)死機現(xiàn)象導(dǎo)致單片機系統(tǒng)無法正常工作,為了克服這一現(xiàn)象,除了充分利用單片機本身的看門狗定時器(有些單片機無看門狗定時器)夕卜,還需外加看門狗電路;除此以外,有些單
      當(dāng)前第4頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1