89C51系列CPU编程器程序

发布时间:2022-12-21  

//89C51系列CPU编程器,80F51,87F51

#include "stdio.h"

#include "dos.h"

#include "process.h"

#include "string.h"


#define e 8

#define p 9

#define l 10


void init_com1(void) {

outportb(0x3eb,0x80);

outportb(0x3e8,1);

outportb(0x3e9,0x0);

outportb(0x3eb,0x3);

}


void comm(unsigned char d) {

unsigned long int i;

while (!(inportb(0x3ed)&0x20));

outp(0x3ed,0x0);

outportb(0x3e8,d);

i=0;

while (1) {

if ((++i)>60000) {printf("time out.n");exit(1);}

if ((inp(0x3ed)&0x1)==1) break;

}

if (inp(0x3e8)!=d) {printf("CRC error.n");exit(1);}

}


void program(FILE *fp1,unsigned char cpu) {

unsigned char y;

unsigned int lenth=0;

printf("Program...");

y=wherey();

comm(cpu);

comm(p);

while (! (feof(fp1)) ) {

lenth++;

comm(getc(fp1));

if ((lenth%0x100)==0) {

gotoxy(20,y);printf("%x ",lenth);

}

}

gotoxy(20,y);printf("%x ",lenth);

printf(" ok.n7");

}

void earsure(unsigned char cpu) {

printf("Earsure...");

comm(cpu);

comm(e);

printf(" ok.n");

}

void lock(unsigned char cpu) {

unsigned long int i;

printf("Lock...");

comm(cpu);

for (i=0;i<1000000;i++) {}

comm(l);

printf(" ok.n");

}


void main(char n,char *d[]) {

unsigned char cpu;

unsigned char *cpu_d[]={{"89c51"},{"89C51"},{"80f51"},{"80F51"},{"87f51"},{"87F51"}};

FILE *fp1;

switch (n) {

case 1:

printf("File name error.n");

exit(1);

break;

case 2:

printf("NO select CPU.n");

exit(1);

break;

case 3:

printf("No pararmeter.n");

exit(1);

break;

case 4:

if ((fp1=fopen(*(d+1),"rb"))==NULL) {

printf ("File no found.n");

exit(1);

}

for (cpu=1;cpu<7;cpu++) {

if (strcmp(*(d+2),*(cpu_d+cpu-1))==0) break;

}

if (cpu==7) {

printf("CPU tpye error.n");

exit(1);

}

init_com1();

switch (d[3][0]) {

case 'P':

case 'p':

program(fp1,cpu);

break;

case 'e':

case 'E':

earsure(cpu);

break;

case 'l':

case 'L':

lock(cpu);

break;

case 'a':

case 'A':

earsure(cpu);

printf("n");

program(fp1,cpu);

printf("n");

lock(cpu);

break;

}

break;

}

exit(1);

}


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

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

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

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

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

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

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

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