⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test

📁 许继的2812开发全套驱动程序,很全很实用的.rar
💻
字号:
/*********************************************
 *           INPUT.C                         *
 *              copyright by djzhang &mqchen *
 *                xj inc.     1997.8.26      *
 *********************************************/


#include <stdio.h>
#include <string.h>
#include <stdlib.h> 
#include <io.h>
#include <fcntl.h>
#include <assert.h>           

#define MAXHZ   400
#define MAXHZ24  100
static num=0;
static number=0;
void main()
{
    FILE *fp;
    int fph;
    FILE *ftxt;


    char by[72];
    char change[72];
    unsigned char tmp[8];
    unsigned char mask[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
    unsigned int *asciitab;
    int i,j,k,flag=0;
    unsigned int c1,c2,cc;
    unsigned long int l,l1,l2;

    fp=fopen("386hzb.h","w+");
    
    fprintf(fp,"\nASCLIB_NUM	DW	128");
    asciitab=(unsigned int *)malloc(sizeof(unsigned int)*MAXHZ);
    asciitab[0]=0xffff;
    fph=open("hzk16",O_RDONLY|O_BINARY);
    ftxt=fopen("386hz16.txt","rb");
    while(!feof(ftxt))  {
	fread(tmp,sizeof(char),2,ftxt);
	while((unsigned char)tmp[0] < 0xa1) {
	    if( feof(ftxt) ) {  flag = 1; break; }
	    fseek(ftxt,-1,SEEK_CUR);
	    fread(tmp,sizeof(char),2,ftxt);
	}
	if(flag) break;

	for(i=0;i<MAXHZ;i++)    {
	    c1=tmp[0]*256+tmp[1];
	    if(c1<asciitab[i])   {
		c2 = asciitab[i];
		asciitab[i] = c1;
		num++;
		while(asciitab[i]!=0xffff)  {
		    cc = asciitab[i+1] ;
		    asciitab[i+1]=c2;
		    c2 = cc;
		    i++;
		}
		break;
	    }
	    else if(c1 == asciitab[i])   break;
	}
}
	free(asciitab);
    num +=8;
    fprintf(fp,"\nHZ16_NUM	DW	%d",num);
    close(fph);
    fclose(ftxt);   
    asciitab=(unsigned int *)malloc(sizeof(unsigned int)*MAXHZ24);
    asciitab[0]=0xffff;
    fph=open("hzk24s",O_RDONLY|O_BINARY);
    ftxt=fopen("386hz24.txt","rb");
    while(!feof(ftxt))  {
	fread(tmp,sizeof(char),2,ftxt);
	while((unsigned char)tmp[0] < 0xa1) {
	    if( feof(ftxt) ) {  flag = 1; break; }
	    fseek(ftxt,-1,SEEK_CUR);
	    fread(tmp,sizeof(char),2,ftxt);
	}
	if(flag) break;

	for(i=0;i<MAXHZ24;i++)    {
	    c1=tmp[0]*256+tmp[1];
	    if(c1<asciitab[i])   {
		c2 = asciitab[i];
		asciitab[i] = c1;
		number++;
		while(asciitab[i]!=0xffff)  {
		    cc = asciitab[i+1] ;
		    asciitab[i+1]=c2;
		    c2 = cc;
		    i++;
		}
		break;
	    }
	    else if(c1 == asciitab[i])   break;
	}
    }
    fprintf(fp,"\nHZ24_NUM	DW	%d",number);    
    close(fph);
    fclose(ftxt);    
    free(asciitab);
    
    fph=open("asc16",O_RDONLY|O_BINARY);
    fprintf(fp,"\n");
    fprintf(fp,"\nASCLIB");
    for(i=0;i<128;i++) {
	l=i*16;
	lseek(fph,l,SEEK_SET);
	read(fph,by,16);
	fprintf(fp,"	DB	");
	for(j=0;j<16;j++) {
		if(j==15)
		fprintf(fp,"0%02xH ",(unsigned char)by[j]);
		else
		fprintf(fp,"0%02xH,",(unsigned char)by[j]);
	}
	fprintf(fp,"\n");
    }
    fseek(fp,-3,SEEK_CUR);
    fprintf(fp,"\n   \n");
    close(fph);

    asciitab=(unsigned int *)malloc(sizeof(unsigned int)*MAXHZ);
    asciitab[0]=0xffff;
    fph=open("hzk16",O_RDONLY|O_BINARY);
    ftxt=fopen("386hz16.txt","rb");
    while(!feof(ftxt))  {
	fread(tmp,sizeof(char),2,ftxt);
	while((unsigned char)tmp[0] < 0xa1) {
	    if( feof(ftxt) ) {  flag = 1; break; }
	    fseek(ftxt,-1,SEEK_CUR);
	    fread(tmp,sizeof(char),2,ftxt);
	}
	if(flag) break;

	for(i=0;i<MAXHZ;i++)    {
	    c1=tmp[0]*256+tmp[1];
	    if(c1<asciitab[i])   {
		c2 = asciitab[i];
		asciitab[i] = c1;
		num++;
		while(asciitab[i]!=0xffff)  {
		    cc = asciitab[i+1] ;
		    asciitab[i+1]=c2;
		    c2 = cc;
		    i++;
		}
		break;
	    }
	    else if(c1 == asciitab[i])   break;
	}
    }

    fprintf(fp,"\n");
    fprintf(fp,"\nHZ16LIB");
    i=0;
    while(asciitab[i]!=0xffff)    {
	fprintf(fp,"	DB	");
	l1=(unsigned long) ((asciitab[i]>>8)-0xa1)*94;
	l2=(unsigned long) asciitab[i]&0xff;
	fprintf(fp,"0%02xH,",(unsigned)(asciitab[i]&0xff));
	fprintf(fp,"0%02xH,",(unsigned)(asciitab[i]>>8)  );
	l2=l2-0xa1;
	l=(l1+l2)*32;
	tmp[0]=asciitab[i]>>8;
	tmp[1]=asciitab[i]&0xff;
	tmp[2]='\0';
	i++;
	lseek(fph,l,SEEK_SET);
	read(fph,by,32);
	for(j=0;j<32;j++){
		if(j==0)
		fprintf(fp,"0%02xH",(unsigned char)by[j]);
		else
		fprintf(fp,",0%02xH",(unsigned char)by[j]);
	}	
	fprintf(fp,";%s\n",tmp);
    }
	free(asciitab);
	fprintf(fp,"\n	DB     0F0H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H,000H,01fH,");
    fprintf(fp,          	  "000H,0ffH,007H,000H,03cH,000H,0f8H,00fH,0f8H,00fH,0f8H,000H,0f8H,000H,0f8H,000H");
                                                                                                         
    fprintf(fp,"\n	DB	  0F1H,0FFH,000H,001H,000H,007H,000H,03cH,001H,0c0H,00eH,000H,070H,000H,080H,000H,0ffH,0ffH,");
    fprintf(fp,          	  "0ffH,0ffH,000H,000H,000H,000H,0f0H,0f9H,0f9H,0f9H,0ffH,0c0H,07fH,080H,07fH,003H");
                                                                                                         
    fprintf(fp,"\n 	DB	  0F2H,0FFH,000H,000H,0c0H,000H,078H,000H,007H,000H,000H,0e0H,000H,01cH,000H,003H,0ffH,0ffH,");
    fprintf(fp,          	  "0ffH,0ffH,000H,000H,000H,000H,0ffH,0ffH,0ffH,0ffH,000H,0ffH,000H,0ffH,0f1H,0feH");
                                                                                                         
    fprintf(fp,"\n 	DB	  0F3H,0FFH,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,080H,000H,0f0H,000H,");
    fprintf(fp,          	  "0feH,000H,001H,0c0H,000H,078H,0ffH,0feH,0ffH,0feH,000H,03eH,000H,03eH,000H,03eH");
                                                                                                         
    fprintf(fp,"\n 	DB	  0F4H,0FFH,0f8H,000H,0f8H,000H,0f8H,000H,0ffH,0ffH,0ffH,0ffH,03cH,000H,007H,000H,000H,0ffH,");
    fprintf(fp,          	  "000H,01fH,000H,003H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H");
                                                                                                         
    fprintf(fp,"\n 	DB	  0F5H,0FFH,07fH,003H,0feH,007H,0feH,007H,0dfH,0cfH,09fH,0cfH,000H,000H,000H,000H,0ffH,0ffH,");
    fprintf(fp,          	  "0ffH,0ffH,080H,000H,070H,000H,00eH,000H,001H,0c0H,000H,03cH,000H,007H,000H,001H");
                                                                                                         
    fprintf(fp,"\n	DB	  0F6H,0FFH,0f1H,0feH,0e3H,0fcH,0e3H,0fcH,0ffH,0f8H,0ffH,0f8H,000H,000H,000H,000H,0ffH,0ffH,");
    fprintf(fp,          	  "0ffH,0ffH,000H,003H,000H,01cH,000H,0e0H,007H,000H,078H,000H,0c0H,000H,000H,000H");
                                                                                                         
    fprintf(fp,"\n 	DB	  0F7H,0FFH,000H,03eH,000H,03eH,000H,03eH,000H,03eH,000H,03eH,000H,078H,001H,0c0H,0feH,000H,");
    fprintf(fp,          	  "0f0H,000H,080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H"); 

    fprintf(fp,"\n\n");
    close(fph);
    fclose(ftxt);    
/******************************/
/**********24 X 24 HZ**********/

    asciitab=(unsigned int *)malloc(sizeof(unsigned int)*MAXHZ24);
    asciitab[0]=0xffff;
    fph=open("hzk24s",O_RDONLY|O_BINARY);
    ftxt=fopen("386hz24.txt","rb");
    while(!feof(ftxt))  {
	fread(tmp,sizeof(char),2,ftxt);
	while((unsigned char)tmp[0] < 0xa1) {
	    if( feof(ftxt) ) {  flag = 1; break; }
	    fseek(ftxt,-1,SEEK_CUR);
	    fread(tmp,sizeof(char),2,ftxt);
	}
	if(flag) break;

	for(i=0;i<MAXHZ24;i++)    {
	    c1=tmp[0]*256+tmp[1];
	    if(c1<asciitab[i])   {
		c2 = asciitab[i];
		asciitab[i] = c1;
		number++;
		while(asciitab[i]!=0xffff)  {
		    cc = asciitab[i+1] ;
		    asciitab[i+1]=c2;
		    c2 = cc;
		    i++;
		}
		break;
	    }
	    else if(c1 == asciitab[i])   break;
	}
    }
/*    fprintf(fp1,"\nHZ24_NUM	DW	%d",number);    */
    fprintf(fp,"\n");
    fprintf(fp,"\nHZ24LIB");

    i=0;
    while(asciitab[i]!=0xffff)    {
	fprintf(fp,"	DB	");
	l1=(unsigned long) ((asciitab[i]>>8)-0xb0)*94;
	l2=(unsigned long) asciitab[i]&0xff;
	fprintf(fp,"0%02xH,",(unsigned)(asciitab[i]&0xff));
	fprintf(fp,"0%02xH",(unsigned)(asciitab[i]>>8)  );
	l2=l2-0xa1;
	l=(l1+l2)*72;
	tmp[0]=asciitab[i]>>8;
	tmp[1]=asciitab[i]&0xff;
	tmp[2]='\0';
	i++;
	lseek(fph,l,SEEK_SET);
	read(fph,by,72);
	cc=0x80;
	for(j=0;j<72;j++)
		change[j]= 0;
	for(j=0;j<72;)
	{
		if(j < 24)c1=0;
		else if(j < 48)c1=1;
		else c1=2;
		flag = 0;
		for(k=c1;k<72;)
		{
			if(by[k]&cc)
				change[j] += mask[flag];
			k+=3;
			flag++;
			if(flag == 8){
				j++;
				flag=0;
			}
		}
		cc>>=1;
		if(cc==0)cc=0x80;
	}
	for(j=0;j<72;j++){
		if(j==0)
		fprintf(fp,",0%02xH",(unsigned char)change[j]);
		else
		fprintf(fp,",0%02xH",(unsigned char)change[j]);
	}
	fprintf(fp," ;%s\n",tmp);

}
	free(asciitab);
    fprintf(fp,"\nChar_end	DW	?");
    close(fph);
    fclose(fp);
    fclose(ftxt);
    return;
}








⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -