|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
YL69土壤湿度传感器原理图与单片机源程序等资料! \2 c2 \% t. P- j# _$ z4 }+ ^
, R% b* K$ t, T+ e# Y
( N$ V* z% E2 z& Z. z; S
YL69土壤湿度传感器原理图:, E5 n, N6 W+ j Q" e8 f4 X
1 F2 ]7 v0 V- O2 a% C+ ^& n
7 r9 W' d4 `: M* _: R1 a/ ?8 d+ x9 G% X( S9 _
YL69土壤湿度传感器与单片机接口源程序:% v2 Y3 R- x4 i+ x: ~6 T
/******************************************
! P/ }- p: N$ ^3 N6 n& |传感器触发测试
5 m# d- j0 e7 R0 K3 g单片机:STC89C52( D. _( b8 g4 I) X8 f& \
波特率:96004 \! U3 R, U0 F# N5 _0 V
*****************************************/
6 Y3 M4 G) F" [$ d2 w! b#include <reg52.h>5 N4 L0 }6 Q. V( h6 L9 M
unsigned char date;
2 ]/ H& |' h! p5 D0 O#define uchar unsigned char
% |" R5 E% A) J. `#define uint unsigned int
2 V. K: d) ]2 u7 tsbit key1=P0^1;
: D4 m: `# c! H4 ]$ G( c' s$ ?# Y3 u% F/ j
- B& B4 O F& a; b; C S; U/* 函数申明 -----------------------------------------------*/
. u* }# o$ ]9 L6 i2 Avoid delay(uint z);. i) i3 ~; x, s) ]
void Initial_com(void);
& A9 h* o" e8 D( h; [: V; n* K
. L% |$ f$ T' Q/ x//***********************************************************
3 P# v; w- i9 R
- O2 g! y. z1 _- u* t/*8 E9 \; Y9 l6 Y1 M
********************************************************************************
5 v8 I6 L/ I s' `** 函数名称 : delay(uint z)# C5 w- n- m8 y; r5 D# h
** 函数功能 : 延时函数, S8 K! n# L0 w" a4 ~1 `! e
********************************************************************************
2 e8 S7 b+ b& a3 E2 B. Y7 G% n3 P*/! l4 F) ?3 T2 q/ O8 l
void delay(uint z)$ d. u/ U0 h6 }9 ?
{ ! Q& U# ]- U. `' a( V4 n
uint i,j;
0 j: C; v! u# h! `; p for(i=z;i>0;i--)& e% J g* @4 z9 c# R
for(j=110;j>0;j--);* h* D4 Q0 Z- [6 p0 X1 t* G( _
} . @# c; K' ]9 j# v/ M O
! E' V! u/ c3 @" B! M
, V+ g- [0 W# a2 y3 p* c//******************************
8 i" L; [' [( S6 _) y3 t( y% W
3 \9 Z9 M/ \$ y3 W7 G0 J//*****串口初始化函数***********
/ z" D' e- s. b$ w9 M) f$ }8 f" |. R2 P6 [4 i0 i: O1 ] {
//******************************$ i" c B5 I* x1 p
void Initial_com(void)# `% d1 B) [6 @7 r' {
{2 o: `4 P, J9 J
EA=1; //开总中断
* _7 ?+ ^0 w0 [& u% K4 |2 C ES=1; //允许串口中断
1 j8 w% p" H# `2 j! W: U5 } ET1=1; //允许定时器T1的中断$ \; w3 M$ b( L1 s% j5 e. k* `
TMOD=0x20; //定时器T1,在方式2中断产生波特率$ E; Z9 Q- E8 T1 k
PCON=0x00; //SMOD=0
. o+ F! i8 \, k( R8 q SCON=0x50; // 方式1 由定时器控制1 S- ^0 V' q+ I& N0 L l9 ?
TH1=0xfd; //波特率设置为9600
' {; _ G( s5 N' I" y TL1=0xfd;9 ]+ T _$ n' r8 f5 J0 i
TR1=1; //开定时器T1运行控制位
2 i# L9 {" ?% ?6 z
( j' l* @3 `) F# E}
l7 W/ J5 [9 |6 Y3 S! u
& A" l5 Z& E5 X% T7 O, }
& ?: F! k" ^2 [8 V( k% Y* X. N2 Y6 t; Z: I) c; i. |
4 u5 v8 X `5 N& [7 ?9 R
//*************************/ P- Z( Z; Y" B; G( k
//**********主函数*********
9 T+ L+ v! u& e. h d+ U//*************************# B S/ ], Y1 d, @2 y- U, _! u3 y
main()3 O% [- n) O# M' Z, ~
{
' C; l1 x/ {$ @0 D Initial_com();0 J. S* ^, V. Y
while(1)0 z. c8 v8 t% A& \5 w- ~
{
$ ]4 l( L, x* D
" x! B. [! S! U0 l$ S if(key1==0)
/ {/ @0 k* U/ M3 H {6 g h" O3 p/ X! x
delay(); //消抖动
( s& @" H4 z1 { f if(key1==0) //确认触发8 d* G3 ~* r4 C4 ^. U
{3 X/ H" B* V' }5 q* F
SBUF=0X01;
t4 {1 \) E5 e. i6 j1 h delay(200);
8 D' A/ ?3 t9 _6 X* D! y( j( I7 {" q$ m. K) r7 x5 K
: ^* O: e E E3 b D0 L
}' n. w/ S/ \+ ^
! {' b% A( Q0 g: `+ k6 u/ i
}$ g- S: D/ m! s$ Y8 X# j' \
$ w, Y( w! D0 p$ M, ~* B. J
if(RI)
' R% R7 { T4 {$ p% y0 |- |! f' l {: }* \4 X) @2 S& t
date=SBUF; //单片机接受0 t2 p( y* [& D/ e* v
SBUF=date; //单片机发送3 Y: Y3 C0 G" v- n- [' T4 N( {7 |0 O
RI=0; p. N1 ~7 _4 E, p4 q
}
/ T7 e- i# O: _) _5 A1 V$ o( ], R8 ~' X# _$ ]! I
6 ~( C' P$ u5 p5 U…………余下代码请下载附件…………" Y2 R$ a0 e- K
: a i. i. Q! m, [9 A; e下载:: @0 k' ~9 e# S# h4 d/ o+ U
5 L, h. R: Y# m! ]7 K6 z1 c9 o2 b* c3 }$ O% ?
|
|