位置:51电子网 » 技术资料 » 控制技术

基于AT89S52与PIC16F877A的在线编程控制系统的设计

发布时间:2008/6/3 0:00:00 访问次数:540

l 引 言

  通常进行单片机的实验或开发时,传统的并行编程方法中,编程器是必不可少的。仿真、调试完的程序需要借助编程器烧到单片机内部或外接的程序存储器中。在开发过程中,程序每改动一次就要拔下电路板上的芯片,编程后再插上。随着计算机技术的发展,许多公司推出了带有片内flash存储器的mcu,flash存储器具有电可擦除、无需后备电源保护数据、可在线编程等特点。在线编程目前有两种实现方法:在线系统编程(isp)和在线应用编程(iap)。isp一般是通过单片机专用的串行编程接口对单片机内部的flash存储器进行编程,例如at-mel公司的单片机at89s52就提供了一个spi串行接口对内部程序存储器编程(isp)。

  在线编程(isp)允许单片机内部运行的程序去改写flash存储器的内容,可以在运行过程中修改某些运行参数,已经编程的器件也可以用isp方式擦除或再编程。单片机在isp模式下上电时,可以进行isp操作,在isp模式下,单片机通过串行端口与外部主机(如pc机或终端)通信,从主机接收命令和数据,用于擦除和再编程代码存储区。isp的实现一般只需要很少的外部电路辅助实现,使用isp技术,连接一根下载线即可对芯片编程,不再需要编程器就可进行单片机的实验和开发,单片机芯片可以直接焊接在电路板上,调试结束即成成品,甚至可以远程在线升级或改变单片机中的程序。

2 at89s52 isp原理

  at89s52具有isp功能。在reset引脚处于高电平时,利用p1.5(mosi),p1.6(miso),p1.7(sck)三引脚的数据设置或传送达到程序下载的目的,p1.5(mosi)引脚作为串行指令的输入端口,p1.6(miso)引脚作为串行数据的输出端口,p1.7(sck)引脚作为串行移位脉冲的输入端口。

  at89s系列中的flash地址编址是以字节为单位的,在使用过程中应注意高低字节的区别,上位机和目标板通信时,一般都是4字节的指令,第1字节为操作码,第2、第3字节一般为地址码,第4字节为数据。

  根据串行下载波形图和串行下载编程指令集即可完成有关在线下载的操作。

3 在线编程控制系统的设计

3.1 系统结构

  at89s52负责人机界面的信息交互,主要由显示部分,键盘部分和数据通路组成。

  显示部分由at89s52的p1,p2口组成。p2是八位的显示数据通路,p1.1~p1.4是4个led的使能线,达到动态显示4位数据的效果。

  键盘部分由int0,int1,ct0,ct1组成。利用中断的优先级嵌套实现命令与数据的输入,减少了键盘的体积。硬件分配如下:

  数据通路部分主要是psp的控制。psp是pic16fx系列微处理器专门针对8位机的通用数据端口,由cs,wr,rd,8位数据线组成,可供at89s52直接控制。

  pic收到psp的数据后会产生一个中断响应,由软件设计者决定该中断如何处理。因此,可以设定0xc0~0xff为命令字节,供控制使用,0x00~0x09为功能号,组合起来就可以实现各种控制的命令。

  pic16fx具有4路a/d通道,精度为10 b,转换时间为56μs。内置硬件看门狗电路,提高了可靠性,节省了软件开支。利用其4路中断功能实现系统复位及检修测试功能。pgm接口(在线编程接口)可采用icd2适配器进行在线编程和调试。

3.2 系统功能

  (1) at89s52频率4 mhz,具有在线编程,无需编程器直接烧写的功能,用at89s52[int0],[int1],[ct0],[ct1]四个引脚单独引出,方便作为键盘接口。

  (2) at89s52 p1.1~p1.4分别作为led1~4的使能线,高电平有效,p2口作为led1~4的八位显示数据口。

  (3) at89s52串口与16f877a的串口可直接进行串口通讯。

  (4) at89s52 p0口及[ale十p1.0],[wr],[rd]作为8位并行端口与16f877a通讯。

  (5) pic16f877a:频率20 mhz:

  ① pa-an[0]-板载a/d通道:vref+/-可调

  an[1],[5]一外接a/d通道,an[2-3]-vref+/-可调,an[4]-t0cki-wdt监控。

  ② pb-pb0-外接int中断信号,低电平/下降沿有效,pb1,2,4,5作为input1234,低电平/下降沿有效。

3软件设计

3.1 at89s52部分

  首先执行系统初始化,初始时钟,全局变量,定时器,io端口,键盘中断服务子程序。

  然后进入mainloop循环程序,等待接受键盘中断。如果键盘有输入动作,系统产生键盘中断,进入键盘中断服务子程序。

  键盘中断服务子程序的主要功能是生成命令数据包,并根据用户指令处理该命令数据包。

  命令数据包的格式如下:

l 引 言

  通常进行单片机的实验或开发时,传统的并行编程方法中,编程器是必不可少的。仿真、调试完的程序需要借助编程器烧到单片机内部或外接的程序存储器中。在开发过程中,程序每改动一次就要拔下电路板上的芯片,编程后再插上。随着计算机技术的发展,许多公司推出了带有片内flash存储器的mcu,flash存储器具有电可擦除、无需后备电源保护数据、可在线编程等特点。在线编程目前有两种实现方法:在线系统编程(isp)和在线应用编程(iap)。isp一般是通过单片机专用的串行编程接口对单片机内部的flash存储器进行编程,例如at-mel公司的单片机at89s52就提供了一个spi串行接口对内部程序存储器编程(isp)。

  在线编程(isp)允许单片机内部运行的程序去改写flash存储器的内容,可以在运行过程中修改某些运行参数,已经编程的器件也可以用isp方式擦除或再编程。单片机在isp模式下上电时,可以进行isp操作,在isp模式下,单片机通过串行端口与外部主机(如pc机或终端)通信,从主机接收命令和数据,用于擦除和再编程代码存储区。isp的实现一般只需要很少的外部电路辅助实现,使用isp技术,连接一根下载线即可对芯片编程,不再需要编程器就可进行单片机的实验和开发,单片机芯片可以直接焊接在电路板上,调试结束即成成品,甚至可以远程在线升级或改变单片机中的程序。

2 at89s52 isp原理

  at89s52具有isp功能。在reset引脚处于高电平时,利用p1.5(mosi),p1.6(miso),p1.7(sck)三引脚的数据设置或传送达到程序下载的目的,p1.5(mosi)引脚作为串行指令的输入端口,p1.6(miso)引脚作为串行数据的输出端口,p1.7(sck)引脚作为串行移位脉冲的输入端口。

  at89s系列中的flash地址编址是以字节为单位的,在使用过程中应注意高低字节的区别,上位机和目标板通信时,一般都是4字节的指令,第1字节为操作码,第2、第3字节一般为地址码,第4字节为数据。

  根据串行下载波形图和串行下载编程指令集即可完成有关在线下载的操作。

3 在线编程控制系统的设计

3.1 系统结构

  at89s52负责人机界面的信息交互,主要由显示部分,键盘部分和数据通路组成。

  显示部分由at89s52的p1,p2口组成。p2是八位的显示数据通路,p1.1~p1.4是4个led的使能线,达到动态显示4位数据的效果。

  键盘部分由int0,int1,ct0,ct1组成。利用中断的优先级嵌套实现命令与数据的输入,减少了键盘的体积。硬件分配如下:

  数据通路部分主要是psp的控制。psp是pic16fx系列微处理器专门针对8位机的通用数据端口,由cs,wr,rd,8位数据线组成,可供at89s52直接控制。

  pic收到psp的数据后会产生一个中断响应,由软件设计者决定该中断如何处理。因此,可以设定0xc0~0xff为命令字节,供控制使用,0x00~0x09为功能号,组合起来就可以实现各种控制的命令。

  pic16fx具有4路a/d通道,精度为10 b,转换时间为56μs。内置硬件看门狗电路,提高了可靠性,节省了软件开支。利用其4路中断功能实现系统复位及检修测试功能。pgm接口(在线编程接口)可采用icd2适配器进行在线编程和调试。

3.2 系统功能

  (1) at89s52频率4 mhz,具有在线编程,无需编程器直接烧写的功能,用at89s52[int0],[int1],[ct0],[ct1]四个引脚单独引出,方便作为键盘接口。

  (2) at89s52 p1.1~p1.4分别作为led1~4的使能线,高电平有效,p2口作为led1~4的八位显示数据口。

  (3) at89s52串口与16f877a的串口可直接进行串口通讯。

  (4) at89s52 p0口及[ale十p1.0],[wr],[rd]作为8位并行端口与16f877a通讯。

  (5) pic16f877a:频率20 mhz:

  ① pa-an[0]-板载a/d通道:vref+/-可调

  an[1],[5]一外接a/d通道,an[2-3]-vref+/-可调,an[4]-t0cki-wdt监控。

  ② pb-pb0-外接int中断信号,低电平/下降沿有效,pb1,2,4,5作为input1234,低电平/下降沿有效。

3软件设计

3.1 at89s52部分

  首先执行系统初始化,初始时钟,全局变量,定时器,io端口,键盘中断服务子程序。

  然后进入mainloop循环程序,等待接受键盘中断。如果键盘有输入动作,系统产生键盘中断,进入键盘中断服务子程序。

  键盘中断服务子程序的主要功能是生成命令数据包,并根据用户指令处理该命令数据包。

  命令数据包的格式如下:

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!