CN104460470A - 通过单片机系统的定时器中断实现采样率设置的方法 - Google Patents
通过单片机系统的定时器中断实现采样率设置的方法 Download PDFInfo
- Publication number
- CN104460470A CN104460470A CN201410828512.7A CN201410828512A CN104460470A CN 104460470 A CN104460470 A CN 104460470A CN 201410828512 A CN201410828512 A CN 201410828512A CN 104460470 A CN104460470 A CN 104460470A
- Authority
- CN
- China
- Prior art keywords
- timer
- chip microcomputer
- frequency
- sampling frequency
- initial value
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Microcomputers (AREA)
Abstract
通过单片机系统的定时器中断实现采样率设置的方法,包括以下步骤:选用ADuC841单片机系统,该系统外接有提供工作频率的外部晶体,通过对定时器T0或定时器T2的计数寄存器TH、TL设定计数初值来选择定时采样频率;定义计数初值为LH,LH的具体算法如下:T=1/fosc;N=1/(F*T);LH=10000H-MH;所述fosc为外部晶体频率、T为单片机系统的机器周期、F为所需定时采样频率、N为定时器的计数值,M为将N转换为十六进制后的值;对于定时器T0,在设定计数初值时需对计数初值LH减去软件装载时间A。本方法只需使用到极小的硬件开销来实现较为准确的采样频率设置,因此其运行成本低,而且操作简单。
Description
技术领域
本发明涉及高精度采样信号发生领域,具体地说涉及一种通过单片机系统的定时器中断实现采样率设置的方法。
背景技术
在对交流信号的时域采样设计中一般采用高精度的外部晶振作为采样的基频,通过分频或混频来获得其他采样频率。这样做的好处是频率设置范围宽,频率稳定性好,但硬件的成本开销较大,系统复杂程度也比较高。对于一个低成本、资源配置较简单的单片机系统来说实现过于复杂。
发明内容
本发明所要解决的技术问题是提供一种操作简单、运行成本低的通过单片机系统的定时器中断实现采样率设置的方法。
为了解决上述技术问题,本发明采用如下技术方案:通过单片机系统的定时器中断实现采样率设置的方法,包括以下步骤:
选用ADuC841单片机系统,该系统外接有提供工作频率的外部晶体,外部晶体频率为11.0592MHz,通过ADuC841单片机系统内部的定时器T0或定时器T2进行采样率设置;
在通过定时器T0或定时器T2进行采样率设置时,定时器T0或定时器T2的工作方式均选用方式1,通过对定时器T0或定时器T2的计数寄存器TH、TL设定计数初值来选择定时采样频率,计数寄存器TH、TL设定好计数初值后,即可在定时器T0或定时器T2中断产生时启动采样程序,以达到设置采样率的目的;
定义计数初值为LH,LH的具体算法如下:
T=1/fosc;
N=1/(F*T);
LH=10000H-MH;
所述fosc为外部晶体频率、T为单片机系统的机器周期、F为所需定时采样频率、N为定时器的计数值,M为将N转换为十六进制后的值;
对于定时器T0,在设定计数初值时需对计数初值LH减去软件装载时间A,A=Δt*106,Δt为示波器上读取的实际定时采样频率与所需定时采样频率之间的时间差距,单位为秒。
为简洁描述起见,以下本发明所述的通过单片机系统的定时器中断实现采样率设置的方法简称为本方法。
本方法利用单片机的内部定时器中断产生所需要的采样频率,通过软件方式来实现一定范围内的采样率设置。由于单片机系统的工作频率是由外部晶体决定的,因此单片机系统的工作时钟能够确定下来,通过设置定时器的计数个数就可以用来发生相应的定时中断处理时钟周期,利用单片机系统的定时器中断处理来进行相应频率的采样处理,就得到了可以在一定范围内进行调整的采样频率设置。
从上述技术方案可知,本方法只需使用到极小的硬件开销来实现较为准确的采样频率设置,因此其运行成本低,而且操作简单。
附图说明
图1是本发明通过单片机系统的定时器中断实现采样率设置的方法的流程图。
具体实施方式
下面结合附图对本发明作进一步描述:
参见图1。
通过单片机系统的定时器中断实现采样率设置的方法,包括以下步骤:
选用ADuC841单片机系统,该系统外接有提供工作频率的外部晶体,外部晶体频率为11.0592MHz,通过ADuC841单片机系统内部的定时器T0或定时器T2进行采样率设置;
在通过定时器T0或定时器T2进行采样率设置时,定时器T0或定时器T2的工作方式均选用方式1,通过对定时器T0或定时器T2的计数寄存器TH、TL设定计数初值来选择定时采样频率,计数寄存器TH、TL设定好计数初值后,即可在定时器T0或定时器T2中断产生时启动采样程序,以达到设置采样率的目的;
定义计数初值为LH,LH的具体算法如下:
T=1/fosc;
N=1/(F*T);
LH=10000H-MH;
所述fosc为外部晶体频率、T为单片机系统的机器周期、F为所需定时采样频率、N为定时器的计数值,M为将N转换为十六进制后的值;
对于定时器T0,在设定计数初值时需对计数初值LH减去软件装载时间A,A=Δt*106,Δt为示波器上读取的实际定时采样频率与所需定时采样频率之间的时间差距,单位为秒。
由于定时器T0与定时器T2的计数初值在每个计数中断产生后都需要重新设置,但定时器T0与T2的初值装载方式有所不同,定时器T2是硬件自动进行初值装载,装载时间可以忽略不计,而定时器T0是采用软件装载方式,装载时间会造成设定频率不准确,因此在实际设置中,在设定计数初值时需对LH减去软件装载时间A。
应当理解本文所述的例子和实施方式仅为了说明,本领域技术人员可根据它做出各种修改或变化,在不脱离本发明的精神实质的情况下,都属于本发明的保护范围。
Claims (1)
1.通过单片机系统的定时器中断实现采样率设置的方法,包括以下步骤:
选用ADuC841单片机系统,该系统外接有提供工作频率的外部晶体,外部晶体频率为11.0592MHz,通过ADuC841单片机系统内部的定时器T0或定时器T2进行采样率设置;
在通过定时器T0或定时器T2进行采样率设置时,定时器T0或定时器T2的工作方式均选用方式1,通过对定时器T0或定时器T2的计数寄存器TH、TL设定计数初值来选择定时采样频率,计数寄存器TH、TL设定好计数初值后,即可在定时器T0或定时器T2中断产生时启动采样程序,以达到设置采样率的目的;
定义计数初值为LH,LH的具体算法如下:
T=1/fosc;
N=1/(F*T);
LH=10000H-MH;
所述fosc为外部晶体频率、T为单片机系统的机器周期、F为所需定时采样频率、N为定时器的计数值,M为将N转换为十六进制后的值;
对于定时器T0,在设定计数初值时需对计数初值LH减去软件装载时间A,A=Δt*106,Δt为示波器上读取的实际定时采样频率与所需定时采样频率之间的时间差距,单位为秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410828512.7A CN104460470A (zh) | 2014-12-25 | 2014-12-25 | 通过单片机系统的定时器中断实现采样率设置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410828512.7A CN104460470A (zh) | 2014-12-25 | 2014-12-25 | 通过单片机系统的定时器中断实现采样率设置的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104460470A true CN104460470A (zh) | 2015-03-25 |
Family
ID=52906705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410828512.7A Pending CN104460470A (zh) | 2014-12-25 | 2014-12-25 | 通过单片机系统的定时器中断实现采样率设置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104460470A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05252119A (ja) * | 1992-03-06 | 1993-09-28 | Sanyo Electric Co Ltd | サンプリング周波数変換装置 |
CN101022560A (zh) * | 2007-03-09 | 2007-08-22 | 北京牡丹视源电子有限责任公司 | 数字电视视音频同步性测试信号及其测量方法 |
CN102158728A (zh) * | 2011-04-08 | 2011-08-17 | 北京理工大学 | 视频图像处理系统延时检测方法 |
CN103809000A (zh) * | 2012-11-09 | 2014-05-21 | 沈阳高精数控技术有限公司 | 基于伺服驱动单元的数据处理方法 |
-
2014
- 2014-12-25 CN CN201410828512.7A patent/CN104460470A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05252119A (ja) * | 1992-03-06 | 1993-09-28 | Sanyo Electric Co Ltd | サンプリング周波数変換装置 |
CN101022560A (zh) * | 2007-03-09 | 2007-08-22 | 北京牡丹视源电子有限责任公司 | 数字电视视音频同步性测试信号及其测量方法 |
CN102158728A (zh) * | 2011-04-08 | 2011-08-17 | 北京理工大学 | 视频图像处理系统延时检测方法 |
CN103809000A (zh) * | 2012-11-09 | 2014-05-21 | 沈阳高精数控技术有限公司 | 基于伺服驱动单元的数据处理方法 |
Non-Patent Citations (3)
Title |
---|
党力明等: "基于89C55WD单片机的32位高精度计数器", 《测绘科学技术学报》 * |
李方健: "用定时器实现数字振荡器", 《山西电子技术》 * |
王德东等;: "基于DSP的定时器在模数和数模转换中的应用", 《计算机测量与控制》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105021972B (zh) | 老化侦测电路及其方法 | |
CN102176112B (zh) | Mcu内置rtc实现时钟精确计时的方法 | |
CN103941622B (zh) | 基于fpga的高精度秒脉冲倍频出采样脉冲的方法 | |
CN104679098A (zh) | 微控制器时钟频率自动校准电路 | |
CN107819456B (zh) | 一种基于fpga进位链的高精度延时产生器 | |
CN103257670A (zh) | 嵌入式系统及其计时方法 | |
CN104297716B (zh) | 一种智能电表rtc校准方法 | |
CN103762964A (zh) | 一种多通道高精度pwm信号采样和生成装置 | |
CN102879641A (zh) | 频率量测方法及系统 | |
CN103389644A (zh) | 一种定时系统及定时方法 | |
CN109240157A (zh) | Soe信号发生装置和soe信号输出方法 | |
CN101226408B (zh) | 交流伺服绝对值编码器位置反馈脉冲分频输出方法及电路 | |
CN102901870B (zh) | 基于单片机的频率测试系统及使用上述系统的测试方法 | |
CN106645784A (zh) | 一种旋转机械转速测量实现方法及测量电路 | |
CN104460470A (zh) | 通过单片机系统的定时器中断实现采样率设置的方法 | |
CN102890445B (zh) | 一种多功能定时器 | |
CN102254062A (zh) | 标准单元时序数据测试方法 | |
CN104898474A (zh) | 一种基于mcu的多通道均匀伺服脉冲生成方法 | |
CN104133409A (zh) | 一种对称性可调的三角波合成装置 | |
CN103075961A (zh) | 基于单片fpga支持多个光栅尺的位置测显装置及方法 | |
CN202886465U (zh) | 基于单片机的频率测试系统 | |
CN104753497A (zh) | 一种oscpps修正方法与装置 | |
CN204389902U (zh) | 一种基于cpld数字电路的数显高精度电子时钟 | |
CN103633996A (zh) | 产生任意频率方波的累加计数器分频方法 | |
CN203069677U (zh) | 数字式电感测量仪 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150325 |
|
RJ01 | Rejection of invention patent application after publication |