基于单片机的数字电位器设计
电位器控制小型直流电机的pwm调速

随着时代的发展,数字电子技术已经普及到我们生活、工作、科研各个领域。
并且在各类机电系统中,由于直流电机具有良好的启动、制动和调速性能,直流电机调速系统已广泛应用于工业、航天领域的各个方面,最常用的直流技术是脉宽调制(PWM)直流调速技术,具有调速精度高,响应速度快,调速范围宽和损耗低的特点。
本设计主要介绍了使用微控制器AT89S51的直流电机调速系统。
论文主要介绍了直流电机调速系统的意义、基于单片机控制的PWM直流电机调速方法和PWM基本工作原理以及实现方法,通过对占空比的计算达到精确调速的目的。
主电路主要采用电位器的调节,经过ADC0809转换成数字信号进而控制AT89S51单片机,将数据传输给单片机并产生脉宽调制信号,然后通过电机驱动芯片L298对小型直流电机进行控制。
本设计还附加了由霍尔开关CS3020、AT89S51单片机、74LS47七段数码管译码芯片和四位LED构成转速检测显示电路。
关键词:单片机AT89S51;直流电机;脉宽调制;转速检测第一章绪论 (1)1.1 课题研究的背景 (1)1.2 课题研究的目的与意义 (1)1.3 PWM变频调速发展前景与简介 (2)1.4 课题研究内容及目标 (2)第二章直流电机调速系统设计 (4)2.1 系统总体方案设计 (4)2.1.1 设计思路 (4)2.1.2总体方案比较与选择 (4)2.1.3 电机调速控制模块方案比较与选择 (5)2.2 基本原理分析 (5)2.2.1 直流电机的调速原理 (5)2.2.2 直流电机PWM调速原理 (6)2.2.3 霍尔效应和原理简介 (7)2.3 系统各模块方案的比较与选择 (7)2.3.1 电机驱动芯片的选择 (7)2.3.2 测速传感器的选择 (8)2.4 系统硬件组成 (9)第三章硬件系统设计 (10)3.1 AT89S51单片机特性及管脚说明 (10)3.2 ADC0809特性及管脚说明 (11)3.3 PWM波形发生原理 (12)3.4 电机驱动电路 (13)3.5 测速部分 (15)3.6 复位电路和时钟电路 (16)总结 (19)参考文献 (20)第一章绪论1.1 课题研究的背景直流电机是最常见的一种电机,它已经广泛应用于交通、机械、化工、航空等领域中。
基于51单片机-PCF8591数字电压表课程设计

课程名称:微机原理课程设计题目:数字电压表ﻬ摘要单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域。
其中我们用于学习用的最多的是STC89C52单片机,STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但也做了很多改进使得芯片具有传统51单片机不具备的功能。
STC89C52具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EE PROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,全双工串行口。
本设计就是以单片机STC89C52为核心,附以外围电路,实现数字电压表的功能,并运用软件Proteus进行仿真来得到实验结果。
关键词:STC89C52单片机、仿真、中断、数字电压表、数码管显示ﻬ目录一、任务要求ﻩ错误!未定义书签。
1.1 设计任务ﻩ错误!未定义书签。
1.2设计要求ﻩ错误!未定义书签。
1.3发挥部分 ...................................................................................... 错误!未定义书签。
1.4 创新部分 ........................................................................................... 错误!未定义书签。
数字电位器的研究及应用

数字电位器的研究及应用数字电位器(Digital Potentiometer)亦称数控可编程器,是一种代替传统机械电位器(模拟电位器)的新型数字、模拟混合信号处理的。
数字电位器采纳数控方式调整电阻值的,具有用法灵便、调整精度高、无触点、低噪声、不易污损、抗振动、抗干扰、体积小、寿命长等显著优点,可在许多领域取代机械电位器。
数字电位器普通带有接口,可通过或规律举行编程。
它适合构成各种可编程模拟器件,如可编程增益、可编程、可编程线性及音调/音量控制电路,真正实现了“把模拟器件放到总线上”(即单片机通过总线控制系统的模拟功能块)这一全新设计理念。
目前,数字电位器正在国内外快速推广,并大量应用于检测仪器、PC、手机、家用电器、现代办公设备、工业控制、医疗设备等领域。
1 基本工作原理因为数字电位器可代替机械式电位器,所以二者在原理上有相像之处。
数字电位器属于集成化的三端可变电阻器件其等效电路,l所示。
当数字电位器用作分压器时,其高端、低端、滑动端分离用VH、VL、VW 表示;而用作可调电阻器时,分离用RH、RL和RW表示。
图2所示为数字电位器的内部简化电路,将n个阻值相同的电阻串联,每只电阻的两端经过一个由MOS管构成的模拟开关相连,作为数字电位器的抽头。
这种模拟开关等效于单刀单掷开关,且在数字信号的控制下每次只能有一个模拟开关闭合,从而将串联电阻的每一个节点衔接到滑动端。
数字电位器的数字控制部分包括加减计数器、译码电路、保存与复原控制电路和不挥发存储器等4个数字电路模块。
利用串入、并出的加/减计数器在输入脉冲和控制信号的控制下可实现加/减计数,计数器把累计的数据挺直提供应译码电路控制开关阵列,同时也将数据传第1页共4页。
基于数字电位器MAX5481的原理及其应用

基于数字电位器MAX5481的原理及其应用作者:李锡瑞来源:《数字技术与应用》2009年第12期[摘要]MAX5481是10位、非易失、线性变化的数字电位器。
采用软件控制实现系统的远程控制,设置,可使系统更加灵活、功能更加广泛,从而解决了模拟电位器的诸多缺点和限制。
文中介绍了MAX5481的性能特点和引脚功能,并给出了典型应用。
[关键词]MAX5481 单片机功能特点应用[中图分类号]TM301[文献标识码]A[文章编号]1007-9416(2009)12-0071-031 概述MAX5481[1]是10位非易失、线性变化、可编程分压器和可变电阻器,能实现机械电位器的功能,采用可引脚配置的3线串行SPITM兼容接口或增/减数字接口替代了机械装置。
它是一个3端分压器,其具有内部、非易失、电可擦除可编程只读存储器(EEPROM),用于存储上电时滑动端的初始位置。
3线SPI兼容串行接口允许以高达7MHz的数据速率进行通信。
还提供引脚可选的增/减数字接口。
MAX5481非常适合需要数字控制电位器的应用场合。
用作分压器或可变电阻器时提供两种端到端电阻(10k和50k)。
端到端标称电阻温度系数为35ppm/°C,比例温度系数仅为5ppm/°C,因此这些器件非常适用于那些要求低温度系数分压器的应用,例如低漂移、可编程增益放大器。
采用+2.7V至+5.25V单电源供电或±2.5V双电源供电。
向非易失存储器写数据时,该系列器件消耗400μA(最大值)电源电流,待机电源电流为1.0μA(最大值)。
MAX5481采用节省空间的(3mmx3mm)、16引脚TQFN或14引脚TSSOP封装,可工作在扩展级(-40°C至+85°C)温度范围。
2 MAX5481的主要特点如下:(1)1024个抽头位置;(2)上电具有非易失滑动端记忆功能;(3)16引脚TQFN封装或14引脚TSSOP封装形式;(4)端到端电阻温度系数为35ppm/°C;(5)比例温度系数为5ppm/°C;(6)提供两种端到端电阻10k和50k;(7)采用可引脚配置的串行SPITM兼容接口或增/减数字接口;(8)待机电源电流为1.0μA(最大值);(9)采用+2.7V至+5.25V单电源供电或±2.5V双电源供电。
基于51单片机的数字电压表仿真设计(有参考文献)

