CN107453747B - 带ad转换器的单片机用电位器实现多路模拟开关的方法 - Google Patents
带ad转换器的单片机用电位器实现多路模拟开关的方法 Download PDFInfo
- Publication number
- CN107453747B CN107453747B CN201710621173.9A CN201710621173A CN107453747B CN 107453747 B CN107453747 B CN 107453747B CN 201710621173 A CN201710621173 A CN 201710621173A CN 107453747 B CN107453747 B CN 107453747B
- Authority
- CN
- China
- Prior art keywords
- analog switch
- potentiometer
- virtual
- value
- sliding end
- 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
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K17/00—Electronic switching or gating, i.e. not by contact-making and –breaking
- H03K17/94—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the way in which the control signals are generated
- H03K17/965—Switches controlled by moving an element forming part of the switch
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K17/00—Electronic switching or gating, i.e. not by contact-making and –breaking
- H03K17/002—Switching arrangements with several input- or output terminals
- H03K17/007—Switching arrangements with several input- or output terminals with several outputs only
Landscapes
- Analogue/Digital Conversion (AREA)
- Adjustable Resistors (AREA)
Abstract
本发明公开了一种带AD转换器的单片机用电位器实现多路模拟开关的方法,其将电位器的滑动端的滑动范围均分为小、中和大值区;然后使电位器的滑动端的初始位置处于中值区,并使第一、第二模拟开关的初始状态为关;接着单片机判断当前电位器的滑动端的位置所在的区与前一次电位器的滑动端的位置所在的区是否发生了变化,若发生了变化,则使第一模拟开关有效,第二模拟开关不变;或使第一模拟开关不变,第二模拟开关有效;或使第一模拟开关无效,第二模拟开关不变;或使第一模拟开关不变,第二模拟开关无效;若未发生变化,则使第一、第二模拟开关保持不变;优点是其能有效利用模拟电压信号,多个区对应多个模拟开关,可实现控制多路模拟开关的功能。
Description
技术领域
本发明涉及一种信号处理方法,尤其是涉及一种带AD转换器的单片机用电位器实现多路模拟开关的方法。
背景技术
随着电子技术的迅速发展以及计算机在自动检测和自动控制系统中的广泛应用,利用电子系统处理模拟信号的情况变得更加普遍。而数字电子计算机所处理的都是不连续的数字信号,需要实现数据的加减,开关的闭合,特别是人机交互的数据设定和信息查看。
由于模拟信号是连续变化的,AD转换器在采样时转换出来的数值也会随着模拟信号的变化而变化,然而,有时应用系统需要开关信号进行数据设定,因此需要对模拟信号进行特殊处理成开关信号。现有的一种方法是单片机读取特定管脚的值来判断开关值;另一种方法是读取AD转换后的值,然后设定一个阈值,超过阈值时输出开关值1,未超过阈值时输出开关值0;这两种方法简单、直观,但是只能设定一路开关,不能实现多路开关的功能,使模拟信号的很多信息未能得到有效利用。
发明内容
本发明所要解决的技术问题是提供一种带AD转换器的单片机用电位器实现多路模拟开关的方法,其能够有效利用模拟电压信号,根据转换得到的数字值来确定电位器的滑动端的位置所在的区,多个区对应多个模拟开关,从而可实现控制多路模拟开关的功能。
本发明解决上述技术问题所采用的技术方案为:一种带AD转换器的单片机用电位器实现多路模拟开关的方法,其特征在于包括以下步骤:
①将电位器的滑动端的滑动范围均分为三个区间,分别为小值区、中值区和大值区;
②使电位器的滑动端的初始位置处于中值区,并使虚拟的第一模拟开关和虚拟的第二模拟开关的初始状态为关;然后连接电位器的滑动端与单片机中的AD转换器的模拟信号输入端;
③应用过程中,电位器的滑动端的位置不断发生改变,单片机实时读取AD转换器转换得到的数字值;
④单片机根据当前读取的数字值确定当前电位器的滑动端的位置所在的区Wcur;然后单片机判断当前电位器的滑动端的位置所在的区Wcur与单片机根据前一次读取的数字值确定的前一次电位器的滑动端的位置所在的区Wpre是否发生了变化,如果发生了变化,则当Wpre为中值区,且Wcur为小值区时,使虚拟的第一模拟开关的状态转为开,变为有效,且使虚拟的第二模拟开关的状态保持不变;当Wpre为中值区,且Wcur为大值区时,使虚拟的第一模拟开关的状态保持不变,且使虚拟的第二模拟开关的状态转为开,变为有效;当Wpre为小值区,且Wcur为中值区时,使虚拟的第一模拟开关的状态转为关,变为无效,且使虚拟的第二模拟开关的状态保持不变;当Wpre为大值区,且Wcur为中值区时,使虚拟的第一模拟开关的状态保持不变,且使虚拟的第二模拟开关的状态转为关,变为无效;如果未发生变化,则使虚拟的第一模拟开关和虚拟的第二模拟开关各自的状态保持不变。
与现有技术相比,本发明的优点在于:
本发明方法将电位器的滑动端的滑动范围分为多个区间,然后根据当前读取的AD转换器转换得到的数字值,确定当前电位器的滑动端的位置所在的区,接着根据当前电位器的滑动端的位置所在的区以及前一次电位器的滑动端的位置所在的区,来确定多个(个数为区间的个数减1)虚拟的模拟开关的有效情况,从而可实现控制多路模拟开关的功能,用虚拟的模拟开关替代了模拟开关,降低了电路设计的复杂性,提高了实现过程可读性,同时为自动化提供了思路。
附图说明
图1为本发明方法的总体实现框图;
图2为电位器的滑动端的滑动范围均分为三个区间的示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种带AD转换器的单片机用电位器实现多路模拟开关的方法,其总体实现框图如图1所示,其包括以下步骤:
①将电位器的滑动端的滑动范围均分为三个区间,分别为小值区、中值区和大值区;例如,假设电位器的阻值的最大值为100欧姆,则0~32欧姆划为小值区,33~65欧姆划为中值区,大于65欧姆划为大值区,如图2所示。
②使电位器的滑动端的初始位置处于中值区,即使得电位器的初始阻值为33~65欧姆,并使虚拟的第一模拟开关和虚拟的第二模拟开关的初始状态为关;然后连接电位器的滑动端与单片机中的AD转换器的模拟信号输入端。
③应用过程中,电位器的滑动端的位置不断发生改变,单片机实时读取AD转换器转换得到的数字值,由于电位器的滑动端的位置代表了电位器的阻值,因此单片机实时读取AD转换器转换得到的数字值与电位器的阻值成正比。
④单片机根据当前读取的数字值确定当前电位器的滑动端的位置所在的区Wcur;然后单片机判断当前电位器的滑动端的位置所在的区Wcur与单片机根据前一次读取的数字值确定的前一次电位器的滑动端的位置所在的区Wpre是否发生了变化,如果发生了变化,则当Wpre为中值区,且Wcur为小值区时,使虚拟的第一模拟开关的状态转为开,变为有效,且使虚拟的第二模拟开关的状态保持不变;当Wpre为中值区,且Wcur为大值区时,使虚拟的第一模拟开关的状态保持不变,且使虚拟的第二模拟开关的状态转为开,变为有效;当Wpre为小值区,且Wcur为中值区时,使虚拟的第一模拟开关的状态转为关,变为无效,且使虚拟的第二模拟开关的状态保持不变;当Wpre为大值区,且Wcur为中值区时,使虚拟的第一模拟开关的状态保持不变,且使虚拟的第二模拟开关的状态转为关,变为无效;如果未发生变化,则使虚拟的第一模拟开关和虚拟的第二模拟开关各自的状态保持不变。
在具体设计时,可将电位器的滑动端的滑动范围分为N个区间,这样可确认N-1个虚拟的模拟开关的有效情况,N≥3。
为验证本发明方法的有效性和可行性,将电位器的滑动端的滑动范围分为N=3个区间为例分析,可确认N-1=3-1=2个虚拟的模拟开关的有效情况。假设电位器的最大值为100欧姆,则0~32欧姆划为小值区,控制虚拟的第一模拟开关K1;33~65欧姆划为中值区,其为功能区;大于65欧姆划为大值区控制虚拟的第二模拟开关K2。在图2中,电位器的滑动端的位置可能为图2中位置1、2、3处。利用本发明方法处理时,电位器的滑动端的初始位置处于中值区(位置1处),虚拟的第一模拟开关K1、虚拟的第二模拟开关K2的值都为0(关),当电位器的滑动端的位置由中值区(位置1处)变到小值区(位置2处),虚拟的第一模拟开关K1的值为1,虚拟的第二模拟开关K2为0;当电位器的滑动端的位置由小值区(位置2处)变到中值区(位置1处),虚拟的第一模拟开关K1的值为0,虚拟的第二模拟开关K2为0;当电位器的滑动端的位置由中值区(位置1处)变到大值区(位置3处),虚拟的第一模拟开关K1的值为0,虚拟的第二模拟开关K2为1;当电位器的滑动端的位置由大值区(位置3处)变到中值区(位置2处),虚拟的第一模拟开关K1的值为0,虚拟的第二模拟开关K2为0;如果电位器的值在变化时,其所在的区未发生改变,则虚拟的第一模拟开关K1和虚拟的第二模拟开关K2的值均不发生改变。
Claims (1)
1.一种带AD转换器的单片机用电位器实现多路模拟开关的方法,其特征在于包括以下步骤:
①将电位器的滑动端的滑动范围均分为三个区间,分别为小值区、中值区和大值区;
②使电位器的滑动端的初始位置处于中值区,并使虚拟的第一模拟开关和虚拟的第二模拟开关的初始状态为关;然后连接电位器的滑动端与单片机中的AD转换器的模拟信号输入端;
③应用过程中,电位器的滑动端的位置不断发生改变,单片机实时读取AD转换器转换得到的数字值;
④单片机根据当前读取的数字值确定当前电位器的滑动端的位置所在的区Wcur;然后单片机判断当前电位器的滑动端的位置所在的区Wcur与单片机根据前一次读取的数字值确定的前一次电位器的滑动端的位置所在的区Wpre是否发生了变化,如果发生了变化,则当Wpre为中值区,且Wcur为小值区时,使虚拟的第一模拟开关的状态转为开,变为有效,且使虚拟的第二模拟开关的状态保持不变;当Wpre为中值区,且Wcur为大值区时,使虚拟的第一模拟开关的状态保持不变,且使虚拟的第二模拟开关的状态转为开,变为有效;当Wpre为小值区,且Wcur为中值区时,使虚拟的第一模拟开关的状态转为关,变为无效,且使虚拟的第二模拟开关的状态保持不变;当Wpre为大值区,且Wcur为中值区时,使虚拟的第一模拟开关的状态保持不变,且使虚拟的第二模拟开关的状态转为关,变为无效;如果未发生变化,则使虚拟的第一模拟开关和虚拟的第二模拟开关各自的状态保持不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710621173.9A CN107453747B (zh) | 2017-07-27 | 2017-07-27 | 带ad转换器的单片机用电位器实现多路模拟开关的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710621173.9A CN107453747B (zh) | 2017-07-27 | 2017-07-27 | 带ad转换器的单片机用电位器实现多路模拟开关的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107453747A CN107453747A (zh) | 2017-12-08 |
CN107453747B true CN107453747B (zh) | 2020-11-03 |
Family
ID=60489607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710621173.9A Active CN107453747B (zh) | 2017-07-27 | 2017-07-27 | 带ad转换器的单片机用电位器实现多路模拟开关的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107453747B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202513910U (zh) * | 2012-01-12 | 2012-10-31 | 河南科技大学 | 一种提高微控制器内嵌a/d转换器相对精度的电路 |
CN103167701A (zh) * | 2013-04-01 | 2013-06-19 | 黄世蔚 | 随输入电压改变串并联结构的led驱动装置及工作方法 |
CN103196581A (zh) * | 2013-04-02 | 2013-07-10 | 哈尔滨工业大学 | 用多组数字电位器模拟Pt100铂电阻的装置及该装置模拟Pt100铂电阻的方法 |
CN204903620U (zh) * | 2015-08-14 | 2015-12-23 | 任永强 | 一种基于at89c51的量程自动转换电路 |
WO2016106544A1 (zh) * | 2014-12-30 | 2016-07-07 | 华为技术有限公司 | 一种模数转换器保护电路及其控制方法、控制器 |
CN106685421A (zh) * | 2016-12-15 | 2017-05-17 | 北京万集科技股份有限公司 | 一种模拟信号采集方法及装置 |
-
2017
- 2017-07-27 CN CN201710621173.9A patent/CN107453747B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202513910U (zh) * | 2012-01-12 | 2012-10-31 | 河南科技大学 | 一种提高微控制器内嵌a/d转换器相对精度的电路 |
CN103167701A (zh) * | 2013-04-01 | 2013-06-19 | 黄世蔚 | 随输入电压改变串并联结构的led驱动装置及工作方法 |
CN103196581A (zh) * | 2013-04-02 | 2013-07-10 | 哈尔滨工业大学 | 用多组数字电位器模拟Pt100铂电阻的装置及该装置模拟Pt100铂电阻的方法 |
WO2016106544A1 (zh) * | 2014-12-30 | 2016-07-07 | 华为技术有限公司 | 一种模数转换器保护电路及其控制方法、控制器 |
CN204903620U (zh) * | 2015-08-14 | 2015-12-23 | 任永强 | 一种基于at89c51的量程自动转换电路 |
CN106685421A (zh) * | 2016-12-15 | 2017-05-17 | 北京万集科技股份有限公司 | 一种模拟信号采集方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107453747A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006102864A3 (de) | Integrierte schaltung mit mischsignal-eindrahtschnittstelle und verfahren zu ihrem betrieb | |
CN109932647B (zh) | 一种拨动开关状态检测电路、方法及装置 | |
CN105760018A (zh) | 触控显示面板及包含其的触控显示装置的驱动方法 | |
CN112254846A (zh) | 压感检测装置及其压力检测方法、电子设备 | |
CN107453747B (zh) | 带ad转换器的单片机用电位器实现多路模拟开关的方法 | |
CN214412707U (zh) | 模拟信号采集电路和电子设备 | |
KR930022911A (ko) | 과도 현상 인핸스먼트를 위해 에지 교체, 프리슈트 및 오버슈트를 사용하는 비디오 신호 처리기 | |
CN103179367A (zh) | 显示器和视频数据处理方法 | |
CN102799114A (zh) | 一种信号调理设备 | |
CN112737626A (zh) | 一种基于vpx总线的宽带并行接收处理装置 | |
KR20130008871A (ko) | 저항 공유 스위칭 회로 | |
CN210168024U (zh) | 一种单线传输按键电路 | |
EP3573243A1 (en) | Input device, control method of input device | |
CN101620012B (zh) | 温度检测器及其使用方法 | |
CN110531146B (zh) | 三相载波通信模块的过零检测装置、方法及计算机存储介质 | |
CN105786144A (zh) | 一种处理器多电源管理控制装置、系统及方法 | |
US11474964B2 (en) | Configurable input/output device and operation method thereof | |
CN1813408A (zh) | 动态非线性得到降低的电流导引数模转换器 | |
CN102253275B (zh) | 电压型及icp型传感器通用的数据采样器 | |
US20100100659A1 (en) | Computer system | |
CN106788432A (zh) | 数模转换电路 | |
CN103529728B (zh) | 一种具备多种安全检测功能的电池管理系统 | |
CN111246145A (zh) | 一种基于单片机的多路显示扩展方法 | |
CN105095033B (zh) | 一种服务器上的调试装置及方法 | |
JPH0327425A (ja) | マイクロコンピュータによる入力判別システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |