编写单片机应用程序的步骤

发布者:龙爱泉也最新更新时间:2017-11-20 来源: eefocus关键字:编写单片机  应用程序 手机看文章 扫描二维码
随时随地手机看文章

1、搞清楚功能、编制方案。

   接到一个单片机项目设计文件之后,并不是马上动手编写程序,而是仔细研究用户提出的技术要求或者技术说明,根据这些技术要求和技术说明,也就是客户要求,把程序应该具备的主要功能写清楚,写仔细,这是最关键的工作。如不清楚,应向客户和使用者问清楚,否则在设计完成以后会发现有些功能由于事先没有考虑清楚再重新设计将会很麻烦,可能有些需要重新增加的功能很容易补充,而有些可能由于没有事先考虑周全而无法实现。

2、编制总流程图和各功能模块的流程图

   根据要完成的程序功能写出总流程图,根据总流程图把整个程序划分成几个主要的功能模块,每个功能模块都要写出基本流程图,这主要是为以后的程序编写起到一个指导作用。当然,在实际的程序编写过程中肯定会有一些改动,1个基本的流程会指导您在写程序的过程中不会出现太大的偏差。例如,编写键盘扫描并且区分是功能键还是数字键的子程序,如果是功能键就转相应的功能处理程序;如果是数字键就在相应的数码管上显示出来;可以写出其流程图。

软件层次的划分。一般分为应用层、功能层、硬件隔离层、硬件驱动层。

3、准备编程资料

  这些资料主要是编程语言方面的书籍、杂志等。因为程序语言的有些资料任何编程人员都不可能记得太清楚,如每条指令的含义,具体操作每条指令所牵涉的硬件电路等。如果资料准备得比较充分,可以放在案边,若有需要,顺手查阅

4、人机界面的编程

  用单片机实现的项目人机界面相对简单。若为LED显示,应根据LED的位数选取简单、明燎、用户一看便知的提示符;显示的数据位数应充分考虑用户提出的技术要求。

5、分析编程的难点和技术解决方案

  即使1个熟练的编程人员,编程过程中会遇到一些困难。为了能比较顺利地完成程序设计,应根据程序所完成的功能和程序流程对整个程序的框架分析一下,并根据自己掌握的技能定位整个程序的难点,然后找到最佳的算法。例如对于稍微大一点的项目,键盘扫描和显示部分的程序编制应该是单片机编程的难点。

(1)无论是键盘扫描还是显示过程都和硬件部分息息相关

送片选信号选取键盘就必须搞清单片机芯片是高电平选通还是低电平选通;选通键盘后,还需要读回键盘的状态。对读回的键盘状态还要进行防抖处理;若键盘抖动,放弃读回的数据,重新读键盘状态;若确定为键盘按下,才能对按键值进行处理;处理后的键值送显示或作为其它使用。由此可知以上的每一过程都和硬件电路打交道。

(2)键盘扫描和显示牵涉到的算法比较复杂

  因为扫描键盘的过程就是遍历每个按键,识别抖动,识别按键是否松开等过程;除此之外还要延迟合适的时间,以便再次读取键值。显示过程也要遍历每个数码管或液晶字符;其中查表过程,送显示过程都要用到比较复杂的循环遍历算法。

(3)数字键和功能键的区分

是数字键就送显示,是功能键就转相应的功能子程序,把两者结合起来就构成比较复杂的散转程序。MCS51单片机有现成的散转子程序可供参阅,PIC可以参照MCS51的散转子程序套用。

以上3点都是单片机编程的难点部分,在编程之前都应该找出来仔细分析。通过分析,将所有可能成为难点之处都一一找出并找出相应的算法,在以后的程序编写过程中也相应地比较顺利。

6、开始编码

  在上面的准备工作完成后,就可以着手编写程序。因为有了明确的程序流程,有了充足的资料,可能遇到的难点基本上找到了解决方法;这样,事先准备得比较充分,即使在以后的程序编写过程中遇到困难,也较易解决。这样就可以节省很多时间,以便静下心来认真按照方案和流程编写程序。另外,一般写完1个功能程序就进行调试,通过后再编写另外1个功能代码,这样可以防止全部代码编写完毕后再调试可能带来的相互影响,从而可以搞清楚到底是哪部分程序有问题。

