MPX4115壓力傳感器
AT89c51單片機
LED共陽極顯示
0.png (80 KB, 下載次數(shù): 174)
下載附件
2017-7-15 16:05 上傳
0.png (79.74 KB, 下載次數(shù): 144)
下載附件
2017-7-15 16:06 上傳
0.png (71.95 KB, 下載次數(shù): 128)
下載附件
2017-7-15 16:06 上傳
單片機最小系統(tǒng)
1.001.jpg (28.65 KB, 下載次數(shù): 126)
下載附件
2017-7-15 16:09 上傳
顯示模塊
1.002.jpg (19.26 KB, 下載次數(shù): 130)
下載附件
2017-7-15 16:09 上傳
AD0832與單片機的連接
1.003.jpg (27.21 KB, 下載次數(shù): 94)
下載附件
2017-7-15 16:09 上傳
傳感器與AD的連接
1.004.jpg (34.42 KB, 下載次數(shù): 119)
下載附件
2017-7-15 16:09 上傳
) 報告內容應包括:設計、應用背景,功能描述,電路設計(分模塊講述),軟件部分(描述清楚流程圖,不需要程序代碼),參考文獻;
0.png (63.87 KB, 下載次數(shù): 151)
下載附件
2017-7-15 16:09 上傳
單片機源程序如下:
- #include <reg51.h>
- #include <intrins.h>
- //ADC0832 引腳
- sbit ADCS=P2^0;
- sbit ADDI=P3^7;
- sbit ADDO=P3^7;
- sbit ADCLK=P3^6;
- unsigned char dispbitcode[8]={0xF7,0xFB,0xFD,0xFE,0xEF,0xDF,0xBF,0x7F}; //位掃描
- unsigned char dispcode[11]={0xC0,0xF9,0xA4,0xbB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF};
- //段選碼 共陽極
- unsigned char dispbuf[4];
- unsigned int temp;
- unsigned char getdata;
- void delay_1ms(void)
- {
- unsigned char x,y;
- x=3;
- while(x--)
- {y=40;
- while(y--);
- }
- }
- void display(void)
- {char k;
- for(k=0;k<4;k++)
- {
- P1=~dispbitcode[k];
- P0=~dispcode[dispbuf[k]];
- if(k==1)
- P0=P0+0x80;
- delay_1ms();
- }
- }
- unsigned int ADC0832(unsigned char channel) //AD轉換,返回結果
- {unsigned char i=0;
- unsigned char j;
- unsigned int dat=0;
- unsigned char ndat=0;
- if(channel==0) channel=2;
- if(channel==1) channel=3;
- ADDI=1;
- _nop_();
- _nop_();
- ADCS=0;
- _nop_();
- _nop_();
- ADCLK=1;
- _nop_();
- _nop_();
- ADCLK=0;
- _nop_();
- _nop_();
- ADCLK=1;
- ADDI=channel&0x1;
- _nop_();
- _nop_();
- ADCLK=0;
- _nop_();
- _nop_();
- ADCLK=1;
- ADDI=(channel>>1)&0x1;
- _nop_();
- _nop_();
- ADCLK=0;
- ADDI=1;
- _nop_();
- _nop_();
- dat=0;
- for(i=0;i<8;i++)
- {
- dat|=ADDO;
- ADCLK=1;
- _nop_();
- _nop_();
- ADCLK=0;
- _nop_();
- _nop_();
- dat<<=1;
- if(i==7) dat|=ADDO;
- }
- for(i=0;i<8;i++)
- {j=0;
- j=j|ADDO;
- ADCLK=1;
- _nop_();
- _nop_();
- ADCLK=0;
- _nop_();
- _nop_();
- j=j<<7;
- ndat=ndat|j;
- if(i<7) ndat>>=1;
- }
- ADCS=1;
- ADCLK=0;
- ADDO=1;
- dat<<=8;
- dat|=ndat;
- return(dat);
- }
- void main(void)
- {
- while(1)
- {
- unsigned int temp;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
自動檢測.rar
(248.43 KB, 下載次數(shù): 515)
2017-7-15 14:12 上傳
點擊文件名下載附件
壓力檢測硬件+程序 下載積分: 黑幣 -5
|