一种控制数码管显示的方法

文档序号:2537193阅读:262来源:国知局
一种控制数码管显示的方法
【专利摘要】本发明公开一种控制数码管显示的方法,通过精密的信号采集、采集信号滤波、显示时对信号进行特殊处理的方式对数码管的显示进行控制,实现过程简单,提高了数码管显示的稳定性,最大限度的减少错误信息的产生。
【专利说明】—种控制数码管显示的方法
【技术领域】
[0001]本发明涉及数码管显示【技术领域】,尤其涉及一种控制数码管显示的方法。
【背景技术】
[0002]数码管作为具有信息提示功能的元器件被广泛应用于众多领域,如汽车、家电、仪器仪表等。数码管的显示分为静态显示和动态扫描显示,显示信息来自于各种传感器采集的信号。由于静态显示会占用较多的处理器I/o 口线,一般仅适用于显示位数较少的应用场合。数码管以动态扫描显示方式工作时,驱动芯片在接收传感器采集的数据时,必须停止数码管扫描,由于传感器的各种干扰源,会造成数码管出现显示亮度不稳定以及显示错误信息的现象。
[0003]针对上述问题,本发明提出一种控制数码管显示的方法,以解决由于数码管驱动芯片本身属性特点导致数码管出现显示亮度稳定性差及显示错误信息的问题。

【发明内容】

[0004]本发明要解决的技术问题是提供一种控制数码管显示的方法,通过精密的信号采集、采集信号滤波、显示时对信号进行特殊处理的方式对数码管的显示进行控制,提高了数码管显示的稳定性,最大限度的减少错误信息的产生,该方法实现简单。
[0005]为达到上述目的,本发明是通过以下技术方案来实现的:
[0006]一种控制数码管显示的方法,包括,
[0007]获取采样信号;
[0008]采用递推平均滤波算法对获取的采样信号进行滤波处理;
[0009]将所述滤波处理后的信号写入驱动芯片,驱动数码管进行显示。
[0010]所述获取采样信号的步骤包括,
[0011]利用A/D转换模块对传感器采集的数据信号进行采样;
[0012]当A/D采样完成时,通过滤波处理得到采样信号,采用递推方式将所述采样信号依次放入具有预定存储量的第一队列中;
[0013]当A/D采样未完成时,所述具有预定存储量的第一队列中的采样信号保持不变。
[0014]其中,一种实施方式的递推平均滤波算法包括,
[0015]每隔第一滤波处理时间阈值的时间,通过排序算法找到所述第一队列中采样信号的最小和最大值,并分别置于第一队列的队首和队尾;
[0016]排除第一队列中的最小和最大值,对队列中的其他采样信号进行求平均运算,将所述对第一队列求平均运算获得的结果作为滤波处理后的信号。
[0017]另一种实施例的递推平均滤波算法包括,
[0018]每隔第一滤波处理时间阈值的时间,通过排序算法找到所述第一队列中采样信号的最小和最大值,并分别置于第一队列的队首和队尾;
[0019]排除第一队列中的最小和最大值,对该队列中的其他采样信号进行求平均运算,将所述对第一队列求平均运算获得的结果以递推方式放入具有预定存储量的第二队列中;
[0020]每隔第二滤波处理时间阈值的时间,通过排序算法找到所述第二队列中采样信号的最大和最小值,并分别置于第二队列的队首和队尾;
[0021]排除第二队列中的最小和最大值,对所述第二队列中的其他采样信号进行求平均运算,将所述对第二队列求平均运算获得的结果作为滤波处理后的信号。
[0022]本发明的技术方案,通过精密的信号采集、采集信号滤波、显示时对信号进行特殊处理的方式对数码管的显示进行控制,该方法实现过程简单,不需要复杂的数学模型,提高了数码管显示的稳定性,最大限度的减少错误信息的产生。
【专利附图】

