0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详细解析编写单片机应用程序的7大步骤

MCU开发加油站 2017-12-25 15:41 次阅读

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

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

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

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

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

3、准备编程资料

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

4、人机界面的编程

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

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

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

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

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

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

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

6、开始编码

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

7、程序调试

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5998

    文章

    43950

    浏览量

    620590

原文标题:编写单片机应用程序的步骤

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    编制单片机应用程序步骤和难点

    如何编写单片机应用程序,这是一个实践性很强的题目,也是1项艰苦而细致的工作。如果按照一定的步骤并且找出难点,事先对这些难点加以处理,能够收到事半功倍的效果。下面根据
    发表于 12-28 10:13 3622次阅读
    编制<b class='flag-5'>单片机</b><b class='flag-5'>应用程序</b>的<b class='flag-5'>步骤</b>和难点

    单片机开发案例分析与详细解析

    本案例分析包括密码锁、定时器、交通灯等地案例制作分析,附有大量的源程序,大家可以在学习的时候,自己动手去操作。单片机开发案例分析与详细解析
    发表于 11-29 15:11

    编制单片机应用程序步骤和难点

    、运行到光标处等基本方法,一般掌握这几种基本方法就可以解决绝大部分问题。经过长时间的调试实践之后自然就可以掌握一定的调试技巧,即熟能生巧。3结束语以上是编程一般单片机程序必须经过的7大步骤
    发表于 12-22 14:36

    吴鉴鹰单片机项目详细解析系列(连载)之基于单片机的.....

    的具体的方法和软硬件,提供详细的硬件原理图和软件程序,欢迎大家来畅所欲言! 温馨提示:点击相关标题下面的链接即可到相关的项目目录:1.吴鉴鹰单片机项目详细
    发表于 03-27 22:07

    学习单片机8大步骤 (出处: 中国电子技术论坛)

    学习单片机8大步骤https://bbs.elecfans.com/jishu_949279_1_1.html(出处: 中国电子技术论坛)
    发表于 11-15 09:20

    学习单片机的八大步骤

    学习单片机的八大步骤学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序
    发表于 04-16 17:03

    学习单片机的八大步骤

    学习单片机的八大步骤    学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的
    发表于 09-07 12:07

    编写单片机应用程序步骤有哪些?

    接到一个单片机项目设计文件之后,并不是马上动手编写程序,而是仔细研究用户提出的技术要求或者技术说明,根据这些技术要求和技术说明,也就是客户要求,把程序应该具备的主要功能写清楚,写仔细,这是最关键的工作。
    发表于 10-24 06:45

    学习单片机步骤

    学习单片机必备的八大步骤
    发表于 02-01 06:30

    单片机的C语言应用程序设计

    单片机的C语言应用程序设计 2.ppt(6) C语言中的库文件提供许多标准的例程,例如格式化输出、数据转换和浮点运算等。 (7) 通过C语言可实现模块化编程技术,从而可将已编制好的程序
    发表于 07-14 08:18

    C语言编写单片机应用程序

    89C51单片机C语言编程课件教案.ppt第三章 单片机C语言程序设计; C语言编写单片机应用程序
    发表于 07-15 06:12

    学习单片机不可欠缺的八大步骤

    学习单片机不可欠缺的八大步骤
    发表于 01-12 21:52 15次下载

    基于单片机应用程序编写的七大步骤分享

    接到一个单片机项目设计文件之后,并不是马上动手编写程序,而是仔细研究用户提出的技术要求或者技术说明,根据这些技术要求和技术说明,也就是客户要求,把程序应该具备的主要功能写清楚,写仔细,这是最关键的工作。
    发表于 10-25 15:37 3833次阅读

    使用单片机编写的音乐程序

    本文档的主要内容详细介绍的是使用单片机编写的音乐程序
    的头像 发表于 01-21 12:18 5432次阅读
    使用<b class='flag-5'>单片机</b><b class='flag-5'>编写</b>的音乐<b class='flag-5'>程序</b>

    单片机程序如何编写

    设计编写单片机程序是一个渐进的过程不可一蹴而就,毕竟单片机程序是与硬件有密切关系的,我们一般称为单片机
    的头像 发表于 02-12 14:38 3.7w次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>程序</b>如何<b class='flag-5'>编写</b>