main.c

来自「汽车巡航定速系统模拟车速传感器驱动程序」· C语言 代码 · 共 75 行

C
75
字号
#include <AT892051.H>
#include<stdio.h>
#include<intrins.h>
#include<string.h>
#include<IOKEY.h>

#define uint unsigned int
#define uchar unsigned char

extern void key(void);
extern void ShowNum(unsigned long int number);
//extern void PWM(unsigned char number1);

bit  flag;   //频率发射开始位,取消键控制

uint time;      //时间
uchar frequency; //频率设定
unsigned char t1,t2;

main()
{
	TMOD=0x11;
	TH0=0xff;	
	TL0=0x06;
//	TH0=0xfc;//1ms定时	
//	TL0=0x18;
	time=0;
	flag=0;
	t1=0;
	t2=0;
	frequency=50;
   	EA=1;
	ET0=1;
	ET1=1;
	TR0=1;
	while(1)
	       {
		    key();
            ShowNum(frequency);
			if(flag==1)	{
                          switch(frequency){
						                  case 30:t1=124;t2=62;break;
						                  case 35:t1=106;t2=53;break;
										  case 40:t1=93;t2=46;break;
						                  case 45:t1=84;t2=42;break;
										  case 50:t1=75;t2=38;break;
						                  case 55:t1=61;t2=34;break;
										  case 60:t1=62;t2=31;break;
						                  case 65:t1=57;t2=28;break;
										  case 70:t1=53;t2=26;break;
						                  case 75:t1=50;t2=25;break;
										  case 80:t1=46;t2=23;break;
						                  case 85:t1=44;t2=22;break;
										  case 90:t1=41;t2=20;break;
						                  case 95:t1=39;t2=19;break;
										  default:
										          break;
						                }
						}
		   }	        
}


void t0(void) interrupt 1 using 2
{
	TH0=0xff;	
	TL0=0x06;
//	TH0=0xfc;	
//	TL0=0x18;
    time++;
	if(time>t1&&flag==1){time=0;}
	if(time<=t2&&flag==1){fre=0;}
    if(time>t2&&time<=t1&&flag==1){fre=1;}
}

⌨️ 快捷键说明

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