单片机应用系统软件设计应该考虑哪些事情?

发布者:数字梦想最新更新时间:2017-10-15 来源: eefocus关键字:单片机  系统软件设计 手机看文章 扫描二维码
随时随地手机看文章

(1)总体规划:软件所要完成的任务已在总体设计时规定,在具体软件设计时,要结合硬件结构,进一步明确软件所承担的一个个任务细节,确定具体实施的方法,合理分配资源。 
(2)程序设计技术:合理的软件结构是设计一个性能优良的单片机应用系统软件的基础。在程序设计中,应培养结构化程序设计风格,各功能程序实行模块化、子程序化。一般有以下两种设计方法: 
(a)模块程序设计:模块程序设计是单片机应用中常用的一种程序设计技术。它是把一个较长的程序分解为若干个功能相对独立的较小的程序模块,各个程序模块分别设计、编程和调试,最后由各个调试好的模块组成一个大的程序。其优点是单个功能明确的程序模块的设计和调试比较方便,容易完成,一个模块可以为多个程序所共享。其缺点是各个模块的连接有时有一定难度。 
(b)自顶向下的程序设计:自顶向下程序设计时,先从主程序开始设计,从属程序或子程序用符号来代替。主程序编好后再编制各从属程序和子程序,最后完成整个系统软件的设计。其优点是比较符合于人们的日常思维,设计、调试和连接同时按一个线索进行,程序错误可以较早的发现。缺点是上一级的程序错误将对整个程序产生影响,一处修改可能引起对整个程序的全面修改。 
(3)程序设计:在选择好软件结构和所采用的程序设计技术后,便可着手进行程序设计,将设计任务转化为具体的程序。 
(a)建立数学模型:根据设计任务,描述出各输入变量和各输出变量之间的数学关系,此过程即为建立数学模型。数学模型随系统任务的不同而不同,其正确度是系统性能好坏的决定性因素之一。 
(b)绘制程序流程图:通常在编写程序之前先绘制程序流程图,以提高软件设计的总体效率。程序流程图以简明直观的方式对任务进行描述,并很容易由此编写出程序,故对初学者来说尤为适用。 
在设计过程中,先画出简单的功能性流程图(粗框图),然后对功能流程图进行细化和具体化,对存储器、寄存器、标志位等工作单元作具体的分配和说明,将功能流程图中每一个粗框的操作转变为具体的存储器单元、工作寄存器或I/O口的操作,从而给出详细的程序流程图(细框图)。 
(c)程序的编制:在完成程序流程图设计以后,便可以编写程序。程序设计语言对程序设计的影响较大。汇编语言是最为常用的单片机程序语言,用汇编语言编写程序代码精简,直接面向硬件电路进行设计,速度快,但进行大量数据运算时,编写难度将大大增加,不易阅读和调试。在有大量数据运算时可采用C语言(如MCS-51的C51)或PL/M语言。 
编写程序时,应注意系统硬件资源的合理分配与使用,子程序的入/出口参数的设置与传递。采用合理的数据结构、控制算法,以满足系统要求的精度。在存储空间分配时,应将使用频率最高的数据缓冲器设在内部RAM;标志应设置在片内RAM位操作区(20H~2FH)中;指定用户堆栈区,栈区的大小应留有余量;余下部分作为数据缓冲区。 
在编写程序过程中,根据流程图逐条用符号指令来描述,即得汇编语言源程序。应按MCS-51汇编语言的标准符号和格式书写,在完成系统功能的同时应注意保证设计的可靠性,如数字滤波、软件陷阱、保护等。必要时可作若干功能性注释,提高程序的可读性。 
(4)软件装配:各程序模块编辑之后,需进行汇编或编译、调试,当满足设计要求后,将各程序模块按照软件结构设计的要求连接起来,即为软件装配,从而完成软件设计。在软件装配时,应注意软件接口。 

关键字:单片机  系统软件设计 引用地址:单片机应用系统软件设计应该考虑哪些事情?

上一篇:单片机应用系统软件设计的主要步骤和方法
下一篇:单片机应用系统硬件设计应该考虑哪些问题?

推荐阅读最新更新时间:2024-03-16 15:40

