开发及功能验证
单片机开发
描述: 单片机是一种集成在电路 芯片,是采用超大规模集成电路 技术把具有数据处理能力的中央处理器CPU随机存储RAM、只读存储器ROM 、多种I/O口和中断系统、定时器/计时器 等功能(可能还包括显示驱动电路、脉宽调制 电路、模拟多路转换器、A/D转换器 等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
是通过软件编程、仿真、样板测试、硬件装配、系统软件硬件调试,直到产品满足需求为止的整个过程。
运算器和寄存器功能:
运算器的两种运算方式
1、算术运算:加、减、乘、除法的四种运算统称;
2、逻辑运算:四则运算、或、与、求反等。
运算器的主要功能
1、从内存中发出一条程序指令,并指向下一条指令所在的内存位置;
2、对程序指令进行译码和测试,从而产生相应的运行控制信号,来执行特定的动作;
3、控制整个CPU、输入/出和内存的所有数据指令程序。
寄存器功能
1、累加器:是使用最频繁的一个寄存器,是用于保存一个操作指令的暂存空间。通过运算好后,用于保存所得的结果;
2、数据寄存器:是通过数据总线向存储器进行输入/出设备的暂存空间。可以支持保存一条正在编译的指令,同时也可以预保存输送到数据寄存器的一个数据字节等;
3、指令寄存器:是用于保存当前正在执行的一条程序指令。每当执行一条程序指令时,先把它从内存中读取到数据寄存器后,再传送到指令寄存器中。
4、程序计数器:是用于确定下一条指令的地址,确保程序能够不间断地连续执行下去,所以也被称之为指令地址计数器。
5、地址寄存器:是用于保存当前CPU所需要访问的内存单元以及I/O设备的地址。不同的内存和CPU之间的速度也有一定的差异,所以必须要使用地址寄存器来保持地址信息,直到读/写操作步骤完成为止。
单片机开发技巧:
一、 如何提高C语言编程代码的效率
C语言是Combined Language的中英混合简称。是一种计算机程序设计语言。它既具有语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到的效率,熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率。各家的C编译器都会有一定的差异,故编译效率也会有所不同,的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是普遍的一种语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。
MCU(Micro Control Unit)中文名称为微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
二、 如何减少程序中的bug(漏洞)
对于如何减少程序的bug,系统运行中应考虑的超范围管理参数有:
1.物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或非正常回应进行出错处理。
2.资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。在程式设计中,对资源参数不允许超范围使用。
3.应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦写次数与资料存储时间等应用参数界限。
4.过程参数。指系统运行中的有序变化的参数。
三、如何解决单片机的抗干扰性问题
防止干扰有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。单片机干扰常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰重要的是处理好复位状态。一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。
四、 如何测试单片机系统的可靠性
当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:
1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。
2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。
3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。
4、ESD和EFT等测试。
Electro-Static discharge(ESD)的意思是“静电释放”。ESD是20世纪中期以来形成的以研究静电的产生、危害及静电防护等的学科。因此,国际上习惯将用于静电防护的器材统称为ESD,中文名称为静电阻抗器。
EFT,是“Electronic Funds Transfer”的缩写含义为“电子资金转账”。EFT是计算机在银行业务中得到应用后,银行利用计算机、终端机、电子信息网络等电子通讯设备建立的高速划拨资金的电子支付系统。
可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。
还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。