<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

8253在生產(chǎn)線(xiàn)自動(dòng)計數系統中的應用

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

系統中的應用

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

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


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>