打印
[技术问答]

单片机的编程技巧

[复制链接]
744|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
adolphcocker|  楼主 | 2024-8-14 19:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在本文中,我们将对51单片机编程技巧进行总结和介绍。本文涵盖了变量定义、子程序声明、编译优化、定时器使用、软件实现“看门狗”功能、多个定时器的使用、提高所求值的精度等多个方面的51单片机编程技巧。变量定义在51单片机编程中,变量定义是非常重要的一步。我们需要注意以下几点:* 变量不要定义太多,低128位为用户定义变量的存放区域(默认时),也可以把变量放在高128位,但容易出错,尽量少放,最好不放。* 变量应定义为无符号数,像标志位等仅占一位的变量应定义为bit。* 如一个变量多处使用可定义为全局变量。例如循环变量i、j,尽量减少参数传递。子程序声明在51单片机编程中,子程序声明也非常重要。我们需要注意以下几点:* 子程序在main()主程序之后的应事先声明,放在前面的不用声明。* 变量、子程序定义但没使用,系统给出警告。编译优化在51单片机编程中,编译优化非常重要。我们需要注意以下几点:* 程序在编译后,有可能产生非常大的文件。比如原来5k,编译后变成10k,这是C汇编时程序空间分配太随意造成的。* 可以首先屏蔽一部分程序编译,然后再去屏蔽再编译,可恢复,或一部分一部分复制到另一个文件中编译。定时器使用在51单片机编程中,定时器使用非常重要。我们需要注意以下几点:* 如产生脉冲信号用到定时器,要去掉脉冲信号时,应先关定时器,再按要求把电平置为高电平或低电平。* 可以使用软件实现“看门狗”功能。比如:一个程序运行一个循环需要50ms,则定时器可定位100ms,当超过100ms时,程序将复位,在程序循环最下面都重装定时器或重置定时器参数。多个定时器的使用在51单片机编程中,多个定时器的使用非常重要。我们需要注意以下几点:* 可以使用一个定时器进行多个定时。一般来说,两个定时器对大一点的程序就不够用了,假如几个定时时间分别为10ms、200us、50ms,则定时值可定位200us,另设两个变量即可。* 在需要多个定时时,找到他们的最小公约数定时即可。提高所求值的精度在51单片机编程中,提高所求值的精度非常重要。我们需要注意以下几点:* 可以多次测量,然后排序,去掉最大值和最小值,求平均值,或直接求平均值。总结51单片机编程技巧总结了变量定义、子程序声明、编译优化、定时器使用、软件实现“看门狗”功能、多个定时器的使用、提高所求值的精度等多个方面的知识点。只有掌握了这些技巧,我们才能更好地编写51单片机程序。

使用特权

评论回复
沙发
weifeng90| | 2024-8-14 20:25 | 只看该作者
这个帖子内容可以排一下版,可读性更好。

使用特权

评论回复
板凳
菜鸟的第一步| | 2024-8-16 14:17 | 只看该作者
太乱了,没法阅读

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

1337

帖子

0

粉丝