基于51单片机的数字电压表仿真设计一、引言随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。
数字电压表是采用数字化测量技术设计的电压表。
数字电压表与模拟电压表相比,具有读数直观、准确、显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。
而单片机也越来越广泛的应用与家用电器领域、办公自动化领域、商业营销领域、工业自动化领域、智能仪表与集成智能传感器传统的控制电路、汽车电子与航空航天电子系统。
单片机是现代计算机技术、电子技术的新兴领域。
本文采用ADC0808对输入模拟信号进行转换,控制核心C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。
Proteus软件是一种电路分析和实物模拟仿真软件。
它运行于Windows 操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,近年来受到广大用户的青睐。
二、数字电压表概述1、数字电压表的发展与应用电压表指固定安装在电力、电信、电子设备面板上使用的仪表,用来测量交、直流电路中的电压。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,并且传统的电压表在测量电压时需要手动切换量程,不仅不方便,而且要求不能超过该量程。
目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量领域,并且由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
2、本次设计数字电压表的组成部分本设计是由单片机AT89C51作为整个系统控制的核心,整个系统由衰减输入电路、量程自动转换电路、交直流转换电路、模数转换及控制电路以及接口电路五大部分构成。
基于单片机的数字可调稳压电源

摘要毕业设计论文基于单片机的数字可调稳压电源的设计系别:专业(班级):作者(学号):指导教师:完成日期:蚌埠学院教务处制基于单片机的数字可调稳压电源的设计摘要:基于单片机的数字可调直流稳压电源由于原理简单、便于操作、稳定性好、精度高、成本低、易于实现等诸多优点而受到越来越广泛的重视。
其性能比传统的可调直流稳压电源好,非常适合一般教学和科研使用。
本文通过对一个基于单片机的数控直流稳压电源的设计,将单片机数字控制技术、有机地融入直流稳压电源的设计中,设计出一款数字化通用直流稳压电源,详细介绍了AT89C52单片机应用中的键盘扫描原理、数码管动态显示原理、定时器中断原理,从而了解单片机相关指令在各方面的应用,同时还介绍了数模转换芯片DAC0832的工作原理。
系统由模拟电源、控制电路、数模转换电路、放大电路、显示电路等部分构成,输出0-12V电压范围,步进值为0.1V的直流电源。
电源的数字化控制是人们追求的目标之一,人们对它的要求也越来越高,数控直流稳压电源能给人们带来很大的方便,为我们工作、科研、生活提供更好、更方便的服务。
本题采用单片机和其他元件及外围电路,开发一个数字可调式稳压电源,能够设定输出电压值、电压输出显示等功能。
关键词:单片机、直流、稳压、数模转换Based on single-chip digital adjustableregulated power supply designAbstract: Microcontroller-based digital adjustable DC power supply as simple in principle, easy operation, good stability, high accuracy, low cost, easy to implement, andmany other advantages of being more widely appreciated. Performance than thetraditional adjustable DC power supply is good, very suitable for general teachingand research use.In this paper, a microcontroller-based digital controlled power supply design, the single chip digital control technology, organic integration into the DC powersupply design, digital design of a universal DC power supply, details of theAT89C52 microcontroller applications The keyboard scanning principle, thedigital dynamic display principle, the timer interrupt principle, to understandinstruction in all aspects of SCM-related applications, but also introduces theDAC0832 digital-analog converter chip works. System consists of analog powersupply, control circuits, digital to analog conversion circuit, amplifier circuit,display circuit and other parts, output 0-12V voltage range, step value of 0.1V DCpower supply.Digital control of power is one of the goals people pursue, people demand more and more of it, NC DC power supply can give them great convenience forour work, scientific research and to provide better and more convenient service.The problem with single chip and other components and peripheral circuits, thedevelopment of a number of adjustable power supply, can set the output voltage,the voltage output display.Keyword s: microcontroller; DC; regulators; digital to analog conversion目录第一章绪论 (1)1.1研究目的及意义 (1)1.2国内外发展状况 (2)1.3论文构成及研究内容 (3)第二章数字式可调稳压电源原理介绍 (4)2.1方案选择及总体原理介绍 (4)2.2单片机AT89C52原理及其介绍 (5)2.3矩阵键盘扫描原理介绍 (6)2.4 LCD-1602显示原理介绍 (7)2.5数模转换电路原理介绍 (9)第三章数字式稳压电源硬件电路设计 (12)3.1稳压电源数字部分设计 (12)3.1.1单片机主体电路设计 (12)3.1.2键盘部分电路设计 (13)3.1.3 DAC0832数模转换部分电路设计 (13)电路图如下 (14)3.2电压输出单元电路 (15)第四章数字式可调稳压电源软件程序设计语言 (16)4.1 系统软件流程图 (16)4.2 系统程序介绍 (17)4.2.1 初始化硬件程序 (17)4.3 主程序程序语言 (18)结论 (25)谢词...............................................................26参考文献 (26)附录一数字部分电路总图 (27)第一章绪论1.1研究目的及意义在当代科技与经济高速发展的过程中,电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业.电力电子技术是电能的最佳应用技术之一.当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。
基于数字电位器的多通道程控高压调节系统设计

模式输入 , 低电平有效 , 关断模式下所有 P 端与相应的 P W B端短接.
曲 信垂
乎学 自 科学 2 0 () 1 1 报: 然 版, 1, 5 :4 9 0 2 44
41 5
Junlo aj gUnvri f f r t nSineadT cnlg Naua cec dt n2 1 2( ):141 o ra fN ni iest o omai cec n ehooy: trlSineE io ,00, 5 4 4 9 n y h o i
联 电阻分压来实现 的 , 或者是通过传统 的手动 电位器来 实现分压 , 这种
通过一个带 串口调试 的图形化编程语 言
( B 界 面设 置数 据 来 控 制 , 应 用 程 序 V ) 其 采 用 面 向 硬 件 C 语 言 程 序 ( EL C) K I 和
V 编 写. B
输 出稳定高压 的模 块基本 不具有 自动调节 和程控 的功 能 , 要借 助数 需
多通道 的程控 高压任 意调 节. 了能够满 足利 用一个 单片机 来控 制输 为
出多个稳定高压 , 本文 以数字 电位 器 ( C 4 00 和单片机 ( T 9 5 ) M P21 ) A 8 S 2
中 图分 类 号 T 5 7 M 4 文献 标 志 码 A
为核心 , 以高压 电源 H -1215 B Z 2 .. C为 例 , 设计 了多通道 选择 和程控 电 路, 研制成 一种输 出电压稳定 、 调节方便 , 输入 具有通道 选择 、 显示 等功 能的多通 道程控 高压调 节系统 .
研究光电信号与信息处理.rxa@13Cf s.i o 6 .Ol
基于单片机控制的DC-DC变换器的设计

