老古开发网首页
导航:老古开发网首页文章索引文章分类单片机→[AT89C51\52的编程原理]
| -文章搜索 - 最新文章 - |

AT89C51\52的编程原理

发布时间:2006年10月15日 点击次数:3261
来源:   作者:
 

AT89C51\52的编程原理

AT89C51AT89C52的编程原理完全相同,内部都有一个可重复编程的Flash ROM,AT89C51ROM容量为4KB,AT89C52的容量为8KB.

我们以AT89C52为例来说明其编程原理:

A:由其ROM的容量可知其地址线需要13,硬件连接如图1所示,整个P1口和P2口的低5位为编程地址输入线, P0口为数据输入端,P2.6P2.7P3.6P3.7为编程模式.其电平组合见表1.

B:以下是编程过程:

1.      RST接高电平,PSEN接低电平.

2.      擦除芯片,每次重新编程前都要首先把原来ROM里面的程序擦除掉,将编程模式组合为擦除模式,ALE端一个10ms宽度的低电平脉冲即可.

3.      在地址线上输入所需编程的存储单元的地址.

4.      将正确的控制信号组合为有效(写模式).

5.      在数据线上输入相应的字节.

6.      EA升至12V.

7.      ALE一个50us的低电平脉冲.

8.      效验数据,将控制信号组合为读模式,数据即出现在P0.

9.      改变地址和数据,重复步骤3~8,直至程序写完.

 

 

AT89C1051\2051\4051的编程原理

AT89C1051\2051\4051只有20个脚,相对AT89C51\52来说少了P0口和P2.AT89C2051为例,它内部有一个地址计数器,它的编程地址是通过XTAL1串行输入的,XTAL1管脚施加一个脉冲,内部地址计数器递增,而数据则通过P1口输入.编程时硬件参照图2连接,控制信号见表2:

其编程步骤如下:

1.      擦除程序,电平组合为擦除模式,P3.2口送一10ms低电平脉冲,内部ROM全部被置1,擦除完成.

2.      将XTAL1和RST置低电平.

3.      将RST和P3.2置高电平.

4.      P3.4、P3.5P3.6P3.7的电平组合为写模式.

5.      将编程数据送入P1.

6.      RST端电压升至12V编程电压.

7.      P3.2一个50us的低电平脉冲,即将一个字节写入内部ROM.

8.      效验数据,RST电压降为5V,组合电平变为读模式,数据即出现在P1.

9.      对下一存储单元编程,XTAL1施加一个脉冲,内部计数器加1,新数据送入P1.

10.   重复步骤1~8,直至程序写完.

11.   下电步骤:XTAL1置低电平,RST置低电平.

 

 

对十六进制文件的理解

当对源程序进行编译链接完成后,将得到相应的十六进制文件(后缀是.HEX), 对单片机进行编程就是将*.HEX文件写入内部ROM, 当用记事本程序打开HEX文件时,可以发现其每一行都是以“:”开头,后面是一串十六进制数字;

从“:”开始,第一个字节表示要写入ROM的字节数,第二、三字节表示这一串数据在ROM中的首地址,第四个字节总是00,一般不作处理,第五个字节到倒数第二个字节就是要写入ROM的数据,最后一个字节作效验用,使得整行数据之和低8位为0


欢迎进入老古论坛进行讨论
[单片机] 相关文章:
软件包实现DTMF信号的产生
简介:
#pragma SMALL /* 预处理命令 */ //#pragma SRC #i nclude<stdio.h> #i nclude<re......

山东省大学生电子设计竞赛圆满结束
AVR单片机的RTOS-AVRX应用
基于单片机的嵌入式SNMP代理器设计与实现
基于M—BUS的趣低功耗数据采集系统
单片机复位标志位的设置与应用研究
基于GPS的高精度无误差倒计时牌设计
温度测量处理变送器设计
基于80C196的频率测量及在电压采样中的应用
单片机在微型打印机中的应用
 
下一个:[单片机]在EM78Pxx上模拟8(COM)*8(SEG)LCD驱动
简介:
;/*============================================================================= ; 在EM78Pxx上模拟8(COM)*8(SEG)LCD驱动 &nbsp......
 

上一个:[综合电子]ASK信号解码接收程序

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