📄 caohu.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 + -