2016年6月2日星期四

单片机编码表 unsigned char code table[] 的理解

 code的作用是告诉单片机,定义的数据要放在ROM(程序存储区)里面,其实是相当于汇编里面的寻址MOVX,因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。

unsigned char code table[] 用 code 表示代码编译完了,数据会放到程序存储区(ROM)当中.如果不用,数据会放到随机储存器单中(RAM)(寄存器).

一个单片机的随机存储器是有限制的。51单片机的RAM是128个字节。你每定义一个char的变量,它占用的就是RAM中的一个字节。用unint占用的是两个字节。
一个芯片内部的RAM非常宝贵。

51单片机中的ROM有4kb(4千个字节),远远大于RAM中的128b.所以把这个固定的编码数据放在ROM中可以节约宝贵的RAM空间。

没有评论:

发表评论