ADC0831+LM358单片机源程序芯片解密 时间:2025-11-29 来源: 芯片解密 浏览:2次 字号:大 中 小 单片机源程序如下:芯片解密/*******************芯片解密程序功能:AD转换显示。被测电压范围-2.5V至+2.5V版本:Vre1.0*******************/#include<reg51.h>#include<intrins.h> //头文件#define uchar unsigned char#define uint unsigned intsbit cs = P1^0; //IO定义sbit clk = P1^1;sbit dat = P1^2;sbit dian= P2^7;uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff}; //数码管uchar code bc[]={0x01,0x02,0x04,0x08}; //数码管位选(共阳)uint huancun[]={0,0,0,0}; //数据缓存uchar adc0831(); //读取AD值void display(); //数码管显示void delay(uint time) //延时{for(time;time>0;time--);}void main(){uint date,date1;uchar i;P1=0xff;P2=0xff;P3=0xff;while(1){ i++; if(i==100) { i=0; //P2=adc0831(); //测试用 date=adc0831(); //读取AD值 date*=2; //基准电压5.1V,乘以2刚好是测得的电压值的100倍(date=120,就是1.2V) if(date>250) //如果测得的值大于2.5V,说明加法器上的被测电压是正电压 { date-=250; //转换到2.5V电压范围内 huancun[0]=11; //符号位不显示,表示正电压 } else if(date==250) //如果测到的值是2.5V,说明加法器上的被测电压是0V { date=0; huancun[0]=11; } else //如果测得的值小于2.5V说明加法器上的电压是负电压 { date1=250-date;//250是加法器上的偏置电压,date是测到的电压 date=date1; //date1就是被测的电压值 huancun[0]=10; //显示负号 } //date=date/51; huancun[1]=date/100; huancun[2]=date%100/10; huancun[3]=date%10; } display(); //显示}}void display(){uchar i;for(i=0;i<4;i++){ P3=bc[i]; P2=tab[huancun[i]]; if(i==1) //显示百位的小数点 dian=0; else dian=1; delay(100);}} 下一篇:AS608指纹模块pdf资料芯片解密