您当前的位置:五五电子网电子知识单片机-工控设备源码-程序16进制转换算成10进制程序 正文
16进制转换算成10进制程序

16进制转换算成10进制程序

点击数:7931 次   录入时间:03-04 11:43:15   整理:http://www.55dianzi.com   源码-程序
         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;}
     }
 }
 //HT1380实时时钟驱动程序

 sbit clock_dat=P0^1;
 sbit clock_clk=P0^2;
 sbit clock_rst=P0^3;

 sbit a0=ACC^0;
 sbit a1=ACC^1;
 sbit a2=ACC^2;
 sbit a3=ACC^3;
 sbit a4=ACC^4;
 sbit a5=ACC^5;
 sbit a6=ACC^6;
 sbit a7=ACC^7;

 void clock_out(unsigned char dd) {
     ACC=dd;
     clock_dat=a0;clock_clk=1;clock_clk=0;
     clock_dat=a1;clock_clk=1;clock_clk=0;
     clock_dat=a2;clock_clk=1;clock_clk=0;
     clock_dat=a3;clock_clk=1;clock_clk=0;
     clock_dat=a4;clock_clk=1;clock_clk=0;
     clock_dat=a5;clock_clk=1;clock_clk=0;
     clock_dat=a6;clock_clk=1;clock_clk=0;
     clock_dat=a7;clock_clk=1;clock_clk=0;
 }
 unsigned char clock_in(void) {
     clock_dat=1;
     a0=clock_dat;
     clock_clk=1;clock_clk=0;a1=clock_dat;
     clock_clk=1;clock_clk=0;a2=clock_dat;
     clock_clk=1;clock_clk=0;a3=clock_dat;
     clock_clk=1;clock_clk=0;a4=clock_dat;
     clock_clk=1;clock_clk=0;a5=clock_dat;
     clock_clk=1;clock_clk=0;a6=clock_dat;
     clock_clk=1;clock_clk=0;a7=clock_dat;
     return(ACC);
 }
 unsigned char read_clock(unsigned char ord) {
     unsigned char dd=0;
     clock_clk=0;
     clock_rst=0;
     clock_rst=1;
     clock_out(ord);
     dd=clock_in();
     clock_rst=0;
     clock_clk=1;
     return(dd);
 }
 void write_clock(unsigned char ord,unsigned char dd) {
     clock_clk=0;
     clock_rst=0;
     clock_rst=1;
     clock_out(ord);
     clock_out(dd);
     clock_rst=0;
     clock_clk=1;
 }
 /*单个汉字库字摸提取程序,tc2.0编译*/
 #i nclude "stdio.h"
 #i nclude "dos.h"
 #i nclude "process.h"
 #i nclude "string.h"


 void main(void) {
     long int num_bytes,qm,wm;
     unsigned char d,i,j,k,a[132],b[132];
     unsigned char * data;
     unsigned char * Hz;
     statIC unsigned  char dd[103];
     FILE *FP;

     if ((fp=fopen("hzk16f","rb"))==NULL) {
         printf("CAN't open hzk16n");
         exit(1);
     }
     clrscr();
     while (1) {

         data=(unsigned char *) malloc(33);
         printf("please input:n");
         scanf("%s",dd);    /*输入一个汉字*/

         qm=* dd;        /*通过区位码计算其在hzk16f文件中的偏移地址*/
         qm=qm-161;
         if (qm>87) exit(0);
         wm=* (dd+1);
         wm=wm-161;
         if (wm>94) exit(0);
         num_bytes=((long)qm*94+wm)*32;
         fseek(fp,num_bytes,SEEK_SET);
         fgets(data,33,fp);
         for (i=0;i<32;i++) b[i]=* data++;
         for (i=0;i<32;i+=2) a[i/2]=b[i];
         for (i=0;i<32;i+=2) a[i/2+16]=b[i+1];
         for (i=8;i<16;i++) b[i]=a[i];
         for (i=8;i<16;i++) a[i]=a[i+8];
         for (i=8;i<16;i++) a[i+8]=b[i];

         /*转换,hzf16f在电脑的储存格式是以行为字节计算的,一般的LCD都采用以列为字节计算*/
         for (k=0;k<32;k+=8) {
             for (j=0;j<8;j++) {
                 d=0;
                 for (i=0;i<8;i++) {
                     if (a[i+k]>=0x80) {
                         switch (i) {
                         case 0:d+=1;break;
                         case 1:d+=2;break;
                         case 2:d+=4;break;

上一页  [1] [2] [3] [4]  下一页


本文关键字:程序  源码-程序单片机-工控设备 - 源码-程序