二、方案总体设计
设计一个基于 51 单片机的光电编码器测测速。设计一个电路来实现光电编码器测量;
利用单片机内部精确到微妙的定时计数器来实现一个周期的时间来统计脉冲数;74LS74 作
为辅助芯片来完善光电编码器测转向的功能;P0 和 P2 口控制 1602 液晶显示转速;利用
P1^1 和 P1^2 来实现液晶显示每秒钟和每分钟转速的功能;利用复位按键功能来实现复位
操作。调节蓝白滑动变阻器来调节液晶亮度。
2.1 方案一
51 单片机的定时/计数器工作在模式 2 时是一个可以自动重装载的 8 位定时/计数器。工
作时高八位和低八位装入相同的初值,当低八位装满时,高八位的值自动装入到第八位中,
从而可以省去用户软件中重装初值常数的语句,可产生相当精确的定时时间。由于只有八
位参与计数,所以其计数周期最大为 256 微妙。采用初值装入 0x38,每个 200 微妙进入一
次中断,5000 次中断为 100 毫秒,即实现周期为 1 秒的脉冲计数。光电编码器的 A 相接在
单片机的外部中断,光电编码器的 B 相接在单片机的 P1^0。A 相发出的脉冲每触发一次
中断就就计数一个脉冲,并且再对 P1^0 的高低电平进行检测,如果为高电平则为反转,
如果是低电平则为正转。反向器中的两个作为放大作用。再接两个三极管作为开关作用,
组成一个直流电机的驱动电路。P1^1 和 P1^2 分别控制液晶显示每分钟的转速和每秒钟的
转速。P2 口控制 1602 液晶的数据口,P0 的三个引脚控制 1602 液晶的数据/命令选择端、
读/写选择端、使能端来显示速度。
2.2 方案二
51 单片机的定时/计数器工作在模式 0 时是一个 16 位位定时/计数器。工作时高八位和
低八位各装入初值,当低八位装满时,高八位加 1。由于是 16 位参与计数,所以其计数周
期最大为 65536 微妙。采用初值高八位装入 0xfc,初值低八位装入 0x18,每个 1000 微妙进
入一次中断,1000 次中断为 1 秒,即形成周期为 1 秒的脉冲计数。本方案在方案 1 的基础
上外接一个 74LS74 的芯片。光电编码器的 A 相接在单片机的 P3^4 的引脚,利用单片机
的计数器 1 进行脉冲计数,同时接在 74LS74 的时钟信号接口。光电编码器的 B 相接在
74LS74 的 D 接口。Q 端接在 P3^2 引脚,Q 非端接在 P3^3 引脚。利用两个外部中断来
判断正反转。P1^1 和 P1^2 分别控制液晶显示每分钟的转速和每秒钟的转速。P2 口控制
1602 液晶的数据口,P0 的三个引脚控制 1602 液晶的数据/命令选择端、读/写选择端、使能
端来显示速度。
2.3 系统采用方案
1)总体设计
图 1 为设计总体框架图,通过该图大致的介绍了一下整个光电编码器测速系统的各个
主要部分。