基于AT89S52与PIC16F877A的在线编程控制系统
PIC16F877A部分电路原理如图3所示。
4 软件设计
4.1 AT89S52部分
首先执行系统初始化,初始时钟,全局变量,定时器,IO端口,键盘中断服务子程序。
然后进入MAINLOOP循环程序,等待接受键盘中断。如果键盘有输入动作,系统产生键盘中断,进入键盘中断服务子程序。
键盘中断服务子程序的主要功能是生成命令数据包,并根据用户指令处理该命令数据包。
命令数据包的格式如下:
若用户确认,则发送到PIC16F877A执行;
若用户取消,则退出键盘中断服务子程序,重新进入等待状态。系统运行流程图如图4所示。
4.2 PIC软件结构
PIC系统初始化后首先按默认参数启动PWM输出,在启动过程中不断地进行A/D转换,将采集到的数据根据PID策略调节PWM的占空比,从而达到调节电机转速的目的,同时不问断的监听PSP通道,若收到AT89S52的命令数据包,马上更新默认启动参数,让电机以新参数模式运行在新转速状态。
PIC16F877A执行软件运行流程图如图5所示。
5 结 语
利用AT89S52作为主处理器,PIC16F87X作为从处理器,使控制精度大为提高,可达10位PWM精度。AT89S52与PIC16F87X具有在线编程功能,功能齐全,片上资源丰富,可以满足系统升级要求。随着带有系统在线编程功能的单片机得到广泛应用与发展,ISP技术成了未来发展方向,基于在线编程技术的控制系统应用也将越来越广泛。
1
2
![](https://webstorage.eepw.com.cn/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码