一种基于总线的智能型执行器系统设计
1、角反馈位置子程序。68HC12片上提供了一个8路10位的A/D转换器,由于其简单易用,可靠性高,因此本设计中,应用该A/D转换器来完成位置信号的反馈。在本设计中,ATDCTL2赋值80H,允许A/D功能。正常清除A/D转换标志,不允许中断。ATDCTL3赋值00H,选择连续转换模式,不许冻结。ATDCTL4赋值01H,分频因子为4,采样时间为2个A/D时钟。A/D转换完毕后,就可以得到当前角位置反馈,然后将该值存入数据缓冲区,供执行器驱动子程序、向总线仲裁器发送的变量写子程序和LCD显示子程序使用。
2、执行器输出驱动子程序。由于执行器的正反转输出由MCU上的两个I/O口进行控制,所以对其控制比较简单,在此不作详细叙述。值得一提的是本设计中将死区嵌入了对到达指定位置判断的子程序中,执行器正转时,反馈值不能大于指定值加1(指定值为0~100%开度),反转时,反馈值不能小于指定值减1。即死区被定为1%。
图5中断处理程序流程图
3、LCD显示子程序。本设计使用的LCD控制器HD44780必须进行初始化,否则模块可能无法正常显示,一般通过软件复位程序来完成其初始化。将LCD设置为8位数据接口,2行显示,5×7点阵,显示开,光标关,闪烁关,无移位。第一行地址80H,第二行地址C0H。在对LCD初始化结束后,可以对LCD进行读写操作。LCD的读写操作都是在E管脚的下降沿有效,所以读写前要确保数据准备好,先将E置高,再将其置低,完成读写操作。
4、软件的固化。软件调试完毕后需要把程序固化到MCU68HC12的FLASH中,68HC12的FLASH控制寄存器共有4个,它们是:FEELCK,FEEMCR,FEETST和FEECTL。FEELCK等于01H时将禁止FLASH,FEEMCR等于01H时将擦除和编程FLASH的启动块,FEETST主要用来进行测试,而FEECTL则具体控制FLASH的读写编程。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码