您当前的位置:五五电子网电子知识单片机-工控设备51单片机MCS51单片机开发工具DIY 正文
MCS51单片机开发工具DIY

MCS51单片机开发工具DIY

点击数:7242 次   录入时间:03-04 11:57:07   整理:http://www.55dianzi.com   51单片机
摘要:本文详细介绍了利用 AT89S8252 单片机 的在系统编程功能,用 Visual BasIC6.0( 以下简称 VB) 在 Windows 环境下开发制作一款 MCS51 单片开发工具的方法。内容涉及 VB 编程、 PC 机并口控制及单片机在系统编程等内容。

 

       关键词: VB 编程          AT89S8252    在系统编程    DIY

 

       目前介绍 单片机 应用的文章很多,但介绍单片机开发工具制作的文章却较少。由于单片机是一门实践性很强的课程,所以单片机爱好者(尤其是初学者)往往更希望看到单片机开发工具制作方面的文章。本文正是因此而作,旨在帮那些 DIY 爱好者开发制作出适合自己的开发工具。

 

一、当前常用开发模式介绍

目前基本上有两种开发模式:

1 ,用仿真器          优点:方便,可以设置断点,可以观察存贮器及寄存器的内容

缺点:价格昂贵,且仿真器终究不是 单片机 ,有时代码在仿真器上能通过,但在单片机中不能正常工作,反而增加了调试的难度。

              2 ,用编程器          优点:价格相对便宜,通常一款编程器可编多种器件。

缺点:操作相当不便,每次要将芯片在目标板与编程器之间转移,并且还要在编译操作界面与编程器操作界面之间切换,大部份时间在做简单的重复的工作。

 

二、一种新的开发模式介绍及芯片选择

       本文介绍的开发工具采用一种新的开发模式(类似于编程器开发模式)。由于利用了芯片的在系统编程功能,因此不需要移动芯片,在软件设计时设计成一旦代码文件被重新编过即自动下载到芯片并自动复位运行,真正的“所编即所得”。

       目前很多 单片机 都支持在系统编程, MCS51 系列单片机支持在系统编程的也很多,但大多数是支持通过 PC 机的串口对单片机进行编程。这样有三个不方便的地方:一是如果项目本身要与 PC 机串行通讯就不方便;二是要增加一片 MAX232 电平转换芯片;三是有的芯片要按特定的步骤进入下载模式,编程过程需要手工干预。

经过比较, Atmel 公司生产的 AT89S8252 是一种比较理想的芯片,适合我们用来制作开发工具。此芯片有如下特点:

l          与 MCS51 兼容

l          内含 8K 可擦写 1000 次的程序存贮器, 2K 可擦写超过 100000 次的数据存贮器及 256 字节 8 位宽内部 RAM

l          可通过 SPI 接口在系统串行编程,与 MCS51 兼容

l          串行编程时有自动擦写周期,在调试大程序时可以分段下载,节约时间

l          低电压下载,无需 12V 编程电压

 

三、 AT89S8252 串行编程介绍

1、   AT89S8252 串行编程模式介绍

当芯片的 RST 引脚置高电平时,所有程序和数据存贮器可以通过 SPI 总线接口 [SCK , MOSI ( input ), MISO ( output ) ] 编程。 RST 变高以后,在编程或擦除操作之前必须首先发送一条编程允许命令。在串行编程模式下,芯片会在字节编程之前自动插入一个擦除周期。因此,除非芯片的代码保护位被编程,编程之前不需要执行全片擦除命令。 SPI 接口之 SCK 时钟频率须低于晶振频率的 1/40 。

2、   AT89S8252 串行编程步骤

a)          在 XTAL1 与 XTAL2 之间连接一个 3-24MHz 的晶振,在 VCC 与 GND 之前加上电源电压,将 RST 置高,等待 10ms 。

b)         发送串行编程允许命令

c)         发送写 / 读 / 擦除等命令及数据,串行数据高位在前,低位在后,数据在时钟的上升沿锁定

d)         如果上一步是写命令等待至少 2.5ms

e)          需要时重复 C , D 两步

f)          将 RST 置低,芯片开始运行

3、   AT89S8252 串行编程命令介绍

命令

输入格式

功能说明

Byte1

Byte2

Byte3

编程允许

1010 1100

0101 0011

xxxx xxxx

在 RST 变高后允许串行编程

全片擦除

1010 1100

xxxx x100

xxxx xxxx

程序和数据存贮器全部擦除

读程序存贮器

aaaa a001

地址低 8 位

xxxx xxxx

读程序存贮器, a 为高 5 位地址

写程序存贮器

aaaa a010

地址低 8 位

8 位数据

写程序存贮器, a 为高 5 位地址

读数据存贮器

00aa a101

地址低 8 位

xxxx xxxx

读数据存贮器, a 为高 3 位地址

写数据存贮器

00aa a110

地址低 8 位

8 位数据

写数据存贮器, a 为高 3 位地址

[1] [2]  下一页


本文关键字:单片机  开发  51单片机单片机-工控设备 - 51单片机