用358做一個加法器,通過ADC0831 AD轉換,51單片機控制,可以測量正2.5V至負的2.5V電壓值。可以擴展到大電壓的測量 加分壓電阻即可
電路原理圖如下:
ADC0831負電壓檢測.png (28.12 KB, 下載次數: 102)
下載附件
2018-9-18 17:14 上傳
單片機源程序如下:
- /*******************
- 程序功能:AD轉換顯示。被測電壓范圍-2.5V至+2.5V
- 版本:Vre1.0
- *******************/
- #include<reg51.h>
- #include<intrins.h> //頭文件
- #define uchar unsigned char
- #define uint unsigned int
- sbit 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);
- }
- }
- uchar adc0831()//AD轉換程序 就沒什么說的了 網上大把
- {
- uchar i,temp;
- dat=1;
- _nop_();
- _nop_();
- _nop_();
- cs=0;
- _nop_();
- _nop_();
- _nop_();
- clk=1;
- _nop_();
- _nop_();
- _nop_();
- clk=0;
- _nop_();
- _nop_();
- _nop_();
- clk=1;
- _nop_();
- _nop_();
- _nop_();
- clk=0;
- for(i=0;i<8;i++)
- {
- temp<<=1;
- if(dat)
- {
- temp++;
- }
- clk=1;
- _nop_();
- _nop_();
- _nop_();
- clk=0;
- _nop_();
- _nop_();
- _nop_();
- }
- cs=1;
- _nop_();
- _nop_();
- return temp;
- }
復制代碼
所有資料51hei提供下載:
ADC0831負電壓檢測.zip
(21.87 KB, 下載次數: 92)
2018-9-18 17:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|