<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 8253在生產(chǎn)線自動(dòng)計(jì)數(shù)系統(tǒng)中的應(yīng)用

          8253在生產(chǎn)線自動(dòng)計(jì)數(shù)系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2012-03-23 來(lái)源:網(wǎng)絡(luò) 收藏

          系統(tǒng)中的應(yīng)用

          介紹一種基于計(jì)數(shù)器/定時(shí)器系統(tǒng),詳細(xì)敘述了系統(tǒng)的軟、硬件設(shè)計(jì)原理及實(shí)現(xiàn)方法。
            關(guān)鍵詞:計(jì)數(shù)器/定時(shí)器;系統(tǒng)

          Application of in Automatic counting System of Pro duct Line
          LI Lei, XUE Jianbo
          (Henan Normal University, College of Physics and Information Engineering, XinXiang 453002, China)
            Key words: counter/timer; automatic?counting system
            在工廠自動(dòng)化系統(tǒng)中,往往需要對(duì)產(chǎn)品進(jìn)行定量包裝,或隨時(shí)統(tǒng)計(jì)在流水線上所生產(chǎn)的某種產(chǎn)品的數(shù)量。為滿足工廠自動(dòng)化的需求,我們采用微處理器和8253等芯片設(shè)計(jì)了一種自動(dòng)計(jì)數(shù)系統(tǒng)。這種系統(tǒng)電路簡(jiǎn)單,造價(jià)低,適合中小企業(yè)使用。
            8253是可編程的計(jì)數(shù)器/定時(shí)器,其內(nèi)部有三個(gè)獨(dú)立的16位計(jì)數(shù)器/定時(shí)器通道,每個(gè)計(jì)數(shù)器 通道均可按6種不同的方式工作,并且都可以按二進(jìn)制或十進(jìn)制計(jì)數(shù)。其CLK0~CLK2是計(jì)數(shù)器0~2的時(shí)鐘脈沖輸入端,GATE0~GATE2是門(mén)控脈沖輸入端,OUT0~OUT2是輸出端(見(jiàn)圖1)。當(dāng)用8253做外部事件計(jì)數(shù)器時(shí),在CLK端所加的計(jì)數(shù)脈沖由外部事件產(chǎn)生,這些脈沖的間隔可以不相等。如果要用它做定時(shí)器,則CLK端應(yīng)輸入精確的時(shí)鐘脈沖。這時(shí),8253所能實(shí)現(xiàn)的定時(shí)時(shí)間決定于計(jì)數(shù)脈沖的頻率和計(jì)數(shù)器的初值,即
          ? 定時(shí)時(shí)間=時(shí)鐘脈沖周期tc×預(yù)置的計(jì)數(shù)初值n
            8253的控制邏輯由5個(gè)控制信號(hào)和A0組成,對(duì)應(yīng)的操作見(jiàn)表1。
          ?
            RL1,RL0——讀/寫(xiě)操作位。00表示鎖存數(shù)據(jù),可隨時(shí)讀取計(jì)數(shù)器中的計(jì)數(shù)值;01表示只讀/寫(xiě)低8位,高8位自動(dòng)置為0;10表示只讀/寫(xiě)高8位,低8位自動(dòng)置為0;11表示讀/寫(xiě)16位數(shù)據(jù),先低8位,后高8位。
            M2,M1,M0——工作方式選擇位。0~5表示方式0~5。方式0,計(jì)數(shù)完中斷;方式1,可程控單觸發(fā)操作;方式2,分頻脈沖發(fā)生;方式3,分頻方波發(fā)生;方式4,軟件觸發(fā)選通;方式5,硬件觸發(fā)選通。其中方式0的工作過(guò)程如下:當(dāng)程序送一控制字將所選的計(jì)數(shù)器置于所設(shè)定的方式后,該計(jì)數(shù)器的輸出為低;當(dāng)計(jì)數(shù)器初值裝入被選中的計(jì)數(shù)器后,在外部輸入的門(mén)控高電平的控制下,則可通過(guò)各自的計(jì)數(shù)脈沖進(jìn)行遞減計(jì)數(shù)。此時(shí)其輸出仍為“低”。當(dāng)計(jì)數(shù)器從初始值減到全“0”時(shí),便產(chǎn)生一高電平輸出,利用此輸出信號(hào)向CPU發(fā)計(jì)數(shù)完中斷;此中斷請(qǐng)求一直保持到程序再次向計(jì)數(shù)器裝入初值為止。
            BCD——計(jì)數(shù)方式選擇位。1表示按十進(jìn)制計(jì)數(shù),0表示按二進(jìn)制計(jì)數(shù)。
            使用8253計(jì)數(shù)功能的電路見(jiàn)圖1。
            當(dāng)LED發(fā)光管與光電管之間無(wú)工件通過(guò)時(shí),LED發(fā)出的光能夠照在光電管上,使光電管導(dǎo)通,集電極變?yōu)榈碗娖健4诵盘?hào)經(jīng)74LS14驅(qū)動(dòng)整形后送到8253的CLK1,使8253的CLK1端也為低電平。當(dāng)LED發(fā)光管與光電管之間有工件通過(guò)時(shí),LED發(fā)出的光被工件擋住,光電管截止,集電極變?yōu)楦唠娖?,?253的CLK1端也為高電平。待工件通過(guò)后,CLK1端又回到了低電平。這樣,每通過(guò)一個(gè)工件,就從CLK1端輸入一個(gè)正脈沖,利用8253對(duì)此脈沖計(jì)數(shù),就可以統(tǒng)計(jì)出工件的個(gè)數(shù)來(lái)。
            8253的A1和A0分別與CPU地址總線的A2和A1相連。GATE1接+5V,OUT1作為中斷信號(hào)INT接到8259A的一個(gè)中斷請(qǐng)求輸入端IR2或者接51單片機(jī)的外部中斷輸入。本系統(tǒng)中設(shè)計(jì)的8253的端口地址分別為0350H,0352H,0354H,0356H。
            編程時(shí),可選擇計(jì)數(shù)器1工作在方式0。在8253的方式0工作方式中,從將計(jì)數(shù)初值寫(xiě)入計(jì)數(shù)器到開(kāi)始減1計(jì)數(shù)之間,有一個(gè)時(shí)鐘脈沖的延遲。若計(jì)數(shù)初值為n=999,那么經(jīng)過(guò)n+1個(gè)即1000個(gè)脈沖時(shí)計(jì)數(shù)值減為0,并在OUT1端輸出一正跳變,這可以作為中斷請(qǐng)求。在中斷服務(wù)子程序中CPU可以做其他處理,如送下一個(gè)包裝箱等。
            設(shè)計(jì)數(shù)初值為1999(要求一個(gè)包裝箱內(nèi)裝工件2000),按十進(jìn)制計(jì)數(shù),先送低8位,再送高8位,控制字為01110001B。
            初始化程序?yàn)椋?BR>  MOV AL,01110001B
           
            若自動(dòng)計(jì)數(shù)系統(tǒng)中,在包裝箱未裝滿之前想了解包裝箱中已經(jīng)裝了多少個(gè)工件,我們可以利用8253的數(shù)據(jù)鎖存功能;由于8253是減1計(jì)數(shù)器,可以讀取計(jì)數(shù)器的現(xiàn)行值,再用裝滿值減去現(xiàn)行值,即得當(dāng)前包裝箱中的工件數(shù)。
            此時(shí)方式控制字為01000000B,實(shí)現(xiàn)上述功能的程序?yàn)椋?BR>  


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();