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

📄 dcpfm.cpp

📁 大学微型计算机接口技术实验源代码,直接就可以运行,包含了C++和asm代码,比较前面.
💻 CPP
字号:
//PFM.CPP
#include<dos.h>
#include<conio.h>
#include<stdio.h>
char *title="Test dc motor use PFM method";
#define PC 0x302
#define CR 0x303
void rotate();
void rotate2();
void rotate4();
void rotate8();
void main()
{
  char ch;
  outportb(CR,0x90);
  outportb(PC,0xff);
 
  clrscr();
  puts(title);

  puts("1------>100% duty cycle");
  puts("2------>50% duty cycle");
  puts("3------>25% duty cycle");
  puts("4------>12% duty cycle");
  puts("5------>exit");

  while(1)
  if(kbhit())
    {
			ch=getch();
			switch(ch)
			  {
				 case '1': rotate();
							break;
				 case '2': rotate2();
break;							
				 case '3': rotate4();
							break;
				 case '4': rotate8();
							break;
				 case '5': return ;
				 default:break;
			     }
		}
  outportb(PC,0xff);
  }
/*-----------------------------------*/
void  rotate8()/*1/8 duty cycle*/
  {
    int c,i,ti=50;
    gotoxy(10,10);
    printf("duty: 12% ");
    for(c=0;c<10;c++)
       {
	 outportb(PC,0);
	 delay(ti);
	 for(i=0;i<8;i++)
	    { outportb(PC,1);
	      delay(ti);
	      }
				 }
    }
/*-----------------------------------*/
void	rotate4()/*1/4 duty cycle*/
  {
    int c,i,ti=50;
    gotoxy(10,10);
    printf("duty: 25%");
    for(c=0;c<10;c++)
       {
	 for(i=0;i<2;i++)
	 {
	   outportb(PC,0);
	   delay(ti);
	   for(i=0;i<3;i++)
	    { outportb(PC,1);
	      delay(ti);
	      }
	   }
	}
  }
/*-----------------------------------*/
void	rotate2()/*1/2 duty cycle*/
  {
    int c,i,ti=50;
    gotoxy(10,10);
    printf("duty: 50%");
    for(c=0;c<10;c++)
       {
	for(i=0;i<4;i++)
	{
	 outportb(PC,0);
	 delay(ti);
	 outportb(PC,1);
	 delay(ti);
	 }
      }
    }
/*-----------------------------------*/
void	rotate()/*100% duty cycle*/
  {
    int c,i,ti=50;
    gotoxy(10,10);
    printf("duty:100%");
    for(c=0;c<10;c++)
       {
	 for(i=0;i<8;i++)
	    {
	      outportb(PC,0);
	      delay(ti);
		outportb(PC,1);
	 	delay(ti);
	      }
	 }
	 outportb(PC,1);
     }

⌨️ 快捷键说明

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