单片机实验频率计时怎么把十六进制转成十进制然后送到12864上去?

如题所述

不管是什么进制的,它都是一个数,其实在单片机里面,数值都是二进制表示的,进制不同只是表达的方式不同,而要显示出来,我们习惯用十进制,所以需要把数值用十进制表达出来。
举例给你说明:例如789这个数值(不要再讨论什么进制,你可以把它写成0x0315,也可以把它写成1100010101).
我们用代号Val来表示这个值。
需要先把这个值分成3份,得出3个值,他们分别是7、8、9,然后将这3个数分别查找与其值对应的点阵编码,再将该点阵码分别送到液晶的3个位置进行显示,当然如果是带字库的液晶,则不必提取点阵码,直接将对应的字符码送入液晶即可#define val 789
unsigned char code dispbuf[]={'0','2','3','4','5','6','7','8','9'};
unsigned char disp1,disp2,disp3;
disp1=val/100%10;
disp2=val/10%10;
disp3=val%10;
//计算后disp1=7 disp2=8 disp3=9
//下面将真值查字符表,将字符内码送到液晶,例如此时dispcode[disp1]等于‘7’
write12864(dispcode[disp1],0,0);//送到第0行第0个字符位
write12864(dispcode[disp2],0,1);//送到第0行第1个字符位
write12864(dispcode[disp3],0,2);//送到第0行第2个字符位
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-15
首先,得会使用12864
举个例子,如果十六进制是B9,那么换成十进制就=B*16^1+9*16^0=185
再根据“185”去查12864的字符代码表,查得"1"的代码是(MSB=1,LSB=1);“8”的代码是(MSB=1,LSB=8);"5"的代码是(MSB=1,LSB=5)。比如要输入"1",那就向12864写入"00010001B",写入“8”就输入“00011000B”
第2个回答  2009-09-12
用除法,从石榴进制数中分离出来个、十...;
分别变成ASCII码,即可送到液晶屏上去。本回答被提问者采纳
第3个回答  2009-09-12
单片机测得的数不要转换就可以做段的驱动的,如果要分开显个十百等位就除\余就行了
第4个回答  2009-09-12
16进制数除10,我记得出来的是BCD码,

单片机实验频率计时怎么把十六进制转成十进制然后送到12864上去?
首先,你得会使用12864 举个例子,如果十六进制是B9,那么换成十进制就=B*16^1+9*16^0=185 再根据“185”去查12864的字符代码表,查得"1"的代码是(MSB=1,LSB=1);“8”的代码是(MSB=1,LSB=8);"5"的代码是(MSB=1,LSB=5)。比如你要输入"1",那你就向12864写入"00010001B",写入“...

单片机实验频率计时怎么把十六进制转成十进制然后送到12864上去?
需要先把这个值分成3份,得出3个值,他们分别是7、8、9,然后将这3个数分别查找与其值对应的点阵编码,再将该点阵码分别送到液晶的3个位置进行显示,当然如果是带字库的液晶,则不必提取点阵码,直接将对应的字符码送入液晶即可#define val 789 unsigned char code dispbuf[]={'0','2','3','4...

单片机实验频率计时怎么把十六进制转成十进制然后
首先,得会使用12864 举个例子,如果十六进制是B9,那么换成十进制就=B*16^1+9*16^0=185 再根据“185”去查12864的字符代码表,查得"1"的代码是(MSB=1,LSB=1);“8”的代码是(MSB=1,LSB=8);"5"的代码是(MSB=1,LSB=5)。比如要输入"1",那就向12864写单片机实验频率计时怎么把十六...

单片机开发板怎么用?
1. 单片机最小系统:可以使用51单片机如STC89C52,AT89S52,也可以使用AVR单片机如AT mega 16,AT mega 128等系列。 2. 流水灯模块:我们使用了8个红色led,可以进行闪关灯实验,流水灯实验。 3. 独立键盘模块:4个小按键组成,可以做外中断INT0、INT1 ,外定时器T0、T1 实验。 4. 矩阵键盘模块:16个小按键组成...

在LED显示汉字,怎么做到可以三个汉字循环显示?怎么添加代码?
为此,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可。 可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16×64—1 024 Hz,周期小于1 ms即可。行扫描和列扫描...

单片机实验频率计时怎么把十六进制转成十进制然后送到12864上去?
int yourdata=1234;\/\/1234即0x4d2 unsigned char ge;unsigned char shi;unsigned char bai;unsigned char qian;qian=yourdata\/1000; \/\/qian=1 即0x01 bai=yourdata%1000\/100;\/\/bai=2 即0x02 shi=yourdata%100\/10; \/\/shi=3 即0x03 ge=yourdata%10; \/\/ge=4 即0x04 ...

相似回答