首页 > 编程知识 正文

编程16进制转化成十进制,十进制转十六进制程序

时间:2023-05-05 18:53:08 阅读:150542 作者:4699

十六进制旋转十进制gxdjm

unsigned char d[10]; //用于显示的10位显示高速缓存

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

//十六进制to10进制输出端子gxdjm:显示数据、起始位、结束位、有无小数点

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

voidoutput(unsignedlongDD,unsigned char s,unsigned char

e,unsigned char dip ) {

无符号龙珠;

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)空白;

tm[i]=nul;

}

tm[5]|=dip; //小数点控制请参阅“串行LED数码管显示驱动gxdjm”

j=7;

for(I=s; I

d[i]=tm[j];

j----;

}

}

//将显示位的5-9位的十进制数转换为十六进制数

unsignedintinput(void ) {

unsigned int dd,dat;

dd=10000; dat=0;

for(I=5; i10; I ) {

dat=dd*temp;

dd/=10;

}

return(dat;

}

/* 89C51系列CPU可编程控制器为CPUgxdjm*/

#i nclude

#i nclude

#i nclude

#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

voidint_T0(void ) interrupt 1 {

TH0=-100;

b_break=1;

}

voidwait(unsignedcharw

unsigned int t=w*184;

b_break=0;

wile(b_break==0) {}

}

voidnop(void ) {

_nop_ (); _nop_ (); _nop_ (); _nop_ ();

_nop_ (); _nop_ (); _nop_ (); _nop_ ();

_nop_ (); _nop_ (); _nop_ (); _nop_ ();

_nop_ (); _nop_ (); _nop_ (); _nop_ ();

_nop_ (); _nop_ (); _nop_ (); _nop_ ();

}

unsignedcharcommand(void ) {

TH0=-100; b_break=0;

wile(ri==0) if ) b_break==1)返回(0) 0; }

return(sbuf;

}

voidearsure(unsignedcharCPU ) {

交换机(CPU )。

case 1: //89C51

case 2:rst=p26=1; p27=p36=p37=0; nop (; vpp=1; nop (;

ale=0; 等待(110; ale=1; nop (;

黑;

case 3:

case 4:break;

case 5:

case 6:break;

}

}

void program (未注册c )

har 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;}

d=SBUF;

//address

p27=1;

//data

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

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

vpp=1;

nop();

ale=0;

//    for (i=0;i<6;i++) wait(100);

wait(1);

ale=1;

nop();

vpp=0;

nop();

//lock 2

vpp=1;

nop();

ale=0;

//    for (i=0;i<6;i++) wait(100);

wait(1);

ale=1;

nop();

vpp=0;

nop();

//lock 3

vpp=1;

nop();

ale=0;

//    for (i=0;i<6;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;

SCON=0xd8;PCON=0x80;

TH0=-100;ET0=TR0=1;

flash=0x80;

while (1) {

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实时时钟驱动gxdjm

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;www.dgzj.com

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;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。