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

📄 main.c

📁 此代码是我们在单片机来控制CPLD记数,然后读出并转换数据,精度很高,在我们学校的电子设计大赛上还获的了二等奖
💻 C
字号:
  
  #include "main.h"
  #include "reg52.h"

 #define fdatal P2 
 
sbit	fstart		=P3^0;
sbit	fclear		=P3^1;
sbit    se1         =P3^2;
sbit    se2 		=P3^3;

unsigned char Buffer1;
unsigned char Buffer2;
unsigned char Buffer3;
unsigned long dispdata;
unsigned char Flag_Delay10ms = 1 ;


void timer1() interrupt 1  
{ 
 	Flag_Delay10ms = 0;
	TH0 = 0xe0;
	TL0 = 0xd5;
   
}
void delay()
  {
    TR0=1;
	ET0=1;
	while( Flag_Delay10ms);	
	ET0 = 0;					
	TR0 = 0;	
	Flag_Delay10ms = 1;
   }
/*以下是主函数开始*/


 void main (void)

{	unsigned char count;			
	 
	 // DISPInitial();  //LCD初始化并显示欢迎屏
	TMOD=0x01;             //设定定时器0为工作方式1,定时状态,
      
	TH0 = 0xe0;
	TL0 = 0xd5;				  //设定时器62.531ms延时        
	EA=1;
  	//fdatal=0xff;   		   	  //把端口置1,
	   	fstart=0;
	//fclear=1;
	//fclear=0;

	
	while(1)
	{
	  
	 unsigned char a=2;
	fstart=1;
	for(count=0;count<125;count++)
	delay();
	 a=a*a;
	 a=a*20;
	 a=0;
	 
	fstart=0;
	se1=0;
	se2=0;
	//delay();  
	
	  Buffer1= fdatal;

	se1=0;
	se2=1;
	//delay(); 
	
	  Buffer2= fdatal;
	  ;
	  //delay();
	se1=1;
	se2=0; 
	//delay();
	
	  Buffer3=fdatal;  	  
	dispdata=(((Buffer3&0xf0)>>4)*1048576)+((Buffer3&0x0f)*65536)+(((Buffer2&0xf0)>>4)*4096)+((Buffer2&0x0f)<<8)+Buffer1;
	//delay();
	 fclear=1;
	delay();
  	fclear=0; 
	 //fstart=1;
	 //for(count=0;count<125;count++)
	 //delay();

	 //fstart=0;
	 //delay();
	 DisplayLCD();
	}	

}


















⌨️ 快捷键说明

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