標題: 此文章來自奇摩知識+如有不便請留言告知
十六進制轉十進制的問題 用C做的
發問:
就是我在上微處理機實驗 現在要用KELI C+微處理機的鍵盤跟7段顯示器作一個計算機 然後問題是 假設現在按1 他是傳一個值 那個值是0x01 那請問要怎麼在C中讓它變成1 10進位的 還有 我程式最上面有寫下面這行 code unsigned char da[30] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,0x20}; 不知道有幫助嗎?? 我同學跟我說用索引值 可是我真的不會
最佳解答:
手邊沒有 7 段顯示器的資料,只對22年前做的東東有一點印象。 你需要的不是 16 → 10,也不是 1 → 110! 而是把你要的數值,變成 7 段顯示器要的二進位顯示值。 (如程式最開始的圖示,但我不記得哪個燈是哪個二進位值) 程式是根據那東東寫的。你要自己改sec7[]裡的數值。 我給你的是 0~9, A~F 第一個 for 是輸入的是 0 ~ 15 的用法; 第二個 for 是輸入是鍵盤上的 0~9 的用法; (程式用的是索引法) 當然,你要自己寫 sec_7( ) 怎麼去控制 7 段顯示器。 #include
其他解答:
大於 9 的數值 加6 即可 0xa + 6 = 10 09 +0 =09 0xb + 6 = 11 其實最好的是 在處理這個資料時 即馬上對資料做bcd 的處理 8051 有個 指令 DA 就是轉bcd 的指令碼 你可以去看看這個指令 也就是 每四個bit 為一十進位 不然 就是做轉換的工作
- Mar 26 Sun 2017 05:17
十六進制轉十進制的問題 用C做的
文章標籤
全站熱搜
留言列表