常用单片机简介
点击浏览芯片信息
点击浏览芯片信息
点击浏览芯片信息
当前位置>>中源单片机首页>>INTEL公司单片机     设为首页  加入收藏  
TOP853编程器
TOP853编程器简介
    TOP853型编程器具有体积小巧,功耗低,可靠性高的特点,是专为开发51系列单片机和烧写各类存储器而设计的通用机型。

    TOp853采用USB通用串行口与PC机连接通信,传输速率高,抗干扰性能好,可靠性极高,切无需外接电源,特别适合电池供电的笔记本电脑外出使用。

集成开发环境和单片机开发(一)
深圳市凌雁电子有限公司

    [3].软件设计

     系统资源

    在单片机应用系统的开发中,软件的设计是最复杂和困难的,大部分情况下工作量都较大,特别是对那些控制系统比较复杂的情况。如果是机电一体化的设计人员,往往需要同时考虑单片机的软硬件资源分配。软件设计一般可按如下步骤进行,设计流程图可口参见图2。

    在考虑一个应用工程项目时就需先分析该系统完成的任务,明确软硬件个承担哪些工作,有时,实际上这种情况很多,就是一些任务可用软件完成,也可以用硬件构成,还需考虑采用软件或硬件它们优势,一般均以最优的方案为首选。象虚定义各输入/输出(I/O)的功能、数据的传输交换形式、与外部设备接口及它们的地址分配、程序存储器和数据存储器的使用区域、主程序子程序使用的空间、显示(如有的话)等数据暂存区的选择、堆栈区的开辟等等因素。

接口电路
     程序结构

    一个优秀的单片机程序设计人员,设计的软件程序结构是合理、紧凑和高效的。同一种任务,有时用主程序完成是合理的,但有时需子程序执行效率最高,占用CPU资源最少。一些要求不高的中断任务或单片机的速度足够高,可以使用程序扫描查询也可以用中断申请执行,这也要具体的问题具体分析。对于多中断系统,但它们存在矛盾时,需区分轻重缓急,主要和次要的区别对待。并适当地授权予不同的中断优先级别。

    在单片机的软件设计中,任务可能也很多,程序量很大,是否意味着程序也按部就班从头到尾编写下去呢?答案是否定的,在这种情况下一般都需把程序分成若干个功能独立的模块,这也是软件设计中常用的方法,这也即俗称的“化整为零”的方法。理论和实践都证明,这种方法是行之有效的。这样可以分阶段地对单个模块进行设计和调试,一般情况下单个模块利用仿真工具即可将它们调试好,最后再将它们有机的联系起来,构成一个完整的控制程序,并对它们进行联合调试即可。

    对于复杂的多任务实时控制系统,要处理的数据就非常庞大,同时又要求对多个控制对象进行实时控制,要求对各控制对象的实时数据进行快速的处理和响应,这对系统的实时性、“并行性”提出了更高的要求。这种情况下一般要求采用实在时地任务操作系统,并要求这个系统具备优良的实时控制能力。

     数学模型

    一个控制系统的研制,明确了它们需完成的任务,那么摆在设计人员面前的就是一堆需要协调解决的问题了,这是设计人员必须进一步分析各输入输出变量的数学关系,也即建立数学模型,这个步骤对一般较复杂的控制系统是必不可少的,而且不同的控制系统,它们的数学模型也不尽相同。

    在很多控制系统中都需要对外部的数据进行采集取样、处理加工、补偿校正和控制输出。外部数据可能是数字量也可能是模拟量,对于模拟量的输入,则通过传感器件进行采样,由单片机进行分析处理后输出,输出的方式很多,可以显示、打印或终端控制,从模拟量的采样到输出的诸多环节,这些信号都可能会“失真”——即产生非线性误差,这些都需要单片机进行补偿、校正和预加重,才能保证输出量达到我们所要求的误差范围。

    现阶段8位单片机仍是主流,对于复杂参数的计算,例如非线性数据、对数、指数、三角函数、微积分运算,如使用PC机(32位)的软件编程相对简单,并且具有大量的应用软件可利用。但单片机要用汇编语言完成这样的运算,程序结构是很复杂的,程序编写也较困难,甚至难以建立数学模型,解决这个问题,常用的方法多半采用查表法实现之。查表法即事先将测试和计算的数据按一定规律编制成表格,并存于存储器中,CPU根据被测参数值和近似值查出最终所需的结果。查表法是一种行之有效的方法,它可对输入参数进行补偿校正,计算和转换。程序编制简单,将复杂的数值运算简化为简单的数据输出的好办法,常被设计人员采用。

    值得一提的是,现行的单片机,大多数的单片机都具有查表指令,这给软件设计提供了技术条件。

     程序流程

    较复杂的控制系统一般都需要绘制一份程序流程图,可以这样说它是程序编制的纲领性文件,可以有效地知道程序的编写。当然,程序设计伊始,流程图不可能尽善尽美,在编制过程中仍需进行修改和完善,认真地绘制程序流程图,可以起到事倍功半的效果。
设计程序流程

    流程图就是根据系统功能的要求及操作过程,列出主要的各功能模块,复杂程序程序流向多变,需要在初始化时设置各种标志,程序根据重些标志控制程序的流向。当系统中各功能模块的状态改变时,只须修改相应的标志即可,无须具体地管理状态变化对其他模块的影响,这些需要在绘制流程图时,清晰地标识出程序流程中各标志的功能。

     编制程序

    上述的工作做好了,就可以开始编制程序了,程序编写时,首先需对用到的参数进行定义,和标号的定义一样,使用的字符必须易于理解,可以使用英文单词和汉语拼音的缩写形式,这对今后自己的辨读和排错都是有好处的。然后初始化各特殊功能寄存器的状态,中断口的地址区定义,数据存储区的安排,根据系统的具体情况,估算中断、子程序的使用情况,预留出堆栈区,和需要的数据缓存区,接下来就开始编写程序了。

    现在的单片机程序还是以汇编语言为主,因为它以简洁、直观、紧凑仍被设计人员乐于接受。高级语言(如C语言)也在单片机设计中发挥越来越重要的角色,性能也越来越好,但不管是使用何种语言,最终还是需要汇编成机器语言,调试正常后,通过烧录器固化到单片机或ROM中。至此,程序编写即告完成。



 [上一页]