CN102231056B - 定时器共用的方法 - Google Patents
定时器共用的方法 Download PDFInfo
- Publication number
- CN102231056B CN102231056B CN 201110127434 CN201110127434A CN102231056B CN 102231056 B CN102231056 B CN 102231056B CN 201110127434 CN201110127434 CN 201110127434 CN 201110127434 A CN201110127434 A CN 201110127434A CN 102231056 B CN102231056 B CN 102231056B
- Authority
- CN
- China
- Prior art keywords
- duration
- timer
- tip element
- identifier
- basic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Measurement Of Predetermined Time Intervals (AREA)
Abstract
本发明涉及定时器共用的方法,包括步骤:a.参数设置;b.启动定时器并执行系统基本定时程序;c.执行中断程序,判断提示单元的提示时长系数是否为0;d.如果标识符为开启,将标识符设为关闭后,执行系统基本定时;e.如果标识符为开启,驱动提示单元进行提示,判断累计的脉冲翻转时长是否达到预定值,执行系统基本定时或等待再次中断;f.再次中断后,进入步骤c,直到提示单元的提示时长系数的值与提示单元的提示时长相适应后,执行步骤d,系统的控制单元停止驱动提示单元。通过本发明的方法,能够在单片机的定时器较少时,仍然能够实现空调所需的多种功能,避免了使用更昂贵的单片机,减少了生产成本和开发成本。
Description
技术领域
本发明涉及定时器公用的方法,具体的说是用于空调系统的定时器公用。
背景技术
目前在国内生产、销售的空调器,都均有控制部件,以便对空调器进行操作,通过MCU控制室外压缩机、室外风机的运转及四通阀的开闭,室内风机在MCU的控制下,吹出满足用户特定需要的的冷/热空气。还具有LED或者LCD等显示屏以显示空调器当前的工作状态及工作参数,当用户操作空调时,室内机的MCU在接收到用户的输入信号后,一般要求蜂鸣器鸣叫一定时间,以提醒用户控制器MCU接收到了输入信号。
设计控制器时,用MCU内部的一个定时器作为系统基本时钟,用另外一个定时器以控制并实现输入信号的接收和解码。为了节省产品成本,设计时采用低成本的端口数目很少的单片机,此时单片机的端口通常不够使用,因此需要采用一片或多片74HC595N串口/并口转换芯片,用以连接显示屏。为此,需要再用一个定时器控制74HC595N的输入输出,控制其对显示屏的刷新频率。另外蜂鸣器一般也需要使用一个定时器以特定的脉冲输出方式,控制端口输出规则的4000Hz方波以控制蜂鸣器的鸣叫,当室内风机采用PG电机时,在交流电过零外部中断的配合下,还需要一个定时器控制脉冲信号的输出,以便控制PG电机工作电压的导通角,实现对PG电机转速的控制。以上至少需要5个定时器。
当显示屏仅采用一片74HC595N扩展I/O口时,其扫描频率不很高,要求对74HC595N的扫描时间大于125微秒时,可以采用扫描时间为125微秒,将控制蜂鸣器的定时器设置为125微秒定时中断,在中断服务程序中,同时控制蜂鸣器脉冲的翻转输出和74HC595N的扫描刷新。但是在需要蜂鸣器鸣叫时,必须将定时器的输出方式设置为脉冲翻转输出方式(pulseoutputmode),将蜂鸣器输入端口接到MCU特定的输出口,否则由于其他中断的影响,反相输出的脉冲宽度可能宽窄不一致,导致蜂鸣器声音异常。
在很多低价位的单片机,通常只有4个定时器,因此在要求对74HC595N快速扫描时,无法满足设计要求。
发明内容
本实用新型提供了一种定时器公用的方法,当单片机的定时器不足5个时,仍然能够实现空调所需的功能,避免了使用更昂贵的单片机,减少了生产成本和开发成本。
本发明的定时器共用的方法,包括步骤:
a.设置系统基本定时的间隔时长、提示单元的提示时长系数和脉冲翻转定时时长,定时器输出方式为系统定时,允许定时器中断,开中断;
b.启动定时器并执行系统基本定时程序,中断次数寄存器清零;
c.执行中断程序,判断提示单元的提示时长系数是否为0,如果为0,进入步骤d;如果不为0,进入步骤e;
d.判断标识符是否开启,如果标识符为开启,将标识符设为关闭,设置定时器输出方式为系统定时后,恢复执行系统基本定时程序;如果标识符为关闭,直接执行系统基本定时程序;
e.判断标识符是否开启,如果标识符为开启,系统的控制单元驱动提示单元进行提示,提示时长系数减1,中断次数寄存器加1,根据脉冲翻转定时时长判断累计的脉冲翻转时长是否达到设置的系统基本定时的间隔时长,如果达到则返回中断程序的断点位置继续执行系统基本定时程序;如果未达到,退出中断程序,等待下次中断发生后进入中断程序时再次判断,直到累计的脉冲翻转时长达到设置的系统基本定时的间隔时长;如果标识符为关闭,将标识符设为开启,定时器设为脉冲翻转输出方式后,执行系统基本定时程序;
f.当定时器再次发生定时中断后,进入步骤c开始执行中断程序,此时如果提示单元的提示时长系数不为0,步骤e会多次执行,但每次中断程序只执行步骤e一次,直到提示单元的提示时长系数的值与提示单元的提示时长相适应后,执行步骤d,退出中断程序,系统的控制单元停止驱动提示单元。
由于系统基本时钟一般要求较大的定时间隔,以不影响单片机的其他中断程序及主程序的执行速度,而接收到控制信号后执行的中断程序中,输出的控制提示单元的脉冲宽度要小于系统基本时钟的定时间隔,因此利用一个定时器在执行中断程序的同时,监控其执行时长是否达到了系统基本时钟的定时间隔,如果达到了则执行一次系统基本定时,然后返回中断点继续执行被中断的程序。通过这种主程序和中断程序嵌套执行的方式,达到了多种不同的功能公用一个定时器的目的。在步骤在每次中断时对中断次数寄存器的值加1是为了计算中断程序累计的执行时长是否达到了系统基本定时的间隔时长,如果达到了就执行一次系统基本定时。
具体的一种方案为,在上述步骤f中所述的提示单元的提示时长系数的值与提示单元的提示时长相适应为:
每次执行中断程序,且提示单元的提示时长系数不为0时,将提示单元的提示时长系数的值减1,直到提示时长系数的值为0。
因提示单元的控制电流为高低电平交错的,因此每间隔一定时长就会执行一次中断程序,在每次中断程序的执行中对提示单元的提示时长系数的值减1使得提示单元的提示时长越来越短,直到提示时长系数的值减为0,停止驱动提示单元。
进一步的方案为,判断步骤e中所述的累计的脉冲翻转时长是否达到设置的系统基本定时的间隔时长的步骤为:
中断次数寄存器的值乘以脉冲翻转定时时长是否等于系统基本定时的间隔时长,如果等于,判断为达到;如果不等于,判断为未达到。将系统基本定时的间隔时长设为中断次数寄存器值的整数倍,能够简化程序,提高系统运行效率,也能够保证多个定时之间的准确性。
具体的一种方案为,所述的系统基本定时的间隔时长为500微秒,脉冲翻转定时时长为125微秒,系统的控制单元驱动提示单元的信号为4000Hz方波。在空调系统中,通常控制提示单元的信号为4000Hz的方波,而4000Hz方波每个周期为250微秒,即每隔125微秒高低电平变换一次,因此将定时器的脉冲翻转定时时长设为125微秒能够完全匹配电平的变化周期,为了能够更准确的控制系统时钟,将系统基本定时的间隔时长设为500微秒,即脉冲翻转定时时长的4倍。因此当进行4次脉冲翻转后,就进行1次系统定时,能够准确的控制定时器的不同定时功能。
优选的一种方案为,所述的提示单元为常见的蜂鸣器提示方式。
通过本发明的方法,能够在单片机的定时器较少时,仍然能够实现空调所需的多种功能,避免了使用更昂贵的单片机,减少了生产成本和开发成本。
以下结合由附图所示实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
附图说明
图1是本发明定时器共用的方法的流程图。
具体实施方式
如图1所示,本发明的定时器共用的方法,包括步骤:
a.设置系统基本定时的间隔时长、提示单元的提示时长系数和脉冲翻转定时时长,定时器输出方式为系统定时,允许定时器中断,开中断;
b.启动定时器并执行系统基本定时程序,中断次数寄存器清零;
c.执行中断程序,判断提示单元的提示时长系数是否为0,如果为0,进入步骤d;如果不为0,进入步骤e;
d.判断标识符是否开启,如果标识符为开启,将标识符设为关闭,设置定时器输出方式为系统定时后,恢复执行系统基本定时程序;如果标识符为关闭,直接执行系统基本定时程序;
e.判断标识符是否开启,如果标识符为开启,系统的控制单元驱动提示单元进行提示,提示时长系数减1,中断次数寄存器加1,根据脉冲翻转定时时长判断累计的脉冲翻转时长是否达到设置的系统基本定时的间隔时长,如果达到则返回中断程序的断点位置继续执行系统基本定时程序;如果未达到,退出中断程序,等待下次中断发生后进入中断程序时再次判断,直到累计的脉冲翻转时长达到设置的系统基本定时的间隔时长;如果标识符为关闭,将标识符设为开启,定时器设为脉冲翻转输出方式后,执行系统基本定时程序;
其中根据脉冲翻转定时时长,判断累计的脉冲翻转时长是否达到设置的系统基本定时的间隔时长的具体方式为:中断次数寄存器的值乘以脉冲翻转定时时长是否等于系统基本定时的间隔时长,如果等于,判断为达到;如果不等于,判断为未达到。将系统基本定时的间隔时长设为中断次数寄存器值的整数倍,能够简化程序,提高系统运行效率,也能够保证多个定时之间的准确性。
f.当定时器再次发生定时中断后,进入步骤c开始执行中断程序,此时如果提示单元的提示时长系数不为0,步骤e会多次执行,但每次中断程序只执行步骤e一次,直到每次执行中断程序,且提示单元的提示时长系数不为0时,将提示单元的提示时长系数的值减1,直到提示时长系数的值为0后,执行步骤d,退出中断程序,系统的控制单元停止驱动提示单元。
其中提示单元为蜂鸣器,本发明定时器公用的方法的原理为,利用一个定时器在执行中断程序的同时,监控其执行时长是否达到了系统基本时钟的定时间隔,如果达到了则执行一次系统基本定时,然后返回中断点继续执行被中断的程序。因为4000Hz方波的每个周期为250微秒,即每隔125微秒高低电平变换一次和执行一次中断程序,因此将定时器的脉冲翻转定时时长设为125微秒,而系统基本定时为500微秒,当中断次数寄存器的值累计到4时,说明执行了4次中断程序,125微秒乘以4等于500微秒达到了系统定时的时长间隔,便执行一次系统基本定时程序以刷新系统时间,再返回执行被中断的程序。提示单元的提示时长系数与蜂鸣器的鸣叫时长相匹配,例如蜂鸣器的鸣叫时长为31毫秒,则提示单元的提示时长系数为:31×1000/125=248,表示31毫秒等于248个125微秒。在每次中断程序中对提示时长系数减1表示需要再鸣叫的时间越来越短,直至其值为0后停止提示单元进行提示。如果设定的系统基本定时的间隔时长不是125微秒(4000Hz方波的半个周期)的整数倍数时,由于蜂鸣器鸣叫的时间一般在30毫秒左右,对系统基本时钟的影响也非常小,完全可以忽略。
Claims (4)
1.定时器共用的方法,其特征为包括步骤:
a.设置系统基本定时的间隔时长、提示单元的提示时长系数和脉冲翻转定时时长,定时器输出方式为系统定时,允许定时器中断,开中断;
b.启动定时器并执行系统基本定时程序,中断次数寄存器清零;
c.执行中断程序,判断提示单元的提示时长系数是否为0,如果为0,进入步骤d;如果不为0,进入步骤e;
d.判断标识符是否开启,如果标识符为开启,将标识符设为关闭,设置定时器输出方式为系统定时后,恢复执行系统基本定时程序;如果标识符为关闭,直接执行系统基本定时程序;
e.判断标识符是否开启,如果标识符为开启,系统的控制单元驱动提示单元进行提示,提示时长系数减1,中断次数寄存器加1,根据脉冲翻转定时时长判断累计的脉冲翻转时长是否达到设置的系统基本定时的间隔时长,如果达到则返回中断程序的断点位置继续执行系统基本定时程序;如果未达到,退出中断程序,等待下次中断发生后进入中断程序时再次判断,直到累计的脉冲翻转时长达到设置的系统基本定时的间隔时长;如果标识符为关闭,将标识符设为开启,定时器设为脉冲翻转输出方式后,执行系统基本定时程序;
f.当定时器再次发生定时中断后,进入步骤c开始执行中断程序,此时如果提示单元的提示时长系数不为0,步骤e会多次执行,但每次中断程序只执行步骤e一次,直到提示单元的提示时长系数的值与提示单元的提示时长相适应后,执行步骤d,退出中断程序,系统的控制单元停止驱动提示单元;所述的提示单元的提示时长系数的值与提示单元的提示时长相适应为:每次执行中断程序,且提示单元的提示时长系数不为0时,将提示单元的提示时长系数的值减1,直到提示时长系数的值为0。
2.如权利要求1所述的定时器共用的方法,其特征为判断步骤e中所述的累计的脉冲翻转时长是否达到设置的系统基本定时的间隔时长的步骤为:
中断次数寄存器的值乘以脉冲翻转定时时长是否等于系统基本定时的间隔时长,如果等于,判断为达到;如果不等于,判断为未达到。
3.如权利要求1或2所述的定时器共用的方法,其特征为所述的系统基本定时的间隔时长为500微秒,脉冲翻转定时时长为125微秒,系统的控制单元驱动提示单元的信号为4000Hz方波。
4.如权利要求1或2所述的定时器共用的方法,其特征为所述的提示单元为蜂鸣器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110127434 CN102231056B (zh) | 2011-05-17 | 2011-05-17 | 定时器共用的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110127434 CN102231056B (zh) | 2011-05-17 | 2011-05-17 | 定时器共用的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102231056A CN102231056A (zh) | 2011-11-02 |
CN102231056B true CN102231056B (zh) | 2013-03-13 |
Family
ID=44843629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110127434 Active CN102231056B (zh) | 2011-05-17 | 2011-05-17 | 定时器共用的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102231056B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523333B (zh) * | 2011-11-24 | 2013-12-25 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端时间提醒的处理方法及装置 |
CN112817723A (zh) * | 2021-02-04 | 2021-05-18 | 歌尔股份有限公司 | 定时器调用方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN87205030U (zh) * | 1987-05-05 | 1988-08-17 | 刘汪 | 电子定时器 |
CN2160087Y (zh) * | 1993-04-28 | 1994-03-30 | 铁道部科学研究院电子所 | 空调定时控制器 |
CN1724951A (zh) * | 2004-07-22 | 2006-01-25 | 虞小平 | 空调定时自动控制系统 |
CN1932400A (zh) * | 2005-09-12 | 2007-03-21 | 珠海格力电器股份有限公司 | 空调器的睡眠运行模式 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06185849A (ja) * | 1992-12-18 | 1994-07-08 | Fujitsu General Ltd | 電気冷蔵庫の制御装置 |
-
2011
- 2011-05-17 CN CN 201110127434 patent/CN102231056B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN87205030U (zh) * | 1987-05-05 | 1988-08-17 | 刘汪 | 电子定时器 |
CN2160087Y (zh) * | 1993-04-28 | 1994-03-30 | 铁道部科学研究院电子所 | 空调定时控制器 |
CN1724951A (zh) * | 2004-07-22 | 2006-01-25 | 虞小平 | 空调定时自动控制系统 |
CN1932400A (zh) * | 2005-09-12 | 2007-03-21 | 珠海格力电器股份有限公司 | 空调器的睡眠运行模式 |
Non-Patent Citations (1)
Title |
---|
JP特开平6-185849A 1994.07.08 |
Also Published As
Publication number | Publication date |
---|---|
CN102231056A (zh) | 2011-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101556069B (zh) | 调速装置、空调系统和空调系统的调速方法 | |
US8480374B2 (en) | Method and auto-control system on improving pumping system performance | |
CN102231056B (zh) | 定时器共用的方法 | |
CN101159998A (zh) | 一种电磁炉同步控制方法及其电路 | |
CN102904524B (zh) | 马达控制方法 | |
CN102519217A (zh) | 变频冰箱及其控制方法 | |
CN106584458B (zh) | 一种机器人节能方法及节能机器人 | |
CN101762786A (zh) | Pg电机故障自动检测的方法 | |
CN202065528U (zh) | 智能阀门远程控制系统 | |
CN103186150A (zh) | 一种交流加热器控制装置与方法 | |
CN101691944B (zh) | 空调节电控制方法和装置 | |
CN102841561B (zh) | 两轴高速点胶机器人伺服控制系统 | |
CN104407554A (zh) | 一种红外遥控智能窗帘控制器 | |
CN201725024U (zh) | 一种led路灯自动定时开关机测试装置 | |
CN204442724U (zh) | 电磁加热系统及其中开关管的过零开通检测装置 | |
CN101915491B (zh) | 一种直冷冰箱化霜的控制方法 | |
CN101737163A (zh) | 一种ocv电磁阀清洗方法及装置 | |
CN203275602U (zh) | 步进电机寿命测试系统 | |
CN102522969A (zh) | 一种igbt抗干扰的方法 | |
CN203413685U (zh) | 一种燃气灶油烟机一体化智能控制系统 | |
CN102945596B (zh) | 遥控器信号接收方法 | |
CN202409919U (zh) | 一种智能消防低频巡检控制柜 | |
CN100485559C (zh) | 一种通信收发开关控制器及其控制方法 | |
CN102034453B (zh) | 液晶面板的工作电压切换系统及其切换方法 | |
CN103148652B (zh) | 一种控制方法、控制装置及制冷系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |