簡易水情監測系統,多功能
0.png (11.26 KB, 下載次數: 26)
下載附件
2018-8-25 16:21 上傳
單片機源程序如下:
- #include<intrins.h>
- #include "lcd12864.h"
- #include "uart.h"
- #include "chaoshengbo.h"
- #define BAUD 9600
- #define URMD 0
- #define ADC_POWER 0x80
- #define ADC_FLAG 0X10
- #define ADC_START 0x08
- #define ADC_SPEEDLL 0x00
- #define ADC_SPEEDL 0x20
- #define ADC_SPEEDH 0x40
- #define ADC_SPEEDHH 0x60
- sbit key1 = P2^3;
- sbit key2 = P2^4;
- sbit key3 = P2^5;
- sbit key4 = P2^6;
- void InitADC();
- void SendData(unsigned char dat);
- unsigned int GetADCResult(unsigned int ch);
- void keybord();
- unsigned long beats = 1000000;
- unsigned int n = 0;
- unsigned int AD_Dat=0;
- void main()
- {
- signed int x,n,y,ph;
- static unsigned char i,j,k;
-
- P0M1 = 0; P0M0 = 0; //設置為準雙向口
- P1M1 = 1; P1M0 = 0; //設置為準雙向口
- P2M1 = 0; P2M0 = 0; //設置為準雙向口
- P3M1 = 0; P3M0 = 0; //設置為準雙向口
- P4M1 = 0; P4M0 = 0; //設置為準雙向口
- P5M1 = 0; P5M0 = 0; //設置為準雙向口
- P6M1 = 0; P6M0 = 0; //設置為準雙向口
- P7M1 = 0; P7M0 = 0; //設置為準雙向口
- P02 = 0;
- UartInit();
- InitADC();
- delay_ms(200);delay_ms(200);delay_ms(200);delay_ms(200);
- InitLcd12864();
- LcdShowString(0,0," 溫度:");
- LcdShowString(0,16,"濕度:");
- LcdShowString(0,32,"PH值:");
- LcdShowString(0,48,"電壓:");
- LcdShowString(96,16,"mm");
- LcdShowString(96,48,"V");
- while(1)
- {
- keybord();
- ShowResult(1);
- GetADCResult(0);
- ph = (8561.2-AD_Dat*10)/36;
- Display10BitData(ph,48,32,1);
- if(k==1)
- {
- if(j==1)
- x = S3BUF/2;
- else
- x = S3BUF;
- Display10BitData(x,48,16,0);
- if(x>15)
- {
- for(i=0;i<3;i++)
- {
- P32 = 0;P33 = 0;
- delay_ms(100);
- P32 = 1;P33 = 1;
- delay_ms(100);
- }
- }
- }
- else
- {
- y = detect(0xe8,0xb4);
- Display10BitData(n-y,48,16,0);
- }
- if(key1==0)
- {
- delay_ms(5);
- if(key1==0)
- {
- n=y;
- P55=0;
- while(!key1);
-
- }
- P55=1;
- }
- if(key2==0)
- {
- delay_ms(5);
- if(key2==0)
- {
- k++;
- k=k%2;
- P55=0;
-
-
- while(!key2);
- }
- P55=1;
- }
- if(key3==0)
- {
- delay_ms(5);
- if(key3==0)
- {
- j++;
- j=j%2;
- P55=0;
- while(!key3);
- }
- P55=1;
- }
- }
-
- }
- void keybord()
- {
-
- }
- unsigned int GetADCResult(unsigned int ch)
- {
- ADC_CONTR = ADC_POWER| ADC_SPEEDLL|ch| ADC_START;
- _nop_();
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
簡易水情檢測系統.zip
(148.77 KB, 下載次數: 20)
2018-8-25 09:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|