PC-7824 24路脈沖計數、3路定時中斷板說明書_第1頁
PC-7824 24路脈沖計數、3路定時中斷板說明書_第2頁
PC-7824 24路脈沖計數、3路定時中斷板說明書_第3頁
PC-7824 24路脈沖計數、3路定時中斷板說明書_第4頁
PC-7824 24路脈沖計數、3路定時中斷板說明書_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、PC-7824 24路脈沖計數、3路定時中斷板說明書一、概述PC-7824是24路16位可編程脈沖計數、3路定時中斷板,它是面向工業過程控制而設計的,主體功能部分是由八片8253組成的。具有24個獨立的計數器,輸入信號經過光電隔離器件、施密特電路整形后進入8253計數器的,CPU通過對8253操作,即可得到當前各路脈沖信號的脈沖數。板上裝有1MHZ的晶振,為精確定時提供脈沖信號。引出了4個中斷至ISA總線上,用戶可根據需要選擇相應的中斷。 PC-7824卡符合ISA總線規范,可適用在工控機、兼容機中。二、性能特點·24路獨立的16位計數器·3路定時中斷·前12路差

2、分輸入,后12路單端輸入·輸入信號用施密特電路整形·輸入信號采用光電隔離器件·輸入信號為電流驅動方式,一般為4mA左右·輸入信號電壓為0-24V·計數頻率范圍為0-2MHZ·可編程計數器方式·二進制或二十進制計數· 占用連續32個I/O口地址· 讀數的同時不影響計數·光電隔離器件一分鐘最大耐壓為5000V·IRQ5、IRQ10、IRQ11、IRQ12·單一+5V工作電壓·工作溫度:055·存儲溫度:-35-75·相對濕度:5%-95%·

3、工作電壓:5V ±0.25V·工作電流:小于200mA三、工作原理從現場來的24路脈沖信號量通過37芯D型插座進入PC-7824卡,脈沖信號經過限流電阻進入光電隔離器件TLP-521,從光電隔離器出來后經過74LS14的施密特整形,進入82C53可編程定時/計數器件。每個8253器件包含有三個獨立的16位計數器,每個計數器的速率都可達到2MHZ,工作方式是可編程的。82C53的具體操作詳見有關82C53的資料,當用戶對每個8253 寫入控制字和初始值,8253就開始接受脈沖計數,計算機只要讀一次8253的各計數口,就可以知道當前脈沖信號頻率的大小,讀數的同時不影響計數器工作

4、。 譯碼部分由74LS688和五段撥碼開關SW組成,其中A5A9由SW設定,A4,A3,A2參與74LS138的譯碼,A1,A0地址接至8253的相應引腳上,PC-7824卡選定IO位地址A0-A9在000-3FFH之間譯碼,由于具有24路脈沖信號量輸入功能再加上八片8253的八個控制端口,因此PC-7824卡需占用連續32個I/O口地址。PC-7824卡出廠I/O地址配置為220-23FH。四、使用方法4.1、設定基地址SW對應為12345A5A6A7A8A9出廠時撥碼開關位置 OFFONONONOFF12345 其中ON為0,OFF為1;端口地址首地址:220H4.2、地址分配表地址(十六

5、進制)計數通道地址(十六進制)計數通道220123013221223114222323215223控制端233控制端224423416225523517226623618227控制端237控制端22872381922982392022A923A2122B控制端23B控制端22C1023C2222D1123D2322E1223E2422F控制端23F控制端4.3、跳線器定義JP1定義引腳定義引腳定義18253 CLK02晶振時鐘信號38253 CLK1458253 CLK26當一個計數器不夠用時,可將兩個或三個計數器級聯使用,即將8253 OUT0接CLK1(1-2),OUT1接CLK2(3-4

6、),在JP2上進行。JP2定義如下:1-2連接:8253 OUT0接至8253 CLK1;3-4連接:8253 OUT1接至8253 CLK2;JP3用于在需要中斷時,選定信號中斷。1-2連接:8253 OUT0產生中斷信號;3-4連接:8253 OUT1產生中斷信號;5-6連接:8253 OUT2產生中斷信號;JP4用于選定中斷號。1-2連接:產生IRQ5中斷;3-4連接:產生IRQ10中斷;5-6連接:產生IRQ11中斷;7-8連接:產生IRQ12中斷;4.4、D型接頭定義信號引腳信號引腳PL0+1PL0-20PL1+2PL1-21PL2+3PL2-22PL3+4PL3-23PL4+5PL

7、4-24PL5+6PL5-25PL6+7PL6-26PL7+8PL7-27PL8+9PL8-28PL9+10PL9-29PL10+11PL10-30PL11+12PL11-31PL1213PL1332PL1414PL1533PL1615PL1734PL1816PL1935PL2017PL2136PL2218PL2337AGND19單端輸入時,AGND為公共端,所有信號的負端均接于公共端上五、編程指導5.1、下面是用C語言編寫的24路脈沖計數程序。#include <dos.h>#include <stdio.h>#include <conio.h>#incl

8、ude <process.h>#define PORT 0x220 /*端口地址*/#define Pa 0x34 /*計數器0控制字*/#define Pb 0x74 /*計數器1控制字*/#define Pc 0xb4 /*計數器2控制字*/#define J 0x40void main() unsigned int Portbase,i,k,m; unsigned char loop_end=0; unsigned char inpch; int Dh24,Dl24,Ma24,Mb24,Mcs24; for(k=0;k<8;k+) Portbase=PORT+k*4;

9、/*通道地址*/ outportb(Portbase+3,Pa); /*控制字34H*/ outportb(Portbase,0x00); outportb(Portbase,0x00); /*最大計數值FFFF*/ outportb(Portbase+3,Pb); /*控制字74H*/ outportb(Portbase+1,0x00); outportb(Portbase+1,0x00); /*最大計數值FFFF*/ outportb(Portbase+3,Pc); /*控制字b4H*/ outportb(Portbase+2,0x00); outportb(Portbase+2,0x00

10、); /*最大計數值FFFF*/ /* 完成了對八片8253的初始化,工作方式2 */ for(k=0;k<8;k+) Portbase=PORT+k*4; for(m=0;m<3;m+) outportb(Portbase+3,0x00+J*m); /*鎖定計數器*/ Dlk*3+m=inportb(Portbase+m); /*讀低8位數據*/ Dhk*3+m=inportb(Portbase+m); /*讀高8位數據*/ Mak*3+m=Dlk*3+m+Dhk*3+m*256; /*第一次計數*/ delay(900);do for(k=0;k<8;k+) Portba

11、se=PORT+k*4; for(m=0;m<3;m+) outportb(Portbase+3,0x00+J*m); Dlk*3+m=inportb(Portbase+m); Dhk*3+m=inportb(Portbase+m); Mbk*3+m=Dlk*3+m+Dhk*3+m*256; /*第二次計數*/ Mcsk*3+m=abs(Mbk*3+m-Mak*3+m); /*脈沖次數*/ Mak*3+m=Mbk*3+m; delay(990); /*延時*/ while(!kbhit(); 5.2、中斷編程在工業控制現場,很多緊急事情需要CPU進行處理,查詢方式很浪費CPU的時間。而采

12、用中斷方式則很好的解決了這個問題。本卡采用最后一片8253作為中斷源,即U12位置。在使用中斷前,請設置好基地址與本板中斷跳線,由于是基于ISA總線的,所以要避免與系統的資源相沖突。系統的資源包含IO與IRQ。啟動計算機以后,按住DEL鍵,進入BIOS的設定,在PNP/PCI CONFIGURATION這一項上,分配IRQ,請把相應的中斷,例如IRQ5,IRQ10、IRQ11、IRQ12分配給ISA。保存BIOS的設定,重啟計算機后,如無異常提示,則說明分配成功,否則與系統的IRQ沖突。系統在實模式下BIOS加電時完成了對8259芯片的初始化工作。CPU可處理兩種觸發方式的中斷:一種是上升沿觸

13、發,另外一種是電平觸發。8259默認的中斷是上升沿觸發。8253有六種工作方式,其中只有方式0、1、3產生上升沿觸發,而工作方式0計數結束后不能重復,需要軟件啟動。不能實現精確定時,為了能夠實現精確的定時中斷,本程序采用8253的工作方式3。另外IRQ10、IRQ11、IRQ12的中斷屬于高號中斷,位于8259從片上,編程有別于IRQ5,稍微復雜一點。先要打開主片的IRQ2,然后再開從片;關閉時可以只關主片的IRQ2。由于是外部產生的硬中斷,在中斷結束時需要執行如下指令:outportb(0x20,0x20);/主片outportb(0xA0,0x20);/從片然后打開中斷enable();因

14、為系統在轉入中斷服務程序時,默認是關閉所有中斷,所以在結束時開啟中斷,為下次中斷作好準備。詳細請參見源代碼。分別提供一個IRQ5、IRQ11的編程。IRQ10的中斷向量為0X72,IRQ12的中斷向量為0X74,至于中斷屏蔽字的格式參閱有關8259芯片的說明。相應位置0為開中斷;軟件編譯環境為turbo c+3.0。運行環境為WIN98、dos下,程序在我方調試通過。5.3、中斷編程的幾條建議在中斷服務程序中,建議盡量不用printf()、cprintf()函數,因為這牽涉到dos重入問題,而用puts()函數代替。另外如有需要,可以用keep函數使中斷服務程序常駐內存。除非重啟。中斷服務程序一般都是要求CPU緊急處理的代碼,為了追求處理速度,如果中斷服務程序很復雜,與硬件交互的情況較多時建議采用匯編語言編寫中斷服務程序。即在C語言中嵌入匯編代碼。提高執行效率。C語言中嵌入匯編代碼的語法為:在匯編語言前加asm,例如:asm mov AL 0x20 后面不能有分號。這是C語言的例外。六. 維修服務6.1 產品完整性PC7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論