单片机编程 51单片机编程方法?
单片机的编程?
C语言编程以C语言为基础。单片机的C语言采用C51编译器(简称C51)。C51生成的目标代码短小,运行速度快,存储空间小,符合C语言的ANSI标准。生成的代码遵循英特尔目标文件格式,可与A51汇编语言PL/M51语言目标代码混合使用。
51单片机编程方法?
1.不要定义太多变量。低128位是用户定义变量的存储区(默认)。也可以把变量放在高128位,但是容易出错。尽量少放,最好不放。通过*.M51,可以检查内存变量的存储情况。最好不要超过110字节,否则程序不会运行或者会出错。
2.如果一个变量被用在很多地方,它可以被定义为一个全局变量。例如循环变量I,J,以最小化参数传递。
3.静态变量最好放在程序存储区,由代码定义。
4.变量应该定义为无符号数,只有一位的变量,比如标志位,应该定义为位。
5.main()主程序后面的子程序要提前声明,放在前面的不用声明。
6.定义了变量和子程序但没有使用,系统给出警告。
7.尽管局部变量和全局变量的名称不同,但运行时可能会被全局变量更改。
8.程序编译后,有可能产生一个非常大的文件。比如原来的5k编译后变成10k,这是C汇编中程序空间随机分配造成的。可以先屏蔽一部分程序编译,然后解除屏蔽重新编译,还原,或者复制一部分到另一个文件进行编译。
9.如果使用定时器产生脉冲信号,要消除脉冲信号,首先关闭定时器,然后根据需要将电平设置为高或低。
10.“看门狗”功能可以通过软件实现。例如,如果程序运行一个周期需要50毫秒,则计时器可以设置为100毫秒。当超过100 ms时,程序将复位,定时器将复位或在程序周期底部复位。
11.为了提高所需值的精度,可以多次测量,然后排序,去掉最大值和最小值,取平均值,或者直接取平均值。
12.一个定时器可以用于多个计时。一般来说,两个定时器对于较大的程序是不够的。如果几个计时时间分别为10ms、200us和50ms,则可以将计时值设置为200us,并且可以设置另外两个变量。当需要多个定时时,只需找到它们的最小公约数定时即可。
13.当我们把一个程序写入单片机时,我们写*。hex,所以不要被它的大小所迷惑。对于8k的单片机来说,可以写入小于20k的程序。
51单片机编程方法?
学习51单片机硬件和编程基础必不可少。
例如电阻、电容、电感、三极管、按键开关、二极管等基本电子元件。
比如模拟电路,数字电路,AD拉友软件,C语言等等。
很多人看到这里,还没开始就结束了。
要学的东西太多了吧?高薪不如做纯软件。
呃。我们暂时不要讨论薪水的问题。可以看看我最近文章的解释。
其实最好是单片机或者嵌入式的。
对于初学者来说,最忌讳的就是:想彻底弄懂一个单片机,或者C语言,甚至模拟电量计数。
因为需要一定的项目经验才能理解透彻,以C语言指针为例。虽然可以用,但是天知道用在哪里。
直到几年后你进入原芯片厂写SDK库的时候,你才发现原来指针根本就是写回调函数和封装代码的神器。
好了,事不宜迟,我来说说一个初学者在开发单片机之前必须掌握哪些知识。
从两个方面回答:
1.五金器具
2.软件
一.硬件
1.熟悉常用部件。如果不知道是哪些,找个51开发板,熟悉原理图上的所有元件,知道它们的工作原理和使用场景。
2.熟悉欧姆定律,基本电路,直到知道开发板上所有电路的原理。
熟悉所有外设(IO、定时器、中断、串口等)。)的351单片机。不如跟C语言同步学,再练一遍!
第二,软件
这
学完c语言不懂结构和指针也没关系,等你代码上去了,自然就懂了。不要在你面前浪费时间。
个人推荐Protel99 SE或者AD都可以。这两个比较简单。前期可以用这个软件看原理图。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。