|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
YL69土壤湿度传感器原理图与单片机源程序等资料4 ?$ ~8 j7 S" Z' I: |+ _
/ e. i" t+ q1 Y: H& a8 ~3 D$ T) J# R E4 v# y, Q
YL69土壤湿度传感器原理图:- N8 K6 A3 D& ], o* e2 u
3 R* u7 c$ |# `0 S% \) E7 ^
! U1 P3 Y7 d e+ w; v' D
+ {" |! Z/ r9 f& j& _$ o5 x# l
YL69土壤湿度传感器与单片机接口源程序:) e) H* P1 A6 D6 O8 H" q
/******************************************; s b0 t L0 t" h) M% A% m
传感器触发测试
' `! d0 n. ^8 L单片机:STC89C52% M, Z1 D% ^ ?7 v( U
波特率:9600
6 o; E! u- ^, r# V& q5 N- C) Q" R*****************************************/. j8 y5 Q. ]6 U- ~
#include <reg52.h>
1 u; I4 }( _) yunsigned char date;2 T% |4 \4 ?# a3 Z9 I+ D9 j
#define uchar unsigned char
/ ?' }& {$ P m% {. V#define uint unsigned int% |+ `# F3 ^ |" g; a" ?! l
sbit key1=P0^1;3 v6 C7 F+ y5 n7 l0 `0 j
& [1 Q% E% p( `- C* D
. L% Y2 {! V! v/ y4 U( Q
/* 函数申明 -----------------------------------------------*/- [: _: P$ h ^" E9 q
void delay(uint z); W! ]. r9 ?0 s
void Initial_com(void);- U! ?7 G+ U$ J2 F- B
( H2 G: Z% D5 Y! n# k8 I( `//***********************************************************: U5 ^ ~' O9 F3 k+ d# N# S
3 V4 @7 y1 {- z9 x- x/*
, P# J0 L* Z1 z! E; G* x7 P********************************************************************************
$ ?# x* t5 ]4 v2 u6 g& ?# Q** 函数名称 : delay(uint z)9 G u$ x- h% o$ S' A; X* F/ r( z
** 函数功能 : 延时函数6 P! U% b) t$ _
********************************************************************************' f+ v$ s# I+ n, f8 v: U
*/! L1 R/ v4 e( _: t) I% z
void delay(uint z)
9 Q. O7 c9 N. i4 \3 \6 A{ - n8 O2 R% t4 v4 S: l$ Y) M2 S/ h
uint i,j;
) D3 ~& b+ Z$ B for(i=z;i>0;i--)* n, G' L5 e; m! q
for(j=110;j>0;j--);8 _2 p( s! c3 v9 ?7 R5 {; V
} 8 y4 C2 n4 P/ T/ }6 M8 V" W) W
" b5 @ w; O1 u6 ^2 q9 L$ v% M' a
8 u/ k. p0 Z; a% y, O1 j0 A6 w//******************************
5 E% n' ]' ~# z" b, c. B& g" f! |+ s: i, d& h& ]) R
//*****串口初始化函数***********$ y( N9 V; _- o* p! D
; z* |* Z' `8 z, K+ }$ j. \//******************************
. B4 f( O* Q* ]: Tvoid Initial_com(void)1 @, ~; C8 \/ g1 V
{4 z2 p" R2 M5 {! g% n& `* A( N; p
EA=1; //开总中断
2 L8 k5 e& V" \ ES=1; //允许串口中断5 L) L) I/ f5 s* M& q+ o2 B
ET1=1; //允许定时器T1的中断4 K* j4 G9 K' T2 ^2 D! ?
TMOD=0x20; //定时器T1,在方式2中断产生波特率. {. D) F3 o' r+ g5 t
PCON=0x00; //SMOD=0" D+ v; t& @' _/ [& @
SCON=0x50; // 方式1 由定时器控制
9 A5 W0 P1 D3 \. q& u% a TH1=0xfd; //波特率设置为9600- d: L" F7 _3 |# X7 r2 C
TL1=0xfd;! k( q! e3 F/ K* p6 K9 V
TR1=1; //开定时器T1运行控制位
- p+ T' A2 V1 c w# x; @+ s# C0 x
( v3 l9 W3 P1 ?1 _ t7 c}4 N: U2 @0 m1 k7 X4 f6 b
d+ Q3 \& Y* q0 E$ c' m9 _4 j1 d* @, u3 g' _
( f& b5 o# U5 N8 c/ ]3 ~1 q
' V2 H7 D4 l5 R1 I5 p( u! c//*************************
2 v0 Q* O, V) R2 _//**********主函数*********: D, _' V9 g! p* K- w0 j5 }
//*************************
. g! H; r n+ e0 Y2 Jmain()! f6 I& _/ y: M5 C
{
2 g5 D- A9 ^* a- @, A; S+ @ Initial_com();
2 x$ @- }' b8 k/ i while(1); W" O! R. r, M* a
{) P, P! o2 W6 n8 C2 J' A5 g
# O) t! [& M) S
if(key1==0)7 O& o% M2 |- X) E" `2 _' w
{
. |6 c* A! n t# e" F delay(); //消抖动
. A- ] y. f$ D if(key1==0) //确认触发
v D9 F; A+ {* v {0 C7 w& @9 e4 `5 z6 O
SBUF=0X01;% o$ ~( D R1 u5 ^( d( _/ y
delay(200);
, Z2 M7 J& T r) `' O7 F
?( V5 s. V2 Y) [2 A) d2 i, h4 D7 `) i4 D+ [
}) z4 \- {$ n2 c% f4 O' e; Q0 H
# r3 K3 J+ ^! j8 m% L. y' }9 |
}4 n4 g2 D, p) Q2 f
1 v0 [' q+ {% V+ @, H i if(RI)
6 G1 w6 J: ~/ Y% W9 B) y* p; _; P5 l {
5 C9 ~9 R% M* E: `# P- D* M date=SBUF; //单片机接受
5 S3 g X2 b% b! `4 Q5 ~ SBUF=date; //单片机发送, a2 C6 |- B* }, j# a/ i
RI=0;
0 p) q/ i" e4 B/ R* B9 `. T }9 `# v7 E- \+ A, m) J4 q' ~
4 ?, B; T: w. Q$ u$ R
( \: s, T: ?* l1 Z0 g…………余下代码请下载附件…………
- P: v4 _( }5 m: b
% l: d! y3 ^- [8 T( _下载:8 S& y" w6 |$ j. A" e- e* X$ N
$ a Q; y q/ `; ~/ y
, |% @9 `5 m" R3 D S5 q |
|