基于51单片机数显转速表的设计与制做 下载本文

出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1)

P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)

此外,P3口还接收一些用于Flash闪存编程和程序校验的控制信号。

3.系统方案

3.1系统总体设计方案

该转速表由反射式光电传感器、整形电路、转速计算电路及数码显示电路等四部分组成(如图1所示)。

光电传感器 信号 整形电路 转速 计算电路 数码 显示电路 图1 单片机数显转速表原理图

其工作原理是:光照度改变使光敏电阻阻值的改变,而引起光敏电阻两端电压的改变。电压变化信号通过传感器传到计数器上计数计时。在光电门一端有个线性光源,另一端有个光敏电阻,门中无物体阻挡时光照射到光敏电阻上。有光照时光敏电阻阻值减小,光敏电阻两端为低电压。当门中有物体阻挡时,光敏电阻受到光照度减小,电阻增大,光敏电阻两端为高电压。当光电门计数时,传感器将高低变化的信号传到计数器上,计数器进行计数。一次电压变化计数器计数一次。当计数器计时时,计数器获得高电压时计时开始,获得低电压时计时停止。利用光反射信号的边沿停止单片机计时。这样就可以测量出装盘的旋转周期t,然后在利用单片机把周期换算成转速并通过LED数码管显示出来。

3.2系统各组成方案的选择与论证比较

(1)、电源(控制)部分

电路输入220V交流电,经过全桥整流,稳压后输出5V的直流电。

(2)、传感部分

因为光电传感器具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,所以采用光电式传感器来检测和控制系统。 方案一:

反射式光电传感器:红外光电传感器、三极管9012和带施密特触发器的非门74LS14组成。如图4所示。

R1300ΩR25.1KR443KOUTPUT+5VR31KBG9012IC74LS14旋转盘0V反射式光电传感器图4 反射式光电传感器和整形电路

方案二:

对射式光电传感器:把上图中的红外光电传感器换成光电门,当有物体经过光线切断,便输出信号。反射式光电传感器在实验中效果没有光电门的明显,所以在选择方案的时候选择了方案二。

(3)、显示部分

方案一:LCD 液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比CRT要好的多,但是价钱较其贵。所以在显示部分选用了方案二,因为转速表的转速只是简单显示,用一般的数码管就可以。

方案二:由AT89S52单片机、4位七段共阳数码管和4个三极管BG1-BG4及电阻R1-R12组成转速计算与显示电路,如图5所示。

+5VAT89S51R1-R41Kx4P1.0Vpp/EAP1.1INTOP1.2P1.3XTAL1BG2BG1abcdeefaP2.7gR5-R12220x840:+5V20:GNDgagagag12345678DPYaabcfbgdeecdfdpgdp12345678DPYaabcfbgdeecdfdpgdp12345678DPYaabcfbgdeecdfdpgdp12345678DPYaabcfbgdeecdfdpgdp+5V转速信号输入30pF12MHz30pFXTAL2+5V+3K22μRSTBG3BG4P2.0P2.1P2.2P2.3P2.4P2.5P2.64位共阳七段数码管复位按钮9.1K

图5 转速表电路原理

3.3单元模块电路设计

(1)、对齐式光电传感器和整形电路

接通5V电源后,红外发光二极管发出的红外光束遇到旋转盘上的缺口时,有光照,光敏电阻阻值减小,光敏电阻两端为低电压。当门中有物体阻挡时,光敏电阻受到光照度减小,电阻增大,光敏电阻两端为高电压。红外光敏三极管接收电信号后,该信号经三极管BG放大,再经74LS14整形及反相后,输出与输入相同周期的矩形波,作为旋转轴的转速计数信号。工作波形如图6所示。

V VT+ 光电传感器输出波形 VT-

0 t V

整形后输出波形

0 t

图6整形波形示意图

(2)、转速计算电路与显示电路

本模块采用动态显示方式,由单片机P2口与数码管的七段段码相连,P1.0-P1.3口与4个数码管的位码相连,经编程控制4位数码动态显示。转速测量是利用单片机的外部中端口(INTO)检测光电传感器的输出脉冲信号。计时的起停由光电传感器输出的相邻两个脉冲来

控制。如图7所示,t1开始计时,t2停止计时。此时,定时器TO的值就是一个脉冲周期T,这是电机每分钟的转速为r=1s/T(r/s)。

V

t1 T t2

t

图5 脉冲周期测速原理

(3)、软件设计

转速表测量软件由主程序、外部中断INTO中断服务程序和定时器TO中断服务子程序三部分组成。主程序在初始化后一直工作在计算转速并循环显示状态,把单片机所采集到的信号经过计算与转换后的转速值送至七段数码管显示出来。程序流程图如图6所示。

开 始

存储区清零

设定时器工作方式

开中断启动定时器

查计数存 N

计算并转码BCD码 储区=0?

X

显示0 显示子程序 图6 主程序流程图

定时器TO中断服务子程序只记录定时器TO溢出次数,以便于测量低速时的脉冲波形。定时器TO溢出的次数越多就说明脉冲波形的周期越长,相对应的转速也就越低。其程序设计流程图如图7所示。