空调器中单片机位标志编程控制方法

文档序号:6380174阅读:684来源:国知局
专利名称:空调器中单片机位标志编程控制方法
技术领域
本发明涉及空调控制技术,具体的说,是涉及空调器中单片机位标志编程控制方法。
背景技术
目前,空调器一般由室内机接收遥控器信号和按键信号,通过解码,控制室内水平风向、垂直风向、室内电加热、室内风机电机的运行和室内温度及室内盘管温度的采样,室内机还控制LED指示灯或者数码管显示屏的显示;同时,室内机通过UART异步通讯同室外机握手通讯,将遥控器或者按键控制命令及控制参数等传递到室外机,同时将室外机的运行参数传递到室内机,由室内机通过调节进一步对室内外机进行控制和显示。室外机通过UART异步通信接收到来自室内机的命令,对室外压缩机、四通阀、室外风机进行控制,并控制对室外各个温度传感器进行采样。 为了实现上述功能,室内机与室外机均利用单片机内部定时器定时中断、外部中断、异步通讯等中断源,以设置标志位的方法,通知其他程序本部分程序模块已完成某个功能,其他程序借以判断是否应该执行某个分支程序。而标志可以是I字节存储器Sbit中的任意一 bit位,单字节整体等。由于家用电器特别是家用空调器中,采用低价位的单片机,单片机的存储空间较小,一般以8 16K BYTE程序存储器(R0M),256 512BYTE数据存储器(RAM)居多,特别要求程序简练,对RAM空间的使用也特别讲究,为了节约使用RAM空间,常常使用位标志,这样每个8bit的I字节,就可以设置8个位标志。但是,当对位标志置I或者清O时,程序中常常是通过将变量的值放入累加器中,改变累加器的值,再将累加器值放回变量三条以上指令共同完成的方式来实现;当需要测试位标志时,程序中也常常是通过将变量的值放入累加器中,测试累加器中相应的位来实现的。上述操作,存在两个问题其一是增加了 ROM占用空间,更重要的问题是,如图I、图2所示,当在程序中测试标志位如SI步所示(SI步实际上也有2条以上的指令),再根据标志位的置I条件,程序继续执行到S2或者S3时,如果此时恰恰某个中断程序发生中断,程序就会转移到中断服务程序中执行中断程序,当偶然在对应的中断服务程序中对此同样的标志位置1,并从中断服务程序中返回到断点处的S2或者S3,再执行到S4时,变量的位标志实际上是0,在中断服务程序中对位标志的置I没有起作用,下次进入到SI步,就不会执行S2、S3、S4,程序就会乱,导致室内机与室外机无法正常通讯的情况出现,而且这种故障极难被发现,往往会增加故障调试时间。经过长期的经验累积和分析,出现上述问题的根本原因是在传统技术中,未将位标志定义在RAM存储器的O页地址空间(可以直接进行位操作访问的地址空间)中,位标志操作由于不能在一条指令内完成,导致程序执行不稳定。

