打印
[51单片机]

单片机基础学习一日一讲

[复制链接]
2378|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lgmcu|  楼主 | 2013-7-28 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lgmcu 于 2013-7-28 16:38 编辑

      今天有学员问到这个问题,我顺便整理一下,干脆发到这里,有需要补充这个方面的基础知识可以看看。以后学员问到的一些问题我也会部分整理到这里发布。先贴上一些以前整理的。

     【20130701】单片机的进制及其转换

进制也就是进位制,是人们规定的一种进位方法。对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一。
单片机是信息处理的工具,任何信息必须转换成二进制形式数据后才能由单片机进行处理,存储和传输。二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。例如,电路中有,无电流,有电流用1表示,无电流用0表示。类似的还比如电路中电压的高,低,晶体管的导通和截止等。
       在单片机中常用的进制有二进制、十进制、十六进制。
       二进制:它由两个基本数字0,1组成,二进制数运算规律是逢二进一。
       十进制:有0,1,2….9十个基本数字组成,十进制数运算是按“逢十进一”的规则进行的.
       十六进制: 它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数10~15),十六进制数运算规律是逢十六进一,即基R=16=2^4,通常数字前面加加以0x表示。
       数制转换:

1、二进制数、十六进制数转换为十进制数(按权求和)
       二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”.
       例如:把(1001.01)2 二进制计算。
       解:(1001.01)2
             =8*1+4*0+2*0+1*1+0*(1/2)+1*(1/4)
             =8+0+0+1+0+0.25
             =9.25
       把(38A.11)16转换为十进制数
       解:(38A.11)16
            =3×16的2次方+8×16的1次方+10×16的0次方+1×16的-1次方+1×16的-2次方
            =768+128+10+0.0625+0.0039
            =906.0664
       2.十进制数转换为二进制数,十六进制数(除2/16取余法)
       整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到――简称除二取余法.
       例:将25转换为二进制数
       解:25÷2=12 余数1
              12÷2=6 余数0
              6÷2=3 余数0
              3÷2=1 余数1
              1÷2=0 余数1
              所以25=(11001)2
       同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了.
       例:将25转换为十六进制数
       解:25÷16=1 余数9
             1÷16=0 余数1
             所以25=(19)16
       3.二进制数与十六进制数之间的转换
       由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十六进制数与二进制数的转换是十分简单的.
      (1)十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简称位分四位.
       例:将(4AF8B)16转换为二进制数.
       解: 4 A F 8 B
              0100 1010 1111 1000 1011
       所以(4AF8B)16=(1001010111110001011)2
       (2)二进制数转换为十六进制数,从低位向高位每四位一组,依次写出每组4位二进制数所对应的十六进制数――简称四位合一位.
       例:将二进制数(0001 1101 0110)2转换为十六进制数.
       解: 0001 1101 0110
               1 D 6
       所以(111010110)2=(1D6)16
       转换时注意最后一组不足4位时必须加0补齐4位





相关帖子

沙发
lgmcu|  楼主 | 2013-7-29 15:10 | 只看该作者
【20130702】LCD液晶显示中的DDRAM、CGROM和CGRAM的作用

       DDRAM ​:       显示用ram,直接和屏幕上的点相对应.屏幕上的一个点和ddram中的一个位对应,字符屏的ddram和图形屏的ddram有一点点区别。   
       CGROM:
       字模存储用空间。你要显示某个ascii字符时,要显示字符的字模就存在这里
       对于字符屏,要显示某个字符时,往ddram里写字符的索引(一般都是ascii码)就可以完成显示。比如你写0x38,则显示为数字8。   字符屏的ddram一般和ic能显示的最大字符数相同。有的ic可以控制显示80个字符,但屏幕只显示20个字符     
       对于图形屏,往ddram里写什么样的数据,屏幕上就会显示什么样的点,比如你写0x38,   则显示00111000。图形屏的ddram一般都会比屏幕显示大个2倍以上,为的是简化翻屏,以及实现其他特殊显示效果  。

      CGRAM
      是用户自建字模区,有时ascii码表不能满足个人对字符的要求,则需要在这里写入字模。字模的方式和cgrom中的一样。一般写入到这里的字模,其索引值为(0x00   ~   0x07),建立好字模后,往ddram中写索引0x00,新建的字符就会显示出来。

使用特权

评论回复
板凳
outstanding| | 2013-7-29 15:32 | 只看该作者

使用特权

评论回复
地板
mueling| | 2013-11-12 14:35 | 只看该作者
更新呀 只发个无关痛痒的可 不要啊!

使用特权

评论回复
5
限量_个性。| | 2013-11-12 14:53 | 只看该作者
挺好啊 顶一个~

使用特权

评论回复
6
加油吧小鱼儿| | 2014-1-12 21:39 | 只看该作者

使用特权

评论回复
7
zhang2142503| | 2014-4-8 20:46 | 只看该作者
顶,继续更新呀

使用特权

评论回复
8
woairgzn| | 2014-4-14 00:25 | 只看该作者
ding

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