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

📄 caohu.c

📁 电子设计大赛:波形合成与分解(包含所有电路图讲解、程序代码)(853594759)
💻 C
字号:
#include<reg51.h>    //包含单片机寄存器的头文件
#include<intrins.h>  //包含_nop_()函数定义的头文件
#define  uint  unsigned  int
#define  uchar  unsigned  char
#include  "adc0832.h"
#include  "lcd1602.h"
#include  "x9c103.h"
#include  "cd4052.h"
sbit    led=P3^0;				  //电子开关4052测试灯
uchar   buf[10]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
/*****************************************************
函数功能:主函数
***************************************************/ 
void   main(void)
{
  uint Int,Dec,j,i,val,valmax;
  float  temp;
   KEY=0XFF;  			  //按键初始化
   LcdInitiate();         //将液晶初始化
   delaynms(5);           //延时5ms给硬件一点反应时间	
	display_volt();        //显示温度说明
   display_dot();         //显示温度的小数点
   display_V();           //显示温度的单位
   DCX9C103_init(100); 
   X9C103_init(100);	  //X9C103数字电位初始化(100级)

 while(1)
 {
	  
	  led=0;
	  CD4052_scan();		//电子开关对3个通道信号峰值进行选择测量
	  
//对正弦信号峰值采样
	 valmax=0;
	  for(i=0;i<10;i++)
	  {
	  	  buf[i]=A_D();
	  }

	    for(j=0;j<10;j++)
	   {
	   	valmax=valmax+buf[j];
	   }
	    val=valmax/10;
	 	keyscan();			//电位器函数
		val=A_D();		  
		Int=(val)/51;  //计算整数部分
		temp=(val%51)*100/51;    //计算小数部分
		Dec=temp+0.5;			 //四舍五入
			  
	    display1(Int);     //显示整数部分
	    display2(Dec);     //显示小数部分
	    delaynms(250);     //延时250ms
     }
	   
		
		    
}



//从小到大排序
/*	for(k1=0;k1<10;k1++)
	   for(k2=0;k2<10-k1;k2++)
	   {
		 	if(buf[k1]>buf[k1+1])
			{
			  flag=buf[k1];
			  buf[k1]=buf[k1+1];
			  buf[k1+1]=flag;	  		 
		    }
		}
	*/

⌨️ 快捷键说明

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