单片机程序架构详解篇.pdf      浅谈单片机应用程序架构.txt 

7、程序调试

  程序的调试过程是1个比较复杂的过程,有些需要高度的技巧和一定的方法。一般的编程软件都提供单步、单步越过、断点、运行到光标处等基本方法,一般掌握这几种基本方法就可以解决绝大部分问题。经过长时间的调试实践之后自然就可以掌握一定的调试技巧,即熟能生巧。


关键字:编写单片机  应用程序 引用地址:编写单片机应用程序的步骤

上一篇:单片机C语言模块化编程方法
下一篇:如何提高单片机系统的抗干扰能力

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

基于PCI 总线的DSP 系统应用程序的更新
  0 引言   在DSP嵌入式业务系统设备中,一般采用片外FLASH自举方式来实现DSP端应用程序的加载和启动。当DSP业务系统需要更新应用程序时,则可通过仿真器连接JTAG 口来控制DSP,完成DSP 外围FLASH 的应用程序更新。然而,对于成型、交货的设备产品,DSP业务系统板上一般不会留有JTAG口,或在机箱中很难插拔仿真器;另一方面,对已交货产品经常插拔仿真器,会对硬件设备有所损伤,使设备硬件处于非控状态。   如果系统设计使用了PCI作为系统通信总线,则可以通过PCI来完成DSP 业务系统应用程序的更新和加载。本设计以TI公司TMS320C6416T(简称C6416)芯片为例,来说明通过PCI总线来更新DSP
[嵌入式]
6万款应用程序遭苹果下架 律所召集开发者声讨苹果
    苹果公司又要被起诉了。近日,北京一家名为达晓的律师事务所对外召集遭苹果应用商店下架者,声讨苹果公司。   苹果应用商店是一个由苹果公司为iPhone用户和iPod touch用户创建的服务,于2008年7月正式上线。据苹果官方数据显示,App Store应用程序已超200万款,累计下载量超过1400亿次。   值得注意的是,在移动应用发展如此繁荣的背后,是苹果公司严格的监管体系,每月都有大量的应用程序被苹果应用商店以各种缘由下架。应用程序的突然下架给企业带来了巨大的损失。   App屡遭下架   法律手段维护权益   根据国内App Store排名优化服务平台ASO100相关资料显示,扰乱App Store秩序、涉及敏感内
[手机便携]
休眠的嵌入式操作系统启动自动运行目标脚本和应用程序
  本文介绍了一种新方法,实现了基于休眠的嵌入式操作系统启动后,可自动运行任何形式的目标脚本和应用程序。为了提高系统的启动速度,通常采用基于休眠技术的方式来实现嵌入式系统的快速启动 。例如,在一些数字电视中,采用休眠技术以后的启动时间要比原来的启动时间约快1/3 。但基于休眠技术的启动方法有其不足之处:在保存内存内容时只能把内存中的信息以快照的形式保存到磁盘或其他外部存储设备,原来系统内某些正在运行的动态进程及进程本身的执行过程不能被完全保存下来,从而导致系统重新启动后此部分进程不能正常运行;基于休眠技术的启动方式一旦以快照的形式保存后其里面的内容将无法改动。   1 休眠唤醒后程序自动运行的方法   最新的Lin