目录第一章绪论................................................ 错误!未定义书签。
系统背景.............................................. 错误!未定义书签。
绿色节能型开关电源................................ 错误!未定义书签。
智能化数字电源.................................... 错误!未定义书签。
可编程开关电源.................................... 错误!未定义书签。
电源技术的发展与方向.................................. 错误!未定义书签。
线性电源和开关电源................................ 错误!未定义书签。
电源技术的发展方向................................ 错误!未定义书签。
开关电源的市场前景和研究现状...................... 错误!未定义书签。
第二章系统的总体设计...................................... 错误!未定义书签。
方案论证.............................................. 错误!未定义书签。
DC-DC主回路拓扑结构.............................. 错误!未定义书签。
控制方法及实现方案................................ 错误!未定义书签。
主体思路.............................................. 错误!未定义书签。
软件设计思路.......................................... 错误!未定义书签。
采用单片机控制的数字音量电位器功放

采用单片机控制的数字音量电位器功放采用AT89C2051单片机控制的TC9153数字音量电位器功放说明下,这个电路是我的原创已于2008年11月发表在我百度空间了有兴趣的朋友可以去看看“;(我曾在网上找了好久都没有相关的文章介绍,根本没有人去做单片机控制这款音量调节电路,也许是感觉采用单片机控制没什么必要吧,所以说有些东西都是“逼”出来的,本来没有的电路或程序,你去做了并成功了就是一种创新,也是一种改革。
比如我的那篇51单片机检测光电编码器一样)呵呵。
哦对了,顺便说下,我那个检测光电编码器程序,改用了STC89C52RC并启用双倍速后检测速度大为提高,源代码没有做任何改动的情况下检测速度能>15米/分钟好了废话少说上图:PCB:想看关于TC9153芯片和完工后的图的话还是去我的空间看吧,下面是程序LED选用的共阳的所以用了2个PNP型三极管做选通,我用的8550 晶振用的6MHZ(这个速度足够了)~D1 BIT P1.7 ;数码管1选通 D2 BIT P3.7;数码管2选通 K1 BIT P3.5 ;音量加 K2 BIT P3.4;音量减 K3 BIT P3.3;静音输入 JI BIT P3.2 ;静音输出 UD BIT P3.1CLK BIT P3.0D3 BIT 20HD4 BIT 21H;P1.0~P1.6 :A~GORG 00HLJMP MAINORG 30HMAIN: MOV SP,#40H ;初始化,设置MOV P1,#0FFHMOV P3,#0FFHCLR P3.2CLR CLKCLR UDSETB D1SETB D2CLR D3CLR D4MOV R7,#08H ;R6,R7是显示缓存,初始化过程中,让2个数码管全部显示为"8"用来检测MOV R6,#08HLCALL CSSETB P3.2MOV R7,#07HMOV R6,#00HMA: LCALL XSLCALL KAYLJMP MAKAY: SETB K1 ;按键扫描SETB K2SETB K3JNB K1,KAY1JNB K2,KAY2JNB K3,KAY3LCALL XSRETKAY1: LCALL XS LCALL XS LCALL XS LCALL AD1CLR D3LCALL XSJNB K1,KAY1 RETKAY2: LCALL XS LCALL XS LCALL XS LCALL XS LCALL DC1CLR D4JNB K2,KAY2 LCALL XSRETKAY3: LCALL XS JNB K3,KAY3 CPL P3.2RETXS: MOV A,R7MOV DPTR,#TAB1MOVC A,@A+DPTRMOV P1,ACLR D1LCALL DELAYMOV P1,#0FFHMOV A,R6MOV DPTR,#TAB1MOVC A,@A+DPTRMOV P1,ACLR D2LCALL DELAYLCALL DELAYMOV P1,#0FFHSETB P1.7SETB P3.7RETDELAY:MOV R0,#0FFHMOV R1,#06H S1: DJNZ R0,S1 DJNZ R1,S1RETCS: MOV R5,#80H CD: LCALL XS DJNZ R5,CDMOV P1,#00HSETB P1.7SETB P3.7MOV R5,#70H SC: CALL DELAY DJNZ R5,SCRETAD1: JB D4,AASETB UDCLR CLKLCALL XSLCALL XSLCALL XSSETB CLKLCALL XSLCALL XSLCALL XSCLR CLKINC R7CJNE R7,#02H,BBSJMP CCBB: CJNE R7,#10,AAMOV R7,#00HINC R6AA: LCALL XSLCALL XSRETCC: CJNE R6,#03H,AA SETB D4SJMP AADC1: JB D3,EECLR UDCLR CLKLCALL XSLCALL XSLCALL XSSETB CLKLCALL XSLCALL XSLCALL XSCLR CLKCJNE R6,#00H,DD CJNE R7,#00H,DD SETB D3SJMP EEDD: CJNE R7,#00H,KKK MOV R7 ,#09HDEC R6SJMP EEKKK: DEC R7EE: RETTAB1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,10H END。
基于单片机的数字电压表的设计 毕业论文

