注册
登录
电子工程世界-论坛
返回首页
EEWORLD首页
频道
EE大学堂
下载中心
Datasheet
专题
单片机
物联网
汽车电子
嵌入式
手机/便携
模拟电子
家用电子
网络通信
电源管理
工业控制
测试测量
半导体设计/制造
安防电子
传感器
医疗电子
SZXYD123的个人空间
https://home.eeworld.com.cn/space-uid-711248.html
[收藏]
[复制]
[分享]
[RSS]
空间首页
动态
记录
日志
相册
主题
分享
留言板
个人资料
借用开发板
论坛
淘帖
Collection
查看新帖
最新回复
社区活动
联系管理员
我的空间
帖子
日志
收藏
好友
勋章
积分
安全验证
请完成以下验证码
日志
51单片机编程技巧
已有 245 次阅读
2016-7-13 15:05
1.定义的变量不要太多。低128位为用户定义变量的存放区域(默认时),也可以把变量放在高128位,但容易出错,尽量少放,最好不放。通过M51可以查看内存变量的存放,最好不要超过110个字节,否则程序无法运行或出错。
2.如一个变量多处使用可定义为全局变量。例如循环变量i、j,尽量减少参数传递。
3.静态变量最好放在程序存储区,用code定义。
4.变量应定义为无符号数,像标志位等仅占一位的变量应定义为bit。
5.子程序在main()主程序之后的应事先声明,放在前面的不用声明。
6.变量、子程序定义但没使用,系统给出警告。
7.虽然局部变量和全局变量不同名,但运行时可能被全局变量改变。
8.程序在编译后,有可能产生非常大的文件。比如原来5k,编译后变成10k,这是C汇编时程序空间分配太随意造成的。可首先屏蔽一部分程序编译,然后再去屏蔽再编译,可恢复,或一部分一部分复制到另一个文件中编译。
9.如产生脉冲信号用到定时器,要去掉脉冲信号时,应先关定时器,再按要求把电平置为高电平或低电平。
10.可使用软件实现“看门狗”功能。比如:一个程序运行一个循环需要50ms,则定时器可定位100ms,当超过100ms时,程序将复位,在程序循环最下面都重装定时器或重置定时器参数。
本文来自论坛,点击查看完整帖子内容。
收藏
邀请
举报
全部
作者的其他最新日志
•
单片机的入门方法与学习误区
评论 (
0
个评论)
涂鸦板
您需要登录后才可以评论
登录
|
注册
评论
SZXYD123
加为好友
给我留言
打个招呼
发送消息
热门文章
头条资讯
ADI高品质高性能产品与工业应用研讨会-重庆站
【世说设计】MPLAB Snap在线调试器信息手册
携程回应要求员工签轮岗轮休协议;Soul运营合伙人设局举报对手被批捕;特朗普回应美股再度熔断 | 雷锋早报
东芝面向Bluetooth智能设备的新IC搭载内置闪存
Linux内核如何私闯进程地址空间并修改进程内存
【世说设计】如何测量两个光源的相对强度
新增数据手册
C4550F207SV033RFHB310MHZ
98481-434
PE-1008CM150KTG
PTS-P0603LF-1000-B
550C282U350CC2BS
NFR0204GF3573ETRF
热搜器件
SN74ACT564DBRG4
TLP541G
PCF2512PR-24K3BI
C0805X129B5HACAUTO
ERJ-6ENF6192V
PC16DH07CP06103A2020TA
推荐下载
基于CPLD的动调陀螺测斜仪数据采集系统设计
梅花雨日历控件
Boost变换器的输出纹波电压分析与
中大功率IGBT驱动及串并联特性应用研究
一个小程序
uCOS-II源码详解
推荐关注
挑战6万月薪【三】Purple Pi OH开发板带你7天入门OpenHarmony!
两个不同频率晶振靠的近会怎样
《Linux内核深度解析》-- 中断控制器注册逻辑
减速机速比对照表相关内容
ESP-NOW WIFI 收发不稳定问题
Ubuntu20.04取消root账号自动登录的方法,触觉智能RK3568开发板演示