[单片机]
休眠的嵌入式操作系统启动自动运行目标脚本和<font color='red'>应用程序</font>
告诉你怎么编写一个最简单的单片机程序
在汇编语言中,让某个端口输出高电平或低电平都有专用的语句,以P1.0端口为例: 让该端口输出高电平的语句是: SETB P1.0 让该端口输出低电平的语句是: CLR P1.0 好了,现在我们将小灯接在单片机的P1.0端口上,如下图所示: 由上图可知,当端口P1.0输出高电平时,小灯D不亮,因为小灯中不会有电流通过;当端口P1.0输出低电平时,小灯就亮,因为此时小灯中有电流通过。 要让小灯亮一会儿、灭一会儿,还必须要有一个延时的程序,下面就是让小灯亮一会儿、灭一会儿,交替闪烁的程序: MAIN:;程序开始 SETB P1.0;让P1.0输出高电平 LCALL DELAY;这一行是调用延时子程序 ;目的是让P1.0保持高电平
[单片机]
告诉你怎么<font color='red'>编写</font>一个最简单的<font color='red'>单片机</font>程序
浅谈Win CE应用程序的可移植性
  由于桌面Windows绝大多数情况下运行于X86平台上,也就不存在不同平台的可移植性问题。然而Windows CE运行在四大架构(X86,SHx,MIPS,ARM)的CPU上,编写应用程序时就需要考虑它的移植。                以下通过在wince系统下访问物理地址,来看看如何编写可移植性较好的应用程序。                首先必须明确两个概念。                1. 在X86平台下才有I/O地址这一说,在其他体系的CPU(如ARM/MIPS)下是没有I/O端口的。因为X86下把I/O和存储器分开编址,导致其有两种地址;而别的CPU是把两者统一编址,即把I/O映射到存储器上。
[嵌入式]
采取主动安全计划 加强应用程序安全性
应对应用程序安全问题不仅是在漏洞被利用后采取的响应措施,更重要的是,有专门负责安全的决策者或团队积极协调内部有关人员贯彻预防性、主动的安全计划。 首席信息安全官(CISO)在软件安全方面发挥着关键作用。每家企业都需要一位有权对数据和软件组合进行治理的人员,并且他有明确的执行计划,这样有助于针对企业风险进行探讨。 IT和软件工程企业可能需要创建基础架构、设置访问控制、创建自定义应用程序以及配置环境以抵御攻击和保护数据。但是他们要怎么确定 “安全”意味着什么?如何做到安全?以及他们是否在实现安全?这些都是未知数。 “如何保障安全”的标杆必须来自代表业务的人,CISO是一个很好的选择。找到合适的人并为了他们的成功创造条件是
[物联网]
采取主动安全计划 加强<font color='red'>应用程序</font>安全性
赛灵思针对iPhone 推出便携功耗估算器应用程序
2011 年 9 月 29 日,中国北京 –全球可编程平台领导厂商赛灵思公司 (Xilinx, Inc. (NASDAQ:XLNX) )今天针对 iPhone 推出便携功耗估算器 (Pocket Power Estimator,PPE) 应用程序。对于那些将 iPhone 视为与电脑同等重要的办公工具的设计人员来说,现在有了一个更为快速简便的方法来判断赛灵思28nm 7 系列现场可编程门阵列 (FPGA) 的功耗。为苹果 iPhone 量身定制的新型便携功耗估算器 (PPE) 应用程序可以让设计人员随时查看赛灵思28nm 可编程平台如何在实现系统最低功耗方面全面超越其它竞争产品。设计人员即日起即可从苹果应用商店(Apple App
[手机便携]
应用笔记|如何让STM32WB在没有LSE时运行BLE应用程序
本文档描述如何让STM32WB在没有LSE时运行BLE应用程序所需的流程和步骤。LSE 可作为 STM32WB RF Wakeup 和 RTC 的时钟源。STM32WB RF Wakeup 和 RTC 的时钟源可配置为 LSE,LSE 时钟相对比较稳定且准确,不需要校准,而且 LSE 可在所有的低功耗模式下保持工作。 目录预览 1 为什么 STM32WB BLE 应用需要 LSE ?2 在需要 BLE 使能时,什么情况下可考虑不使用 LSE?3 如何配置 HSE 作为 RF Wakeup 和 RTC 的时钟源? 为什么 STM32WB BLE 应用需要 LSE ? 首先LSE 可作为 STM32WB RF Wakeup
[单片机]
应用笔记|如何让STM32WB在没有LSE时运行BLE<font color='red'>应用程序</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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