摘要单片机是一种集成电路芯片,随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
由于单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。
数字电压表(简称DVM),它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
本设计重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。
关键词:单片机,数字电压表, A/D 转换器,电压测量AbstractSCM is a kind of integrated circuit chips, along with the computer in the social sector penetration and MCU application is continuously to the deepening, and pushing the traditional control test on the new beneficial update. In real time detection and automatic control of the microcomputer application system, the microcontroller is often as a core component to use, only single chip microcomputer aspects knowledge is not enough, should according to the specific hardware structure, and the view of the specific application of the characteristics of the object software combination to be perfect. Because single chip has a simple practical, high reliability, good performance to price and the advantages of small size, had been in each technology has developed rapidly development.Digital voltmeter (hereinafter referred to as DVM), it is using digital measurement technique, the continuous analogue (dc input voltage) converted into digital form of discontinuous, discrete and to show appearance. The traditional pointer type voltmeter and low accuracy of single function, and can't meet the needs of the digital age, the digital voltmeter by single chip microcomputer, the high precision and strong anti-interference, extensibility, integration is convenient, still can and PC for real-time communication.At present, by all sorts of single piece of A/D converter in the composition of the digital voltmeter, has been widely used in the electronics and electrical measurement, industrial automation instrument, automatic test system, intelligent measurement field, shows A strong vitality. At the same time, the expansion of DVM into general and special digital instruments, the power and the power measurement technology to a new level.This design emphasis of single A/D converter and by they constitute of the digital voltmeter based on single chip microcomputer principle of work. Key words: SCM Digital voltmeter A/D converter V oltage measurement目录摘要 (i)Abstract (ii)1 绪论 (1)1.1 研究背景及意义 (1)1.2 单片机简介 (1)1.3 单片机的应用领域及发展趋势 (3)1.4 研究内容 (3)2 数字电压表 (4)2.1 数字电压表的特点 (4)2.2 数字仪表的发展趋势 (5)3 系统总体设计 (7)3.1 总体方案设计 (7)3.2 设计原理分析 (7)3.2.1 单片机AT89S51 (7)3.2.2 AT89S51的特点 (8)3.2.3 ADC0809工作原理 (8)3.3 硬件电路设计 (8)3.3.1 复位电路 (8)3.3.2 晶振电路 (9)3.3.3 测量、转换电路设计 (10)3.3.4 显示电路设计 (13)3.3.5 电源电路 (17)4 系统程序的设计 (18)4.1 主程序设计 (18)4.2 初始化程序 (18)4.3 显示子程序 (18)4.4 A/D转换测量子程序 (19)4.5 源程序 (20)结论 (21)参考文献 (22)致谢 (23)附录 (24)1 绪论1.1 研究背景及意义数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
基于可编程数字电位器在AVR单片机中的应用

基于可编程数字电位器在A VR单片机中的应用1 引言2 X9221系列数字电位器介绍2.1电气特性及硬件结构原理"在线"实时的调节电位器"中间抽头位置"能够有3种方法:通过I2C总线向WCR寄存器写数据(串行加载)、通过对相应的DATA类寄存器直接写数据(并行加载)、与增量减量命令(下面会讨论到)直接写数据;概念上电位器"中间抽头位置"能够由"WCR"寄存器来替代,其另一类寄存器能够由"DATA"寄存器来替代。
2.2数字电位器I2C总线时序及指令2.2.1通常I2C总线通信时序X9221系列数字电位器其接口是按标准的I2C总线设计的,因此,硬件连接非常简单,只需把串行时钟线SCL、串行数据线SDA与之对应相连即可。
其通信完全符合I2C总线协议要求,串行时钟线SCL、串行数据线SDA按照规定的协议产生一序列脉冲串,继而完成传输一组数据的任务。
参见图2 I2C总线通信时序。
2.2.2 X9221指令表表1是X9221所有指令说明,其中前4种指令的正常执行需要在串行数据线上至少有3个步骤:①通过数据线写从机地址;②写指令;③写数据。
才能完成一个寄存器的读或者写,这4种指令适用于X9221三字节时序格式操作。
假如是写在WCR类型的寄存器中,掉电后数据丢失,写在DATA类型的寄存器中,掉电后数据存在其中;全局转换的4种指令的正常执行需要在串行数据线上至少有2个步骤:①通过数据线写从机地址、②写指令,才能完成所有寄存器之间的数据交换,适用于X9221两字节时序格式操作;最后一种"+/-"指令相当于"在线"上下调节电位器中间抽头,比较直观,很好懂得。
"+/-"指令仅访问WCR 类型寄存器,且只是写操作,假如数据线SDA保持高电平,下一个时钟信号SCL周期到来,WCR寄存器数据"+1"。
一种新型数字电位器的设计

