1前言
如何编写单片机应用程序,这是一个实践性很强的题目,也是1项艰苦而细致的工作。如果按照一定的步骤并且找出难点,事先对这些难点加以处理,能够收到事半功倍的效果。下面根据实际工作中的经验,谈谈实际开发中必经的几个步骤和可能遇到的难点的处理。对于1个单片机应用程序,其编制过程如图1所示。
2编制步骤
2.1搞清功能和编写方案
接到一个单片机项目设计文件之后,并不是马上动手编写程序,而是仔细研究用户提出的技术要求或者技术说明,根据这些技术要求和技术说明,也就是客户要求,把程序应该具备的主要功能写清楚,写仔细,这是最关键的工作。如不清楚,应向客户和使用者问清楚,否则在设计完成以后会发现有些功能由于事先没有考虑清楚再重新设计将会很麻烦,可能有些需要重新增加的功能很容易补充,而有些可能由于没有事先考虑周全而无法实现。
2.2编写总流程图和各功能模块流程图
根据要完成的程序功能写出总流程图,根据总流程图把整个程序划分成几个主要的功能模块,每个功能模块都要写出基本流程图,这主要是为以后的程序编写起到一个指导作用。当然,在实际的程序编写过程中肯定会有一些改动,1个基本的流程会指导您在写程序的过程中不会出现太大的偏差。例如,编写键盘扫描并且区分是功能键还是数字键的子程序,如果是功能键就转相应的功能处理程序;如果是数字键就在相应的数码管上显示出来;可以写出其流程图,如图2所示。
[page]
2.3准备编程所需的资料
这些资料主要是编程语言方面的书籍、杂志等。因为程序语言的有些资料任何编程人员都不可能记得太清楚,如每条指令的含义,具体操作每条指令所牵涉的硬件电路等。如果资料准备得比较充分,可以放在案边,若有需要,顺手查阅。
2.4人机界面的编程
用单片机实现的项目人机界面相对简单。若为LED显示,应根据LED的位数选取简单、明燎、用户一看便知的提示符;显示的数据位数应充分考虑用户提出的技术要求。
2.5分析编程的难点和技术解决方案
即使1个熟练的编程人员,编程过程中会遇到一些困难。为了能比较顺利地完成程序设计,应根据程序所完成的功能和程序流程对整个程序的框架分析一下,并根据自己掌握的技能定位整个程序的难点,然后找到最佳的算法。例如对于稍微大一点的项目,键盘扫描和显示部分的程序编制应该是单片机编程的难点。
(1)无论是键盘扫描还是显示过程都和硬件部分息息相关
送片选信号选取键盘就必须搞清单片机芯片是高电平选通还是低电平选通;选通键盘后,还需要读回键盘的状态。对读回的键盘状态还要进行防抖处理;若键盘抖动,放弃读回的数据,重新读键盘状态;若确定为键盘按下,才能对按键值进行处理;处理后的键值送显示或作为其它使用。由此可知以上的每一过程都和硬件电路打交道。
(2)键盘扫描和显示牵涉到的算法比较复杂
因为扫描键盘的过程就是遍历每个按键,识别抖动,识别按键是否松开等过程;除此之外还要延迟合适的时间,以便再次读取键值。显示过程也要遍历每个数码管或液晶字符;其中查表过程,送显示过程都要用到比较复杂的循环遍历算法。
(3)数字键和功能键的区分
是数字键就送显示,是功能键就转相应的功能子程序,把两者结合起来就构成比较复杂的散转程序。MCS51单片机有现成的散转子程序可供参阅,PIC可以参照MCS51的散转子程序套用。
以上3点都是单片机编程的难点部分,在编程之前都应该找出来仔细分析。通过分析,将所有可能成为难点之处都一一找出并找出相应的算法,在以后的程序编写过程中也相应地比较顺利。
2.6写程序
在上面的准备工作完成后,就可以着手编写程序。因为有了明确的程序流程,有了充足的资料,可能遇到的难点基本上找到了解决方法;这样,事先准备得比较充分,即使在以后的程序编写过程中遇到困难,也较易解决。这样就可以节省很多时间,以便静下心来认真按照方案和流程编写程序。另外,一般写完1个功能程序就进行调试,通过后再编写另外1个功能代码,这样可以防止全部代码编写完毕后再调试可能带来的相互影响,从而可以搞清楚到底是哪部分程序有问题。
2.7程序调试
程序的调试过程是1个比较复杂的过程,有些需要高度的技巧和一定的方法。一般的编程软件都提供单步、单步越过、断点、运行到光标处等基本方法,一般掌握这几种基本方法就可以解决绝大部分问题。经过长时间的调试实践之后自然就可以掌握一定的调试技巧,即熟能生巧。
3结束语
以上是编程一般单片机程序必须经过的7大步骤,假如这7个过程的工作做得比较充分,一定能够编写出令人满意的单片机程序。
关键字:编制单片机 流程图 人机界面
引用地址:
编制单片机应用程序的步骤和难点
推荐阅读最新更新时间:2024-03-16 12:53
ST开启人机互动感测新篇章,加速扩展新一代传感器
意法半导体(ST)为拓展消费与便携电子产品的市场领先地位并加强对国内客户的支持,特举办“2009意法半导体传感器应用解决方案研讨会”,针对消费类电子、电脑、便携式设备、汽车电子以及医疗电子等应用市场,探讨新一代传感器解决方案技术和应用开发进程。此次巡回研讨会从2009年11月12日在台北揭开序幕,11月18日、20日及24日分别在北京、上海及深圳举行。
意法半导体大中华区模拟、功率及传感器事业部总监保罗尔先生表示:“凭借最先进、完整的传感器产品组合,意法半导体已在传感器领域占有重要市场份额,在消费类电子产品及手机用MEMS市场中更居龙头地位。未来,我们更将携MEMS市场的成功经验,积极研发更符合市场需求的前沿传感器技
[工业控制]
基于事件一目标驱动的人机界面设计
引 言 人机界面(human-computer interface),又称用户界面、人机交互、人机接口等,是人与机器之间传递、交换信息的媒介.是用户使用计算机系统的综合操作环境。在商品竞争中,一个应用系统的成功与否在某种程度上也取决于用户使用界面的感受好坏,因此,人机界面的设计在应用系统的设计中有着重要的作用。嵌入式系统强调人机界面操作的实时性,简单化,强调在特定平台上特定应用的时间空间效率。在传统的小系统设计中。程序设计一般采用前后台工作方式。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,时间相关性很强的关键操作(crltical operation)是靠中断服务来保证的。因为中断服务提供的信息一直要等到后台
[嵌入式]
接近手势操作检测在汽车人机界面领域的应用
电容式接近传感器普遍用于检测传感器近距离处是否存在用户。通过检测,当感应到有用户存在后,我们即可选择背光发光来凸显特定按钮,或者将系统从低功耗运行模式下唤醒。具体就汽车应用而言,当电容式接近传感器感应到用户在车内时会打开车厢灯光,或激活无钥匙车门解锁系统。除了感应传感器附近是否存在用户之外,我们还能通过适当放置的多个接近传感器来识别空中的简单手势。所有传感器的数据能够结合在一起,从而映射出传感器邻近区域中用户的手势操作。这些手势可用来给系统提供输入信息,包括控制媒体播放机、进行地图导航或者浏览播放列表等。
我们可适当放置多个接近传感器,使其相互之间留出适当的距离。当手划过传感器时,每个传感器检测到手部动作的时间瞬间都不相同。不同
[嵌入式]
基于MSP430单片机的微功耗中文人机界面设计
在现代便携式智能仪器或手持设备中,中文人机界面成为一种事实上的行业标准。能显示汉字的图形点阵液晶和可输入数字的小键盘已成为智能设备必不可少的组成部分。同时作为便携式设备基本要求的低功耗特性也贯穿于中文人机界面的设计始终。 这种低功耗中文人机交互界面需要设计者在选取MCU和具体元器件上有特殊考虑。微功耗、小体积应作为选择相关器件的首要要求。 设计中,笔者采用MSP430F149单片机作为系统的MCU,通过选择合适的液晶显示模块在3V电平构建了一个低功耗的中文人机界面。此中文人机界面构成了微功耗数据采集系统的重要组成部分。 一、MSP430系列FLASH型单片机的微功耗特点 德州仪器公司(TI)推出的MSP43
[单片机]
基于Android操作系统实现车载人机界面应用程序的设计
提出了利用Google的Android作为车载虚拟仪表人机界面的软件开发平台。在Android系统框架上实现虚拟仪表的人机界面,阐述了如何对Android现有系统框架进行裁剪和调整,使系统更加符合车载虚拟仪表人机界面的要求,利用Android提供的组件设计虚拟仪表人机界面的各个功能逻辑模块,使得模块设计更加合理.模块之间的耦合性更小。设计了基于REAL210车载仪表人机界面,结果表明,基于Android的虚拟仪表人机界面功能更加丰富、操作更加友好、易于升级和维护,能较好地满足用户的需求。 车载虚拟仪表人机界面,是驾驶员获取汽车工况数据的主要界面,便于驾驶员实时全面地掌握汽车工作状态,有效地与汽车进行人机交互,对保障汽车安全稳定
[嵌入式]
一种人机界面组件组装方法的研究
随着计算机技术的发展,用户对计算机系统的要求越来越高,特别是人机交互系统。用户除了要求人机交互界面美观、使用方便、反应快捷外,还要求人机交互系统具有可靠性,抗故障能力以及可以动态配置等。 近年来人机界面设计方面问题受到了越来越多研究者的重视。在组件组装方面,王娇艳等人将组件建模方法应用于工程项目中,通过调用Creator的Plugin插件,结合底层的Open Flight API编程语言,从而实现了由模型组件重组新模型的功能,实现了非专业人员的二次建模,简化了建模过程。文献通过组装仿真应用系统,实现仿真模型组件的价值,通过组合具有可重用和互操作能力的仿真模型组件构了一个功能可定制和大小可伸缩的目标系统。文献 研究了
[嵌入式]
SYSGO合作Candera 为汽车人机界面解决方案提供设计工具
据外媒报道,德国信息技术公司SYSGO与Candera公司合作打造了一个全面的汽车平台,可以满足现代汽车IT架构的需求。该平台基于Candera的人机界面(HMI)设计工具CGI Studio和SYSGO的安全汽车网络连接平台(SACoP)打造,为数字化座舱等安全关键应用以及车辆信息娱乐系统等便利功能提供解决方案。该款车载架构通过安全且可扩展的网关得到保护,其中包括对LTE、以太网、Wi-fi和CAN等网络连接通道进行监视。 基于意法半导体的Telemaco3P处理器和瑞萨R-Car H3的结构(图片来源:SYSGO) 参考架构基于两块主板构建,一块是瑞萨电子的R-CAR H3主板,另一块是意法半导体的Telemac
[汽车电子]
人机界面设计指南全面解析
设计定义 随着人们从外部世界获得越来越多的信息,车辆 - 作为装备精良的高科技载体 - 必须有效地整合这种信息爆炸。人机界面(HMI)不仅是驾驶员与汽车本身之间的通信桥梁,而且也是驾驶员与外界之间的主要连接器。 与此同时,车载娱乐系统与个人移动信息终端之间的关系日益密切,iPhone和iPad在人们的日常生活中发挥着重要作用。它们的紧密结合将扩大驾驶员的人机体验。 如何设计HMI 设计过程 研究 驾驶是全世界最复杂的人类活动之一。驾驶员的行为受到周围环境(例如天气,道路状况,交通)的各种影响因素的影响 ; 和 司机本身(例如年龄,性格和驾驶习惯)。 不同的环境 驾驶场景
[汽车电子]