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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
红外避障模块(红外对管)51单片机驱动源程序# m' g- {: H# u& a; y
+ t1 B. i  k% u5 I
1 @9 Z* V3 p6 [6 k1 J2 L
避障传感器模块电路图9 d4 c7 `. v. J2 w4 a  h. ~
) B5 K) U  k: ^' ?
51单片机源程序:
( s: \5 K1 j! g7 ]
/******************************************
( j* [8 ?! G+ d4 }3 y- Z  S5 v传感器触发测试8 D3 g0 s( F- t9 ?
单片机:STC89C52
2 e- i3 `8 Z$ ?4 c波特率:9600& f. R8 V3 o) O+ j, S3 x1 s0 f6 G
*****************************************/( s; _2 \5 O; s! L3 v( `
#include <reg52.h>
& C. I/ Y6 \# ounsigned char date;  v; t1 S+ _- q" }) o$ o
#define uchar unsigned char9 J; X4 j0 f% n$ S
#define uint unsigned int
- J9 F$ Y( a. F9 E8 s% i7 ]sbit key1=P0^1;. k5 g" ^; g2 i+ i
3 Z; a& @7 c9 S, V8 Y9 I3 F3 x
/ o, g9 y' s: W. C9 T0 q
# F5 h. I6 _. k$ X, e5 b2 e  D
! z* B0 R' c' o1 G
/* 函数申明 -----------------------------------------------*/
: P: I( p! d3 S9 bvoid delay(uint z);
! p$ j5 ?2 _  P( X* [* m8 xvoid Initial_com(void);
' G: m0 t8 g' {8 x. B
$ \  m( s! A& D+ I( X) O

, i! e' S5 w  L//***********************************************************
+ F6 j6 [! c- y6 P; y- @
3 k" o# a( i  V& e, w3 \! x

; Z$ q: c2 E4 D+ O7 n$ n  s/*
4 K* k0 O0 n8 {- j* o( e$ I6 N+ w********************************************************************************
) o1 X9 A7 {7 ]1 y** 函数名称 : delay(uint z)5 x: ?" a) U# _' ~( p& g, |
** 函数功能 : 延时函数3 W" f0 N; z8 S+ H/ A: d. z
********************************************************************************9 W* u0 Y9 i5 m4 ]/ r- n1 C
*/
6 B. P7 Y% r# b1 rvoid delay(uint z)
% t1 a- }5 Z7 s' ^{                                                                                                                                                                                          
9 i! Y- U+ F+ \- h) U" _! b" P    uint i,j;
3 G* Y4 L$ n: d0 M& b/ n; J    for(i=z;i>0;i--)
" h! c8 k4 [- ~/ S( F4 Q0 O; ?/ j        for(j=110;j>0;j--);
4 O! }; _/ p5 E. e0 K& @}
3 t* H9 [+ C0 G* k$ J3 M) y: ]( v$ z+ `7 ~8 Q

) t2 J+ e! }7 t& w% R2 ^. ~9 Q& O) n) s+ N1 n
7 y; F+ }& z0 J
//******************************
9 _% g/ f, V6 k: X# y: c  P: r! G+ f  O
; O) e( d7 {" Y$ }
//*****串口初始化函数***********( C; a  m( g1 |! u6 Z: [5 W
& D5 T2 v: g1 N+ a! y, I

$ e: l" U) t. v* p1 U//******************************
2 ~. ^( ^+ V2 {1 n8 P; w. |3 w9 xvoid Initial_com(void)
- ~1 n% w' ]3 J# Y3 d+ g, T{
; `3 [$ Y& N0 s% P% w EA=1;        //开总中断2 r6 Z* z: b' Q( ~! c$ n- H  M7 v( C
ES=1;        //允许串口中断, G4 m$ I- \. l
ET1=1;        //允许定时器T1的中断
. t6 g9 f' S% V- O  x8 C- V2 | TMOD=0x20;   //定时器T1,在方式2中断产生波特率& ?& P+ ~9 t8 G  p2 Z/ y7 Z  Z5 s/ _
PCON=0x00;   //SMOD=07 }0 X( w' p5 y( ]& B" v% M/ ~5 P
SCON=0x50;   // 方式1 由定时器控制$ h, `% ]) x' r$ P/ @1 B$ X
TH1=0xfd;    //波特率设置为9600( \% d) x9 m( [& w  F, q$ l
TL1=0xfd;9 b( c5 y8 o4 ^( |5 t0 O
TR1=1;       //开定时器T1运行控制位: r" R6 w9 d& H7 h5 ^7 Q- @

: n8 O. w9 l9 Y' A8 Z, G+ _- z% Q* i6 N
' w3 L7 ~$ a! N, K
}3 p3 U6 p$ v; p" i& t
; r2 i+ N3 x. Y1 j% h/ `) u

! W7 ?# h4 C! v2 `+ a
0 b4 H/ }* X* ~# e3 t8 ]
  x1 y5 e, c9 w+ C' S; J2 W
; B2 ^2 h2 E# [. \1 H

; d9 B1 x( y1 o$ H6 v' J: r
9 x0 ^9 w% P* ~, ]

, {* t" r$ {( b( I9 o//*************************9 F9 M' j! G6 I1 z
//**********主函数*********/ O+ u! j$ ^; S
//*************************
  [5 u: I  C+ m7 c  c$ r3 A- @main()8 g1 T5 q$ o  i' C; I( E
{: P+ n0 X1 y+ o) \, R% B" M) w
         Initial_com();/ {+ R# r/ w  r4 ^& \5 w1 e8 m
         while(1)2 B+ @' G* d3 p. ?" N- t
         {9 e( I2 \8 \0 x$ ^
        9 |5 m+ u+ z1 c# J
                  if(key1==0)
, m3 A  P3 \! D# D' P( T                {* V% [: U6 C$ V. s
                        delay();          //消抖动
5 i) Q- s2 L; N8 A* m                        if(key1==0)          //确认触发
7 Y; Z& a  o# R+ f7 |& c& `                        {% o. _- H% s! J+ _6 A9 K$ M
                                 SBUF=0X01;, P9 R; G* i% U  D# T# e! V9 ?+ s
                                 delay(200);
, ?9 m7 n- M# I) B                                
2 _& i( o; }1 c* \                        
: b& R$ k/ @2 s7 t/ l                        }
  b( T7 @' g, @$ g5 U5 J           2 v1 n* K  Z" l' p- y
                }% w2 s0 {. R" {) Z
                 7 {7 r' K/ |0 c* s' ~
                  if(RI)6 s( P, r: Z8 D4 c/ T
                  {, \/ w" U: H; F) N
                        date=SBUF;    //单片机接受/ b" A, ^: A9 ~/ o8 ^
                        SBUF=date;    //单片机发送) k6 ]2 y0 L) M; H& R* _7 f
                        RI=0;
' s6 ]6 a" j6 q  T# s4 n! }. v                  
0 e8 R, L5 D3 P
# ^. o) h0 ^3 T( c+ h! ]

* y9 S& q/ p' R; R3 ?- M% v  t" t" N…………余下代码请下载附件…………. S& W- ]3 e8 z- F! d
  Z- s  c: C5 K
下载:
5 B5 G5 F  k" {. t, l! K
游客,如果您要查看本帖隐藏内容请回复

5 w/ K7 x* @" ?' G" x! S- G

. m# B( C$ J/ X( `1 U

该用户从未签到

5#
发表于 2019-9-16 18:43 | 只看该作者
我想看完整版
5 Z$ C: _6 u* y) c2 M) P4 f
2 N9 h0 s  }  x8 M) s& G! o
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 19:13 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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