访问手机版页面
你的位置:老古开发网 > 51单片机 > AT89C51单片机 > 正文  
AT89C51\52的编程原理
内容导读:

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

标签:
来源: 作者: 时间:2006/9/25 16:50:53
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