標題: C語言程序及51指令集 [打印本頁]

作者: happy112    時間: 2016-6-4 19:46
標題: C語言程序及51指令集
本帖最后由 happy112 于 2016-6-4 19:47 編輯






部分程序展示:
[code]#include "stdio.h"
#include "graphics.h"
#define  uchar unsigned char
FILE *fp;
uchar data[2][32];
unsigned int  total[2]={0,0};
char table[16]={'0','1','2','3','4','5','6','7','8','9',
        'A','B','C','D','E','F'};
void getzm(void)
{
  int i,j,k;
  uchar dot[16][2];
  for (i=0;i<16;i++)
  {
    {for (j=0;j<2;j++)
      dot[j]=fgetc(fp);  /* 讀漢字字模 */
    }
  }
  for (j=0;j<2;j++)
  { k=0;
   for (i=0;i<16;i++)
   {
    if(dot[j]<16) {data[j][k]='0'; k++;
             data[j][k]=table[dot[j]];
             k++;}
      else  {data[j][k]=table[((dot[j]&0xf0)>>4)];
         k++;
         data[j][k]=table[(dot[j]&0x0f)];
         k++;}
    total[j]+=dot[j];
   }
      total[j]+=16;
  }
}
void intok(void)
{ int x,y,ad;
  char add[5];
  char cha;
   if((fp=fopen("zk2000.hex","a"))==NULL)
   { printf("cannot open file\n");
     exit(1);
   }
   printf("起始地址:");
    scanf("%x",&ad);
    for(x=0;x<2;x++)
  { y=0;
    add[0]=table[(ad&0xf000)>>12];
    add[1]=table[(ad&0x0f00)>>8];
    add[2]=table[(ad&0x00f0)>>4];
    add[3]=table[ad&0x000f];
    add[4]='\0';
    fputs(":10",fp);
    fputs(add,fp);printf("%s ",add);getch();
    fputs("00",fp);
    while(y<32) {cha=putc(data[x][y],fp);putchar(cha);y++;}
    total[x]+=ad;ad+=16;
    for(y=0;y<256;y++)
    {  if(((total[x]+y)%256)==0)
    {if(y<16) { putc('0',fp); putc(table[y],fp); }
     else {putc(table[y/16],fp); putc(table[y%16],fp);}
     break;
    }
    }
    putc(13,fp);putc(10,fp);printf("\n");
    total[x]=0;
  }
  fclose(fp);
}
void hanzzk(char *hz) /* 提取漢字字模 */
{
  long offset1;
  char *s=hz;
  if ((fp=fopen("d:\\ucdos\\hzk16","rb"))==0) {
    printf("Can not open the file\n");
    exit(1);
  }
  while(*s!='\0') {
    offset1=(long)((*s+95)*94+(*(s+1)+95))*32;
    /* 因漢字二內碼127, 95=256-(160+1). */
    fseek(fp,offset1,SEEK_SET);
    getzm();
    s+=2;
  }
  fclose(fp);
  intok();
}
main()
{
  char hz[3];
  char zn='y';
  while(zn=='y')
   {printf("請輸入漢字:");
    scanf("%s",hz);
    hanzzk(hz);
    printf("還有其它字嗎?(y/n)");
    zn=getchar();
    zn=getchar();
   }
}

0.png (61.43 KB, 下載次數(shù): 102)

0.png

單片機書.rar

3.38 MB, 下載次數(shù): 59, 下載積分: 黑幣 -5


作者: zwk34    時間: 2016-6-4 21:37
謝謝分享,下載看看
作者: shunde117    時間: 2016-6-7 19:54
下了 ,謝謝 。!
作者: spender    時間: 2016-6-10 01:19
這些資料都不錯
作者: serviceghd    時間: 2023-9-15 16:07
下了,細細讀一下,學習中。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1