5.2 液晶显示器初始化程序
本设计采用AMPIRE128*64液晶模块对步进电机的工作状态进行显示。我们自然要对液晶显示器进行初始化设置,主要包括:LCD初始化函数定义程序、LCD判断忙子程序、写指令代码子程序、写数据代码子程序、LCD开显示子程序等。
综上,我们可将LCD初始化程序流程图总结如下:
图5-1 系统总体工作程序流程图
图5-2 LCD初始化流程图
5.3 按键扫描及中断处理子程序
本设计一共包含5个按键,分别对步进电机的启动/停止、正转、反转、加速和减速运行给予控制,5个按键与单片机的P1.0-P1.4连接并结合一些外围器件,实现对步进电机转动的控制。结合电路设计,在实际编程操作中,只要有按键按下,就会产生一个低电平信号通过CD4068处理,生成低电平信号给单片机的INT1(P3.3)端,同时单片机调用中断服务子程序产生相应的步进电机控制脉冲输出。
综上,我们可将按键扫描及中断处理程序的流程图总结如下:
图5-3 按键扫描及中断处理流程图
5.4 步进电机脉冲控制子程序
我们选用的步进电机为四相优尔线形式的步进电机57BYG601。该步进电机一共有6根引线,4个相序分别为A、B、C、D,根据我们前面介绍的关于步进电机通电脉冲的知识,对该类电机有3种励磁脉冲方式使其运转。
(1) 如果对各个相依次单独通电,"A-B-C- D",磁场旋转一周需要换相四次,则称为四相单四拍;
(2) 如果每次对两相同时通电,"AB- BC- CD- DA",则称为四相双四拍;
(3) 每次对三相同时通电,"ABC- BCD- CDA- DAB";将单四拍和双四拍交替使用,就称为四相八拍,如:"A- AB- B- BC- C- CD- D-DA",此时磁场旋转一周需要换相八次。
双四拍每次对多相同时通电,与单四拍比较起来,每相通电的时间长,消耗的电功率增大,电机所得到的电磁转矩也大。同时,采用多相励磁会产生电磁阻尼,会削弱或消除振荡现象,使得电机不易产生失步。四相八拍与四相四拍相比较,步距角减小了一倍,有利于削弱振荡,提高电机的带负载能力。因此,本设计选用四相八拍的励磁顺序对步进电机进行通电。在实际编程的时候,用二进制数字0、1对A、B、C、D四个相位建立导通顺序建立四相八拍的模型,当以"A- AB- B- BC- C- CD- D-DA"顺序提取模型运转的时候,电机正转;反之,电机反转。
5.5 字符显示模块子程序
本设计在LCD中显示的汉字字符程序可以从HZDotReader字库软件中提取。
6 系统硬件仿真
本系统在硬件和软件设计结束后,必须进行硬件仿真,以测试系统的可行性和运行稳定性。在以单片机作为本系统控制核心芯片的背景下,本设计完全可以在PROTEUS单片机硬件仿真设计软件的平台上实现系统的硬件仿真设计。
6.1 系统硬件仿真测试
系统硬件仿真测试包括系统的开机界面显示、通过按键对步进电机的控制以及运行LCD显示等几方面。
6.1.1 开机界面显示
点击仿真按钮,程序调用初始化函数,进入开机界面显示,图片如下: AT89C51单片机里程计步进电机驱动电路设计(12):http://www.youerw.com/jixie/lunwen_6425.html