基于微控制器的电子产品的制作方法及其控制方法
技术领域
本发明涉及基于微控制器的电子产品的相关技术领域,特别是一种基于微控制器的电子产品的制作方法及其控制方法。
背景技术
现在很多的电子产品都是基于微控制器(MCU)控制的,几乎每个电子产品厂家的同一个系列的产品往往具有风格各异的人机交互方式(包括按键、显示方式等),这样形成多种型号以满足不同用户的使用要求。
对于众多型号的产品,传统的做法是,给每个具体型号的电子产品单独开发一款软件。这必然要投入较多的软件工程师,进而增加了人力资源成本。因每款软件都要单独进行繁琐的测试,并要分别编码,不同机型的MCU也要分别烧写软件,这样也给软件测试,研发管理,生产管理带来了诸多不便。生产过程中往往容易出现疏漏,导致产品返工。
后来出现了另一种做法,同系列产品的主控MCU共用一个操控软件,但MCU须预留2~3路AD采样端口,不同机型配备不同的采样电阻,主控MCU通过读取AD值来识别不同机型。该方法较前一种方法有所改进,但是也明显的存在如下问题:首先是所选择的MCU必须有AD外设,另外给产线也增加了多余的工序。并且,电阻经长期使用或受电磁干扰时阻值会略有变化,给正确识别机型带来安全隐患。
发明内容
本发明的第一个发明目的,在于提供一种基于微控制器的电子产品的制作方法,以解决现有技术在生产基于微控制器的电子产品时,需要针对不同电子产品设计多种操作软件的技术问题。
为了实现本发明的第一个发明目的,采用的技术方案如下:
一种基于微控制器的电子产品的制作方法,所述方法包括:
把通用操控软件烧写入微控制器,所述通用操控软件包括有多个具有可选择内容的功能模块;
把微控制器与电子产品的其他相关电路进行连接;
把机型编码烧写进微控制器,所述机型编码用于标识电子产品所需要使用的功能模块及选择功能模块的对应内容。
所述具有可选择内容的功能模块为软件工程师预先归纳出产品中现在已有或将来可能出现的人机交互方式,并对它们编码。
作为一种优选方案,所述机型编码包括多个字节,每个字节表示一个功能模块,每个字节的编码内容表示微控制器选择执行相应功能模块的对应内容。
作为进一步的优选方案,所述机型编码的每个字节的编码内容采用ASCII编码。
本发明的第二个发明目的,在于提供一种基于微控制器的电子产品的控制方法,以应用本发明第一个发明目的所提供的制作方法生产得到的电子产品。
为了实现本发明的第二个发明目的,采用的技术方案如下:
一种基于微控制器的电子产品的控制方法,所述方法包括:
微控制器接收到机型编码,把机型编码保存至非易失性存储器中;
当电子产品启动时,微控制器从非易失性存储器中读取机型编码,根据机型编码从通用操控软件中选择功能模块。
作为一种优选方案,所述机型编码包括多个字节,每个字节表示一个功能模块,根据每个字节的编码内容选择相应功能模块的对应内容;
当电子产品启动时,微控制器从非易失性存储器中读取机型编码,遍历机型编码的每个字节,如果字节设置为初始化值,则不执行该字节对应的功能模块,如果字节设置为有效值,则根据该有效值,选择功能模块的对应内容并执行。
优选地,所述初始化值为0或十六进制的0xFF。
本发明解决了基于微控制器(MCU)控制的具有多种人机交互方式的电子产品共用一个操控软件的问题,优化了操控软件的继承性,简化了软件开发,管理和生产。本发明基于MCU的电子产品的步骤为:首先归纳出产品中现在已有或将来可能出现的人机交互方式,并对它们编码;软件工程师对机型编码的各种组合开发功能齐全的功能模块,并编译连接成一个执行软件;在生产阶段由作业员对每款机型的主控MCU烧写统一的操控软件,及生产机型对应的特定机型编码;这样生产出来的产品,主控MCU能自动识别机型,并执行不同的功能。
附图说明
图1为本发明实施例的制作工艺流程图;
图2为本发明实施例的机型编码示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示,本发明实施例的制作工艺步骤为:
步骤一:列出某系列产品可能的人机交互方式,确定机型编码。常见的人机交互方式包括:各种类型的按键,触摸屏,数码管,液晶显示屏,蜂鸣器等。软件工程师应先总结出公司现有产品的各种人机交互方式,包括按键排序,数码管个数等。考虑到软件的前瞻性,软件工程师也要预计将来产品可能会出现的人机交互方式,比如将来会多用一组数码管。然后用一组编码表示出各种交互方式,编码的每一位表示交互方式的某个特征,用不同的字符表示不同的特征实现形态。编码的长短应根据交互方式的复杂程度决定。编码的内容应涵盖一个系列产品所有可能的人机交互方式。
步骤二:编写软件。软件工程师根据机型编码,分别编写对应的功能模块,然后将所有的功能模块编译连接成一个执行软件。该软件为各款机型主控MCU的通用操控软件。
步骤三:烧写操控软件及机型编码。在准备生产某个型号的机型前,作业员将上述操控软件烧写进MCU。待MCU主板贴片完毕后,作业员再根据当次生产的具体机型,将其特定的机型编码烧写进主控MCU,MCU会自动将机型编码保存至非易失性存储器。
步骤四:机器组装完毕后,接通电源,主控MCU上电复位后,会自动从存储器读取机型编码,并根据该编码自动执行该机型人机交互方式下的各项功能。
现以本发明在一款电磁炉上的应用为例加以说明该基于MCU的电磁炉的控制方法。
该系列电磁炉人机交互方式及编码如附图2所示。 从附图可以看出该机型编码包括5个功能模块:火力选择方式功能模块、炉头选择键个数功能模块,火力LED位数功能模块、定时LED位数功能模块和火力档位是否配置有发光二极管功能模块。每个功能模块具有可选择内容:
火力选择方式功能模块有两种选择,对应的机型编码的第一字节中,如果第一字节的内容为I,则选择单独火力档位键,如果为C则选择加减键选择火力,I和C为有效值,其他值为无效值;
炉头选择键个数功能模块也有多种选择,对应的机型编码的第二字节中,如果为数值,则该值就表示使用多少个炉头选择键,如3则为有3个炉头选择键,如果为4则有4个炉头选择键,数值型编码内容为有效值,其他非数值型编码内容为无效值;
火力LED位数功能模块也有多种选择,对应的机型编码的第三字节中,如果为数值,则该值就表示使用多少个火力LED位数,如1则为有1位火力LED,如果为2则有2位火力LED,数值型编码内容为有效值,其他非数值型编码内容为无效值;
定时LED位数功能模块也有多种选择,对应的机型编码的第四字节中,如果为数值,则该值就表示使用多少个定时LED位数,如2则为有2位定时LED,如果为3则有3位定时LED,数值型编码内容为有效值,其他非数值型编码内容为无效值;
火力档位是否配置有发光二极管功能模块有两种选择,,对应的机型编码的第五字节中,如果为Y则选择有配置发光二极管,如果为N则选择没有配置发光二极管。
MCU读取机型编码,根据其中的编码内容选择相应的功能模块中的对应内容,并执行该内容。
某款电磁炉的人机交互方式为:单独火力档位,3个炉头选择键,2位火力LED,2位定时LED,每个火力档位配有发光二极管。由此,其机型编码为“I322Y”。
软件工程师对附图的每个编码分别编写对应的功能模块,然后将所有的功能模块编译连接成一个执行软件。该软件为该系列各款电磁炉主控MCU的通用操控软件。
在准备生产该款电磁炉时,作业员将上述操控软件烧写进主控MCU。待MCU主板贴片完毕后,作业员再将其特定的机型编码“I322Y”烧写进主控MCU。主控MCU会自动将机型编码保存至非易失性存储器。
主控MCU上电复位后,会自动读取机型编码“I322Y”,并按照该编码指定的人机交互方式执行各项功能。