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

📄 1.txt

📁 ·AT80C2051用内部比较器作AD转换器
💻 TXT
📖 第 1 页 / 共 5 页
字号:




      bios_time = biostime(0, 0L); 

       gotoxy(50, 1); 

      cprintf("%lu", bios_time); 

       gotoxy(50, 2); 

      cprintf("%.4f", bios_time / CLK_TCK); 

       gotoxy(50, 3); 

      cprintf("%.4f", bios_time / CLK_TCK / 60); 

       gotoxy(50, 4); 

      cprintf("%.4f", bios_time / CLK_TCK / 3600); 

   } 

   return 0; 

} 
{  printf("Calling abort()\n"); 

  abort(); 

  return 0; /* This is never reached */ 

}

 

{  int number = -1234; 

  printf("number: %d  absolute value: %d\n", number, abs(number)); 

  return 0; 

} 


/* absread example */ 

 

i
{ int i, strt, ch_out, sector; 

  char buf[512]; 

 printf("Insert a diskette into drive A and press any key\n"); 

  getch(); 

  sector = 0; 

  if (absread(0, 1, sector, &buf) != 0) 

  {

     perror("Disk problem"); 

     exit(1); 

  } 

  printf("Read OK\n"); 

  strt = 3; 

  for (i=0; i<80; i++) 

  { 

     ch_out = buf[strt+i]; 

     putchar(ch_out); 

  } 

  printf("\n"); 

  return(0); 

}



{  printf("Does NOTEXIST.FIL exist: %s\n", 

  file_exists("NOTEXISTS.FIL") ? "YES" : "NO"); 

  return 0; 

}

int file_exists(char *filename) 

{  return (access(filename, 0) == 0); 

} 


int main(void) 

{ 

  double result; 

  double x = 0.5; 

  result = acos(x); 

 printf("The arc cosine of %lf is %lf\n", x, result); 

  return 0; 

}


{ 

    /* request auto detection */ 

   int gdriver = DETECT, gmode, errorcode; 

   int midx, midy; 

   int stangle = 45, endangle = 135; 

   int radius = 100; 

 

   /* initialize graphics and local variables */ 

   initgraph(&gdriver, &gmode, ""); 

 

   /* read result of initialization */ 

   errorcode = graphresult();    /* an error occurred */ 

   if (errorcode != grOk) 

   { 

      printf("Graphics error: %s\n", grapherrormsg(errorcode)); 

      printf("Press any key to halt:"); 

      getch(); 

 

      exit(1);    /* terminate with an error code */ 

   } 

   midx = getmaxx() / 2; 

   midy = getmaxy() / 2; 

   setcolor(getmaxcolor()); 

   /* draw arc */ 

   arc(midx, midy, stangle, endangle, radius); 

   /* clean up */ 

   getch(); 

   closegraph(); 

   return 0; 

}

   char str[80]; 

   /* sample loading of tm structure  */ 

   t.tm_sec    = 1;  /* Seconds */ 

   t.tm_min    = 30; /* Minutes */ 

   t.tm_hour   = 9;  /* Hour */ 

   t.tm_mday   = 22; /* Day of the Month  */ 

   t.tm_mon    = 11; /* Month */ 

   t.tm_year   = 56; /* Year - does not include century */ 

   t.tm_wday   = 4;  /* Day of the week  */ 

   t.tm_yday   = 0;  /* Does not show in asctime  */ 

   t.tm_isdst  = 0;  /* Is Daylight SavTime; does not show in asctime */ 

 

   /* converts structure to null terminated 

   string */ 

 

   strcpy(str, asctime(&t)); 

   printf("%s\n", str); 

 

   return 0; 

}

 

int main(void) 

{ 

   double result; 

   double x = 0.5; 

 

   result = asin(x); 

   printf("The arc sin of %lf is %lf\n", x, result); 

   return(0); 

}


 midx = getmaxx() / 2; 

   midy = getmaxy() / 2; 

/* loop through the fill patterns */ 

   for (i=SOLID_FILL; i<USER_FILL; i++) 

   { 

      /* set the fill style */ 

      setfillstyle(i, getmaxcolor()); 

 /* draw the bar */ 

      bar(midx-50, midy-50, midx+50, 

         midy+50); 

  getch(); 

   } 

   /* clean up */ 

   closegraph(); 

   return 0; 

}

函数名: bar3d 

功  能: 画一个三维条形图 

用  法: void far bar3d(int left, int top, int right, int bottom, 

                       int depth, int topflag); 
程序例: 

#include <graphics.h> 

#include <stdlib.h> 

#include <stdio.h> 

#include <conio.h> 

int main(void) 

{   /* request auto detection */ 

   int gdriver = DETECT, gmode, errorcode; 

   int midx, midy, i; 

   /* initialize graphics, local variables */ 

   initgraph(&gdriver, &gmode, ""); 

   /* read result of initialization */ 

   errorcode = graphresult(); 

   if (errorcode != grOk)  /* an error occurred */ 

   { 

      printf("Graphics error: %s\n", grapherrormsg(errorcode)); 

      printf("Press any key to halt:"); 

      getch(); 

      exit(1); /* terminate with error code */ 

   } 

   midx = getmaxx() / 2; 

   midy = getmaxy() / 2; 

   /* loop through the fill patterns */ 

   for (i=EMPTY_FILL; i<USER_FILL; i++) 

   { 

      /* set the fill style */ 

      setfillstyle(i, getmaxcolor()); 

      /* draw the 3-d bar */ 

      bar3d(midx-50, midy-50, midx+50, midy+50, 10, 1); 

      getch(); 

   } 

    /* clean up */ 

   closegraph(); 

   return 0; 

} 