第30卷 第6期2007年12月电子器件Ch inese Jou r nal Of Elect ro n DevicesVol.30 No.6D ec.2007Design of a Novel Digital Potent iometerW A N G Ton g 2can g ,Z H U Sh an 2a n3(Col lege of Elect ri cal Eng.,Zhej i ang Univ.,Hanzhou 310027,Chi na )Abstract :A desi gn approach of a novel di gi tal pot ent iomet er i s p re sent ed.4×4resi st ance mat ri x circuit ,relay mat ri x circuit and 82C55I /O ext ended circuit are used i n t he har dware system of t he desi gnment.Thi s di gital pote ntiometer has t hree t er mi nal s.The tot al resi sta nce and t he wiper resi sta nce are changea 2bl e.The t ot al resist ance can cha nge f rom 0.1k Ωto 10k Ωand t he wiper resi st ance can change from 0k Ωt o 10k Ω.The support of RS 2232serial i nt erface and I/O parallel i nt erface has greatl y i mproved t he univer 2salit y of t he pot entiomet er.The digit al pote ntiometer has been used in so me f ew di gital co nt rol syst em s a nd t he effect proved very well.K ey w or ds :di gi tal potentiometer ;di git al control ;relay mat ri x ;resi sta nce mat ri x ;89C2051EEACC :2120一种新型数字电位器的设计王同苍,朱善安3(浙江大学电气工程学院,杭州310027)收稿日期22作者简介王同苍(832),男,硕士研究生在读,研究方向为数字控制,网络实验室,嵌入式系统等,3@63;朱善安(52),男,教授、博士生导师,主要从事预测自适应控制理论与工业应用,网络控制,脑电研究和图像处理,z @zj 摘 要:阐述了一种新型数字电位器的设计方法.该数字电位器采用了4×4电阻矩阵、继电器矩阵和82C55I/O 扩展电路,不仅具有三端输出,而且总阻值和分阻值均可设置.总阻值可变化范围为0.1k Ω至10k Ω,分阻值可变化范围为0k Ω至10kΩ.可支持RS 2232串口和I/O 并口两种通讯控制接口,满足了通用性要求.该数字电位器已应用于多个数字控制系统,并取得了良好的效果.关键词:数字电位器;数字控制;继电器矩阵;电阻矩阵;89C2051中图分类号:TP214 文献标识码:A 文章编号:100529490(2007)0622061204 随着网络实验室、计算机实时控制等的发展,一直存在着如何实现对电阻进行数字控制的问题.目前一般的解决方案是采用各类集成IC 芯片类可调电阻,但这些芯片类电阻不仅可调档数非常有限,而且由于是IC 芯片类电阻,只能用于弱电电路.通常该类电阻工作电压只有±5V ,对于大多数控制电路(很多要求至少可工作于±15V 范围内)这样的工作条件限制比较苛刻,不能满足相当一部分电路调节的要求.本文介绍了一种完全模仿普通电位器的数字电位器.该数字电位器具有三个接线端输出、可正常工作在60V (DC )或220V (AC )电压下,步进阻值至少可以达到1Ω.1 系统设计思路该数字电位器的设计主要包括软件和硬件两部分内容.软件方面主要是PC 端软件的电位器参数设定和控制命令输入,以及底层单片机端软件的编制.硬件部分主要是电阻矩阵的布局和开关动作算法的设计,这是数字电位器设计的关键.下面将简单介绍一下电阻矩阵的设计思路,然后对该数字电位器的软件和硬件部分分别进行详细介绍.数字电位器性能的好坏与其电阻矩阵的设计思路有密切的关系.IC 芯片类数字电位器通常采用接入或者去除单位电阻的方法,来实现增加或者减少:20070101: 192sa .电阻链路的总阻值.按照这种设计思想,如果要求输出高阻值,并且步进阻值较小时很难实现.本设计采用矩阵式电阻布局思路,将整个电阻模块分成千、百、十、个四档,采用4位“2421码”(用A、B、C、D表示)对各档的0~9十个数字进行编码.即整个最大值为9999的电阻矩阵使用4×4位控制,同时为了实现三端输出而总电阻不变,同时总电阻R0也可设定,再增加两个4位“2421码”控制另一路“千、百档”电阻链路.该“千、百档”电阻链路的输出与另一类“千、百档”链路输出之和为(R0-99)Ω.而“十、个档”由于采用了双刀双掷开关,可以只使用8位“2421码”就可控制两路十、个档互补电阻链路.具体电阻矩阵框图可见图1.其中R1~R8和R9~R16分别是两路千、百档电阻链路,而R17~R24和R25~R32分别是两路十、个档电阻链路.图1 电阻矩阵框图电阻矩阵控制思路是:所设定分阻值R m先转换成16位“2421”码,该16位的每一位都对应底层电阻矩阵中一个独立的电阻,当该位置高时该电阻接入,当该位置低时该电阻从电阻矩阵中切换掉.而每位数字对应的电阻阻值如表1所示.同时,为了保证总阻值R0不变,需切换另一路千、百档电阻链路,且保证为(R0-R m-99).这样设定的阻值先经过编码,再从I/O口输出控制底层电阻切换,从而达到预定阻值.表1 各位阻值对应表 档 位 A B C D千位每位2421码值2421权重1000100010001000底层阻值/Ω2000400020001000百位每位2421码值2421权重100100100100底层阻值/Ω200400200100十位每位2421码值2421权重10101010底层阻值/Ω20402010个位每位2421码值2421权重底层阻值Ω 下面将对本设计的软件部分和硬件部分分别进行详细介绍.2 软件设计该模块电路有两种通讯接口,一种是通过R S2 232串口通讯,还有一种是由I/O板卡输出信号进行控制.使用串口通讯需要底层有单片机与上位机配合;对于I/O直接控制,需要一个至少12位的I/ O控制信号输出,但底层不用进行单片机端软件的设计.以下将分PC端软件和单片机端软件两部分介绍该系统软件设计.2.1 PC端软件设计PC端软件主要完成界面的设计,提取用户输入的参数,对输入数字有效性的判断,然后按照2421码的编码将数据进行转化,并通过RS2232串口通讯方式或者I/O并口方式控制电阻矩阵开关动作.数字电位器的PC端操作界面主要包括通讯接口的选择,总阻值R0和分阻值R m输入等简单选项,如图2所示.图2 PC端软件界面下面给出使用Vi sual C++进行数据处理的部分代码.提取出各位数字代码:R1=m_R m%10;R2=(m_R m/10)%10;R3=(m_R m/100)%10;R4=(m_R m/1000)%10;当数字为8、9时“2421”编码换算代码:if (R1>=8&&R1<=9)R1+=6;数据有效性检查代码:if (R1>=16&&R2>=16&&R3>=16 &&R4>=16){Af xMessa geBox("数据出错!");ret ur n;}将千、百位和十、个位的码值分别整合到两个字节中:_D=36+3;B_D=36+;处理后的数据,可通过R S23串口通讯传到2602电 子 器 件第30卷1111 /2421PA ata r41rP ata r21r12289C2051,然后通过单片机写到82C55的PA 、P B 、PC 口.也可以通过I/O 板卡进行并口通讯控制.下面简单介绍一下第二种方式.如果直接使用I/O 板卡,则调用板卡I/O 输出函数将处理后的数字直接写到82C55的PA 、P B 、PC 口.I/O 控制主要是使用研华公司的PCL 2818板卡.可以调用PCL 2818的位输出函数DRV_Dio 2Writ eBit ()和字节输出函数DRV _DioWrite Port 2Byt e (),实现对82C55口的写操作.下面给出了使用这两个函数进行位和字节读写的部分代码.//写位代码ptDio Writ eBit.port =1;设置输出位的所在端口ptDio Writ eBit.bit =6;设置输出位ptDio Writ eBit.st at e =1;设置输出位的状态DRV_DioWrit eBi t (l Driver Handle818,(L P T _Dio 2Writ eBit)&ptDioWri teBit );//写字节代码ptDio Writ ePort Byt e.port =1;设置输出端口ptDio Writ ePort Byt e.mask =0x30;设置输出端口的maskptDio Writ ePort Byt e.st ate =0x20;设置输出端口的值DRV_DioWri te PortByte (lDri ver Handl e818,(L P T_DioWrite PortByte)&ptDio Writ ePortB yt e);2.2 单片机端软件设计如果系统是采用R S 2232串口通讯方式实现对下位机的控制,底层硬件还需增加一块89C2051用于接受数据和执行命令.单片机上的软件主要有两块,一个是串口通讯,一个是将上位机传过来的数据输出到82C55的PA 、PB 、PC 实现电阻切换.通过串口通讯接收到的3组8位数据(分别要输出到PA 、PB 、PC)分别放到20H ,21H ,22H 中.串口定时器工作在方式2,波特率为1200,串口为方式1.并且通过P3.2~P3.5控制82C55,通过P1口写82C55的三个口.单片机端软件流程图如图3所示.图3 单片机程序流程图3 硬件设计整个硬件系统可以分为与上位机通讯的接口电路,由82C55构成的I/O 扩展电路,由2803组成的驱动放大电路以及继电器和电阻组成的电阻矩阵电路.如图4所示的由89C2051和MAX232芯片组成的串口通讯和控制电路可以实现与PC 的串口通讯.同时考虑到很多系统存在I/O 板卡可直接引出I/O ,留有一个20pin 组成的并口信号控制接口,具体电路如图5所示.可采用并行总线方式扩展控制多个数字电位器.图4 串口接口电路图5 并口接口电路整个硬件系统由32个电阻和16+8个继电器组成,其中16个为单刀双掷,另8个为双刀双掷的.PA 口驱动后输出的8位信号控制着由R 1~R 8和J 1~J 8(电阻与继电器标号一一对应,下同)组成的千、百位电阻链路.该链路部分电阻间的连接方法如图6所示.链路的其他电阻依照图示连接方法按顺序连接,比如J 3和R 3(2k Ω)按照R 4(J 4)与R 5(J 5)之间的连接方法与R 4连接,同样J 2和R 2(4k Ω)按此法与R 3(J 3)连接,R 5、J 5与R 6(400k Ω)、J 6连接,最后R 1~R 8和J 1~J 8连接成一链路.PB 和PC 驱动的电阻链路连接方法与此相同,下面不再给出,只作简单介绍B 输出的8位信号控制着8个双刀双掷的继电器,这8个继电器控制着分别由R ~R 和R 5~3602第6期王同苍,朱善安:一种新型数字电位器的设计.P 17242图6 PA驱动电阻链路R32组成的两路电阻链路,而且这两个电阻链路是阻值互补型的,即两个电阻链路阻值总和为99Ω.该电阻链路部分电路如图7所示.图7 PB驱动电阻链路为了实现整体阻值不变的效果还增加了PC输出的8位,该组信号控制着由R9~R16以及J9~J16组成的另一组千、百档电阻链路,并和PA输出值之和为定值,保证每次调整分电阻时,总电阻不变.而且通过设定PA和PC输出数值之和可以实现的可调,该链路部分电阻间的连接如图8所示.整个矩阵电路按照图1所示结构连接,PA驱动的电阻链路中的J1_1(表示J1的1号管脚,下同)和PC的链路J17_3连接,PB链路的J9_1与PC链路的J17_4连接,则三个独立的电阻链路相互连接成一体.然后将PA链路的J8_5、PC链路的J24_8和PB链路的J16_6分别引出作为电位器的最小端MIN、中间抽头M I D、最大端MA X.则MIN与M I D 间的阻值为R m,MIN与MA X间阻值为R o.为了提高电阻矩阵工作电压的范围,低阻值电阻(尤其是个位档电阻)要选用大功率电阻由于电路链路阻值由R~R3和开关电路组成,所以对于R、R阻值变化精度要求比较高的系统,最好选用图8 PC驱动电阻链路高精度的电阻以及使用接触电阻小的继电器构成电阻链路.4 结语该数字继电器,满足大多数系统工作环境的要求,可以解决当前数字控制系统中大功率、高分辨率电阻的数字调节问题.而且由于其通用性设计,不仅可以分阻值R m可调,而且整体阻值R o也在0.1K ~10K间可调.同时,按照本设计思路改变系统参数,即可以实现整个系统的阻值和电阻步进值的改变.本文设计的数字电位器模块已在“基于网络的机电控制实验系统”和“基于网络的电力电子实验系统”中应用,并取得了良好的效果.尤其在基于网络的机电控制实验中,采用I/O并口控制方式,完全解决了整个系统电阻的数字调节问题.参考文献:[1] David J.Kr ugli ns ki著,潘爱民、王国印译.V ISUAL C++6.0技术内幕[M].第四版.北京:清华大学出版社.2003.[2] 高峰.单片机微机应用系统设计及实用技术[M].北京:机械工业出版社.2004.[3] 何立民.MCS251系列单片机应用系统设计系统配置与接口技术[M].北京:北京航空航天大学出版社.2000.[4] 郑家龙、王小海、章安元主编.集成电子技术基础教程[M]北京:高等教育出版社.2002.[5] 何小艇主编.电子系统设计[M].杭州:浙江大学出版社2001.[6] Huang Wu.Depart ment of El ect ri cal Engi neering.Tung NanIn sti t ute of Tech nolo gy,Taip ei,Taiwan ROC E2mail:j ohnwu @ms15.url.co m.t w“Design of Cont rol Experi ment s on t he Int ernet[EB/OL]”.[7] 刘志远,祖先锋,周晓东.继电器开关矩阵在导弹测试系统中的应用研究[J].电子器件.2006.3(29).[8] 杨峰利用单片机实现多路矩阵切换[]机电工程技术(33)4602电 子 器 件第30卷.12m o.J.. 2004.4.。
最新I2C总线数字电位器原理及与单片机的接口设计

I2C总线数字电位器原理及与单片机的接口设计I2C总线数字电位器原理及与单片机的接口设计湘潭工学院信息与电气工程系(411201) 黄采伦摘要I2C总线数字电位器是Xicor公司推出的数字电位器中较有代表性的一种,它集许多先进特性于一体,倍受使用者瞩目;本文介绍其特性、工作原理及与单片机的接口技术。
关键词数字电位器I2C总线单片机程序模块1引言随着I2C总线应用的日益广泛,兼容I2C总线的接口芯片及存储器的品种也越来越多,其中数字电位器以其调节方便、使用寿命长、受物理环境的影响小、性能稳定等特点,已被广大电子工程技术人员所认识;尤其是在音频产品、控制领域等的应用越来越受到人们的重视。
I2C总线数字电位器是美国Xicor 公司推出的X9×××系列数字电位器中较有代表性的一种。
它是把几个E2POT非易失性数字电位器集成在一起的单片CMOS微电路,具有二线串行I2C总线接口,易于软件控制,可直接读出、写入滑动端位置,可级联使用等先进特性。
本文以X9241为例说明。
2结构原理X9241内部包括一个I2C接口和四个数字电位器。
每个数字电位器由电阻阵列及与之对应的滑动端计数寄存器WCR、四个8位数据寄存器R0~R3等部分构成。
其引脚配置如图1所示。
2.1电阻阵列每个电阻阵列由63个串联连接的分立的电阻段组成。
每个电阻阵列的物理终端等效于机械电位器的固定端(V H和V L输入端)。
每个阵列的V H和V L以及每个电阻段之间的接点(即抽头)通过FET开关连接滑动输出端V W;而滑动端V W在电阻阵列中的位置由WCR控制。
图1X9241引脚配置图其中V W0、V W1、V W2及V W3分别为四个电位器的滑动端;V L0、V L1、V L2及V L3分别为四个电位器的低端;V H0、V H1、V H2及V H3分别为四个电位器的高端;A0、A1、A2及A3为地址线(用来设置从属地址低4位);SDA及SCL分别为串行数据和串行时钟;V CC及V SS分别为电源和地如果将四个电阻阵列中的两个、三个或四个串联起来可构成127、190或253个抽头的数字电位器。
数字电位器电路设计

