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

📄 cap.c

📁 单片机控制程序
💻 C
字号:
#include"reg51.h"
#include"51usb.h"		   

#define  uchar unsigned char
#define  uint  unsigned int

/*************初始化定时器及计数器的函数*******************************/
void initsys();
void display();
void delay1(uint ticks);

void LCD_en_command(unsigned char command);//write command function
void LCD_en_dat(unsigned char temp);//write data function

//数据
unsigned char code Tab[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

uchar index=0;
uchar ShuMa[6]={0,0,0,0,0,0};//lcd缓冲区
/////////////中断程序////////////////
uint 	i=4000;
uchar bdata flag=0;
sbit time_flag=flag^0;
uint Frequency =0;
unsigned long Frequency1 =0;
uchar High=0;
uchar Low=0;


/***********************************************/
void delay1(uint ticks)
{
 uchar i;
 for(;ticks!=0;ticks--)for(i=100;i!=0;i--);
}

void ISR_Timer0() interrupt 1
{//Timer0  中断服务程序;Timer0 内部时钟模式2
 //250us*4000=1000000us=1000ms=1s
 if(--i==0)
 {
  High= TH1;	   //读取高位
  Low=TL1;	   //读取低位
  TH1=0;
  TL1=0;
  time_flag=1;
  i=4000;
 }
}
/******************************电容测量的程序********************************/
void cap()
{

  
  display();				        //刷新lcd
  if(time_flag)				   //刷新显示缓冲区
  {
   Frequency=High;
   Frequency<<=8;
   Frequency+=Low;
  /***********************公式计算****************************/
   Frequency1=4800000/Frequency;
   /**********************************************************/

   ShuMa[5]=Frequency1%10;
   Frequency1/=10;
   ShuMa[4]=Frequency1%10;
   Frequency1/=10;
   ShuMa[3]=Frequency1%10;
   Frequency1/=10;
   ShuMa[2]=Frequency1%10;
   Frequency1/=10;
   ShuMa[1]=Frequency1%10;
   Frequency1/=10;
   ShuMa[0]=Frequency1%10;
   time_flag=0;
  }
 



}

void initsys()
{
 TMOD=0x52;//Timer1外部计数,模式1(16位模式);Timer0 内部时钟模式2
 TH1=0;
 TL1=0;
 TH0=6;		//	Timer0  250us中断一次
 TL0=6;

 ET0=1;
 TF0=0;
 EA=1;
 TR0=1;
 TR1=1;
}
void display()
{
 
delay1(10);				   //延时
LCD_en_command(0x84);
LCD_en_dat(Tab[ShuMa[index]]);
index++;
delay1(10);

LCD_en_command(0x85);
LCD_en_dat(Tab[ShuMa[index]]);
index++;
delay1(10);

LCD_en_command(0x86);
LCD_en_dat(Tab[ShuMa[index]]);
index++;
delay1(10);

LCD_en_command(0x87);
LCD_en_dat(Tab[ShuMa[index]]);
index++;
delay1(10);

LCD_en_command(0x88);
LCD_en_dat(Tab[ShuMa[index]]);
index++;
delay1(10);

LCD_en_command(0x89);
LCD_en_dat(Tab[ShuMa[index]]);
index++;
delay1(10);
index=0;



}


⌨️ 快捷键说明

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