函数名: bdos 

功  能: DOS系统调用 

用  法: int bdos(int dosfun, unsigned dosdx, unsigned dosal); 

程序例: 

#include <stdio.h> 

#include <dos.h> 

/* Get current drive as 'A', 'B', ... */ 

char current_drive(void) 

{ 

   char curdrive; 

    /* Get current disk as 0, 1, ... */ 

   curdrive = bdos(0x19, 0, 0); 

   return('A' + curdrive); 

} 

int main(void) 

{ 

   printf("The current drive is %c:\n", current_drive()); 

   return 0; 

} 

函数名: bdosptr 

功  能: DOS系统调用 

用  法: int bdosptr(int dosfun, void *argument, unsigned dosal); 

程序例: 

#include <string.h> 

#include <stdio.h> 

#include <dir.h> 

#include <dos.h> 

#include <errno.h> 

#include <stdlib.h> 

#define  BUFLEN  80 

 int main(void) 

{ 

   char  buffer[BUFLEN]; 

   int   test; 

    printf("Enter full pathname of a directory\n"); 

   gets(buffer); 

    test = bdosptr(0x3B,buffer,0); 

      if(test) 

      { 

  printf("DOS error message: %d\n", errno); 

  /* See errno.h for error listings */ 

  exit (1); 

      } 

    getcwd(buffer, BUFLEN); 

   printf("The current directory is: %s\n", buffer); 

    return 0; 

} 

函数名: bioscom 

功  能: 串行I/O通信 

用  法: int bioscom(int cmd, char abyte, int port); 

程序例: 

 #include <bios.h> 

#include <conio.h> 

 #define COM1       0 

#define DATA_READY 0x100 

#define TRUE       1 

#define FALSE      0 

 #define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00) 

 int main(void) 

{ 

   int in, out, status, DONE = FALSE; 

    bioscom(0, SETTINGS, COM1); 

   cprintf("... BIOSCOM [ESC] to exit ...\n"); 

   while (!DONE) 

   { 

      status = bioscom(3, 0, COM1); 

      if (status & DATA_READY) 

  if ((out = bioscom(2, 0, COM1) & 0x7F) != 0) 

     putch(out); 

  if (kbhit()) 

  { 

     if ((in = getch()) == '\x1B') 

        DONE = TRUE; 

     bioscom(1, in, COM1); 

  } 

   } 

   return 0; 

} 

  
函数名: biosdisk 

功  能: 软硬盘I/O 

用  法: int biosdisk(int cmd, int drive, int head, int track, int sector 

       int nsects, void *buffer); 

程序例: 

 #include <bios.h> 

#include <stdio.h> 

 int main(void) 

{ 

   int result; 

   char buffer[512]; 

    printf("Testing to see if drive a: is ready\n"); 

   result = biosdisk(4,0,0,0,0,1,buffer); 

   result &= 0x02; 

   (result) ? (printf("Drive A: Ready\n")) : 

       (printf("Drive A: Not Ready\n")); 

    return 0; 

} 

  
函数名: biosequip 

功  能: 检查设备 

用  法: int biosequip(void); 

程序例: 

 #include <bios.h> 

#include <stdio.h> 

 int main(void) 

{ 

   int result; 

   char buffer[512]; 

    printf("Testing to see if drive a: is ready\n"); 

   result = biosdisk(4,0,0,0,0,1,buffer); 

   result &= 0x02; 

   (result) ? (printf("Drive A: Ready\n")) : 

       (printf("Drive A: Not Ready\n")); 

    return 0; 

} 

函数名: bioskey 

功  能: 直接使用BIOS服务的键盘接口 

用  法: int bioskey(int cmd); 

程序例: 

 #include <stdio.h> 

#include <bios.h> 

#include <ctype.h> 

 #define RIGHT  0x01 

#define LEFT   0x02 

#define CTRL   0x04 

#define ALT    0x08 

 int main(void) 

{ 

   int key, modifiers; 

    /* function 1 returns 0 until a key is pressed */ 

   while (bioskey(1) == 0); 

    /* function 0 returns the key that is waiting */ 

   key = bioskey(0); 

    /* use function 2 to determine if shift keys were used */ 

   modifiers = bioskey(2); 

   if (modifiers) 

   { 

      printf("["); 

      if (modifiers & RIGHT) printf("RIGHT"); 

      if (modifiers & LEFT)  printf("LEFT"); 

      if (modifiers & CTRL)  printf("CTRL"); 

      if (modifiers & ALT)    printf("ALT"); 

      printf("]"); 

   } 

   /* print out the character read */ 

   if (isalnum(key & 0xFF)) 

      printf("'%c'\n", key); 

   else 

      printf("%#02x\n", key); 

   return 0; 

} 

函数名: biosmemory 

功  能: 返回存储块大小 

用  法:int biosmemory(void); 

程序例: 

 #include <stdio.h> 

#include <bios.h> 

 int main(void) 

{ 

⌨️ 快捷键说明

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