【附图说明】
[0023]图1为本发明第一实施例的控制数码管显示的方法流程图;
[0024]图2为本发明第二实施例的控制数码管显示的方法流程图。
【具体实施方式】
[0025]下面结合附图和实施例对本发明作进一步说明。
[0026]本发明技术方案中,数码管以动态扫描显示方式工作,针对驱动芯片本身的属性特点(在接收传感器采集的数据时,必须停止数码管扫描),采用针对性的算法对写入驱动芯片中的数据进行处理,弥补传感器的各种干扰源造成的干扰,解决数码管显示亮度不稳定及显示错误信息的问题。本发明控制数码管显示的过程分为三个步骤:
[0027]I)获取采样信号;
[0028]2)利用递推平均滤波算法对所述采样信号进行滤波处理;
[0029]3)所述滤波处理后的信号驱动数码管显示。
[0030]图1为本发明第一实施例的控制数码管显示的方法流程图。如图1所示,该方法包括如下步骤:
[0031]步骤101:利用A/D转换模块对传感器采集的数据信号进行采样;
[0032]本实施例中,A/D转换模块采用单片机芯片内部的12位A/D转换器,通过时钟寄存器溢出触发的方式,在定时器中断服务程序里启动A/D采集转换功能,12位A/D转换器能够达到精准的采样速率:
[0033]其中,采样速率需要考虑数码管的显示速率,还需要考虑噪声的频率,理论采样速率需要达到数码管显示频率的两倍以上,才能保证不失真的还原信号。
[0034]步骤102:判断A/D采样是否完成;当A/D采样完成时,通过滤波处理得到采样信号,采用递推方式将所述采样信号依次放入预设的预定存储量的第一队列中,执行步骤103;当A/D采样未完成时,所述具有预定存储量的第一队列中的采样信号保持不变,执行步骤103 ;
[0035]本实施例中,在主程序中判断A/D转换成功与否,整个主程序循环时间大于采样周期。
[0036]A/D采样完成后,通过简单的限幅滤波方式进行初步的采样值滤波,去除脉冲干扰,然后把滤波数值存储到数值缓冲区。[0037]预先定义一个预定存储量的第一队列,所述队列为空队列,将所述采样信号依次放入队列中,在放入第一个采样信号后,采样数据位于队列的尾部,队列由于没有被占满,不会执行后续步骤,而是继续往队列里边放入采样信号,放入第二个采样信号后,第一个已放入的采样信号会向队首位置移一位,始终保证最后的放入的数据位于队列的尾部,按照上述递推方式将数据放入所述队列中直至队列被采样信号占满。
[0038]步骤103:判断定时器统计时间与第一滤波处理时间阈值是否满足预定条件;如满足,执行步骤104 ;如不满足,跳出本次执行流程;
[0039]所述定时器为单片机内部定时/计数器,能够程序执行时时钟保持同步。
[0040]所述预定条件可以根据实际情况进行设置,本实施例中,预定条件为定时器统计时间与滤波处理时间阈值取余结果为O (定时器统计时间%滤波处理时间阈值==0),根据判断结果执行相应的步骤。
[0041]步骤104:通过排序算法找到所述队列中采样信号的最小和最大值,并分别置于队列的队首和队尾;
[0042]对所述排序算法并不做严格的限制,可以采用冒泡排序算法、快速排序算法等。本实施例中采用冒泡排序算法,依次比较队列中相邻的两个采样信号,将小的采样信号放在队首,大的采样信号放在后面,重复该步骤,直至再也不能交换。
[0043]步骤105:排除队列中的最小和最大值,对队列中的其他采样信号进行求平均运算,将对所述第一队列求平均运算获得的结果作为滤波处理后的信号;
[0044]步骤106:对所述滤波处理后的信号进行数码管显示。
[0045]由于驱动芯片自身的属性特点,需要在驱动数码管芯片时,尽可能的减少与数码管驱动芯片的通信时间。因此,在将过滤处理后的采样信号平均值向驱动芯片写入时,开启数码管驱动芯片的寄存器保护机制,如过滤处理后的采样信号平均值在预定时间阈值内保持不变,则不向驱动芯片中写入数据;如过滤处理后的信号保持不变的状态超过预定的时间阈值,则对驱动芯片进行刷新,重新写入数据。这样能够防止寄存器中写入错误的数据而导致显示错误。
[0046]图2为本发明第二实施例的控制数码管显示的方法流程图。如图2所示,所述方法包括如下步骤:
[0047]步骤201:利用A/D转换模块对传感器采集的数据信号进行采样;
[0048]本实施例中,A/D转换模块采用单片机芯片内部的12位A/D转换器,通过时钟寄存器溢出触发的方式,在定时器中断服务程序里启动A/D采集转换功能,12位A/D转换器能够达到精准的采样速率:
[0049]其中,采样速率需要考虑数码管的显示速率,还需要考虑噪声的频率,理论采样速率需要达到数码管显示频率的两倍以上,才能保证不失真的还原信号。
[0050]步骤202:判断A/D采样是否完成;当A/D采样完成时,通过滤波处理得到采样信号,采用递推方式将所述采样信号依次放入预设的预定存储量的第一队列中,执行步骤203;当A/D采样未完成时,所述具有预定存储量的第一队列中的采样信号保持不变,执行步骤203 ;
[0051]本实施例中,在主程序中判断A/D转换成功与否,整个主程序循环时间大于采样周期。[0052]A/D采样完成后,通过简单的限幅滤波方式进行初步的采样值滤波,去除脉冲干扰,然后把滤波数值存储到数值缓冲区。
[0053]预先定义一个预定存储量的第一队列,所述队列为空队列,将所述采样信号依次放入队列中,在放入第一个采样信号后,采样数据位于队列的尾部,队列由于没有被占满,不会执行后续步骤,而是继续往队列里边放入采样信号,放入第二个采样信号后,第一个已放入的采样信号会向队首位置移一位,始终保证最后的放入的数据位于队列的尾部,按照上述递推方式将数据放入所述队列中直至队列被采样信号占满。
[0054]步骤203:判断第一定时器统计时间与第一滤波处理时间阈值是否满足预定条件;如满足,对所述第一队列进行滤波处理,将对所述第一队列滤波处理后的信号采用递推方式放入具有预定存储量的第二队列中,执行步骤204 ;如不满足,所述具有预定存储量的第二队列中的信号保持不变,执行步骤204 ;
[0055]所述预定条件可以根据实际情况进行设置,本实施例中,预定条件为第一定时器统计时间与第一滤波处理时间阈值取余结果为O (第一定时器统计时间%第一滤波处理时间阈值==0),根据判断结果执行相应的步骤。
[0056]对所述第一队列进行滤波处理包括通过排序算法找到所述第一队列中采样信号的最小和最大值,并分别置于第一队列的队首和队尾;排除第一队列中的最小和最大值,对队列中的其他采样信号进行求平均运算;采用递推方式将对第一队列进行滤波处理求得的结果依次放入预设的预定存储量的第二队列中。
[0057]对所述排序算法并不做严格的限制,可以采用冒泡排序算法、快速排序算法等。本实施例中采用冒泡排序算法,依次比较队列中相邻的两个采样信号,将小的采样信号放在队首,大的采样信号放在后面,重复该步骤,直至再也不能交换。
[0058]预先定义一个预定存储量的队列为第二队列,所述队列为空队列,将所述对第一队列进行滤波处理求得的结果依次放入第二队列中,在第二队列中放入第一个对所述第一队列进行滤波处理求得的信号,该信号位于第二队列的尾部,第二队列由于没有被占满,不会执行后续步骤,而是继续往队列里边放入采样信号,放入第二个对所述第一队列进行滤波处理求得的信号后,第一个已放入的信号会向队首位置移一位,始终保证最后的放入的数据位于第二队列的尾部,按照上述递推方式将数据放入所述队列中直至队列被采样信号占满。
[0059]步骤204:判断第二定时器统计时间与第二滤波处理时间阈值是否满足预定条件;如满足,对所述第二队列进行滤波处理;如不满足,跳出本次执行流程;
[0060]所述预定条件可以根据实际情况进行设置,本实施例中,预定条件为第二定时器统计时间与第二滤波处理时间阈值取余结果为O (第二定时器统计时间%第二滤波处理时间阈值==0),根据判断结果执行相应的步骤。
[0061]对所述第二队列进行滤波处理包括,通过排序算法找到所述第二队列中采样信号平均值的最小和最大值,并分别置于第二队列的队首和队尾;排除第二队列中的最小和最大值,对队列中的其他采样信号平均值进行求平均运算;将对第二队列滤波处理后的结果进行数码管显示。
[0062]对所述排序算法并不做严格的限制,可以采用冒泡排序算法、快速排序算法等。本实施例中采用冒泡排序算法,依次比较队列中相邻的两个采样信号,将小的采样信号放在队首,大的采样信号放在后面,重复该步骤,直至再也不能交换。
[0063]其中,所述第一滤波处理时间阈值和第二滤波处理时间阈值可根据实际情况进行设置。如果第一滤波处理时间阈值和第二滤波处理时间阈值相同,则在第一定时器与第一滤波处理时间阈值满足预定条件时,对第一队列进行递推平均滤波处理,第一队列滤波处理结束后,第二定时器与第二滤波处理时间阈值满足预定条件时,对第二队列进行递推平均滤波处理,所述对第二队列递推平均滤波处理的结果作为滤波处理后的信号写入驱动芯片,驱动数码管显示,即,第一队列和第二队列按照相同的频率进行滤波。
[0064]由于驱动芯片自身的属性特点,需要在驱动数码管芯片时,尽可能的减少与数码管驱动芯片的通信时间。因此,在将过滤处理后的采样信号平均值向驱动芯片写入时,开启数码管驱动芯片的寄存器保护机制,如过滤处理后的采样信号平均值在预定时间阈值内保持不变,则不向驱动芯片中写入数据;如过滤处理后的信号保持不变的状态超过预定的时间阈值,则对驱动芯片进行刷新,重新写入数据。这样能够防止寄存器中写入错误的数据而导致显示错误。
[0065]本发明的技术方案,通过精密的信号采集、对采集信号进行二阶滤波处理、显示时对信号进行特殊处理的方式对数码管的显示进行控制,该方法实现简单,通过二阶滤波处理,进一步提高了数码管显示的稳定性,最大限度的减少错误信息的产生。
[0066]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如:R0M/RAM、磁碟、光盘。
[0067]上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本【技术领域】的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
【权利要求】
1.一种控制数码管显示的方法,其特征在于,包括, 获取采样信号; 采用递推平均滤波算法对获取的采样信号进行滤波处理; 将所述滤波处理后的信号写入驱动芯片,驱动数码管进行显示。
2.根据权利要求1所述的控制数码管显示的方法,其特征在于,所述获取采样信号的步骤包括, 利用A/D转换模块对传感器采集的数据信号进行采样; 当A/D采样完成时,通过滤波处理得到采样信号,采用递推方式将所述采样信号依次放入具有预定存储量的第一队列中; 当A/D采样未完成时,所述具有预定存储量的第一队列中的采样信号保持不变。
3.根据权利要求2所述的控制数码管显示的方法,其特征在于,所述递推平均滤波算法包括, 每隔第一滤波处理时间阈值的时间,通过排序算法找到所述第一队列中采样信号的最小和最大值,并分别置于第一队列的队首和队尾; 排除第一队列中的最小和最大值,对队列中的其他采样信号进行求平均运算,将所述对第一队列求平均运算获得的结果作为滤波处理后的信号。
4.根据权利要求3所述的控制数码管显示的方法,其特征在于,所述实现每隔第一滤波处理时间阈值的时间包括,定时器统计时间与第一滤波处理时间阈值进行取余结果为整数。
5.根据权利要求2所述的控制数码管显示的方法,其特征在于,所述递推平均滤波算法包括, 每隔第一滤波处理时间阈值的时间,通过排序算法找到所述第一队列中采样信号的最小和最大值,并分别置于第一队列的队首和队尾; 排除第一队列中的最小和最大值,对该队列中的其他采样信号进行求平均运算,将所述对第一队列求平均运算获得的结果以递推方式放入具有预定存储量的第二队列中;每隔第二滤波处理时间阈值的时间,通过排序算法找到所述第二队列中采样信号的最大和最小值,并分别置于第二队列的队首和队尾; 排除第二队列中的最小和最大值,对所述第二队列中的其他采样信号进行求平均运算,将所述对第二队列求平均运算获得的结果作为滤波处理后的信号。
6.根据权利要求5所述的控制数码管显示的方法,其特征在于,所述实现每隔第一滤波处理时间阈值的时间包括,第一定时器统计时间与第一滤波处理时间阈值进行取余结果为整数;所述实现每隔第二滤波处理时间阈值的时间包括,第二定时器统计时间与第二滤波处理时间阈值进行取余结果为整数。
7.根据权利要求6所述的控制数码管显示的方法,其特征在于,所述第一滤波处理时间阈值和第二滤波处理时间阈值相同。
8.根据权利要求2所述的控制数码管显示的方法,其特征在于,所述A/D转换模块采用12位的A/D转换器。
9.根据权利要求1至8之一所述的控制数码管显示的方法,其特征在于,将所述滤波处理后的信号写入驱动芯片时,如滤波处理后的信号在预定时间阈值内保持不变,则不向驱动芯片中写入数据;如滤波处理后的信号保持不变的状态超过预定的时间阈值,则对驱动芯片进行刷新,重新写入数据。
【文档编号】G09G3/14GK103915051SQ201210592302
【公开日】2014年7月9日 申请日期:2012年12月29日 优先权日:2012年12月29日
【发明者】闫海英 申请人:北京谊安医疗系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1