历史上的今天
返回首页

历史上的今天

今天是:2025年01月16日(星期四)

正在发生

2018年01月16日 | 编程的四种基本程序结构

2018-01-16 来源:eefocus

下面我们介绍四种基本程序结构

1) 顺序结构

* 程序模块或指令依次执行的结构。

2) 分支结构

* 根据条件,转向不同程序段(分支)的结构。

* 分支不应是模块间的转移,执行分支后应返回流程主线。

* 注意防止从一个分支的出口进入另一个分支的入口

3) 循环结构

* 按循环控制条件重复执行某一段程序,用于连续重复性操作。

* 循环圈包括循环体与循环控制;循环结构还包括循环初始化与后处理。循环控制有计数循环与条件循环两种。

* 循环可以嵌套,但不应交叉,也不要从循环体外跳入循环圈。

转载须保留地址: http://www.51hei.com/mcu/286.html

4) 子程序结构

* 在主程序中执行调用子程序指令,CPU转去执行子程序。在子程序中由返回指令返回主程序,继续执行调用指令的下一条指令。

* 调用时,先将返回地址压栈,并按调用指令提供的地址转入子程序。返回时,从堆栈弹出返回地址送PC,重返主程序。

* 程序中多处使用的功能模块可采用子程序结构,以节省程序空间。

* 编写与使用子程序的七要素:

* 功能说明。

* 子程序名与入口地址。

* 入口条件。

* 出口状态。

* 占用资源。

* 子程序中的调用。

* 编写与使用子程序的四项注意:

* 现场保护与现场恢复,避免与主程序冲突。

* 堆栈操作应成对,且PUSH先行,保护返回地址。

* 多重调用应考虑堆栈的容量,不宜直接或间接的自反调用。

* 防止不经调用进入子程序,禁止不经返回指令跳出子程序。


推荐阅读

史海拾趣

广州盛炬(GZSJ)公司的发展小趣事

机顶盒,全称为数字视频变换盒(Set Top Box,简称STB),是现代家庭娱乐系统中不可或缺的关键设备。它作为连接电视机与外部信号源的桥梁,能够将接收到的数字电视信号转换成适合电视播放的格式,极大地丰富了用户的视听体验。

机顶盒的起源可追溯至20世纪90年代初,最初是为了解决有线电视收视费问题而设计的解扰设备。随着数字电视技术的发展,机顶盒的功能不断扩展,现已成为集数字信号接收、解码、显示以及多种增值服务于一体的智能终端。

从技术层面看,机顶盒支持多种信号源,包括有线电缆、卫星天线、宽带网络及地面广播等。它不仅能够接收高清、超高清电视节目,还能提供电子节目指南(EPG)、因特网网页浏览、视频点播、游戏等多元化服务。此外,一些先进的机顶盒还集成了智能语音助手、云计算和边缘计算技术,实现了更为便捷、智能的用户交互和内容分发。

在内容创新方面,机顶盒通过与各大内容提供商合作,不断引入优质资源,如电影、电视剧、综艺节目等,并根据用户偏好提供个性化推荐服务。同时,其跨平台整合能力也使得用户可以在不同设备间无缝切换,享受高质量的视频内容。

综上所述,机顶盒作为数字电视技术的核心组成部分,以其强大的功能、丰富的内容和便捷的操作体验,成为了现代家庭娱乐的重要选择。随着技术的不断进步和市场的持续扩大,机顶盒将继续发展,为用户带来更加优质、便捷、智能的观影体验。

艾谱科(Epticore)公司的发展小趣事

艾谱科公司始终将产品质量放在首位。公司建立了严格的质量管理体系,从原材料采购到生产制造的每一个环节都进行严格的质量控制。同时,艾谱科还注重售后服务,为客户提供全方位的技术支持和解决方案。这种对品质的执着追求,赢得了客户的信任和好评,也为公司的长期发展提供了有力保障。

Gamewell-FCI ( Honeywell )公司的发展小趣事

艾谱科公司始终将产品质量放在首位。公司建立了严格的质量管理体系,从原材料采购到生产制造的每一个环节都进行严格的质量控制。同时,艾谱科还注重售后服务,为客户提供全方位的技术支持和解决方案。这种对品质的执着追求,赢得了客户的信任和好评,也为公司的长期发展提供了有力保障。

Genisco Electronics公司的发展小趣事
对互投电路中的设备进行定期检查和维护,确保其处于良好状态。
Compact公司的发展小趣事

在快速发展的过程中,Compact公司始终注重品牌建设和文化传承。公司通过不断提升产品质量和服务水平,树立了良好的品牌形象。同时,公司还注重培养员工的归属感和忠诚度,形成了独特的企业文化。这种文化传承不仅为公司的发展提供了强大的精神动力,还使公司在激烈的市场竞争中保持了独特的竞争力。

Astro Industries Inc公司的发展小趣事

Astro Industries Inc的创始人在电子行业拥有丰富的经验,他们看到了市场对于高性能电子产品的迫切需求。于是,公司从创立之初就专注于技术创新,投入大量资源进行研发。经过不懈的努力,Astro Industries Inc成功推出了一款具有颠覆性的电子产品,其性能远超当时市场上的同类产品,迅速获得了市场的认可。

问答坊 | AI 解惑

直流电机PWM调速,C51、Proteus环境

分享一个利用AT89C51产生PWM信号控制直流电机调速的模拟模型。 软件环境:Keil C51,Proteus 已有文件:Keil C51工程文件,C51源文件,Proteus模型。已经产生的hex文件…

查看全部问答>

淘宝上卖的大赛小车成品资料,很有价值

本帖最后由 paulhyde 于 2014-9-15 09:10 编辑  …

查看全部问答>

传感器产业发展的新动向

传感器技术是现代科技的前沿技术,传感器产业也是国内外公认的具有发展前途的高技术产业,它以其技术含量高、经济效益好、渗透能力强、市场前景广等特点为世人瞩目。     我国自动化方面的专家呼吁:目前复杂系统越来越复杂,自动化已经 ...…

查看全部问答>

【Labview】labview学习网站有哪些

大家学习labview都在哪些网站和论坛上混啊?     本人常去的有两个,www.ni.com这是NI的网站,学习labview怎么能不上呢!     其次是www.gsdzone.net 这是我常去的Labview论坛,里面有资深NI工程师潜伏哦!…

查看全部问答>

初学ATmega128,有个数据存储的问题想请教各位大虾

在C51中,char xdata doc[19]=\"AT+CMGF=0\"; 我想请教一下各位大虾,在ATmega128中,这个语句应该怎样写呢? …

查看全部问答>

windows mobile 6.0 下ras拨号的问题

我在mobile5下使用ras函数RasDial拨号连接没有问题 同样的程序以及拨号配置在mobile 6下却无法拨号成功 不知道5跟6在这方面有什么不一样吗 有经验的大虾帮忙看看,谢谢!!!…

查看全部问答>

开关电源接上负载后出现的问题

请教各位大侠,开关电源在接上负载后电感会发出很刺耳的叫声是为什么?怎样杜绝这种声音…

查看全部问答>

2013年电子设计大赛是不是9月7号晚上结束后就不能在做了

本帖最后由 paulhyde 于 2014-9-15 03:13 编辑 同题目    …

查看全部问答>

IAR下如何调用驱动库??

本帖最后由 darkduck 于 2015-3-26 15:11 编辑     CCS下有430ware,很方便的使用驱动库。     在IAR的安装目录下搜了一下,在\\430\\examples\\driverlib找到了类似的驱动程序。     CCS中直接在编译设置的“In ...…

查看全部问答>