图4.7 LED与单片机接口间的设计
11
5 系统软件设计
硬件电路完成以后,进行系统软件设计。首先要分析系统对软件的要求,然后进行软件的总体的设计,包括程序的总体设计和对程序的模块化设计。按整体功能分为多个不同的模块,单独设计、编程、调试,然后将各个模块装配联调,组成完整的软件。
根据设计的要求,单片机的任务是:内部进行计数,在计算出速度后显示。软件编程用C语言完成的,需要能掌握C语言,还要熟练AT89C51单片机。从程序流程图、编写程序、编译,到最后的调试,是很复杂的。下面作简单介绍:系统软件主程序的功能是完成系统的初始化、显示程序。 5.1 主程序初始化 1、定时器的初始化
AT89C51有两个定时器/计数器T0和T1,每个定时器/计数器均可设置成为16位,也可以设置成为13位进行定时或计数。计数器的功能是对T0或T1外来脉冲的进行计数,外部输入脉冲负跳变时,计数器进行加1。
定时功能是通过计数器的计数来实现的,每个机器周期产生1个计数脉冲,即每个机器周期计数器加1,因此定时时间等于计数个数乘以机器周期。定时器工作时,每接收到1个计数脉冲(或机器周期)则在设定的初值基础上自动加1,当所有位都位1时,再加1就会产生溢出,将向CPU提出定时器溢出中断身请。当定时器采用不同的工作方式和设置不同的初值时,产生溢出中断的定时值和计数值将不同,从而可以适应不同的定时或计数控制。 2、中断允许控制
MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。中断允许寄存器IE的字节地址为A8H,可以进行位寻址。
5.2 主程序流程图程序流程图
1、主程序流程图5.1
12
开始初始化定时器计数器NQ1是否为高电平?Y启动定时器计数器Q2是否为高电平?NY关闭定时器计数器计算速度LED显示图5.1流程图
2、显示子程序流程图5.2
开始显示缓存初始化LED显示初始化数码显示
图5.2显示子程序流程图
13
总 结
采用单片机与光电传感器技术来实现测速的测量,可以快速测量显示速度,可以提高速度测量的精确度,本设计简单易于用于工业等领域,且成本低廉,适合大规模生产,技术性要求较低。对于单片机与光电传感器领域,技术研究非常完善,技术相对成熟,问题解决能力要求不高,对原有的各种性能特性无明显的要求,能够与其他设备相互整合,因而具有较宽的应用范围和广阔的应用的前景。
基于单片机的速度测量系统,具有硬件电路简单,程序简单和运算速度快,测速范围广,抗干扰性能好的特点。本课题由于能力的限制,在以下几个问题上面有待进一步改进:
1、在设计的信号处理电路中经过滤波,能够进一步减少误差,是测速精度得到提高。
2、多套光电传感器的运用可以进一步提高测速精度以及准确度。 3、本课题没有考虑报警环节设计。
4、这个课题没有进行仿真,如果进行仿真,本设计会更完美。
14
相关推荐: