|
用PT100測(cè)量溫度,模數(shù)轉(zhuǎn)換軟件用的Adc0832.
所有資料51hei提供下載:
0程序.rar
(28.65 KB, 下載次數(shù): 75)
2017-10-19 19:53 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
stc12單片機(jī)源程序如下:
- #include<reg52.h> //頭文件
- #include"shuma.h"
- #include"adc0832.h"
- uchar adc0;
- uint adc;
- uchar i;
- long sum1=0;
- uint temp1;
- uchar point1;
- uint xdata getdat1[50];
- //數(shù)碼管位選 根據(jù)硬件來編
- sbit wei1 = P2^0;
- sbit wei2 = P2^1;
- sbit wei3 = P2^2;
- //sbit wei4 = P1^3;
- unsigned char dispbuf[4]={0,1,2,3};
- uchar dis_cod[]=
- {
- 0xA0,0xBB,0x62,0x2A,0x39,0x2C,0x24,0xBA,0x20,0x28,0x30,0x25,0xE4,0x23,0x64,0x74
- };
- //延時(shí)子函數(shù)
- void delay0(uint z)
- {
- uint i,j;
- for(i=0;i<z;i++)
- for(j=0;j<110;j++);
- }
- //顯示函數(shù)
- void display()
- {
- uchar i;
- for(i=0;i<20;i++);
- {
- wei1=0;wei2=1;wei3=1;//wei4=1; //位選
- P0=dis_cod[dispbuf[0]]; //段選
- delay0(2);
- wei1=1;wei2=0;wei3=1;//wei4=1; //位選
- P0=dis_cod[dispbuf[1]]; //段選
- delay0(2);
- wei1=1;wei2=1;wei3=0;//wei4=1; //位選
- P0=dis_cod[dispbuf[2]]; //段選
- delay0(2);
-
- }
- wei1=0;wei2=0;wei3=0;P0=0XFF; //關(guān)閉顯示;起消隱作用哦。不懂的就問問老師咯“啥叫消隱”
- }
- void main(void) //主函數(shù)
- {
- for(i=0;i<50;i++)getdat1[i]=0;
- while(1)
- {
- dispbuf[0]=adc0%1000/100;
- dispbuf[1]=adc0%100/10;
- dispbuf[2]=adc0%10;
- display();
- temp1=67-31.0*(170-Adc0832(0))/79;//讀AD轉(zhuǎn)換結(jié)果 ;
- sum1=sum1+temp1-getdat1[point1];
- getdat1[point1]=temp1;
- point1++;
- point1=point1%50;
- adc0=sum1/50;
-
- }
- }
復(fù)制代碼
|
|