
单片机 keil !!!
文章平均质量分 66
dayidson
这个作者很懒,什么都没留下…
展开
-
计算机内为什么用补码来表示负数.cpu内没有减法器?
<br />补码是计算机内方便加法运算的编码。注意,为了方便运算计算机采用补码存储数据。<br /><br /><br /><br />例如100(10进制)<br /><br />100/16=6余4<br /><br />6/16=0余6<br /><br />所以100的16进制数是64H<br /><br />以8位二进制来说64H=01100100B<br /><br />正数的补码和原码相同。所以100的补码还是01100100<br /><br />另假设还有个数是-109<br /><br转载 2010-09-02 13:52:00 · 1070 阅读 · 0 评论 -
单片机C语言实现循环移位!
<br /> 大家知道,大家用MCU写程序的时候,只有移位的语句,没有循环移位的语句。那么如何实现循环移位呢,详见下述:<br /> 循环移位区别于一般移位的是移位时没有数位的丢失。循环左移时,用从左边移出的位填充字的右端,而循环右移时,用从右边移出的位填充字的左侧。这种情况在系统程序中时有使用,在一些控制程序中用得也不少。 设有数据说明:<br /> a=01111011,循环左移2位 正确结果: 11101101<br /> 过程:<br /> b=a>>(8-2) 用来得到转载 2010-09-02 13:09:00 · 2920 阅读 · 1 评论 -
51_堆栈问题.
Keil C是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好。这是用C语言写代码的好处之一,如果用汇编写,得费一大番功夫给各个变量安排内存物理地址,还得时刻记住哪些地址的内存单元是已经分配了,新增加的变量就不能占用那些已经分配了的单元,以免产生内存交叠冲突和溢出。我一直非常信赖Keil C51的编译结果,在我的印象里,它对内存的分配是完美的,只要代码用它编译时没有报告任何warning和error,代码运行时不可能内存冲突或溢出的现象。 但,今天转载 2010-11-24 10:53:00 · 1100 阅读 · 0 评论