89C51系列CPU编程器接收CPU程序

发布时间:2022-12-27  

#include

#include

#include


#define e 8

#define p 9

#define l 10


sbit led=P3^2;

sbit p27=P2^7;

sbit p26=P2^6;

sbit p36=P3^6;

sbit p37=P3^7;

sbit rst=P3^3;

sbit ale=P3^5;

sbit vpp=P3^4;


bit b_break;

unsigned int adds;



// 13.8mS

void int_t0(void) interrupt 1 {

TH0=-100;

b_break=1;

}


void wait(unsigned char w) {

unsigned int t=w*184;

b_break=0;

TL0=-t%256-1;TH0=-t/256;

while (b_break==0) {}

}


void nop(void) {

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

}


unsigned char command(void) {

TH0=-100;b_break=0;

while (RI==0) {if (b_break==1) return(0);}

RI=0;

return(SBUF);

}


void earsure(unsigned char cpu) {

switch (cpu) {

case 1: //89C51

case 2:rst=p26=1;p27=p36=p37=0;nop();vpp=1;nop();

ale=0;wait(110);ale=1;nop();

break;

case 3:

case 4:break;

case 5:

case 6:break;

}

}


void program(unsigned char cpu) {

unsigned int bdata adds=0;

unsigned char d;

switch (cpu) {

case 1: //89C51

case 2:

p36=p37=1;rst=1;

while (1) {

TH0=-100;b_break=0;

while (RI==0) {if (b_break==1) return;}

RI=0;

d=SBUF;

//address

P0=adds%256;

P2=adds/256;

p27=1;

//data

P1=d;

nop(); //48clcl

//vpp

vpp=1;

nop(); //48clcl

//ale

ale=0;

wait(1);//100uS

ale=1;

nop(); //10uS

vpp=0;

nop(); //48clcl

p27=0;

nop(); //48clcl

P1=0xff;

TH0=-100;b_break=0;

while (d!=P1) {if (b_break==1) return;} //data polling

SBUF=d;

adds++;

}

break;

case 3:

case 4:

case 5:

case 6:break;

}

}


void lock(unsigned char cpu) {

unsigned char i;

switch (cpu) {

case 1: //89c51

case 2:

//lock 1

rst=p26=p36=p27=p37=1;nop();

vpp=1;

nop();

ale=0;

// for (i=0;i<6;i++) wait(100);

wait(1);

ale=1;

nop();

vpp=0;

nop();

//lock 2

rst=p26=p27=1;p36=p37=0;nop();

vpp=1;

nop();

ale=0;

// for (i=0;i<6;i++) wait(100);

wait(1);

ale=1;

nop();

vpp=0;

nop();

//lock 3

rst=p26=p36=1;p27=p37=0;nop();

vpp=1;

nop();

ale=0;

// for (i=0;i<6;i++) wait(100);

wait(1);

ale=1;

nop();

vpp=0;

nop();

break;

case 3:

case 4:

case 5:

case 6:break;

}

}


void main(void) {

unsigned char disp,flash,temp,cpu;

EA=1;

SCON=0xd8;PCON=0x80;

TMOD=0x21;

TL1=TH1=0xff;TR1=1;

TH0=-100;ET0=TR0=1;

flash=0x80;

while (1) {

temp=command();

switch (temp) {

case 0:

case 1: //89c51

case 2: //89C52

case 3: //80f51

case 4: //80F52

case 5: //87F51

case 6:cpu=temp;SBUF=temp;break;//87f52

case e:SBUF=temp;earsure(cpu);break; //erasure

case p:SBUF=temp;program(cpu);break; //program

case l:lock(cpu);SBUF=temp;break; //lock

default:SBUF=temp;break;

}

b_break=0;

if ((++disp)>flash) {disp=0;led=!led;}

}

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    设计芯片是模块形式,尽量复用研发成果,昇腾系列芯片的CPU和AI核心基本是相同的,只是核心数量不同。 华为昇腾核心特性一览表 图片来源:华为 昇腾核心即AI核,分原始、Max、Mini、Lite、Tiny几个......
    华为的下一代CPU可能与苹果当前最佳的M3 CPU匹敌——据传华为麒麟CPU与泰;根据微博用户的消息透露,华为的芯片开发部门正在研发下一代用于PC的麒麟处理器,此外还将发布海思麒麟9010智能......
    首次公开麒麟9010!华为Pura 70系列海外全球首发; 业内消息,此前官宣Pura 70 Ultra、华为Pura 70 Pro开启先锋计划,正式在国内开售,近日华为并将目光投向海外,5月2......
    给其它设备使用。这样一方面可以拉开产品之间的定位(不可能所有产品都用一款CPU);另一方面也能提高自研处理器的产能,以供更多的华为终端设备采用。 而新版麒麟9000S的出现,则意味着华为......
    储备芯片的重点在于英特尔公司所生产用于服务器的中央处理器(CPU)、赛灵思公司的可编程芯片。这些芯片都是华为基站业务和新兴云业务“最重要组件”。现在,华为有足够的库存可支撑一年半至两年时间。 该人士透露,2018年年底,也就是在华为......
    华为麒麟处理器主要有哪些工艺及类型?; 华为麒麟的发展历程可以追溯到2009年,当时华为推出了第一款手机芯片——Hi3611(K3V1),这是华为自主研发的第一款手机芯片,采用了65nm工艺......
    华为P50参数曝光,骁龙888+麒麟9000L芯片;按照往年的节奏,华为在4月就会发布上半年代表性的P系列旗舰新品,不过,目前华为的处境已众所周知,所以,华为的P50一再延期也较为正常。根据......
    能不支持电信 2G 和 3G,在基频上与华为、高通这样的基频大厂有一定差距。 总结一下,小米研发的 SoC 的 CPU 为四核心 1.4G 的 Cortex A53 和四核心 2.2G 的 Cortex......
    同源性能不同的新平台要来了。 规格上,1*2.49GHz+3*2.15GHz+4*1.53GHz,CPU架构等同于麒麟9000S,超大核主频降低0.13GHz,GPU依旧是自研Maleoon 910,新平......
    外地出现了该平板处的理器型号标注——Kirin(麒麟)9000W。 不过,官方页面对于麒麟9000W的介绍非常有限,除了型号名仅有一行简介是CPU为八核(Octa-core)。 麒麟9000W成为华为......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>