1、搞清楚功用、编制计划。
接到一个单片机项目规划文件之后,并不是立刻着手编写程序,而是细心研讨用户提出的技术要求或许技术阐明,依据这些技术要求和技术阐明,也便是客户要求,把程序应该具有的首要功用写清楚,写细心,这是最要害的作业。如不清楚,应向客户和运用者问清楚,否则在规划完结今后会发现有些功用由于事前没有考虑清楚再从头规划将会很费事,或许有些需求从头添加的功用很简略弥补,而有些或许由于没有事前考虑周全而无法完结。
2、编制总流程图和各功用模块的流程图
依据要完结的程序功用写出总流程图,依据总流程图把整个程序区别红几个首要的功用模块,每个功用模块都要写出根本流程图,这首要是为今后的程序编写起到一个辅导作用。当然,在实践的程序编写进程中必定会有一些改动,1个根本的流程会辅导您在写程序的进程中不会呈现太大的误差。例如,编写键盘扫描而且区别是功用键仍是数字键的子程序,假如是功用键就转相应的功用处理程序;假如是数字键就在相应的数码管上显现出来;能够写出其流程图。
软件层次的区别。一般分为应用层、功用层、硬件隔离层、硬件驱动层。
3、预备编程材料
这些材料首要是编程言语方面的书本、杂志等。由于程序言语的有些材料任何编程人员都不或许记住太清楚,如每条指令的意义,具体操作每条指令所牵涉的硬件电路等。假如材料预备得比较充沛,能够放在案边,若有需求,随手查阅
4、人机界面的编程
用单片机完结的项目人机界面相对简略。若为LED显现,应依据LED的位数选取简略、明燎、用户一看便知的提示符;显现的数据位数应充沛考虑用户提出的技术要求。
5、剖析编程的难点和技术处理计划
即便1个娴熟的编程人员,编程进程中会遇到一些困难。为了能比较顺利地完结程序规划,应依据程序所完结的功用和程序流程对整个程序的结构剖析一下,并依据自己把握的技术定位整个程序的难点,然后找到最佳的算法。例如关于略微大一点的项目,键盘扫描和显现部分的程序编制应该是单片机编程的难点。
(1)无论是键盘扫描仍是显现进程都和硬件部分休戚相关
送片选信号选取键盘就必须搞清单片机芯片是高电平选通仍是低电平选通;选通键盘后,还需求读回键盘的状况。对读回的键盘状况还要进行防抖处理;若键盘颤动,抛弃读回的数据,从头读键盘状况;若确定为键盘按下,才能对按键值进行处理;处理后的键值送显现或作为其它运用。由此可知以上的每一进程都和硬件电路打交道。
(2)键盘扫描和显现牵涉到的算法比较复杂
由于扫描键盘的进程便是遍历每个按键,辨认颤动,辨认按键是否松开等进程;除此之外还要推迟适宜的时刻,以便再次读取键值。显现进程也要遍历每个数码管或液晶字符;其间查表进程,送显现进程都要用到比较复杂的循环遍历算法。
(3)数字键和功用键的区别
是数字键就送显现,是功用键就转相应的功用子程序,把两者结合起来就构成比较复杂的散转程序。MCS51单片机有现成的散转子程序可供参看,PIC能够参照MCS51的散转子程序套用。
以上3点都是单片机编程的难点部分,在编程之前都应该找出来细心剖析。通过剖析,将一切或许成为难点之处都逐个找出并找出相应的算法,在今后的程序编写进程中也相应地比较顺利。
6、开端编码
在上面的预备作业完结后,就能够着手编写程序。由于有了清晰的程序流程,有了足够的材料,或许遇到的难点根本上找到了处理办法;这样,事前预备得比较充沛,即便在今后的程序编写进程中遇到困难,也较易处理。这样就能够节约许多时刻,以便静下心来仔细依照计划和流程编写程序。别的,一般写完1个功用程序就进行调试,经往后再编写别的1个功用代码,这样能够避免悉数代码编写结束后再调试或许带来的相互影响,然后能够搞清楚到底是哪部分程序有问题。
单片机程序架构详解篇.pdf浅谈单片机应用程序架构.txt
7、程序调试
程序的调试进程是1个比较复杂的进程,有些需求高度的技巧和必定的办法。一般的编程软件都供给单步、单步跳过、断点、运转到光标处等根本办法,一般把握这几种根本办法就能够处理绝大部分问题。通过长时刻的调试实践之后天然就能够把握必定的调试技巧,即游刃有余。