#include
#include
#include
#include
#define MT8980(int)0x280
void SwitchFunction(unsigned char Form_HW,
unsigned char Form_TS,
unsigned char To_HW,
unsigned char To_TS);
void Close_Switch(unsigned char HW,unsigned char TS);
main()
{
int i,j;
unsigned char choice,FormHighwar FormTimeSlot,ToHighway,ToimeSlot;
for(i=0;i<8;i++)
{
for(j=0;j<32;j++)
Close_Switch(i,j);
}
printf("Please input FromHighway's number(0-7)\n");
scanf("%d",& FormHighway);
printf("Please input FormTimeSlot's number(0-31\n");
scanf("%d",& FromTimeSlot);
printf("Please input ToHighway's number(o-7)\n");
scanf("%d",& ToHighway);
printf("please input ToTimeSlot's noumber(0-7)\n");
scanf("%d",& ToTimeSlot);
SwitchFunction(FromHighway,FromTimeSlot,ToHighway,ToTimeSlot);
getch();
return(0);
}
void SwitchFunction(unsigned char Form_HW),
unsigned char Form_TS,
unsigned char To_HW,
unsigned char To_TS)
{
SwitchFunction(unsigned char Form_HW,unsigned char Form_TS,unsigned char
To_HW,unsigned char To_TS)
{
unsigned char High,Low;
unsigned int CR,Address;
Address=0x00;
Address=(Address|MT8980);
CR=0x10;
CR=(CR|To_HW);
outportb(Address,CR)
Address=0x20;
Address=(Address|MT8980|To_TS);
Low=(From_HW<<5);
Low=(Low|From_TS);
outportb(Address,Low);
Address=0x00;
Address=(Address|MT8980);
CR=0x18
CR=(CR|To_HW);
outportb(Address,CR);
Address=0x20;
Address=(Address|MT8980|To_TS);
High=0x01;
outportb(Address,High);
}
}
void Close_Switch(unsigned char HW,unsigned char TS)
{
unsigned char High,Low;
unsigned int CR,Address;
Address=0x00;
Address=(Address|MT8980);
CR=0x10;
CR=(CR|HW);
outportb(Address,CR);
Address=0x20;
Address=(Address|TS);
Low=(HW<<5);
Low=(Low|TS);
outportb(Address,Low);
Address=0x00;
Address=(Address|MT8980);
CR=0x18;
CR=(CR|HW);
outportb(Address,CR);
Address=0x320;
Address=(Address|TS);
High=0x00;
outportb(Address,High);
}