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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
红外避障模块(红外对管)51单片机驱动源程序
3 \6 P% ]7 Z0 v/ M  q: C
* l: b  V4 ^- r
( i) v2 Z, J  u$ W3 }/ Z8 B8 V
避障传感器模块电路图: R" [5 L; Z: M* i% r
* |) T- N2 P+ t9 ]
51单片机源程序:
) U! `1 P- a1 ~1 W( W
/******************************************
  x6 S- }1 P* R& X) b2 o0 t传感器触发测试
$ Z; W3 k' l' Y% k( D6 I单片机:STC89C52% z+ h3 E' T5 T' I/ y2 B
波特率:9600
# H/ x- L/ y' c% T3 Y" I+ ~*****************************************/. j# g  u& D8 @3 F" ]  t
#include <reg52.h>- A5 k  z  ]; C5 f6 u7 `! _
unsigned char date;
/ H# z4 ^- o- C7 r: ?" o#define uchar unsigned char/ A: T/ D  ^6 ?
#define uint unsigned int
! V$ `1 t& ~' R) |sbit key1=P0^1;! a+ S9 X3 I9 u4 p2 B6 ~* I" P

. x- `3 H' [3 v! ~9 U

8 }, A( w; R& H5 |0 r1 m# ^1 i3 v6 ^7 o! I1 l4 x/ r& k' b. C  Z6 j

2 N0 A: d" i$ U4 M+ s( \/* 函数申明 -----------------------------------------------*/$ b3 E( G8 t1 M, M' l4 Z
void delay(uint z);% m, j4 k. z. F8 o
void Initial_com(void);
) E7 G7 S+ W% L. u* v' \- w3 [! |: U$ `8 G) g2 ?" J

6 ]4 Y( H8 t' c  p6 b) k//***********************************************************6 g. C* j  l" E: X# o. H
2 I* @% t  z4 [
& S' m6 J) l/ X6 B% [, v8 A( R
/*# y8 E% I+ V0 W& C
********************************************************************************4 j$ _, H: t& F: l8 ~/ C
** 函数名称 : delay(uint z)
! ?2 q0 _7 _' I2 p9 F** 函数功能 : 延时函数, q0 Q5 @, e' y3 l6 I% K
********************************************************************************
, N. E) h: _5 f4 m% E7 I# T*/
4 {2 Z! h5 I& \6 Ivoid delay(uint z)
$ A7 k, r  z& Q0 Z+ `% f1 ~! q5 R{                                                                                                                                                                                          
7 D1 Z! k% B" u: ]3 R6 {    uint i,j;* E/ U  d/ B& r6 v
    for(i=z;i>0;i--)1 A: z' u4 [7 m4 E# K
        for(j=110;j>0;j--);, b8 _* G, N/ I" y% E, V' m9 o6 ~
}
" D. Y! D. f! k- O  H# ^* {7 T9 M% [6 y" Z
8 c% z/ i) J! u4 p+ J6 m) w
2 z( G: z7 N- O4 f: b0 E) l4 e

+ O$ @. a/ J( |+ n; ]/ E//******************************* c& w7 m  l* ~) ?# I4 R  q
2 j3 R' @9 @+ M( u5 w3 o% U) c, q$ A

( O$ o  D, K9 P//*****串口初始化函数***********
4 t4 C, i/ i1 U6 m" l9 \+ S+ p8 n0 o" z
- d% Q$ S( O! O+ q- _$ Z$ B
, H1 w% |$ j- O
//******************************
0 v: b9 m  g, p8 B$ yvoid Initial_com(void)9 g% a. Q5 v# D0 I% h3 s' q
{+ k7 k0 E  ^! j, z( Y9 @
EA=1;        //开总中断
+ l! ]4 D* ]* l  a' [% y3 R ES=1;        //允许串口中断0 w. n  j' o2 t3 U( o
ET1=1;        //允许定时器T1的中断) s9 R, b" l1 e2 ^
TMOD=0x20;   //定时器T1,在方式2中断产生波特率
, `+ @* Y' X3 x PCON=0x00;   //SMOD=0* `6 u) t0 v2 C
SCON=0x50;   // 方式1 由定时器控制1 L0 Y& J/ f& |+ L& A- B
TH1=0xfd;    //波特率设置为9600! _, O! l% t: c1 ^
TL1=0xfd;7 @& e4 t2 V7 |9 H6 b. M' h
TR1=1;       //开定时器T1运行控制位5 s* T; k2 r5 B: O4 k
# C4 ^8 p6 d+ v, J3 b
2 k2 B& @& S2 f/ a/ _% U
}5 M; o: W" ?; A5 ^% Y! y7 W, h! F
6 O! `( M7 P0 F: A

% `& _: `* q; g
& m5 |* k5 c5 V7 ~. S$ ^) m, R# ^$ q
0 |, @3 q% ]: M" F) u/ A% M- w

+ B* i! ~# q* j) p

1 y4 j8 C' c% e, m! i6 ^% ~
2 U% ^/ q( S6 T. G1 }. Z

& Y) J+ G* X& f//*************************5 `0 ?4 e$ [1 V- v' i4 V6 n
//**********主函数*********
0 D  S/ c- Y. i% d2 j//*************************, c5 D4 n) m, C/ S6 Q4 j, [
main()
: a  O- w; e, z0 T$ M, Q, x" |6 G  C$ O{
8 o2 c3 t, o- L. t         Initial_com();
7 e0 E1 {8 Q# Y' c8 k, |         while(1). w$ f% {" l; t; z, q+ H
         {  g" m" F7 @# E! O& k
        # Y9 @7 |* [* ~. |+ L9 U
                  if(key1==0)
& T  G1 Q; J" j                {
' c1 `. a- N& c- T+ i* R                        delay();          //消抖动
% }! \% s  g6 T1 B+ T( f                        if(key1==0)          //确认触发/ N, B/ t# G( ?- ?
                        {
; O* y7 k2 G% z& }" C5 y! p/ u                                 SBUF=0X01;
% s* T9 [' C0 c+ V: a* B5 t/ p. g                                 delay(200);: q& R/ ?# T" D% Y, u
                                
% b; A8 H) y! o: l3 @! u# h                        7 _& P( s9 {# P' u' q9 s
                        }
# @4 U0 b- i2 {2 o3 L  c8 C           
2 _6 [  U' R' i# c9 E                }
! E0 t' ?; \3 _6 {, u                 
  e2 ^0 D# F7 O" R: n" x$ o5 }                  if(RI)
3 ?. |5 L& t; k9 }# @- K                  {, @$ p; B2 W; J3 u! G& R
                        date=SBUF;    //单片机接受
8 C0 l7 j) A% `5 ?                        SBUF=date;    //单片机发送
$ K+ E0 A2 s/ k1 i                        RI=0;$ v" {- v) T- T. H
                  
7 z- j  ^" Z4 n9 k+ Y
: }3 ~$ H% X- U- m5 O* [

; B" N- P* [1 o* d9 N2 b…………余下代码请下载附件…………7 ?" k, d. f/ ^- v1 K
* B+ o$ ?0 v  e5 H3 e$ Y
下载:9 x# ~5 I1 @- y/ s; F* l6 B
游客,如果您要查看本帖隐藏内容请回复
9 u6 V+ B9 Y5 L7 M( Q8 r
6 Y* y) u; I0 B

该用户从未签到

5#
发表于 2019-9-16 18:43 | 只看该作者
我想看完整版
( E8 G! ]: O/ Q4 V/ _6 n' A4 q2 r; ?8 K( o5 H9 \; ?6 g- o. \
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 03:52 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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