数字电位器电路设计电位器是一种用来调节电阻值的被动元件,常用于电子电路中对电流、电压进行控制和调节。
本文将介绍数字电位器电路设计的相关知识和步骤。
1. 数字电位器的基本原理数字电位器是一种由多个分立的固定电阻器组成的电路元件,它通过改变分压比来达到对电路的控制。
它分为单通道数字电位器和多通道数字电位器两种类型,其中单通道数字电位器只有一个调节通道,而多通道数字电位器则可以同时对多个通道进行调节。
2. 数字电位器的工作方式数字电位器的工作方式是通过改变其内部的电阻值来实现对电路的调节。
通常情况下,数字电位器会通过输入控制信号(如PWM信号或I2C信号)来改变其电阻值。
通过调节控制信号的幅值或频率,可以实现对电路的精确调节。
3. 数字电位器的选择和参数分析在设计数字电位器电路时,需要根据实际需求选择合适的电位器型号和参数。
常见的参数包括电阻值、功率、精度和分辨率等。
根据具体的电路要求,选择合适的电位器参数可以确保电路的性能和稳定性。
4. 数字电位器电路的设计步骤(1)确定电路需求:根据实际应用需求,确定数字电位器所需的电阻范围、分辨率和功率等参数。
(2)选择合适的电位器型号:根据电路需求选择合适的数字电位器型号和封装形式。
(3)电路连接设计:按照电位器的连接方式设计电路连接方式,包括串联连接和并联连接。
(4)控制信号设计:选择合适的控制信号源,如PWM信号或I2C信号,并设计相应的控制电路。
(5)电源和接地设计:为数字电位器电路设计合适的电源和接地方式,确保电路的正常工作。
5. 数字电位器电路的应用示例数字电位器电路广泛应用于各种电子设备和系统中,如音频设备的音量调节、光电设备的亮度调节和温度传感器的灵敏度调节等。
通过合理设计和应用,数字电位器可以提供精确和灵活的电路控制功能。
本文介绍了数字电位器电路设计的基本原理、工作方式和选型分析。
同时,提出了数字电位器电路设计的步骤和注意事项,以及其在实际应用中的示例。
单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目:学院:专业:班级:学号:学生姓名:指导教师:年月日目录设计题目 (1)1 设计要求及主要技术指标: (1)1.1 设计要求 (1)1.2 主要技术指标 (2)2 设计过程 (2)2.1 题目分析 (4)2.2 整体构思 (4)2.3 具体实现 ................... 错误!未定义书签。
3 元件说明及相关计算 (5)3.1 元件说明 (5)3.2 相关计算 (6)4 调试过程 (6)4.1 调试过程 (6)4.2 遇到问题及解决措施 (7)5 心得体会 (7)参考文献 (8)附录一:电路原理图 (9)附录二:程序清单 (9)设计题目:PWM直流电机调速系统本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路以及独立按键组成的电子产品。
电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。
通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。
电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。
关键词:直流电机调速;定时中断;电动机;PWM波形;LED显示器;51单片机1 设计要求及主要技术指标:基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM调速控制装置。
1.1 设计要求(1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。
(2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。
(3)设计一个4个按键的键盘。
K1:“启动/停止”。
K2:“正转/反转”。
K3:“加速”。
K4:“减速”。
(4)手动控制。
在键盘上设置两个按键----直流电动机加速和直流电动机减速键。
单片机c语言ec11脉冲电位器

单片机c语言ec11脉冲电位器在单片机(c语言)中如何利用EC11脉冲电位器进行控制,实现某种功能?第一步:了解EC11脉冲电位器的原理和工作方式EC11脉冲电位器是一种常见的旋转编码器,它通过旋转和按下来获取用户的输入和操作。
一般来说,EC11脉冲电位器有3个引脚:CLK(脉冲输出)、DT(方向输出)和SW(按键输出)。
- CLK引脚负责输出旋转时产生的脉冲信号。
- DT引脚用于指示旋转的方向,当以某个方向旋转时,DT引脚会输出0,反之输出1。
- SW引脚是按键输出,当按下脉冲电位器时,会输出一个低电平信号。
第二步:搭建硬件电路在利用EC11脉冲电位器控制单片机之前,我们首先需要搭建相应的硬件电路。
一般而言,电位器的CLK引脚接入单片机的一个IO口,DT引脚接入另一个IO 口,SW引脚接入另一个IO口。
第三步:初始化IO口在单片机中,我们需要先初始化相应的IO口,将其配置为输入或输出模式,以便读取EC11脉冲电位器的输出。
第四步:编写中断函数EC11脉冲电位器经常与中断结合使用,以实现编码器的读取和相应功能的实现。
我们可以通过设置外部中断,当CLK引脚有变化时触发中断函数。
第五步:编写中断函数处理程序在中断函数处理程序中,我们可以通过读取DT引脚的状态来判断旋转的方向,根据旋转的方向进行相应的处理或控制。
第六步:根据需求进行相应的功能设计和实现通过EC11脉冲电位器的旋转和按下操作,我们可以实现一些常用的功能,如旋转调节某个参数的大小、控制LED的亮灭、选择菜单等等。
具体来说,我们可以根据旋转的方向来增加或减小某个参数的值,并将结果反馈到相应的控制器或显示器上;通过按下操作,实现菜单的选择或某个功能的启动。
第七步:调试和测试在编写完成程序后,我们需要对程序进行调试和测试,确保EC11脉冲电位器可以正常工作并实现预期的功能。
第八步:进一步优化和改进在实际应用中,我们还可以进一步对程序进行优化和改进,提高系统的稳定性和效率。
基于单片机的数字电位器设计

基于单片机的数字电位器设计
人耳对声强的主观感受遵循韦伯定律(Webber’s Law),在音量较小时人耳对声波振幅的改变感受灵敏,声音达到一定响度后,人耳的听觉特性开始变得迟钝。
而指数型电位器的阻值变化规律为先慢后快,如果将这种衰减特性用在音量调节中,则恰好可以抵消人耳对音量感知的对数特性,保证主观听感的平滑。
与传统的机械式音量电位器相比,数字电位器(DCP)的阻值调节由内部CMOS 开关控制,因而使用寿命长、可靠性高且不会产生机械噪声;如果将廉价的通用型线性数字电位器直接用于音量调节,在小音量状态下稍微调节电位器即会使输出声压陡然增加,无法保证大动态范围内音量的准确定位,因此目前将数字式电位器运用在成熟功放产品中的实例还不多。
实际上,如果将低分辨率线性数字电位器与通用嵌入式系统结合起来,就能够得到运用于音量控制领域的低成本高分辨率指数式电位器。
总体设计方案
在数字电位器的扩展系统中,主控单元可选用常见的8 位或16 位成熟
单片机。
这里我们主要针对Intersil 公司的低分辨率线性数字电位器
X9313、X9312 进行扩展,系统最终能够达到的实际分辨率为31×99=3069级; 如果把32 抽头的X9313 全部更换为X9312,分辨率还可以进一步提高至9801 级。
X9313 与X9312 这两种DCP 均为三线制接口、带掉电自动保存功能的非易失性数字电位器,其内部分别包含31、99 个电阻单元构成的电阻阵列,
相邻两个电阻单元以及电阻阵列端点都设置有可以被滑动单元访问的抽头,如图1 所示。
滑动单元的位置由CS、U/D 和INC 三个输入端控制,抽头位置值。
数字电位器X9241与PIC单片机的接口及程序设计

数字电位器X9241与PIC单片机的接口及程序设计X9241是XICOR公司生产的、把4个E2POT数字电位器集成在单片的上的一种数字电位器。
它包含4个阵列,每个阵列包含63个电阻单元,在每个单元之间和2个端点之间都有被滑动单元拜访的抽头点。
滑动单元在阵列中的位置由用户通过2线串行接口控制。
每个电阻阵列与1个滑动端计数寄存器(WCR)和4个8位数据寄存器联系在一起。
这4个数据寄存器可由用户挺直写入和读出。
WCR的内容控制滑动端在电阻阵列中的位置,其功能框图1所示。
2 X9241工作原理X9241支持双向总线的定向规约,是一个从属器件。
它的高4位地址为0101(器件类型辨识符),低4位地址由A3~A0输入端状态打算。
在SDA 线上的数据惟独在SCL为低期间才干转变状态。
当SCL为高时,SDA状态的转变用来表示开头和终止条件(开头条件:SCL为高时,SDA由高至低的跳变;终止条件:SCL为高时,SDA由低至高的跳变)。
送给X9241的全部指令都由开头条件引导,在其后输出X9241从器件的地址。
X9241把串行数据流与该器件的地址比较,若地址比较胜利,则作出一个应答响应。
送到X9241的下一个字节包括命令及寄存器指针的信息,高4位为命令,低4位用来指出4个电位器中的1个及4个辅助寄存器中的1个,其格式为:I3 I2 I1 I0/指令 P1 P0/电位器挑选 R1 R0 / 寄存器挑选9条命令中的4条以发送命令字节作为结束。
这些二字节命令在WCR 与数据寄存器中的1个之间交换数据;4条命令为三字节命令,这些命令在主机与X9241之间传输数据(包括主机与1个数据寄存器和主机与WCR之间);还有1条命令为增强/削减命令。
三类命令的命令序列及解释见图2及表1。
X9241包括4个WCR,每个E2POT电位器各1个,WCR可以被认为是一个6位并行和串行装载的带有输出译码的计数器,用来挑选电阻阵列的64选1的开关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键字:单片机数字电位器
人耳对声强的主观感受遵循韦伯定律(Webber's Law),在音量较小时人耳对声波振幅的改变感受灵敏,声音达到一定响度后,人耳的听觉特性开始变得迟钝。
而指数型电位器的阻值变化规律为先慢后快,如果将这种衰减特性用在音量调节中,则恰好可以抵消人耳对音量感知的对数特性,保证主观听感的平滑。
与传统的机械式音量电位器相比,数字电位器(DCP)的阻值调节由内部CMOS开关控制,因而使用寿命长、可靠性高且不会产生机械噪声;如果将廉价的通用型线性数字电位器直接用于音量调节,在小音量状态下稍微调节电位器即会使输出声压陡然增加,无法保证大动态范围内音量的准确定位,因此目前将数字式电位器运用在成熟功放产品中的实例还不多。
实际上,如果将低分辨率线性数字电位器与通用嵌入式系统结合起来,就能够得到运用于音量控制领域的低成本高分辨率指数式电位器。
总体设计方案
在数字电位器的扩展系统中,主控单元可选用常见的8位或16位成熟单片机。
这里我们主要针对Intersil公司的低分辨率线性数字电位器X9313、X9312进行扩展,系统最终能够达到的实际分辨率为31×99=3069级;如果把32抽头的X9313全部更换为X9312,分辨率还可以进一步提高至9801级。
X9313与X9312这两种DCP均为三线制接口、带掉电自动保存功能的非易失性数字电位器,其内部分别包含31、99个电阻单元构成的电阻阵列,相邻两个电阻单元以及电阻阵列端点都设置有可以被滑动单元访问的抽头,如图1所示。
滑动单元的位置由CS、U/D和INC 三个输入端控制,抽头位置值能够被存储在非易失性存储器中,供下次上电时调用置位。
图1 X931x系列DCP的内部结构
系统的每个声道的音量控制由两个X9313与一个X9312构成,图2为三个数字电位器的功能连接图。
所有DCP的U/D、INC端分别连接在一起,而片选端CS各自占用一个MCU 端口。
这种硬件连接方式能够很容易地实现四声道乃至更多声道的音量控制。
为了与常见的数字式音量调整习惯一致,最好不要保留通用DCP的三键式控制方式,而只需设置UP/DOWN 两组按键直接控制音量的增减。
UP/DOWN按键与MCU的连接应设置软件延时的去抖算法,以消除按键输入时的抖动,MCU与DCP之间则不再考虑按键抖动。
分辨率扩展
Ra和Rb同时并联在输入信号Vin的两端,其抽头数均为32。
Ra和Rb的输出作Rc端口电压VH和VL设置,Ra始终比Rb高一个位置间隔,这样就可以将1/32Vi~31/32Vi共31种输入信号的电压变化加到Rc两端。
由于Rc选用了100抽头的DCP,从而可以在Rc输出端得到31×(100-1)=3069级的Vin线性电压值。
随着Rc滑动端上下移动,Ra和Rb的位置也在MCU的控制下进行相应调整。
在上移过程中,设Rc滑动端上移值与目前所在位置值相加后的值为M。
若M小于100,说明这时只是Rc的滑动端发生移动,而Ra和Rb的滑动触点位置不变;若M值超过100,则Ra和Rb 的触点均上移1个滑动位,Rc的滑动端返回M减去100之后所得实际值决定的触点位。
类似地,在抽头下移过程中,若Rc的滑动端需要下移到抽头0以下时,则Ra和Rb的滑动端也需要同步下移1位,以保持电位器实际调整步数的平衡。
电位器Rc的抽头输出端设置了一级电压跟随器,可以减小因负载并联对级联后分压系数的影响。
电位器触点的滑动过程属于不连贯的步进调节方式,故Rc的电阻值不是连续变化而是在滑动端调整到位后才具有所希望的输出,这样会使得输出电压出现一些小幅跳变。
但由于输入信号Vin的绝对增量并不大,且整个电位器扩展系统的分辨率很高,对此我们可在Rc电位器的滑动输出端对地并联一只1000~2200pF的小电容C1,以减小输出电压的波动。
上述电位器分辨率扩展的思路具有较高的可行性与移植性,此前曾应用在我们的一项程控增益可编程高速放大器的系统设计方案中,取得很好的使用效果。
电阻值指数化
DCP的指数化处理采用软件方式实现,不需要额外增加硬件。
由于通用单片机的函数运算功能非常有限,因此在算法上,将电位器每级切换所要求的触点移动步数以数组形式保存在单片机的ROM中。
阻值调整时,MCU根据按键的UP/DOWN状态和当前的阶数值以查表方式取得各只DCP的实际偏移量,然后再由MCU控制DCP执行相应的步进切换动作。
考虑到3069级的实际分辨率,系统从零到满幅输出共设置了24级的步进阶数,优于市场上主流机械式步进电位器18~21的步进阶数,具体的阶数与电位器抽头偏移量关系可参见表1。
从表中不难看出,系统将DCP扩展到3069的高分辨率正是为了适应电位器阻值在指数化调整过程中步进值的精确辨析。
表1 阶数与电位器抽头偏移量关系
X9312与X9313是不能直接从片内存储单元读出滑动端当前所在位置的,因此,为了记忆各只数字电位器滑动触点的实际位置,必须在程序中设置变量对不同电位器的触点位置进行记忆。