You are on page 1of 13

BI TP GHP NI MY TNH

BT 5.3.4.

#include <dos.h>
#include <conio.h>
#include <stdio.h>
Void main (void)
{
Int KT, data;
//To xung start
Outp(0x37A, inp(0x37A)&0xFB);
Delay(10);
Outp(0x37A, inp(0x37A)|0x04);

//Kim tra Finish


Do KT=inp(0x379)&0x10;
While(KT==0)
//c d liu
Data=inp(0x378);
}

BT 5.3.5.

#include <dos.h>
#include <conio.h>
#include <stdio.h>
Void main (void)
{

Int KT, data;


//To xung start
Outp(0x37A, inp(0x37A)&0xFB);
Delay(10);
Outp(0x37A, inp(0x37A)|0x04);
//Kim tra Finish
Do KT=inp(0x379)&0x80;
While(KT!=0) //V S7 tch cc mc thp
//c d liu
Data=inp(0x378);
}

BT 5.3.6.

#include <dos.h>
#include <conio.h>
#include <stdio.h>
void main(void)
{
Int ack;
//Gi k t A
Outp(0x378,0x41);
//To xung strobe
Outp(0x37A, inp(0x37A)|0x02);//Lp bit /C1
Delay(10);
Outp(0x37A, inp(0x37A)&0xFD);//Xa bit /C1
//Kim tra sck

Do ack=inp(0x379)&0x20;
While(ack!=0)
}

BT 5.3.7.

#include <dos.h>
#include <conio.h>
#include <stdio.h>
void main(void)
{
Int busy;
Do busy=inp(0x379)&0x20;
While(busy!=0)
Outp(0x378, 0x41);
Outp(0x37A, inp(0x37A)|0x02);

Delay(10);
Outp(0x37A, inp(0x37A)&0xFD);
}

BT 5.3.8.

#include <dos.h>
#include <conio.h>
#include <stdio.h>
void main(void)
{
Int data,INTR;
Outp(0x37A, inp(0x37A)&0xFD);

Delay(10);
Outp(0x37A, inp(0x37A)|0x02);
Do INTR=inp(0x379)&0x20;
While (INTR!=0)
Data=inp(0x378);
}

BT 5.3.9.

#include <dos.h>
#include <conio.h>
#include <stdio.h>
void main(void)
{
Int Kbhit, maphim;
Do Kbhit=inp(0x379)&0x20;
While(Kbhit==0)
Maphim=inp(0x378);
}

BT 5.3.10.

#include <dos.h>
#include <conio.h>
#include <stdio.h>
void main(void)
{
Int Kbhit,maphim;
Outp(0x317, 0x83);//khi to 8255, cng B in, cng c thp in
Do KT=Inp(0x316)&0x01;
While(Kbhit==0)
Maphim=inp(0x315);
}

BT 6.3.1.
#include <iostream.h>

#include <dos.h>
#include <conio.h>
#include <stdio.h>
void main(void)
{
Int KT, data;
Outp(0x3FB, 0x80);//DLAB=1
Outp(0x3F8, 0x18);//Baud=4800
Outp(0x3F9, 0x00);
Outp(0x3FB, 0x1F);//8 bit data, 2bit stop, parity chn
Do KT=inp(0x3FD)&0x01;//kim tra xem co d liu vo hay ko
While(KT==0)
Data=inp(0x3F8);
Cout<<data;
}

BT 6.3.2.
#include <iostream.h>
#include <dos.h>
#include <conio.h>
#include <stdio.h>
void main(void)
{

Int maphim;
Outp(0x3FB, 0x80);
Outp(0x3F8, 0x30);//Baud=2400
Outp(0x3F9, 0x00);
Outp(0x3FB, 0x0B);//8bit data, 1bit stop, parity l
While(Kbhit==0)
Maphim=getchar();//hm ly m phm
Outp(0x3F8, maphim);
}

6.3.3

Lp trnh:
#include<dos.h>
unsigned char x,y
void main(){
while(1){

outp(0x317,0x98); //Chon mode cho 8255


x=inp(0x316); //Gan gia tri thanh ghi PC vao x
while((x&0x80)==0); //Cho den khi chan KBHit = 1
y=inp(0x314); //Doc du lieu tu ban phim gan vao y
}
}

You might also like