当前位置:首页 > 单片机 > 单片机
[导读]以下是C51BOX编程器插件的AT89C51芯片烧录驱动源程序:“AT89C51.C”中的内容用户只需用C51实现芯片的几个读写函数,就可以支持一种新的芯片。其它库函数和通讯协议代码都在OBJ中,不用修改。/*--------------------

以下是C51BOX编程器插件的AT89C51芯片烧录驱动源程序:“AT89C51.C”中的内容

用户只需用C51实现芯片的几个读写函数,就可以支持一种新的芯片。

其它库函数和通讯协议代码都在OBJ中,不用修改。

/*--------------------------------------------------------------------------

AT89C51.C

AT89C51的烧录驱动程序

Copyright (c) 1999-2003 http://www.c51bbs.com/

All rights reserved.

--------------------------------------------------------------------------*/

#include

#include "Plug3LIB.H"

//-----------------------------------------------------------------------------------------------

#define DATA P1

#define AL P0

#define AH P2

#define P37 P3_7

#define P36 P3_6

#define P27 P2_7

#define P26 P2_6

#define PROG P3_3

#define PSEN P3_4

#define GET12V P3_5

//-----------------------------------------------------------------------------------------------

Byte ReadFID(void)//读工厂ID,1字节

{

Byte ID=0;

PSEN=0;

PROG=1;

DATA=0xFF;

P26=0;P27=0;P36=0;P37=0;

AH=0;AL=0x30;

Delay5us();

ID=DATA;

return ID;

}

//-----------------------------------------------------------------------------------------------

Word ReadID(void)//读芯片ID,2字节

{

Word ID=0;

PSEN=0;

PROG=1;

DATA=0xFF;

P26=0;P27=0;P36=0;P37=0;

AH=0x00;AL=0x31;

Delay5us();

ID=DATA;ID<<=8;

AH=0x00;AL=0x32;

Delay5us();

ID|=DATA;

return ID;

}

//-----------------------------------------------------------------------------------------------

Byte ReadByte(Word address)//读一个字节

{

PSEN=0;

PROG=1;

DATA=0xFF;

P26=0;P27=0;P36=1;P37=1;

AL=address;

AH=address>>8;

Delay5us();

return DATA;

}

//-----------------------------------------------------------------------------------------------

void ChipErase(void)//整片删除

{

PSEN=0;

PROG=0;

GET12V=0;

P26=1;P27=0;P36=0;P37=0;

Delay1ms(10);

PROG=1;

GET12V=1;

}

//-----------------------------------------------------------------------------------------------

void WriteLockBit(Byte No)//写加密位,No是加密位的序号,1/2/3可选

{

PROG=1;

PSEN=0;

DATA=0xFF;

if (No==1) {P26=1;P27=1;P36=1;P37=1;}

if (No==2) {P26=1;P27=1;P36=0;P37=0;}

if (No==3) {P26=1;P27=0;P36=1;P37=0;}

Delay5us();//P2.7 (ENABLE) High to VPP

GET12V=0;

Delay5us();Delay5us();//VPP Setup to PROG Low

PROG=0;

Delay5us();//PROG Width

PROG=1;

Delay5us();Delay5us();//VPP Hold after PROG

GET12V=1;

Delay1ms(2);

}

//-----------------------------------------------------------------------------------------------

void ByteProgram(Word address,Byte ch)//往指定地址写一个字节

{

PROG=1;

PSEN=0;

P26=0;P27=1;P36=1;P37=1;

Delay5us();//P2.7 (ENABLE) High to VPP

AL=address;

AH=(address>>8)|0x80;//或0x80是为了保证P27仍为高

DATA=ch;

GET12V=0;

Delay5us();Delay5us();//VPP Setup to PROG Low

PROG=0;

Delay5us();//PROG Width

PROG=1;

Delay5us();Delay5us();//VPP Hold after PROG

GET12V=1;

DATA=0xFF;

while(ReadByte(address)!=ch);

}

//-----------------------------------------------------------------------------------------------

void main(void)

{

McuIni();

Protocol();

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

1 USB通信技术   USB(Universal Serial Bus)是一种目前通用的串行总线技术,它是通过PCI总线和PC的内部系统数据线连接,实现数据的传送,具有即插即用的功能,

关键字: usb总线 at89c51 usb通信

引 言   随着计算机技术、通讯技术、网络技术的发展,智能化逐步渗入人们的家庭生活。智能家庭网络是指在家庭内部通过一定的传输介质(如双绞线、电力线等)将各种电气设备和电气子系统连接起来,

关键字: 智能家居 at89c51 hbs协议

AT89c51与AT89S51单片机的区别

关键字: at89c51 at89s51 单片机

温度的测量和控制在激光器、光纤光栅的使用及其他的工农业生产和科学研究中应用广泛。温度检测的传统方法是使用诸如热电偶、热电阻、半导体PN结之类的模拟温度传感器。信号经取样、放大后通过模数转换,再交自单片机处理。被测温度信号...

关键字: at89c51 ds18b20 温度测量

下面是以AT89C51为基础设计的一个音乐播放器,能够控制8首音乐的播放以及歌名显示

关键字: at89c51 音乐盒

基于单片机AT89C51带倒计时的计数器

关键字: at89c51 倒计时 单片机 计数器

单片机电机转速测量系统仿真统采用单片机中T1计数器对转速脉冲进行计数。定时器T1 工作于外部事件计数方式,对转速脉冲计数; T0 工作于定时器方式。每到1 s 读1 次计数值,此值即为脉冲信号的频率,根据式( 1) 可计...

关键字: at89c51 单片机 测量系统 电机转速

Ds3231+12864液晶显示AT89C51带温度功能的时钟程序。

关键字: 12864 at89c51 ds3231 时钟程序 液晶显示

随着现代科技的发展,高科技产品以其简洁化、便携等,给人们带来了很大的方便。而“摇摇棒”以其更加简捷与新颖的信息传递方式给人们带来耳目一新的感受,也必将会给人们带来一种新的方便的文化传递方式,常用在晚会及大型的娱乐节目场合...

关键字: at89c51 单片机 发光二极管 阵列

本文以6MHz时钟的单片机AT89C51系统为例,说明时钟中断的应用:

关键字: at89c51 中断 单片机 系统时钟
关闭
关闭