发明内容
本发明所要解决的技术问题是提出一种空调器中单片机位标志编程控制方法,解决传统技术中的位标志操作由于不能在一条指令内完成,导致程序执行不稳定,可能出现空调器室内机和室外机无法正常通讯的问题。本发明解决上述技术问题所采用的技术方案是空调器中单片机位标志编程控制方法,包括将位标志定义在RAM存储器的O页地址空间中,作为位标志变量使用。进一步,所述RAM存储器的O页地址空间是指可以进行高效的位标志操作的地址空间;所述高效的位标志操作是指在一条指令内完成对位标志变量的置I、清O操作。进一步,所述RAM存储器的O页地址空间的地址范围是(ΓΟχΟ 。进一步,所述将位标志定义在RAM存储器的O页地址空间的具体方法是·通过查询单片机用户手册,判断在RAM存储器的(TOxOff地址空间内是否有为单片机程序分配的地址,如果有,则将位标志定义在(TOxOff地址空间内除了为单片机程序分配的地址的其它地址中;如果(TOxOff地址空间不能全部容纳位标志,则通过优化程序减少位标志,或者将不可能在非中断服务程序和中断服务程序中同时改变值的位标志放置到其他地址空间。进一步,当所有的位标志放入(TOxOff地址空间后,如果还剩下有(TOxOff地址空间没有用完,再将需要快速、高效使用的变量放入(TOxOff地址空间。进一步,当0、x0ff地址空间已经全部使用后,将非位标志的其它变量放入(TOxOff地址空间以外的RAM存储器地址中。本发明的有益效果是能够可靠的设置、处理标志位,解决了对非(TOxOfT地址范围内的位标志操作带来的位标志不能可靠置I、清O问题,也解决了由此带来的随机程序故障,极大的提高了程序开发速度,减小了排除故障的调试时间,缩短了程序代码,节约了只读存储器ROM空间,减小了对单片机资源的特别要求,降低了产品开发成本,提高了程序执行的可靠性,同时提高了产品质量。


图I为一般位标志第O位清O示意图;图2为中断服务程序中一般位标志第O位置I示意图;图3为O页位标志第O位清O示意图;图4为中断服务程序中O页位标志第O位置I示意图。
具体实施例方式本发明的技术方案所基于的思想是对于诸如空调器中使用的低价位的单片机来说,其内部RAM分配,一般都是将最低地址的256个字节即(TOxOFF地址空间的存储器地址(Zpage,或者叫做O页地址空间)作为可以直接进行位操作访问的地址空间,定位在此O页地址空间的变量和位的操作,其机器码代码短,操作效率高,“位”操作指令一般为单条指令。因此,采用将所有位标志定位到O页即0、x0ff地址空间,作为“位”变量使用的方法,迫使单片机编译系统按照图3、图4所示的流程,将C语言编译为I条指令的位标志操作指令;其中,图3中的流程包括S8:判断变量第O位是否为1,如果为1,则进入步骤S9,如果不为1,则执行其它程序;S9:将变量第O位清O ;图4中的流程包括当中断服务程序开始后进入步骤SlO :将变量第O位置I ;可以看出,图3和图4中的位操作指令均为单条指令,解决了前述出现概率极低的随机故障,极大的提高了程序开发速度,减小了排除故障的调试时间,缩短了程序代码,节约了只读存储器ROM空间,如果将位标志置于(TOxOff地址空间以外地址空间,单片机编译系统将会按照图I、图2所示的流程,将C语言程序编译为多指令共同完成的位标志操作指令,即使采用汇编语言强制按照图3、图4所示流程编写程序,但单片机编译系统也会报故障,不能正确产生目标机器码,程序不能执行。其具体实现方式包括以下几个方面
I、为了避免出现预想不到的问题,尽量将所有位标志变量定位到地址(TOxOff地址空间,作为“位”变量使用,定位方法根据单片机的不同,各有不同的方法,使用时,查询实际使用的单片机用户手册,(TOxOff地址空间也许有部分保留为单片机使用,这部分保留的地址空间不能使用;2、如果(TOxOff地址空间不能全部容纳位标志变量,则需要优化程序,减少位标志变量,或者将不可能在非中断服务程序和中断服务程序中同时改变值的位标志放置到其他地址空间;3、当所有的位标志变量放入(TOxOff地址空间后,如果还剩下有(TOxOff地址空间没有用完,再将需要快速、高效使用的变量(8bit单字节、16bit双字节等)放入(TOxOfT地址空间,起到缩短程序目标代码的目的。4、其他变量,如果(TOxOff地址空间放满以后,放入(TOxOff地址空间以外的RAM空间。5、如果单片机可以位操作的地址空间,不是(TOxOff地址范围,则以其可以进行高效的位标志操作的地址空间为准,按同样的方法设置和使用位标志变量,所述的高效操作,是指能够在一条指令内完成对位标志变量的置I、清O操作。
权利要求
1.空调器中单片机位标志编程控制方法,其特征在于,包括将位标志定义在RAM存储器的O页地址空间中,作为位标志变量使用。
2.如权利要求I所述的空调器中单片机位标志编程控制方法,其特征在于,所述RAM存储器的O页地址空间是指可以进行高效的位标志操作的地址空间;所述高效的位标志操作是指在一条指令内完成对位标志变量的置I、清O操作。
3.如权利要求2所述的空调器中单片机位标志编程控制方法,其特征在于,所述RAM存储器的O页地址空间的地址范围是(ΓΟχΟ 。
4.如权利要求3所述的空调器中单片机位标志编程控制方法,其特征在于,所述将位标志定义在RAM存储器的O页地址空间的具体方法是 通过查询单片机用户手册,判断在RAM存储器的(TOxOff地址空间内是否有为单片机程序分配的地址,如果有,则将位标志定义在(TOxOff地址空间内除了为单片机程序分配的地址的其它地址中; 如果(TOxOfT地址空间不能全部容纳位标志,则通过优化程序减少位标志,或者将不可能在非中断服务程序和中断服务程序中同时改变值的位标志放置到其他地址空间。
5.如权利要求4所述的空调器中单片机位标志编程控制方法,其特征在于,当所有的位标志放入(TOxOff地址空间后,如果还剩下有(TOxOff地址空间没有用完,再将需要快速、高效使用的变量放入(TOxOff地址空间。
6.如权利要求4或5所述的空调器中单片机位标志编程控制方法,其特征在于,当(TOxOff地址空间已经全部使用后,将非位标志的其它变量放入(TOxOff地址空间以外的RAM存储器地址中。
全文摘要
本发明涉及空调控制技术,其公开了一种空调器中单片机位标志编程控制方法,解决传统技术中的位标志操作由于不能在一条指令内完成,导致程序执行不稳定,可能出现空调器室内机和室外机无法正常通讯的问题。该方法通过将位标志定义在RAM存储器的0页地址空间中,作为位标志变量使用。解决了对非0~0x0ff地址范围内的位标志操作带来的位标志不能可靠置1、清0问题,也解决了由此带来的随机程序故障,极大的提高了程序开发速度,减小了排除故障的调试时间,缩短了程序代码,节约了只读存储器ROM空间,减小了对单片机资源的特别要求,降低了产品开发成本,提高了程序执行的可靠性,同时提高了产品质量。本发明特别适用于空调器的单片机中。
文档编号G06F9/45GK102945183SQ20121042799
公开日2013年2月27日 申请日期2012年10月31日 优先权日2012年10月31日
发明者陈跃 申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1