|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
YL69土壤湿度传感器原理图与单片机源程序等资料9 }2 H# |) d& @3 @ v
3 G( l4 ]0 U+ t/ E
L, \5 h# F6 TYL69土壤湿度传感器原理图:
( ]. V1 W" E9 U# t. k* J 3 k* k. q7 l" B7 {4 w, U
& R$ T t1 t5 }7 j" [- {" q8 B+ @2 x5 r6 P) I C
YL69土壤湿度传感器与单片机接口源程序:
/ r+ c8 w0 f1 m7 P6 q; @( W* i0 o/******************************************
' f4 e F+ _) y1 U# @! x3 @传感器触发测试
8 t* d, c+ o0 ~% D) p4 u; X: v单片机:STC89C52
' g; E2 w: b& x, C: V1 b波特率:9600& r9 m% h+ }& S0 y% T" s
*****************************************/
/ z5 s L+ |. j9 q2 `2 M#include <reg52.h>
+ z: c; f3 f2 F& z* {) G0 S! Bunsigned char date;
" r8 p3 M4 H7 k7 D2 C3 `5 Z#define uchar unsigned char
6 X0 V- O6 i: {6 z Y |* X8 W: ]#define uint unsigned int
1 P' }( |( v6 h/ G$ q1 s; I j7 Rsbit key1=P0^1;
) a1 r P) G* C$ b5 R, m
! W- E1 d$ ?3 b( k+ Z# ^
: N' h9 a# }4 B# M1 L/* 函数申明 -----------------------------------------------*/
1 e0 h/ `: q6 e0 n/ c3 `+ S Z0 ~ Y3 evoid delay(uint z);
- |2 |' C& v. e3 W# I# |, zvoid Initial_com(void);
: t- P0 } M4 K$ z+ ?6 E1 L- h
" ]" v( V# P1 R& c3 @//***********************************************************' v3 [) O: N# J/ b
7 g- d) Z( P4 ?( Q( r+ y, s9 p
/*4 ?4 ]+ B2 K( |) m9 @& R
********************************************************************************
8 |+ Q1 M+ _' [8 J$ ]# n** 函数名称 : delay(uint z)4 h3 R/ b5 U8 ]! z6 V ~2 y6 @
** 函数功能 : 延时函数6 f! `! f: N- S# u* j
********************************************************************************( f4 x( ] W. h1 I
*/
/ ?4 h6 H6 t( ~9 Vvoid delay(uint z)1 [& e4 y% V( N: O
{ 2 K" A& w! C, `
uint i,j;
2 N( ?4 b Z4 U6 q for(i=z;i>0;i--)
( @; Y8 ]+ Y) H for(j=110;j>0;j--);
& @8 l1 E% I" e' O) E1 a}
3 y& W/ J* s! r7 n# J& R( Q) {& F
3 V' e* e4 k2 O9 b( D
//******************************
7 x# s" ^* \! Y7 Q! F K& K1 g3 X7 \* m9 r
//*****串口初始化函数***********
- I( U, S+ T. t0 m8 M8 n& n' X9 i4 D/ E5 r* F
//******************************4 P% D6 c2 M) }& d% q6 o" J0 x) l
void Initial_com(void)" `# P! T; M% T% E' [5 g
{
. f( o& u! T2 Y2 m4 A. R$ `' t9 h2 | EA=1; //开总中断; F M% v3 J& I* y
ES=1; //允许串口中断
2 I, A5 [& r* ~ ET1=1; //允许定时器T1的中断
& ]' Q% b0 O. ]& D/ j9 ` TMOD=0x20; //定时器T1,在方式2中断产生波特率/ G$ I: z$ \3 b2 u" p
PCON=0x00; //SMOD=0
* ~' i/ J: W# t+ D( U SCON=0x50; // 方式1 由定时器控制
1 f6 D- m$ p6 L% q/ K8 z4 Q TH1=0xfd; //波特率设置为96000 x0 Q6 c9 A- j, J
TL1=0xfd;1 H4 ~, }7 S, b% o" Q
TR1=1; //开定时器T1运行控制位- S. K- X* e8 l5 R
- u- \- S5 W$ q$ J* `}. Q: W7 D. v1 q. T( B* h
% I! ^, j) i& y, U4 v2 d
, @: J0 \3 R2 g6 }8 ~' o1 n* x( W/ U5 V5 N$ S
6 V* j. R7 P! O$ }' [5 N1 a
//*************************
2 e0 x1 h+ n* J, ~//**********主函数*********7 w( v9 D2 |/ Y6 ^5 S1 z+ ]! q; _
//*************************: h: G. z/ M' R! Q o. B' @% G' z4 @
main()
$ W) W! v: x* u% `% d( k- _9 o{, _2 ]. \* s2 ^+ f. _
Initial_com();7 C# Y) D. y% Y# w4 X
while(1)1 v7 y+ Q; C# e! B( Z) A
{
A7 i8 A# n4 N ]* F4 X
; t% R. Z9 _8 F if(key1==0)
5 e& }# l4 b# r: c# v6 A {
0 X) n a' B; k. a$ j( z; e delay(); //消抖动5 K6 g: I% n% ^! R6 x2 q+ h1 o
if(key1==0) //确认触发
& ?( B: Y3 Y3 ^. [$ A o# v# p; m {' A4 d, A% u5 R
SBUF=0X01;, ^8 r- f9 P( w6 |7 h5 F
delay(200);7 ]/ b/ |9 P- L z5 ?, B
% j$ Q+ a, ^5 V1 k A) H# @
) |+ N4 d; [* I7 J5 W6 e, d+ A }' |8 b6 r' Z2 Z) N
; T0 Z: ]0 w3 k3 i- A+ R }8 d. s1 L o% e8 \
) {2 Y0 Q5 d, R" ^, P. D if(RI)* N- M3 N7 i5 L& \2 }
{& m" C' m7 H/ H: R. n
date=SBUF; //单片机接受
; P: n+ c, A; [6 {) @ SBUF=date; //单片机发送
% m' P: D0 p h _0 ?+ ]# n/ b- | RI=0;9 c9 m" o! w+ V8 l. \" ^, i7 g
}2 |, j9 y' L. u: Q t
' J! F D5 |4 g% g" x: M; V
X+ Z0 ^+ I! f
…………余下代码请下载附件…………
2 J" I7 m3 W1 ?7 k+ i( V9 e8 @+ `: }" }( ]( F! u, [
下载:
. f Y3 r5 K! a. ]
) L# ]( v/ [+ m% e+ \) [5 D3 Z- q8 [% M" K% j
|
|