⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time1.c

📁 dos下进行中断操作的源代码
💻 C
字号:
     #include <stdlib.h>
     #include <dos.h>
     #include <conio.h>
     #include <string.h>
     #include <stdio.h>
     #ifdef __cplusplus
     #define __CPPARGS ...
     #else
     #define __CPPARGS
     #endif


     FILE *fp1;
     FILE *fp2;
     int counter=0;
     int time1=0;
     void interrupt  ( *oldint1c)(__CPPARGS);
     void interrupt  ( *oldintc)(__CPPARGS);
     void interrupt newint1c(__CPPARGS);
     void interrupt newintc(__CPPARGS);

     void interrupt newint1c(__CPPARGS)
		  {
		   counter++;
		   outportb(0x20,0x20);
		   }
    void startint()
     {
     oldint1c=getvect(0x08);
     setvect(0x08,newint1c);
     }
    void resetv()
      {
      setvect(0x08,oldint1c);
	}

     main()
	  {
	  clrscr();
	  counter=0;
	  clrscr();
	  gotoxy(24,23);
	  puts("Strike Esc to stop the demo.");
	  int i1=0;
	  disable();
	  outportb(0x20,0x20);
	  startint();
	  int i;
	  outportb(0x61,1);     			/* 0x61 port control GATE2*/
	  for(i=0;i<100;i++);
	  outportb(0x43,0xb8);   // write counter 2
	  for(i=0;i<10;i++);
	  _BX=5966;              //5 ms /1 interrupt
	  outportb(0x42,_BL);
	  for(i=0;i<10;i++);
	  outportb(0x42,_BH);
	  for(i=0;i<10;i++);
	  outportb(0x43,0x36);   //reset counter 0 to 20 times
	  for(i=0;i<10;i++);
	  _BX=5966;              //5 ms /1 interrupt
	  outportb(0x40,_BL);
	  for(i=0;i<10;i++);
	  outportb(0x40,_BH);

	  enable();
	  delay(50);

	  disable();
	  outportb(0x43,0x86);
	  _AL=inportb(0x42);
	  _AH=inportb(0x42);
	  i1=_AX;

      //	  for(i=0;i<1000;i++);

	   i1=_AX;
	  float t1=float(_AX);

	  outportb(0x43,0x36);
	  outportb(0x40,0);
	  outportb(0x40,0);
	  setvect(0x08,oldint1c);
	  enable();

	  float t2=(5966.-t1)/5966.;
	  float t3=t2*5.;

	  gotoxy(3,10);
	  cprintf("counter is %d i1=%d,t1=%f t2=%f, t3=%f",counter,i1,t1,t2,t3);
	  gotoxy(24,23);
	  puts("Strike Esc to stop the demo.");

	  getch();
	  return 0;
	  }



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -