16進位轉換算成10進位程序

2021-01-10 電子產品世界

16進位轉換算成10進位程序

本文引用地址:http://www.eepw.com.cn/article/172812.htm


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進位轉化程序
    16進位轉換算成10進位程序本文引用地址:http://www.eepw.com.cn/article/171053.htmunsigned char d[10]; //用於顯示的10位顯示緩存//======================================================== /
  • 16進位數轉換成10進位整數的VC++程序
    二進位數據很少直接用在Visual C++++程序中,因為C++通常被視作高級語言。然而,對於要在兩類不同設備間傳輸信息的通信網絡而言,二進位數或十六進位數的傳輸過程比十進位數更為簡單。
  • C# 16進位轉換10進位相關函數詳解
    C# 16進位轉換10進位相關函數詳解 在C#中可以對整型運算對象按位進行邏輯運算,同時也可以實現C# 16進位轉換10進位,C#10進位轉換2進位等功能。
  • 進位轉換
    十進位用0~9表示數據;十六進位除0~9外,還用A、B、C、D、E和F來表示10~15;八進位則是0~7;二進位只有0和1。任何進位數都可以簡單地轉換成十進位數,只需將展開式中的基數改為該進位基數。例如,將十六進位數5B6D展開, (5B6D)16 = 5*16^3 + 11*16^2 + 6*16^1 + 13*16^0 = (23405)10,基數為16;二進位數 (011)2 = 0*2^2 + 1*2^1 + 1*2^0 = (3)10,基數為2。二進位數轉為八進位和十六進位也很簡單,從低位開始,每3位構成八進位的1位,或每4位構成十六進位的一位。
  • 10、進位轉換:二進位、八進位、十六進位、十進位之間的轉換
    再如,將十六進位數字 9FA8C 轉換成十進位:9FA8C = 9×164 + 15×163 + 10×162 + 8×161 + 12×160 = 653964(十進位)從右往左看,第1位的位權為 160=1,第2位的位權為 161=16,第3位的位權為 162=256,第4位的位權為 163=4096,第5位的位權為 164=65536 …… 第n位的位權就為
  • 二進位、十進位、八進位、十六進位間的相互轉換函數
    二進位、十進位、八進位、十六進位間的相互轉換函數1、輸入任意一個十進位的整數,將其分別轉換為二進位、八進位、十六進位。];//定義一個字符數組,用於存儲字符串cout<<"Entre num:"<<endl;cin>>num;cout<<"二進位:"<<itoa(num,a,2)<<endl;//轉換為2進位
  • 計算機的語言——二進位,十進位、八進位、十六進位與二進位之間的轉換
    而C程序代碼中的整數常量,為了書寫方便,用十進位、八進位、十六進位表示,比如:十進位整數123、-23、+99等。而無論十進位、八進位還是十六進位數據在計算機中表示是轉換成二進位編碼表示,計算機中只存在二進位。
  • 10進位轉16進位(採用移位實現)
    進位數轉換成16進位數 函數名:   to10_16 參數 :  n--要轉換的10進位數 編寫:      劉sir 時間:  2012.7 版本:  v1.0*/void to10_16(int n){ int a=n,n1,i; char ch[9];
  • 二進位,八進位,十進位,十六進位之間的轉換
    15就要進11*163+1*161+1*160=4096+16+1=4113當然其他進位轉換成10進位是最簡單的了,我想聰明的你肯定會了。35704十六進位轉換十進位到十六進位:除16倒著取餘數同時我們也可以先將十進位轉換成二進位,然後將二進位又轉換成十六進位比如說:1610轉換成十六進位直接轉16進位:
  • 二進位、八進位、十進位、十六進位數的轉換方法
    將(30)10轉換成二進位數2| 30 ….0 ----最右位2 15 ….12 7 ….12 3 ….11 ….1 ----最左位∴ (30)10=(11110)2將(30)10轉換成八、十六進位數8| 30 ……6 -最右位3 -最左位∴ (30)10 =(36)816| 30 …14(E)----最右位
  • 二進位、八進位、十進位、十六進位之間的轉換
    反過來,當我們看到 FD時,如何迅速將它轉換為二進位數呢?先轉換F:        看到F,我們需知道它是15(可能你還不熟悉A~F這六個數),然後15如何用8421湊呢?應該是8 + 4 + 2 + 1,所以四位全為1 :1111。接著轉換 D:        看到D,知道它是13,13如何用8421湊呢?
  • 16進位轉10進位
    本文引用地址:http://www.eepw.com.cn/article/150241.htm16進位數字表示(0 --- F( 0 到15))0 1 2 3 4 5 6 7 8 9 A(10) B(11) C(12) D(13) E(14
  • scratch+程小奔機器人實現「進位轉換」(十進位轉二進位)
    十進位→二進位→解釋;2→10→二的一次方;4→100→二的二次方;8→1000→二的三次方;16→10000→二的四次方;下面我出三道題大家來試著做一下:將下列十進位數字轉換成二進位:23;27;35;思路1:這是我經常用的辦法:23=16+7=16+4+3=2的四次方+2
  • 二進位,八進位,十進位,十六進位轉換詳解~
    規則逢二進一逢八進一逢十進一逢十六進一權2^i-18^i-110^i-116^i-12.進位轉換十進位01234567>8910111213141516二進位0110111001011101111000100110101011
  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    在電腦程式編寫中,有時還採用八進位和十六進位,這樣就存在著同一個數可用不同的數制表示及它們相互之間轉換的問題。在介紹各種數制之前,首先介紹數制中的幾個名詞術語。數碼:一組用來表示某種數制的符號。如:1、2、3、4、A、B、C、Ⅰ、Ⅱ、Ⅲ、Ⅳ等。基數:數制所使用的數碼個數稱為「基數」或「基」,常用「R」表示,稱R進位。如二進位的數碼是0、1,基為2。
  • python進位轉換:十進位轉二進位的用法
    我們在學習python時候肯定會碰到關於進位轉換,其實這是非常簡單的,這個就像小學學習數學乘法口訣意義,只要記住轉換口訣即可輕鬆應用,一起來看下具體的操作內容吧~一、python進位轉換dec(十進位)—> bin(二進位)dec(十進位)—>
  • EV3關於10進位轉換2進位的詳解
    哈咯各位大家好之前突發奇想想做一個關於十進位轉化成二進位的想法,在這裡給大家講解一下。關於數字有多進位的,十進位、二進位、三進位、八進位、十六進位....等等。對我們最熟悉的莫過於十進位和二進位了,接下來給大家講解下如何實現將十進位轉化為二進位。
  • 進位轉換方法
    10進位轉換成其他的都是除以要轉換成的那個數,也就是說轉換成二進位的就除以2,轉換成八進位的就除以8,轉換成十六進位的就除以16,然後倒取餘數。
  • 計算機基礎進位轉換(二進位、八進位、十進位、十六進位)
    1.十進位轉R進位1.1 十進位轉二進位十進位整數轉二進位十進位整數轉換成二進位採用「除2倒取餘」,十進位小數轉換成二進位小數採用
  • 單片機進位轉換
    十 ----> 八  10進位數轉換成8進位的方法,和轉換為2進位的方法類似,惟一變化:除數由2變成8。   來看一個例子,如何將十進位數120轉換成八進位數。十 ----> 十六   10進位數轉換成16進位的方法,和轉換為2進位的方法類似,惟一變化:除數由2變成16。