找回密码
 注册
关于网站域名变更的通知
查看: 1111|回复: 5
打印 上一主题 下一主题

红外避障模块(红外对管)51单片机驱动源程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-17 09:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
红外避障模块(红外对管)51单片机驱动源程序) E2 m. o: b8 U2 I
# H+ L% F* A. P5 U

2 i8 J: _$ C) S% w1 A避障传感器模块电路图+ @. I: ?3 L% S# s) n9 u4 [
9 e5 ]; [& z9 T- Q6 d
51单片机源程序:
/ E3 y( ?. P/ D3 L" a
/******************************************4 h; f9 y$ {9 I2 e6 |: I/ I  q
传感器触发测试7 T  V9 H: t5 [: c/ F
单片机:STC89C525 N( k1 z( j' Q
波特率:9600
3 W: n; \& y0 i1 ~" e*****************************************/2 O! H& ^4 Y0 T4 @& ?  M- {
#include <reg52.h>
2 D1 E, i1 C5 c7 z9 K. }unsigned char date;1 K$ p7 O/ a$ J* ^! f
#define uchar unsigned char1 T; C" U4 Q8 z: B
#define uint unsigned int, U( v* I  J# u# p
sbit key1=P0^1;0 }( v; P( f$ A' y

: t; r/ x& p+ z, h0 U) f' V

; o- T- e* X8 ?2 x- l; c3 _" k0 [+ L( W5 B' N/ U
1 K8 v  w) y  ]6 ~
/* 函数申明 -----------------------------------------------*/
9 l: X, X. E* \$ \, evoid delay(uint z);$ H! ^9 |4 v$ Z
void Initial_com(void);& S& G  l7 N; i1 E& |" r  t
6 V  `, `1 [0 U5 J6 W& n' ]

& s4 v6 D% @9 I3 D' }//***********************************************************
" b% {5 ~( i1 }5 H
3 ?8 J: u) \8 w+ N
$ k  n. s/ {3 E+ u/ [
/*& h2 I) s. d2 C
********************************************************************************. y8 ?( d. p/ ]( e7 Z6 n
** 函数名称 : delay(uint z)
& @4 j) ^# n* f- O; F/ H** 函数功能 : 延时函数
, L7 h% m! L/ J) I9 j0 e- E# X1 X********************************************************************************$ V5 h3 @. l) w; s5 l/ z+ x2 }
*/
! t: ]( q! d3 A$ tvoid delay(uint z)
& l$ X' D5 }5 v% |2 P3 ]' F{                                                                                                                                                                                           / N7 l  u3 C4 K: b+ C) o
    uint i,j;5 E' `) v) {3 z. s
    for(i=z;i>0;i--)
: C! r: j( I+ U  ^        for(j=110;j>0;j--);
: t9 F8 A6 p) K: M7 v4 ?6 W4 l! T; A- J5 |} & C8 S: |  G7 H& t

3 u: \& s. h5 r+ _
/ A) g+ k7 [( S8 a0 U+ O2 W6 N5 {
8 _" }$ e+ [: q. c4 m: Y

: ?& D: N3 I* b$ _+ j//******************************+ y9 |/ M9 ~3 V% e

# q! g1 H8 z7 I5 I
7 T; I& M! h* A8 V
//*****串口初始化函数***********
5 G3 R* Y. i# R8 {* Z6 K! W" b. |7 U2 M# K, i. n, k5 V; c3 u
8 Y, d/ X  u1 W% ?6 D
//******************************
' r- \6 p* p% E- p$ p) ^" ?! L  G, U0 Rvoid Initial_com(void)
4 q* ]( a+ M. D$ s: x{7 U, E7 y$ k0 N! Q
EA=1;        //开总中断& {5 ~+ ~: |( ^" A' Z  Y
ES=1;        //允许串口中断  u0 O- _: |2 b! D2 h* ~# k( G$ @
ET1=1;        //允许定时器T1的中断9 j' l% u! K7 g1 a  P! A
TMOD=0x20;   //定时器T1,在方式2中断产生波特率
3 h8 D1 m- I' }" F& p+ h0 P3 ^0 v PCON=0x00;   //SMOD=0
* c( F3 S) Y0 _' s0 Y SCON=0x50;   // 方式1 由定时器控制
7 b' F- k; X- S+ R; k, I, ?; Y TH1=0xfd;    //波特率设置为9600
& K  M# Z0 f1 ] TL1=0xfd;
+ q# }4 W3 w$ \0 u TR1=1;       //开定时器T1运行控制位
3 E6 [! z7 g+ T
! {( h: ^4 }) m0 t8 z* \9 n/ k% W

. {9 b! _$ v2 h. V}4 T7 C2 T7 W2 P
: d$ F' G2 Q$ r; L) b; g' U, f
. v" t2 d# L3 J' p( b" C
* u" s- Y. k/ y! k9 _! s" c4 U# P+ A
1 W+ F1 K) H! T5 }* W) |

% Z+ I! d8 M9 [! K$ I0 O3 D
+ e" [  q# B+ v$ d0 N

& ]* _+ D: [1 r/ o" S

3 E7 p6 Z4 M2 {0 q  y//*************************& d# x; G! K5 i  l* A0 A
//**********主函数*********9 Q. a' D8 `- T5 C
//*************************
  H5 h# a; g' F% P0 e7 amain()
# p, t" O$ a5 F2 D' Z+ K8 F( F' W1 b{$ z0 t7 F7 ~" l
         Initial_com();" p6 i+ h8 H9 ^0 D
         while(1)8 k9 [" P* l" @7 ~1 l
         {4 h( Y9 b  {7 j- M! u
        
* P0 u% G) X; X3 x9 y4 e! `1 N4 [                  if(key1==0)
- @  I% p- b9 J                {) v- n0 {1 |5 R& H% i+ ~1 Z8 G) l
                        delay();          //消抖动
$ z) h( a7 ]0 g6 {3 t4 j6 L                        if(key1==0)          //确认触发* v6 V" ?) X- c# L) a' a2 h
                        {% ~$ D3 k! A5 l$ s4 m7 K8 P' E0 h
                                 SBUF=0X01;9 W5 A! f2 U! w7 m6 J  d2 ]9 ^: L
                                 delay(200);
- }/ k- h2 Y9 H, p1 v0 q) Q9 _                                
4 A. s( i5 V$ k3 q0 A" f) ^% u/ i$ i$ W                        ' f& O' Y$ ^! M
                        }
/ S: W0 d4 ~  \: ~4 h7 F4 A+ t6 y           : M! G  o! |" Z% e6 O# C9 M
                }
( \: ]1 U0 l* t6 b                 
' c, S% W2 z' x# e                  if(RI)
6 ^+ g& z' s) ^$ R" g, j+ C0 b                  {3 h: Y; x; \& ]/ a) c+ Y" J
                        date=SBUF;    //单片机接受
! S# x" p! g5 a& E, e  ~" ~                        SBUF=date;    //单片机发送
; d6 _+ [/ G5 i                        RI=0;
- k/ n# z+ ^7 b2 x4 o4 f, k% U4 B                  & x* h" A7 H2 M# N. W% r

5 q) F1 _" t* A3 n
( {1 m  V8 F8 f' y/ L
…………余下代码请下载附件…………8 z0 v+ K/ r/ n" S8 ^0 e9 J

( i* N8 i+ B# k7 a$ Q1 @. S) v下载:
9 V  y/ C) c; P
游客,如果您要查看本帖隐藏内容请回复
5 u# a* V# `( R9 `' U  ]

* `- D1 x2 X9 m: _- }$ M

该用户从未签到

5#
发表于 2019-9-16 18:43 | 只看该作者
我想看完整版. x9 x( v; Y& Z/ X$ v  u
5 V/ I% q5 f' X3 _- R( |2 H
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-21 15:21 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表