• 全国 [切换]
  • 深圳市鼎达信装备有限公司

    扫一扫关注

    当前位置: 首页 » 新闻动态 » 真空技术 » 正文

    基于光电开关的竞速小车计时系统设计

    放大字体  缩小字体 发布日期:2021-10-19 17:05:07    浏览次数:121    评论:0
    导读

    文中介绍了基于STC89C51单片机对于光电开关竞速小车计时系统的设计与实现,对系统主要硬件电路以及程序进行设计。该系统主要采用了74HC595和ULN2803实现对大尺寸数码管的静态显示,并给出了具体实现思路和设计过程,实验结果表明,系统运行稳定,显示清晰;实现了对竞速小车精确计时。

    1 系统硬件设计

    1.1 系统结构和功能

    系统结构主要由两对光电传感器、单片机控制模块、5个74HC595、5个ULN2803、5个5寸数码管及复位开关构成,系统整体结构如图1所示。

    系统采用对射型光电开关作为传感器,发射器与接收器配对使用,发射器发出的光指向并直接进入接收器,形成一个闭合的光路。当被检测物体经过光路之间有阻断光线时,光电开关就会产生开关信号,触发信号输送至控制器,控制器启动计时器开始计时,并控制数码管显示当前计时时间。光电传感器起点端是判断智能小车经过赛道开始端的触发信号,终点端是判断智能小车经过赛道末端的触发信号。

    图1 系统结构

    1.2 硬件电路设计

    1.2.1 光电开关电路设计

    本系统所采用的单片机STC公司生产的STC89C51单片机,它是一款集成在一个芯片上的微型计算机,包括处理器CPU、存储器、I/O接口,定时器中断等,STC89C51单片机具有结构简单、控制功能强、可靠性高、体积小、价格低、功耗低的优点。内部的12时钟周期,采用11.0592 MHZ外部晶振,工作电压为3.8 V到5.5 V,支持ISP下载程序[2]。STC89C51共有40个引脚,其中P3.2和P3.3是外部中断口,光电开关作为传感器元件,该传感器发射器和接收器共有5个接线口,两条红色电源线,两条蓝色地线,发射器上还有一条黑色信号线,将光电传感器开始端的信号线接入单片机外部中断触发口INT0(P3.2),结束端接入单片机INT1(P3.3),小车经过光路被截断就会触发信号,中断触发执行子程序,实现快速执行计时和计时的准确性。光电传感器接线电路图如图2所示。

    图2 对射型光电传感器外部电路设计

    1.2.2 5寸数码管及74HC595与ULN2803驱动电路设计

    由于单片机输出的电流很小,5寸数码管所需的驱动电流大于单片机IO口的驱动电流,因此采用74HC595锁存器和达林顿ULN2803三极管驱动器,并采用74HC595的级联技术实现对多个5寸数码管驱动显示。显示屏幕共采用5个单独5寸数码管,每个数码管单独由74HC595及ULN2803驱动显示,以达到数码管静态显示效果,减少单片机开销,提高测量精度。驱动显示电路如图3所示。图3中数码管驱动的CLK接单片机的P2.0口,STR接单片机P2.1口,DATA数据端口接单片机P2.2口。

    图3 74HC595与ULN2803驱动电路

    74HC595是串行输入输出或并行输出8位移位寄存器,硅结构的CMOS器件,兼容低电压TTL电路,具有8位移位寄存器和一个存储器,三态输出功能。Q0-Q7是接到达林顿ULN2803三极管的基极的。Q7’是串行输出端口,可级联至下一个74HC595,同时实现多个数码管的显示[3]

    ULN2803是八重达林顿管,输出电流和电压可达500 mA和50 V,可用于驱动大电流负载,符合驱动5寸数码管条件[4][5]。1至8号引脚分别接74HC595的Q0至Q7,相当于三极管的基极,11至18号引脚接到数码管的A至F及DP端口上,相当于三极管的集电极。

    2 系统软件设计

    整体软件流程如图4所示。软件流程主要由主程序、外部中断0子程序、外部中断1子程序和定时器0中断子程序构成。主程序主要负责变量的初始化和数码管的数据显示,外部中断0负责开启定时器,外部中断1负责关闭定时器。定时器0中断子程序处于计时状态时每1 ms中断一次,并将时间数据统计分类。

    图4 软件流程

    2.1 主函数设计

    本设计主程序主要显示函数显示计时器所记录的秒和毫秒以及对中断进行初始化,并检测复位按键是否按下,若按下复位开关,则将时间标志位清零、秒清零、毫秒清零。主程序代码如下。

    void main()

    {

    zhongduan(); //初始化

    guangdian1=1; //初始化光电传感器开始端置1

    guangdian2=1; //初始化光电传感器结束端置1

    reset=1; //初始化复位按键置1

    while(1)//主循环

    {

    display();//显示函数

    if(reset==0){time1=0;haomiao=0;miao=0;}

    }

    }

    2.2 单片机计时的软件设计

    主函数按照代码的先后顺序依次执行,计时器0子程序根据设置的初始值1 ms执行一次,当外部中断0端口P22检测到一个低电平时外部中断0子程序执行一次,当外部中断1端口P23检测到一个低电平外部中断1子程序执行一次。

    开始端光电传感器连接外部中断0,外部中断0子程序命令开启计时器0,结束端光电传感器连接外部中断1,外部中断1子程序命令计时器0停止工作。详细程序如下所示。

    void waibuzd0()interrupt 0

    {TR0=1;} //启动计时器0

    void waibuzd1()interrupt 2

    {TR0=0;} //关闭计时器0}

    void miaobiao()interrupt 1

    {

    TH0=(65536-1000)/256;

    TL0=(65536-1000)%256;

    time1++; //时间标志进来一次自加1

    if(time1==10)

    {

    time1=0;//时间标志清零

    haomiao++; //毫秒自加1

    if(haomiao==99)

    {

    haomiao=0; //毫秒清零

    miao++; //秒自加加1

    if(miao==999){TR0=0;}// 当秒=999时,计时器0停止

    }

    }

    }

    2.3 74HC595驱动与显示软件设计

    74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SHCP的上升沿输入,并在STCP的上升沿进入到存储寄存器中去。将计时器的变量miao和haomiao每一位分拆给a、b、c、d、e,然后按照顺序依次串行输入5个级联输出端7相连的4hc595驱动,然后驱动数码管显示。

    void display()

    {

    uchar a=0,b=0,c=0,d=0,e=0; //定义变量

    a=haomiao%10;//毫秒个位赋予a

    b=haomiao/10;//毫秒十位位赋予b

    c=miao%10; //秒个位赋予c

    d=miao%100/10;//秒十位赋予d

    e=miao/100; //秒百位赋予e

    temp=DSY_CODE[a];

    In_595(); //串行输入a

    temp=DSY_CODE[b];

    In_595(); //串行输入b

    temp=DSY_CODE1[c];

    In_595();//串行输入c

    temp=DSY_CODE[d];

    In_595();//串行输入d

    temp=DSY_CODE[e];

    In_595();//串行输入e

    Out_595();//并行输出

    }

    3 实验结果

    通过对整个光电开关及数码管显示的软硬件进行设计,首先做出测试样品,经过多次调试和对产品的抗老化检测,确保竞赛过程中运行的稳定性。对有电干扰和电磁波干扰具有良好的抵抗能力,竞赛过程中时间的计时具有很好的触发效果,能够确保及时计时,实现显示智能小车在比赛过程中的实时数据。竞速小车计时系统如图5所示。

    图5 竞速小车计时系统

    4 结语

    本文深入论述了大尺寸数码管显示模块制作的整体设计思路和驱动模块的电路原理,阐述竞速小车计时系统工作原理及电路设计,还详细的介绍了74HC595及ULN2803元件的工作特性。本系统程序设计采用用两个外部中断分别检测两对光电开关的触发信号,具有计时精确、稳定的优点,经竞速小车比赛的检验,该程序设计能稳定精确运行。

     
    (文/小编)
    打赏
    免责声明
    • 
    本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://2024.dingdx.com/news/show.php?itemid=448 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
    0相关评论
     

    © Copyright 深圳市鼎达信装备有限公司 版权所有 2015-2022. All Rights Reserved.
    声明:本站内容仅供参考,具体参数请咨询我们工程师!鼎达信作为创新真空产品研发制造商,我们提供海绵吸具,海绵吸盘,真空吸盘,真空发生器,真空泵,真空鼓风机,缓冲支杆,真空配件,真空吊具等等产品

    粤ICP备17119653号