51单片机变量初值。

请问一下,c51单片机中变量在没有赋初值的情况下其默认值为多少?

如果是“C51”,并且使用默认的startup.a51启动文件(未手动修改)的话,那么在运行到main()之前、片内SRAM已经都初始化为0了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-02
静态和全局变量应该是0,局部变量在上电第一次为0之外之后是一个随机值。全局变量是否为0可能要看编译器。其实你自己可以做实验验证的。追问

我试了一下,的确是0. 谢谢你们了

第2个回答  2012-11-02
默认值是0,但是还是自己初始化比较好。要养成一个好的习惯。在函数之初使用Init()函数,初始化定义的变量值,这样程序检查起来方便,一个好的编程习惯可以给你带来很大的方便。
第3个回答  2012-11-02
0.严谨点都要初始化。
第4个回答  2012-11-10
0

51单片机变量初值。
如果是“C51”,并且使用默认的startup.a51启动文件(未手动修改)的话,那么在运行到main()之前、片内SRAM已经都初始化为0了。

51单片机定时器初值用变量设置定时不准确,为什么,求高手。TH0=(65536...
TH0=(65536-2000)\/256; TL0=(65536-2000)%256;汇编后,只要2us就完事了。 而用变量方式,单片机很忙,计算几十乃至上百微妙才完事!15: TH0=(65536-a)\/256;C:0x0190 AE09 MOV R6,a(0x09)C:0x0192 AF0A MOV R7,0x0A C:0x0194 AB07 MOV R3,0x07 ...

在51单片机编程中 初始化程序的作用是什么
1.将一些变量转换为初始值,如0或1。2.如果使用zd,则需要设置定时器的工作模式和初始值。3.如果使用中断,应该打开相应中断源的中断并设置优先级。4.如果使用串口,则需要设置相应的串口工作模式和波特率。5.需要提前设置的其他数据变量和命令字。

51单片机 定时器赋值 最后面的N-- 是什么意思 作用是什么
那个n变量是用计T0定时器中断次数的,而前面的n=0,是声明变量n并赋初始值。注意,这是T0定时器的中断函数,是写在主程序前面了。T0每中断一次,n--为n减1。下面肯定还有程序(可能在主程序中或子程序中)要用到这个变量,估计是控制一个节拍长短的,所以应该有程序给n赋值,而且是根据每一个节拍...

51单片机产生锯齿波的原理
比如说,用定时器定1ms累加一次,步进为1,变量初值为0最大值为255,那么255ms就是一个周期,频率约为4HZ(比较慢了)要是幅度可调频率不变,如幅度调为200,仍然要加255次,那么就只有步进200\/255了,单片机办不到,显然只有改变累加间隔时间,改为255\/200(ms)累加一次。其中的关系一个函数明确...

在51单片机多存储空间中如何确定变量与地址的关系?
在51单片机中,变量的地址是通过内存映射方式确定的。在内存中,每个变量都被分配了一个唯一的地址,这个地址可以由程序员通过使用指针来访问。在默认情况下,51单片机将数据存储在RAM(随机访问内存)中,其地址范围为0x00到0xFF。其中,0x00到0x7F是SFR(特殊功能寄存器)和位寄存器的地址空间,而0x80...

51单片机中一个变量最多用几个字节
c51中一般指针变量占用多少字节存储 查看全部5个回答 帐号已注销 TA获得超过75.6万个赞 咨询成为第5378位粉丝 是三个字节,第一个字节表示存储器类型,第二,三个字节是指向数据地址的高字节和低字节。如果将首位作为符号位 即1为负数 0为整数 则 一字节存的最小数为 11111111(-128)最大数为 01...

C51 单片机 局部变量 问题
但是51单片机就那么128字节,必须详细策划好如何分配,所以局部变量才有了自己固定的地盘。说到这里,我相信你的问题我已经找到答案了,虽然都是我推测的,但是十之八九不会错。欢迎讨论!哦,至于初始值为0,这个没啥啊,单片机复位以后,RAM就是0 书上没写,但是实际用都是这样 ...

51单片机按位取反的问题.致谢大神!
初值和你的单片机IO口工作状态有关,如果你的P1^0连接了LED,那么默认情况下,应该是为低电平,也就是D1=0, 而你的 D1=~D1放在了定时器中断里面,那么定时器溢出产生中断,且a=100时,D1会取反,也就是下次,D1=1,再下次D1又为0,也就是P1^0循环取反,所以与之相连的LED就会闪烁。

帮忙看看这个51单片机的计数器程序哪里出问题了吧,用矩阵键盘控制的_百 ...
1、数码管显示部分的问题,没有消 0 ,C 语言中变量初值都是 0 ,所以一开始就会显示 0 如果你不想让显示 0 ,那就要写消 0 的程序,就加两句话,很简单的 2、键盘处理部分的问题,如果确认你的键盘检测是对的,那么就是键值处理部分的问题了 3、51都是加法计数器,如果你要想进行减法计数的...

相似回答