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

📄 mzmfr.c

📁 从各种VC源码中精选出来
💻 C
字号:
#include<reg51.h>#define uint unsigned int#define uchar unsigned char    uchar bdata FLAG;sbit FLAG1=FLAG^1;sbit FLAG2=FLAG^2;sbit P1_1=P1^1;uchar data time,Dtime,Btime;uint fetch_rate(void);main(){   char  bdata JFLAG;   char data state,Astate,Bstate,rate;   do{   	P1=0XFF;   	FLAG=P1;   	TXD=0;   	JFLAG=FLAG>>6;   	JFLAG=FLAG&0X03;   	switch(JFLAG)		{   	case 0:   		time=2;Dtime=20;break;   	case 1:   		time=4;Dtime=40;break;		case 2:   		time=6;Dtime=60;break;		case 3:   		time=8;Dtime=80;break;   	}   Btime=Dtime;   JFLAG=FLAG>>3;JFLAG=JFLAG&0X07;   switch(JFLAG)		{   	case 0:   		state=50;break;   	case 1:   		state=100;break;   	case 2:   		state=150;break;   	case 3:   		state=200;break;			case 4:   		state=250;break;   	case 5:   		state=300;break;	   	case 6:   		state=350;break;	   	case 7:   		state=400;break;	}   FLAG1=0;   TMOD=0x51;   TH1=0;   TL1=0;   TH0=0x3C;   TL0=0XB0;   TR0=1;   TR1=1;   ET0=1;   EA=1;   rate=fetch_rate();   if(!FLAG2)	{      	Astate=state+2*state/10;      	if(rate<=state)			{      		TXD=1;      		do				{      		rate=fetch_rate();      		}while(rate<=Astate);      	TXD=0;      	}	    }     else	  {     Bstate=state-2*state/10;     if(rate>=state)	  {     	TXD=1;     	do		{     	rate=fetch_rate();		}while(rate>=Astate);		TXD=0;		}	     } }while(1);}unsigned int fetch_rate(){      uint count;      do{}while(!FLAG1);      FLAG1=0;      count=TH1*256+TL1;      TH1=0;      TL1=0;      Dtime=Btime;      return(count/time);   }   timer0() interrupt  1 using 1   {   	TH0=0x3c;   	TL0=0XB0;   	Dtime=Dtime-1;   	if(Dtime==0){FLAG=1;}   }

⌨️ 快捷键说明

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