声光报警电路和打印输出。对软件设计功能的整体要求是:根据系统具有外部存储器、输入转速脉冲测量、转速值采用静态数码显示、声光报警和打印输出的功能要求,设计出相应模块子程序和主程序。 2.1 设计要解决的问题和设计方案 (1) 首先就要讨论信号获取: 通过简单的光电传输系统由专门的探头 LED 发射红外线,同时用 PIN 接受从被测物体反射回来的红外线,实现光电转换过程。由于通过光敏二极管输出的电压过小,然后通过限幅和集成运放放大器,使输出的脉冲接近矩形波, 最后经施密特触发器电路整形输出稳定的脉冲信号。 (2) 信号送入 AT89C51 芯片 T0 口计数,为了得到计数脉冲,可以采用门控方式的硬件技术方法,也可以采用中断方式的软件计数方法。门控方式计数:由 AT89C51 定时器/ 计数器 T0 工作原理可知,当其工作在计数方式时,只要 T0 口上有负跳变,计数器就加 1 。 CPU 在每个周期的 S5P2 状态时,采用 T0 , 所以需要 2 个机器周期才能识别一个 T0 的负跳变,即 T0 的周期至少应等于 2 倍机器周期。若晶振频率为 6MHz , 6 分频后得到 ALE 信号,故 ALE 周期为 1us ,机器周期为 2 us 。由此可知,最低计数脉冲周期 Tc 为 4us ,可由 ALE 信号经 74LS74 中的两个 D 触发器 4 分频后取得。中断方式计数:高转速时为了连续测量 4个输入周期,可以采用中断方式计数。在初始化或前一次测量结束时,单片机禁止“外部中断 0”和“定时器 0 溢出中断”。设置“外部中断 0 ”为负跳沿触发方式,设定“计数器 0 ”为非门控计数方式,然后等待中断。外部中断负脉冲一到,立即启动“计数器 0”工作,对 T0 的 4us 计数脉冲进行计数。计到 4 个测量周期时,停止“计数器 0”工作,禁止外“中断”,恢复测量周期常数 3 ,