/*
Dem so xung clock.
Sau khi nap gia tri max vao bo dem, ta phai doc lai gia tri thuc su co trong bo dem (ke ca no co giong voi gia tri ta nap vao hay khong)
Va luu gia tri do vao bien value1.
Sau do, tao 1 vong lap de lien tuc doc gia tri tuc thoi trong bo dem va luu vao bien value2.
So xung clock = value1 - value2.
*/
#include "stdafx.h"
#include<conio.h>
#include<stdio.h>
#include<dos.h>
#include<PCIXP.h>
void main()
{
int pulse;
unsigned int value1, value2, HighByte=0,LowByte=0;
int add=Get_Addr("PCI_8255");
outportb(add+11, 0xB2); // Dung bo T2 che do 1
outportb(add+10, 0xFE); // Nap gia tri dem toi da
outportb(add+10, 0xFF);
outportb(add+11, 0x80); // Chot bo dem T2
LowByte = inportb(add+10); // Doc byte thap
HighByte = inportb(add+10); // Doc byte cao
value1 = (LowByte&0xFF) + (HighByte<<8); // Luu gia tri thuc su trong bo dem truoc khi bat dau dem
do
{
outportb(add+11, 0x80); // Chot bo dem T2
//bo dem T1, che do 2
LowByte = inportb(add+10); // Doc byte thap
HighByte = inportb(add+10); // Doc byte cao
value2 = (LowByte&0xFF) + (HighByte<<8);
pulse = value1 - value2 ; // So xung = gia tri doc duoc ngay sau khi nap (value1) tru di gia tri hien thoi cua bo dem
printf("\rSo xung: %7d",pulse);
}while(!kbhit());
getch();
}
Bạn đang đọc truyện trên: Truyen2U.Pro