2.10quaymoto
/*
Dieu khien motor buoc
*/
#include "stdafx.h"
#include<conio.h>
#include<stdio.h>
#include<dos.h>
#include<PCIXP.h>
void main()
{
float step;
char k;
int i;
int add, miliseconds;
int OnePhase[8] = {0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01};
add = Get_Addr("PCI_8255");
outportb(add+3, 0x80); //thanh ghi tu dieu khien cho cong A mode ra
printf("
Nhan 't' de quay trai, 'p' de quay phai.");
printf("
Nhan 'd' de giam toc do quay, 'u' de tang toc do quay.");
printf("
Nhan 't' hoac 'p' de bat dau, 'Esc' de ket thuc chuong trinh!
");
k = getch();
miliseconds = 20;
step = 0;
do{
if(k=='t'|| k=='u' || k == 'd')
{
i=1;
do{
outportb(add,OnePhase[i++]);
printf("\rSo buoc da quay: %10.0f", step++);
Sleep(miliseconds);
if(i==8)i = 0;
}while(!kbhit());
}
else if(k=='p'|| k=='u' || k == 'd')
{
i=7;
do{
outportb(add,OnePhase[i--]);
printf("\rSo buoc da quay: %10.0f", step++);
Sleep(miliseconds);
if(i==-1)i = 7;
}while(!kbhit());
}
k = getch();
if(k=='u' && miliseconds>1)
miliseconds--;
else if (k=='d' && miliseconds<100)
miliseconds++;
}while(k!=27);
}
Bạn đang đọc truyện trên: Truyen2U.Pro