微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机程序设计总结

单片机程序设计总结

时间:11-29 来源:互联网 点击:

经过多年的单片机领域研究,总结一下几点的程序设计的经验
要想设计程序就必须了解单片机一些基础知识
1 指令是指计算机执行某种操作的命令,仅仅是简单完一件细小工

作命令。如 MOVLW 06H 或 I=0X06;
就是将06H的立即数 移动给 单片机内的工作寄存器。
或 O6H的立即数赋予I......
1,程序是指众多的单片机指令构成有一定规模及次序,具有特定功

能、能完成特定任务的指令集合。

只要了解这些你就可以知道,程序是什么了,就是我们日常生活中的

一些做事流程,用指令书写的方式记下来。就这么简单。

接下来就是变量,他是为指令运行的提供操作对象空间,没有的变量

,指令与程序就是神马浮云。什么都不是。
空间是什么,说白就是可以放东西的地方,单片机的空间就是他的内

存是可以用来存放数据了-----单片机定义为寄存器。
那数据是什么呢,说白了就是个数----二进制的数,为什么用二进制

呢,就是因为计算机很傻了,他就走两个极端,要么没有电,要么有

电,没有中间态,所以就用二进制配他了。
现在知道的变量的作用就好办,
既然是个空间--变量,就要有存放与取出、清空的功能,变量的数据

处理有输入、输出、清零,而且单片机中的变量不是一个哦,是很多

数以百计千记的变量,且变量都有独立的房间与名字。
因此单片机在运行时,其实就是在指令控制下,完成变量与变量间

的数据交换与处理,而这些交换处理目的就是为完成程序特定的功能

而运行了。
说到这里就要提一下变量的性别与生命期,有点神哦,有生命的东

西。
变量的类别:
全局静态变量: 全局静态变量是用来保存程序运行中必须的全部

区域内不动产---数据不能变化了,编辑后,就固定了,他是用来保

存如显示需要的字符码,图像码,声音码及子程序(模块)内特殊用

途的一些特殊数据,且这种变量是不能被修改,永恒固定
生命期:活到整个程序的结束,且每个程序段--子程序都可以读

取他(但不能写)

局部静态变量: 局部静态变量是用来保存程序运行中必须的局部

区域的不动产---数据不能变化了,编辑后,就固定了,保存的如按

键时间,声音时间,及子程序(模块)内特殊用途等一些特殊数据,

且这种变量是不能被修改,永恒固定
生命期:活到整个程序的结束,且只能在规定的子程序内可以读

取他(但不能写) 超出不能使用。

局部动态变量: 局部动态变量是用来保存程序运行中必须的局部

区域的变化数据,他是用来保存如按键计数器,声音时间计数器,及

子程序(模块)内特殊用途等一些特殊数据,且这种变量是可以被修


生命期:活到整个程序的结束,且只能在规定的子程序内可以读

写与使用。

全局动态变量:
全局动态变量是用来保存程序运行中必须的全部区域内的变化数

据,他是用来保存如按键值,声音值,显示处理值,及子程序(模块

)内特殊用途等一些特殊数据,且这种变量是可以被修改
生命期:活到整个程序的结束,在整个程序内都可以读

写与使用。

随机动态变量
随机动态变量是用来保存程序运行中必须的全部区域内的变化临时

数据如,按键识别值,显示运算值,四则运算的临时空间及子程序(

模块)内特殊用途等一些临时特殊数据。这种变量是可以读写
生命期:使用他的程序段开始到结束,只有在改程序段内有效,

程序段结束,他的生命也没有了。
随机动态变量在程序中是用的最多的变量,因为他没有特定功能,

就是供所有的程序使用,谁要用就出生,不用时就结束,继续等待下

个被使用。这就是他的使命,晕感觉像让万人随意糟蹋的样子。
说完变量,现在说程序的灵魂------算法,很神秘吧,其实他妈

就是实现的方法,因为单片机是*运算与处理数据了来实现功能了
所以叫他---算法。
这是书上描述了
“ 算法可以理解为有基本运算及规定的运算顺序所构成的完整的解

题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这

样的步骤和序列可以解决一类问题
一个算法应该具有以下五个重要的特征:   算法可以使用自然语

言、伪代码、流程图等多种不同的方法来描述。
1、有穷性(Finiteness)
  算法的有穷性是指算法必须能在执行有限个步骤之后终止
2、确切性(Difiniteness)
  算法的每一步骤必须有确切的定义;
3、输入项(Input)
  一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0

个输入是指算法本身定出了初始条件;
4、输出项(Output)
  一个算法有一个或多个输出,以反映对输入数据加工后的结果。

没有输出的算法是毫无意义的;
5、可行性(Effectiveness)
  算法中执行的任何计算步都是可以被分解为基本的可执行的操作

步,即每个计算步都可以在

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top