社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 3273|回复: 8

51单片机C语言编程技巧

[复制链接]

1093

TA的帖子

3

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2011-2-8 14:53:27 | 显示全部楼层 |阅读模式

觉得还不错,与大家分享一下!

 

 

1.定义的变量不要太多。低12485528-1-1.html" target="_blank" class="relatedlink">8位为用户定义变量的存放区域(默认时),也可以把变量放在高128位,但容易出错,尽量少放,最好不放。通过*.M51可以查看内存变量的存放,最好不要超过110个字节,否则程序无法运行或出错。

 

2.如一个变量多处使用可定义为全局变量。例如循环变量i、j,尽量减少参数传递。

 

3.静态变量最好放在程序存储区,用code定义。

 

4.变量应定义为无符号数,像标志位等仅占一位的变量应定义为bit。

 

5.子程序在main()主程序之后的应事先声明,放在前面的不用声明。

 

6.变量、子程序定义但没使用,系统给出警告。

 

7.虽然局部变量和全局变量不同名,但运行时可能被全局变量改变。

 

8.程序在编译后,有可能产生非常大的文件。比如原来5k,编译后变成10k,这是C汇编时程序空间分配太随意造成的。可首先屏蔽一部分程序编译,然后再去屏蔽再编译,可恢复,或一部分一部分复制到另一个文件中编译。

 

9.如产生脉冲信号用到定时器,要去掉脉冲信号时,应先关定时器,再按要求把电平置为高电平或低电平

 

10.可使用软件实现“看门狗”功能。比如:一个程序运行一个循环需要50ms,则定时器可定位100ms,当超过100ms时,程序将复位,在程序循环最下面都重装定时器或重置定时器参数。

 

11.为了提高所求值的精度,可多次测量,然后排序,去掉最大值和最小值,求平均值,或直接求平均值。

 

12.可使用一个定时器进行多个定时。一般来说,两个定时器对大一点的程序就不够用了,假如几个定时时间分别为10ms、200us、50ms,则定时值可定位200us,另设两个变量即可。在需要多个定时时,找到他们的最小公约数定时即可。

 

13.我们往单片机中写程序时,写的是*.hex,不要被它的大小所迷惑,对于8k的单片机,小于20k的程序都可写进去。

 

此帖出自单片机论坛


47

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-2-8 15:51:32 | 显示全部楼层
嗯。来看看!


回复

使用道具 举报

1039

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2011-2-8 22:58:30 | 显示全部楼层

回复 楼主 37°男人 的帖子

不错。来学习之


回复

使用道具 举报

110

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-2-9 08:18:11 | 显示全部楼层
相当不错的帖子


回复

使用道具 举报

336

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-2-9 16:44:46 | 显示全部楼层
不错呀


回复

使用道具 举报

1万

TA的帖子

15

TA的资源

版主

Rank: 6Rank: 6

发表于 2011-2-10 10:37:22 | 显示全部楼层

好贴顶起

优其最后一个:

13.我们往单片机中写程序时,写的是*.hex,不要被它的大小所迷惑,对于8k的单片机,小于20k的程序都可写进去。

不知迷憾我多久哟,现在也迷糊些
http://shop34182318.taobao.com/


回复

使用道具 举报

86

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2011-2-10 20:28:01 | 显示全部楼层
"13.我们往单片机中写程序时,写的是*.hex,不要被它的大小所迷惑,对于8k的单片机,小于20k的程序都可写进去。"
那么真正的大小,在哪看呢?
是不是看.bin文件就可以知道呢?
。hex文件应该是多了些前缀,所以就使程序的大小变大啦


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-5-12 10:25:22 | 显示全部楼层
谢谢楼主分享,学习一下喽


回复

使用道具 举报

116

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2015-2-25 23:38:02 | 显示全部楼层
相当不错的帖子


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-11-19 16:45 , Processed in 0.391923 second(s), 17 queries , Redis On.

快速回复 返回顶部 返回列表