日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

16进制转10进制c 语言算法,16进制转换算成10进制程序

發布時間:2023/12/18 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 16进制转10进制c 语言算法,16进制转换算成10进制程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

unsigned char d[10]; //用于顯示的10位顯示緩存

//========================================================

//16進制to10進制輸出子程序:顯示數據,起始位,結束位,有無小數點

//========================================================

void output(unsigned long dd,unsigned char s,unsigned char

e,unsigned char dip) {

unsigned long div;

unsigned char tm[8],i,j;

div=10000000;

for (i=0;i8;i++) {

tm[i]=dd/div;

dd%=div;

div/=10;

}

for (i=0;i6;i++) {

if (tm[i]!=0) break;

tm[i]=nul;

}

tm[5]|=dip; //小數點控制,請看“串行LED數碼管顯示驅動程序”

j=7;

for (i=s;ie;i++) {

d[i]=tm[j];

j--;

}

}

//把顯示位5-9位的10進制數轉換成為16進制數

unsigned int input(void) {

unsigned int dd,dat;

dd=10000;dat=0;

for (i=5;i10;i++) {

dat+=dd*temp;

dd/=10;

}

return(dat);

}

/* 89C51系列CPU編程器接收CPU程序*/

#i nclude reg51.h>

#i nclude intrins.h>

#i nclude absacc.h>

#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;i6;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;i6;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;i6;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;

總結

以上是生活随笔為你收集整理的16进制转10进制c 语言算法,16进制转换算成10进制程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。