实现能效升级|基于ACM32 MCU的冰箱压缩机变频方案
概述 冰箱制冷系统中最重要的部件是压缩机。它从吸气管吸入低温低压的制冷剂气体,通过电机运转带动活塞对其进行压缩后,向排气管排出高温高压的制冷剂气体,为整个制冷循环提供源动力。这样就实现了压缩→冷凝→膨胀→蒸发 ( 吸热 ) 的制冷循环。一般来说,压缩机由壳体、电动机、缸体、活塞、控制设备 ( 启动器和热保护器 ) 及冷却系统组成。 与普通冰箱相比,变频冰箱最显著的优点是提高制冷效率、节约电力、节约能源。另外,在能快速冷却的同时,还能保持温度波动范围较小,从而达到较好的冷藏保湿效果。压缩机转速的精准控制,压缩机无需频繁启停,噪音更小更安静。本文讨论了基于上海航芯ACM32G103的冰箱压缩机变频方案。 ACM32G103系列
[嵌入式]
实现能效升级|基于ACM32 <font color='red'>MCU</font>的冰箱压缩机变频方案
6502单片机编程代码1
;;============================================================================== ;; Power On Reset Area ;;============================================================================== Reset: LDX #FFH TXS LDA #%01000000 STA R_IntFlags %WakeUpBran
[单片机]
单片机与TCP/IP网络
(一)绪言 单片机如何控制以太网网卡进行传输数据,如何加载TCP/IP协议连接到互联网,这些都是一些令人感兴趣的问题。 可以说以太网和TCP/IP协议已经成为使用最广泛的协议,而其它总线协议如RS485、RS232,CAN,LANWORKS,都只是一些局部系统的总线。 围绕以太网而制造的集线器,交换机已进入大小公司,企业,家庭。我现在在众达天网公司,由于公司是搞电脑防火墙的,所以对网络的接触也越来越多,我研究的主要是网络的底层,并掌握了很多网络分析工具如(SNIFFER),对以太网和TCP/IP协议的研究就更加深入了。 我比较熟悉的网卡是10M的网卡,100M的以太网卡还在研究之中。曾经用单片机(89C52)控制和驱动10M
[单片机]
<font color='red'>单片机</font>与TCP/IP网络
单片机控制4个8X8点阵拼接成的16X16的点阵滚动显示汉字
题目要求: 控制16X16大点阵滚动显示:中国加油! 仿真电路图: 仿真效果: 电路关键元件介绍: 74LS138: ================================================================ 引脚说明: A0~A2:地址输入端 STA(E1):选通端 /STB(/E2)、/STC(/E3):选通端(低电平有效) /Y0~/Y7:输出端(低电平有效) VCC:电源正 GND:地 ================================================================ 功能说明: ①当一个选通端(E1)为高电平,另两个选通端
[单片机]
<font color='red'>单片机</font>控制4个8X8点阵拼接成的16X16的点阵滚动显示汉字
PIC单片机控制数码管显示4*4矩阵键盘对应按键号
;使用C口作键盘扫描,7段数码管显示按键号 ,63系列通用寄存器地址:20~7FH, A0~FFH ,未达到预期目的,只用个位数显示按键号时正常工作,增加按键号转换(用2位数显示),则提示“STACK OVERFLOW --堆栈溢出.编译后机器码容量为1.3KB左右,未超过CALL跳转范围——1页(2K) 。 #include P16C63A.INC KEYCODE EQU H'0020' KEYNUM EQU H'0021' CC EQU H'0024' TABADD EQU H'0025' SW EQU H'0026' GW EQU H&#
[单片机]
MAX7219多片级联驱动点阵单片机程序编写经历
main.c #include reg52.h #include intrins.h #include Max7219.h uchar code laji ={ {0x18,0x24,0x42,0x42,0x7E,0x42,0x42,0x42},//A {0x7C,0x42,0x42,0x7C,0x42,0x42,0x42,0x7C},//B {0x3C,0x42,0x40,0x40,0x40,0x40,0x42,0x7C},//C {0x7C,0x42,0x42,0x42,0x42,0x42,0x42,0x7C},//D }; /*n毫秒的延时程序*/ /*void Delay_xms(uint x) { uint
[单片机]
MAX7219多片级联驱动点阵<font color='red'>单片机</font>程序编写经历
一种基于单片机的多功能电子称
1 引 言 物品称量是市场交易中很基本的活动,是商业领域最基本的衡具。传统的量具是杆称或盘称,20世纪70年代开始出现了电子称。早期的电子称多通过模拟电路实现,随着电子技术的不断发展,数字芯片的价格逐渐下降,模拟控制已逐步被数字控制所替代,电子称的设计模式也大都以微处理器为核心,使精度和可靠性都有了明显得提高。因为小型商用电子称对适时性要求不高,运算也不太复杂,所以用8位微处理器足可满足要求。荣秀玲、何毅、孙莹等人设计的电子称由于以 MSC-8031为核心,A/D转换用V/F方式,所选芯片为LM331,因为8031内部没有ROM,因此必须外扩 ,增加了电路的复杂度。凌有铸用8751为核心设计 ,A/D则是通过自行设计的双积分电
[单片机]
一种基于<font color='red'>单片机</font>的多功能电子称
如何才能使用CC2541蓝牙模块与单片机进行串口通信
一、CC2541器件概述 CC2541是一款针对低能耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可能。CC2541将领先RF收发器的出色性能和一个业界标准的增强型8051MCU、系统内可编程闪存存储器、8kBRAM和很多其它功能强大的特性和外设组合在一起。CC2541非常适合应用于需要超低能耗的系统。这由多种不同的运行模式指定。运行模式间较短的转换时间进一步使低能耗变为可能 二、CC2541芯片的特性参数 CC2541是一款针对蓝牙低能耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可
[单片机]
如何才能使用CC2541蓝牙模块与<font color='red'>单片机</font>进行串口通信
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved