|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
YL69土壤湿度传感器原理图与单片机源程序等资料
3 |% }7 V7 }: B
; `1 k. z' W& ~1 v, z2 l+ W V G
YL69土壤湿度传感器原理图:
- E6 T' Y E' N, R; P![]()
/ ?6 ?5 \# Z6 [% l9 c3 H L! m6 h
0 h- j1 P+ D- R7 T$ q- X9 ^! P: t, w, `) ?" m# w3 ?) g
YL69土壤湿度传感器与单片机接口源程序:
! }3 e* A4 I% U1 V9 B: T4 u3 {/******************************************' o3 r9 N- e" X9 V. i7 R5 i' q
传感器触发测试
- V% y! c. Z$ c: p3 s单片机:STC89C52
& h1 C3 x3 N6 N! C波特率:9600
/ j2 l. l! [( d7 n" }*****************************************/
) Z2 ^; v7 \1 S0 `$ j#include <reg52.h>, Q1 K3 K$ h: R
unsigned char date;
( ^, S* t; \; m! r0 c3 p8 l1 o. _3 |#define uchar unsigned char0 ?* ]( D- w8 o( Q( @0 j
#define uint unsigned int
$ ^) g* x6 Z% k7 O* osbit key1=P0^1;
/ d6 [6 P- r+ S# |" R* q* w1 _7 O( \- ]1 G: K7 w6 U9 C
) w- g) C4 J @% r! T) `
/* 函数申明 -----------------------------------------------*/
% X& G3 P1 q/ j' z; pvoid delay(uint z);
: w4 q5 y& V" F7 W6 M, {void Initial_com(void);
6 B1 Y9 P; u( t& p1 F4 T1 D6 Z$ P/ A2 f* N
//***********************************************************9 O) w; A- v% [' {+ N9 l
! b$ \: M/ T5 S
/*
- j m7 k) y: O; j+ u0 J********************************************************************************
3 w; l9 X' |/ P t6 }/ G: Y** 函数名称 : delay(uint z)% z- C7 y% }, w% A
** 函数功能 : 延时函数" P9 |: F( l8 U, g: q5 a
********************************************************************************5 e0 d; o4 G6 B' t9 b5 }
*/& C1 w3 a9 }$ i+ F
void delay(uint z)
5 J' V- u& Q0 v% T% J{ $ f' k5 n" ~. t( y7 c* Z
uint i,j;
: \/ Q( [1 ~2 r! v4 R6 I for(i=z;i>0;i--)# Y) D- H( g! t' }5 y: B3 _; l! {
for(j=110;j>0;j--);
, ]# P1 Y$ u9 [4 z} ' X$ f* ~5 z3 S
8 ~+ D5 |" }2 s
; Y% d* z+ M7 B3 C5 ] i//******************************
/ b# Z0 X8 k4 N- P G( d- o9 w' d" k0 L& ?
//*****串口初始化函数***********2 X! j% |! P" O/ N
- k! O7 r% E& c( ~* a y; k//******************************8 P0 @) R2 ?, Y4 C D D) e
void Initial_com(void)
/ }& X/ U* m9 F) H{1 ~9 h. @+ ?( \
EA=1; //开总中断6 S1 g% D, |$ d/ |. X) t
ES=1; //允许串口中断1 ^1 s- s* u1 c: |9 z2 K
ET1=1; //允许定时器T1的中断( W9 v9 w6 m* {$ S( H' _* g
TMOD=0x20; //定时器T1,在方式2中断产生波特率
* J% t/ z- u2 j% [* B PCON=0x00; //SMOD=0
* ^3 m6 x! H- R q3 b6 v$ c SCON=0x50; // 方式1 由定时器控制$ v$ p; O5 O3 n1 O4 G# A1 }
TH1=0xfd; //波特率设置为96002 d. B$ t3 {) R. C" c
TL1=0xfd;
7 O4 T& _% q6 w1 @ TR1=1; //开定时器T1运行控制位5 ~* y- N! v! Z% S% V' t. T) C
7 C. t0 q, I5 p# h
}$ `( S2 U: [3 {' z6 j
* s8 b a1 A; r( F6 Q: {% @7 P
; p* F; s. a* X/ a0 g3 f; E, a5 {( I
: k# L# q4 c1 t; Z9 x/ u" R7 `, D5 A
" K8 P( P0 p+ `- Q//*************************
* S$ x: \7 `# T0 m5 O @; h//**********主函数*********
7 `# S7 C1 g; T* s//*************************7 T$ p/ \; A5 e6 ?* h1 M; v5 k8 ]
main()
4 E5 Z( z" C5 b; ^: l# z4 ]{
7 L- _3 P# j2 Y! L Initial_com();
/ R+ M; V. U" I! v) {6 H while(1); t0 O( J( V8 M; M9 p
{
: k ]% r! J% q T$ u. U% X1 `! y6 D* G! z d u% J
if(key1==0)7 k* {0 D: t8 {$ ?4 G, p
{7 ~9 e6 C3 g9 i2 m% Z/ h' h
delay(); //消抖动1 O/ \: Q3 Z! W. j5 o# m; G
if(key1==0) //确认触发
/ I( l+ T; h7 f3 h# B* T0 a* F( } {
" ~& n o) m6 w* L2 `# h( t, m SBUF=0X01;4 l* c1 X( G% n6 w4 ^: x0 {
delay(200);9 d3 m- e) B0 [
* g: X% W/ _3 T# b& a' V$ j1 I- ]! W4 | Q
}
0 p( D# O B% F- i, e0 c0 i6 _5 C
0 ~* D- d$ J4 S }7 _/ b0 p2 Y \$ |& P$ ]# c
3 S, E$ h% g: F8 p! p( c if(RI)
4 e$ Z! |6 @9 [3 [, S j; H {
1 R. G1 ^" }6 \ date=SBUF; //单片机接受; d+ r! y4 n5 }9 |# @/ J
SBUF=date; //单片机发送
* b- y z8 H# T* x/ _8 w RI=0;* T( W" V0 O1 H. \0 j7 R
}
8 s/ I; a* J% Y8 |+ E/ S3 M9 ^9 z; V- A. E' Z
# p+ Y7 E Q4 u" M4 n9 i
…………余下代码请下载附件…………) T, b/ l# V( m
) T/ A) I5 Y" ^2 l8 t
下载:
) e. D( Z: p1 h/ r" T. I" s
" ]* @# B5 T4 n. X g: j
7 p9 |7 B* |+ `+ C& y' q |
|