久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 我是小白,求思路,如何用at89c52將十進制數(shù)轉(zhuǎn)換為十六進制數(shù),后在LCD上顯示 [打印本頁]

作者: 丟車保帥    時間: 2023-11-5 23:24
標(biāo)題: 我是小白,求思路,如何用at89c52將十進制數(shù)轉(zhuǎn)換為十六進制數(shù),后在LCD上顯示
我是小白,求思路,如何用at89c52將十進制數(shù)轉(zhuǎn)換為十六進制,然后在LCD上顯示
作者: rayin    時間: 2023-11-6 07:31
與10進制顯數(shù)方法一樣的, 向右位移4位,每位數(shù)取余,然后每位根據(jù)余數(shù)值顯示0-f.
作者: zhuls    時間: 2023-11-6 07:51
給你思路,8位(1字節(jié))10進制的高4位是10,低4位是1,16制制的高4位是16,低4 位是1


作者: man1234567    時間: 2023-11-6 08:14
將十進制數(shù)除以16,得到結(jié)果后在LCD上顯示就可以
作者: hi等你    時間: 2023-11-6 08:53
我是高手,求問題,這十進制數(shù)字有多少位?個位還是百位還是千位,還是上億?

您給我分辨率多大的LCD?
作者: TTL.    時間: 2023-11-6 08:54
把十進制數(shù)轉(zhuǎn)換成十六進制在轉(zhuǎn)換成字符串,在輸出到lcd上就行了。




給你個參考程序:
/*八位無符號整型->字符串(十六進制)*/
void u82str(u8* x,u8* Str,u8 lenth)
{
        u8 i;
        for(i=0;i<lenth;i++)
        {
                *(Str+2*i)   = (*(x+i)/16<=9)?(*(x+i)/16+'0'):(*(x+i)/16-10+'A');
                *(Str+2*i+1) = (*(x+i)%16<=9)?(*(x+i)%16+'0'):(*(x+i)%16-10+'A');
        }
        *(Str+2*lenth) = '\0';
}
作者: IdeaMing    時間: 2023-11-6 08:58
思路就是
1、先在屏幕上實現(xiàn)畫點
2、將0-F取模并且能在屏幕上顯示
3、DecToHex需要自己實現(xiàn)
4、屏幕顯示
作者: lkc8210    時間: 2023-11-6 09:00
Hex_H =Uchar_dat/16;
Hex_L = Uchar_dat%16;
作者: Hephaestus    時間: 2023-11-6 13:41
我覺得樓主未能理解十進制和二進制的區(qū)別。應(yīng)該舉例說明原始數(shù)據(jù)和想顯示的數(shù)據(jù)。
作者: 丟車保帥    時間: 2023-11-6 13:50
在LCD1602上先顯示所要計算的四位十六進制數(shù),然后在第二行輸出計算后的十進制數(shù),想法是這樣的
作者: 金玉之食    時間: 2023-11-6 15:52
按你這個說法是已經(jīng)知道十六進制數(shù)了,現(xiàn)在想問的是如何顯示嗎?這個你去搜如何控制LCD1602或者看看數(shù)據(jù)手冊通過指令去控制輸出就好了
作者: Hephaestus    時間: 2023-11-6 18:08
丟車保帥 發(fā)表于 2023-11-6 13:50
在LCD1602上先顯示所要計算的四位十六進制數(shù),然后在第二行輸出計算后的十進制數(shù),想法是這樣的

你還是舉例說明吧,比如有個“四位十六進制數(shù)”0x7fff,你想顯示32767???還是別的什么東西,你現(xiàn)在這么說沒人能看懂。
作者: 丟車保帥    時間: 2023-11-6 21:44
那我舉個例子,我輸四位十進制數(shù)2222,然后轉(zhuǎn)換成十六進制數(shù)8AE,最后在LCD上顯示
作者: Hephaestus    時間: 2023-11-6 21:58
丟車保帥 發(fā)表于 2023-11-6 21:44
那我舉個例子,我輸四位十進制數(shù)2222,然后轉(zhuǎn)換成十六進制數(shù)8AE,最后在LCD上顯示

那就根本不用轉(zhuǎn)換,原始數(shù)據(jù)是0,按2,原始數(shù)據(jù)變成2,再按2,原始數(shù)據(jù)*10加上剛剛輸入的2,……如此反復(fù)就可以了。你是不明白2222在內(nèi)存里面就是8AE,不要轉(zhuǎn)換。
作者: longwu357    時間: 2023-11-8 10:16
結(jié)合2樓和14樓的回答就能搞定了。14樓:數(shù)據(jù)在內(nèi)存里都是二進制存儲的,不存在十進制和16進制的轉(zhuǎn)換問題,這個是前提要理解。LCD上的東西只是給人看的,是按照單個字符逐一顯示出來的。所以你想在LCD上顯示一個數(shù)據(jù),不管用什么進制顯示,只要按照進制取出每一位字符,然后逐一顯示出來就行了。二樓通過移位的方式可以很方便的滿足一個數(shù)據(jù)取16進制的各位字符,如果是10進制,那就是不斷除以10取余就可以了。
作者: 圣博朗西斯    時間: 2023-11-13 15:17
程序里面的十進制你可以直接轉(zhuǎn)化的




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲国产免费 | 国产在线不卡 | 五月天在线观看 | 久草网在线 | 免费av网站在线观看 | 91亚洲一区| 日韩中文字幕 | 一级片日韩 | aaa黄色| 日本综合久久 | 美女无遮挡网站 | www.久久久 | 亚洲一区久久 | 欧美一级色 | av在线播放不卡 | 中文字幕国产 | 亚洲日本中文字幕 | 欧美福利在线 | 精品免费视频 | 国产伦理一区二区 | 欧美日韩亚洲一区二区三区 | 色哟哟一区二区三区 | 中文字幕在线观看网站 | 在线日韩视频 | 国产一级片网站 | 亚洲精品国产精品乱码不卡 | 亚洲精品综合 | 日韩免费一区二区三区 | 亚洲一区二区在线视频 | 国产激情在线视频 | 黄色片免费看 | 97色伦图片| 18视频在线观看 | 午夜拍拍| 涩久久 | 久草国产视频 | 亚洲欧洲天堂 | 日本成人一区二区三区 | 国产欧美日韩视频 | 日韩精品在线一区 | 成人在线网址 |