历史上的今天
今天是:2025年01月16日(星期四)
2018年01月16日 | 编程的四种基本程序结构
2018-01-16 来源:eefocus
下面我们介绍四种基本程序结构
1) 顺序结构
* 程序模块或指令依次执行的结构。
2) 分支结构
* 根据条件,转向不同程序段(分支)的结构。
* 分支不应是模块间的转移,执行分支后应返回流程主线。
* 注意防止从一个分支的出口进入另一个分支的入口
3) 循环结构
* 按循环控制条件重复执行某一段程序,用于连续重复性操作。
* 循环圈包括循环体与循环控制;循环结构还包括循环初始化与后处理。循环控制有计数循环与条件循环两种。
* 循环可以嵌套,但不应交叉,也不要从循环体外跳入循环圈。
转载须保留地址: http://www.51hei.com/mcu/286.html
4) 子程序结构
* 在主程序中执行调用子程序指令,CPU转去执行子程序。在子程序中由返回指令返回主程序,继续执行调用指令的下一条指令。
* 调用时,先将返回地址压栈,并按调用指令提供的地址转入子程序。返回时,从堆栈弹出返回地址送PC,重返主程序。
* 程序中多处使用的功能模块可采用子程序结构,以节省程序空间。
* 编写与使用子程序的七要素:
* 功能说明。
* 子程序名与入口地址。
* 入口条件。
* 出口状态。
* 占用资源。
* 子程序中的调用。
* 编写与使用子程序的四项注意:
* 现场保护与现场恢复,避免与主程序冲突。
* 堆栈操作应成对,且PUSH先行,保护返回地址。
* 多重调用应考虑堆栈的容量,不宜直接或间接的自反调用。
* 防止不经调用进入子程序,禁止不经返回指令跳出子程序。
上一篇:单片机上拉电阻的问题
下一篇:MCS-51汇编语言的程序格式
史海拾趣
|
分享一个利用AT89C51产生PWM信号控制直流电机调速的模拟模型。 软件环境:Keil C51,Proteus 已有文件:Keil C51工程文件,C51源文件,Proteus模型。已经产生的hex文件… 查看全部问答> |
|
传感器技术是现代科技的前沿技术,传感器产业也是国内外公认的具有发展前途的高技术产业,它以其技术含量高、经济效益好、渗透能力强、市场前景广等特点为世人瞩目。 我国自动化方面的专家呼吁:目前复杂系统越来越复杂,自动化已经 ...… 查看全部问答> |
|
大家学习labview都在哪些网站和论坛上混啊? 本人常去的有两个,www.ni.com这是NI的网站,学习labview怎么能不上呢! 其次是www.gsdzone.net 这是我常去的Labview论坛,里面有资深NI工程师潜伏哦!… 查看全部问答> |
|
在C51中,char xdata doc[19]=\"AT+CMGF=0\"; 我想请教一下各位大虾,在ATmega128中,这个语句应该怎样写呢? … 查看全部问答> |
|
我在mobile5下使用ras函数RasDial拨号连接没有问题 同样的程序以及拨号配置在mobile 6下却无法拨号成功 不知道5跟6在这方面有什么不一样吗 有经验的大虾帮忙看看,谢谢!!!… 查看全部问答> |
|
本帖最后由 darkduck 于 2015-3-26 15:11 编辑 CCS下有430ware,很方便的使用驱动库。 在IAR的安装目录下搜了一下,在\\430\\examples\\driverlib找到了类似的驱动程序。 CCS中直接在编译设置的“In ...… 查看全部问答> |




