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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
红外避障模块(红外对管)51单片机驱动源程序  ~% Y7 g: Z( O5 B, \/ u

& j: ]( @: \3 i( n' n$ b, `9 J5 u) H
5 ?4 W! D' e+ y& D
避障传感器模块电路图1 E3 \3 x" C! B; q: F* O

& d+ E8 ~4 J2 F, f51单片机源程序:
4 i9 e9 P$ p, q; s8 j: s/ Z3 K
/******************************************
. A( ^& s( Y$ b* E1 Y传感器触发测试6 V$ ], [: ]7 R/ T5 O# G
单片机:STC89C52
; I. y' O( H* y9 G0 T% \# J波特率:96008 h" k- O8 h4 U( C
*****************************************/
) h  e3 ]) w: D1 w#include <reg52.h>  D; ?, w# [0 d5 E
unsigned char date;
" R5 C9 Z! s- l( Q#define uchar unsigned char( S/ Z# M4 z& c, I5 g& n& p
#define uint unsigned int( {# r8 I$ e, c/ t
sbit key1=P0^1;2 p- Q. L9 G) U7 ^
/ c0 B  D, Z" g/ K! q$ {. \

& o1 Z1 \2 Y( a' c3 r. o# x* r6 P
* F4 E, A/ F7 P7 X$ v
/* 函数申明 -----------------------------------------------*/4 {! U8 p; v4 o: N- n! [
void delay(uint z);/ o. g+ o0 P' [
void Initial_com(void);
/ P% V& p. ^2 O2 M
1 M9 I7 h' c+ s! u+ R

6 R- s( m* o& h3 d3 f4 J//***********************************************************3 ~. m6 O$ l2 b% ^# a, {

& W0 o7 d: ~, [+ j0 \
, _8 _+ ]( \. R+ @- g) h
/*7 E- l0 k: M# K5 m, B
********************************************************************************7 j9 I: m6 f, e( E1 `  {& ]
** 函数名称 : delay(uint z)
, h2 \  p6 W5 i7 p2 a$ d** 函数功能 : 延时函数( |$ O$ \$ U# ^" M& }
********************************************************************************& f) L, K, I! S' G& \# N+ A9 O
*/+ l4 p! {8 R" M5 S; i( d! _5 z) x
void delay(uint z)2 Y: W/ i) [, p8 }
{                                                                                                                                                                                          
5 O* I' a% {  [& Q% f# T9 ?- ^    uint i,j;
. \1 e/ M* b& v+ A; u    for(i=z;i>0;i--)
& o/ f; e  z- A2 z6 S4 v+ B1 L; m        for(j=110;j>0;j--);
! f, @& Y9 F0 d+ R( i8 u% f6 g) i  k}
( f0 I; ]$ T' V' [  D- Q+ A* l- ^3 P8 o0 q( U% g6 S  X. [
0 {4 d* r# y' b6 [4 q" Z
9 ?3 k9 m2 m5 G, ?! i

* U; U0 G+ x7 f& Q$ R3 E8 o//******************************9 v  l9 ^; r6 m6 Q/ e' T* z; a
9 C$ x$ G; J! \
+ _3 G1 h1 T; u7 F$ J/ r4 u
//*****串口初始化函数***********
* j# |& S9 N5 _1 g: D# t: D" a, Z! j1 {6 s7 f9 r8 n" p5 Z% N

" z1 S. H% |/ S: X; n5 f//******************************; d0 g" U$ o: L) V7 I* v3 E* }! T3 ]
void Initial_com(void)7 p: F$ D7 ^) F6 Q' H4 b" e
{
, e; F$ ?5 N! w( Y, ^0 [) l8 H4 f EA=1;        //开总中断
/ N9 ?& s& P: y; N/ z- z ES=1;        //允许串口中断
  P! c0 E: Y( E6 t3 \ ET1=1;        //允许定时器T1的中断  `1 Y4 E+ v/ R
TMOD=0x20;   //定时器T1,在方式2中断产生波特率
+ e, t+ g" P( a9 U; |5 A PCON=0x00;   //SMOD=0
; W& X* Q5 W7 s& m SCON=0x50;   // 方式1 由定时器控制4 E; b4 S+ s# O
TH1=0xfd;    //波特率设置为9600; C' w- d& }% m# P
TL1=0xfd;$ f; Z' x* L5 E& a* _& g
TR1=1;       //开定时器T1运行控制位
9 u% g# h, @8 V0 K
, z. w6 x" U4 `$ f0 ^0 _9 i

6 M5 |4 Y  k! J6 d- @; {- _0 V}/ F0 Y0 O6 G+ f5 o7 Q/ h

- T3 R! [/ S' i# J8 ?$ v
0 M' ^1 ], Y8 \( C* y$ ^+ Y; m+ s

; i6 y# _  t* ]/ r) M( {3 r5 g" m

- q/ V: A. }0 \( C; H7 l* [) h  V- C6 j
4 W4 D. \9 q% _; D( b
& L0 I. L: |6 s0 T2 g7 n

' a. ^4 n# y& e% C2 j& j, Y5 @//*************************
7 h2 M' q  F! ]. |" Y2 [! O8 T" E//**********主函数*********& s) Q% Q1 M2 w" p6 X7 i
//*************************( t2 c8 c4 b6 E2 g, K
main(). S: ~- ^; Q+ ?8 m9 ]9 q. H8 D
{
6 ]  X9 w* W. \, [0 g2 \         Initial_com();
# {8 u& n; V/ X: C9 z$ X         while(1)9 b/ n2 |' r( M# Z% R6 t$ P
         {) Q" }* Z4 }1 q+ ]1 {
        
8 ~/ W8 P+ w' m3 G4 X! a3 m                  if(key1==0)
% J# I& O/ A+ S5 L7 {; N) ^" b& e                {
; Y( P3 N; i2 d: q4 a                        delay();          //消抖动& ]  ^/ e3 w# w: d$ l0 U: ~
                        if(key1==0)          //确认触发
) @$ x' X8 m  `. h6 e$ ^                        {0 H. l( e; Y/ G$ d% n* ^+ E$ {4 p2 R
                                 SBUF=0X01;* {- o# G$ I& e4 d2 E, i+ e5 x9 q
                                 delay(200);$ l( h/ Q8 b2 C! h
                                
: j& l) g# o0 `1 Q8 b: p+ C                        , p, S$ g4 p8 ^
                        }$ u. Y; G/ K3 q5 V( D* ^0 A1 l
           
+ k" l3 d- Z! ~9 f1 u                }9 Z) R( ]) o4 L7 ~. z+ y
                 6 h. O( H( z0 {! n
                  if(RI)
/ v. p7 q* a% S  b# p; q& I, f                  {
2 X* r5 h7 a  f3 n+ f! ~* W                        date=SBUF;    //单片机接受: P* w1 @# m2 n* S
                        SBUF=date;    //单片机发送  z! X; j. a' `, Q) A
                        RI=0;, D% D2 m* V: ?4 q
                  
& Q, l$ e0 y+ h+ o- Z
, S0 X$ s! `- u8 _. _% b
  n3 B) J8 ]5 j, H4 U, N
…………余下代码请下载附件…………. }* u! a+ B7 z' V; s  G  }6 y
( G. R& t( s& I  C. K- Y
下载:1 q* n' v; J$ I0 ]* v) R# n- k1 X
游客,如果您要查看本帖隐藏内容请回复
' y( y, L! Z3 _, W. j; h% Z

- D* \; u* p) X+ z. U1 i

该用户从未签到

5#
发表于 2019-9-16 18:43 | 只看该作者
我想看完整版
- c8 H# w) F  h. o! F
' \% x% n5 c+ ~6 Y5 [
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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