数字翻译器程序

数字翻译器程序
数字翻译器程序

1#include "stdio.h"

2char data_1[19][10]={"one","two","three","four",

3 "five","six","seven","eight",

4 "nine","ten","eleven","twelve",

5 "thirteen","forteen","fifteen","sixteen",

6 "seventeen","eighteen","ninteen"};

7

8char data_2[8][8]={"twenty","thirty","forty","fifty",

9 "sixty","seventy","eighty","ninty"};

10

11translation_A(long N)

12{ /*翻译千位数*/

13 long a;

14 if(N==0) {printf("Zero\n");return;}

15 a = N/1000;

16 if(a!=0) {

17 translation_B(a);

18 printf("thousand ");

19 }

20 a = N%1000;

21 if(a!=0)

22 translation_B(a);

23}

24

25translation_B(long a)

26{ /*翻译百位数*/

27 long b;

28 b=a/100;

29 if(b!=0){

30 translation_C(b);

31 printf("hundred ");

32 }

33 b = a%100;

34 if(b!=0)

35 translation_C(b);

36}

37

38translation_C(long b)

39{ /*翻译十位数和个位数*/

40 long c;

41 if(b<=19)

42 printf("%s ",data_1[b-1]);

43 else{

44 c = b/10;

45 printf("%s ",data_2[c-2]);

46 c=b%10;

47 if(c!=0)

48 printf("%s ",data_1[c-1]);

49 }

50}

51

52main()

53{

54 long N;

55 printf("Please input a longeger from 0~999999\n");

56 scanf("%ld",&N);

57 while(N>=0&&N<=999999)

58 {

59 translation_A(N);

60 printf("\nPlease input a longeger from 0~999999\n");

61 scanf("%ld",&N);

62 }

63 getche();

64}

数字电位器程序

sbit X_CS_1=P1^0; // sbit X_INC=P1^1;// sbit X_UD=P1^2; // sbit X_CS_2=P1^4; // //有关电位器的宏定义 #define SETB_X9C103_CS1 X_CS_1=1 #define CLRB_X9C103_CS1 X_CS_1=0 #define SETB_X9C103_INC X_INC=1 #define CLRB_X9C103_INC X_INC=0 #define SETB_X9C103_UD X_UD=1 #define CLRB_X9C103_UD X_UD=0 #define SETB_X9C103_CS2 X_CS_2=1 #define CLRB_X9C103_CS2 X_CS_2=0 void X9C103_Inc_N_Step(unsigned char Sel,unsigned char N); void X9C103_Dec_N_Step(unsigned char Sel,unsigned char N); void Delay(unsigned int t) ; void X9C103_Init(unsigned char Sel);//初始化至中间位置 //延时us子程序 void Delay(unsigned int t) { unsigned int i; for(i=0;i<t;i++) ; } //************************************************************************ // 数字电位器向上调一步 // 数字电位器100个抽头,相当于99步 //************************************************************************ void X9C103_Inc_N_Step(unsigned char Sel,unsigned char N) { unsigned char i=0; SETB_X9C103_UD; // U/D 拉高则下面的INC下沿,执行UP操作 Delay(3); // 延时大约2us

定时器中断程序设计实验

实验一定时器/中断程序设计实验 一、实验目的 1、掌握定时器/中断的工作原理。 2、学习单片机定时器/中断的应用设计和调试 二、实验仪器和设备 1、普中科技单片机开发板; 2、Keil uVision4 程序开发平台; 3、PZ-ISP 普中自动下载软件。 三、实验原理 805l 单片机内部有两个 16 位可编程定时/计数器,记为 T0 和 Tl。8052 单片机内除了 T0 和 T1 之外,还有第三个 16 位的定时器/计数器,记为 T2。它们的工作方式可以由指令编程来设定,或作定时器用,或作外部脉冲计数器用。定时器 T0 由特殊功能寄存器 TL0 和 TH0 组成,定时器 Tl 由特殊功能寄存器 TLl 和 TH1 组成。定时器的工作方式由特殊功能寄存器 TMOD 编程决定,定时器的运行控制由特殊功能寄存器 TCON 编程控制。T0、T1 在作为定时器时,规定的定时时间到达,即产生一个定时器中断,CPU 转向中断处理程序,从而完成某种定时控制功能。T0、T1 用作计数器使用时也可以申请中断。作定时器使用时,时钟由单片机内部系统时钟提供;作计数器使用时,外部计数脉冲由 P3 口的 P3.4(或 P3.5)即 T0(或 T1)引脚输入。 方式控制寄存器 TMOD 的控制字格式如下: 低 4 位为 T0 的控制字,高 4 位为 T1 的控制字。GATE 为门控位,对定时器/计数器的启动起辅助控制作用。GATE=l 时,定时器/计数器的计数受外部引脚输入电平的控制。由由运行控制位 TRX (X=0,1)=1 和外中断引脚(0INT 或 1INT)上的高电平共同来启动定时器/计数器运行;GATE=0时。定时器/计数器的运行不受外部输入引脚的控制,仅由 TRX(X=0,1)=1 来启动定时器/计数器运行。 C/-T 为方式选择位。C/-T=0 为定时器方式,采用单片机内部振荡脉冲的 12 分频信号作为时钟计时脉冲,若采用 12MHz 的振荡器,则定时器的计数频率为 1MHZ,从定时器的计数值便可求得定时的时间。 C/-T=1 为计数器方式。采用外部引脚(T0 为 P3.4,Tl 为 P3.5)的输入脉冲作为计数脉冲,当 T0(或 T1)输入信号发生从高到低的负跳变时,计数器加 1。最高计数频率为单片机时钟频率的 1/24。 M1、M0 二位的状态确定了定时器的工作方式,详见表。

数字定时器资料

电子系统设计 数字定时器 实验报告 学校:苏州大学 学院:城市轨道交通学院 班级:通信工程 组员:张强强朱宇翔肖伟健吴易洲

前言 在电子技术飞速发展的今天,电子产品逐渐趋向人性化和智能化。人们人们为了实现这一目的而引入了单片机。单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。单片机的诞生标志着计算机正式形成了通过计算机系统和嵌入式计算机系统两个分支。目前单片机已渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。单片机已在广阔的计算机应用领域中表现得淋漓尽致电器因此,单片机已成为电子类工作者必须掌握的专业技术之一。 这次实验,我们组是以单片机为核心设计一个数字定时器。在实验过程中,我们开始了解电系统设计的和基本理念,基本规则和基本流程;在不断完善设计的过程中,我们逐步丰富和巩固自己的理论知识,培养积极思考解决问题的习惯并充分地发挥自己动手实验操作的能力。 可以说这次实验将我们所学的《单片机原理与应用》以及《电子系统设计》两门课程进行了有机的结合。通过解决实际问题,我们对原理有了更深刻的理解,对于应用有了更广泛的接触。另外实验中我们学会使用Proteus和Keil两款软件进行单片机电路的仿真以及程序的编写及联调。这些都为我们以后的课程设计乃至工作研究奠定了厚实的基础。 这次的实验中,我们以单片机实现计时和倒计时功能,由LED 显示剩余时间,显示格式为 XX(分),精确到1分的整数倍。虽然接触到的功能模块较多,包括接口模块、中断模块、存储模块、控制模块和显示模块等,但仍然只是单片机这门学问的皮毛,在以后的学习中我们还需要不断汲取知识,不断地将理论与实践结合。 本次实验有本小组4位组员共同完成,张强强负责,朱宇翔负责,吴易洲负责,肖伟健负责。 编者注

详解数字电位器的原理与应用

详解数字电位器的原理与应用数字电位器(DigitalPotenTIometer)亦称数控可编程电阻器,是一种代替传统机械电位器(模拟电位器)的新型CMOS数字、模拟混合信号处理的集成电路。数字电位器采用数控方式调节电阻值的,具有使用灵活、调节精度高、无触点、低噪声、不易污损、抗振动、抗干扰、体积小、寿命长等显著优点,可在许多领域取代机械电位器。 数字电位器一般带有总线接口,可通过单片机或逻辑电路进行编程。它适合构成各种可编程模拟器件,如可编程增益放大器、可编程滤波器、可编程线性稳压电源及音调/音量控制电路,真正实现了“把模拟器件放到总线上”(即单片机通过总线控制系统的模拟功能块)这一全新设计理念。 目前,数字电位器正在国内外迅速推广,并大量应用于检测仪器、PC、手机、家用电器、现代办公设备、工业控制、医疗设备等领域。 1.基本工作原理 由于数字电位器可代替机械式电位器,所以二者在原理上有相似之处。数字电位器属于集成化的三端可变电阻器件其等效电路,如图l所示。当数字电位器用作分压器时,其高端、低端、滑动端分别用VH、VL、VW表示;而用作可调电阻器时,分别用RH、RL和RW表示。 图2所示为数字电位器的内部简化电路,将n个阻值相同的电阻串联,每只电阻的两端经过一个由MOS管构成的模拟开关相连,作为数字电位器的抽头。这种模拟开关等效于单刀单掷开关,且在数字信号的控制下每次只能有一个模拟开关闭合,从而将串联电阻的每一个节点连接到滑动端。

数字电位器的数字控制部分包括加减计数器、译码电路、保存与恢复控制电路和不挥发存储器等4个数字电路模块。利用串入、并出的加/减计数器在输入脉冲和控制信号的控制下可实现加/减计数,计数器把累计的数据直接提供给译码电路控制开关阵列,同时也将数据传送给内部存储器保存。当外部计数脉冲信号停止或片选信号无效后,译码电路的输出端只有一个有效,于是只选择一个MOS管导通。 数字控制部分的存储器是一种掉电不挥发存储器,当电路掉电后再次上电时,数字电位器中仍保存着原有的控制数据,其中间抽头到两端点之间的电阻值仍是上一次的调整结果。因此,数字电位器与机械式电位器的使用效果基本相同。但是由于开关的工作采用“先连接后断开”的方式,所以在输入计数有效期间,数字电位器的电阻值与期望值可能会有一定的差别,只有在调整结束后才能达到期望值。 从图2可以看出,数字电位器与机械式电位器有2个重要区别:1)调整过程中,数字电位器的电阻值不是连续变化的,而是在调整结束后才具有所希望的输出。这是因为数字电位器采用MOS管作为开关电路,并且采用“先开后关”的控制方法:2)数字电位器无法实现电阻的连续调整,而只能按数字电位器中电

数字电位器的应用操作分析

数字电位器的应用 数字电位器介绍 简单的讲,数字电位器由数字输入操纵,产生一个模拟量的输出。那个定义类似于数模转换器(DAC),所不同的是:DAC具有一个缓冲输出,大多数数字电位器没有输出缓冲器,因而不能驱动低阻负载。依据数字电位器的不同,抽头电流最大值能够从几百微安到几个毫安。因此,不论是一般电位器依旧数字电位器,假如与低阻负载连接,都应保证在最恶劣的条件下,抽头电流不超出所同意的IWIPER 范围。所谓“最恶劣的条件”发生在抽头电压VW接近于端电压VH,而且线路中没有足够限流电阻的情况下。有些应用中,抽头流过较大的电流,这时应该考虑电流流经抽头时产生的压降,那个压降会限制数字电位器的输出动态范围。数字电位器的应用 数字电位器的应用特不广泛,某些特定情况下可能需要增加元件以配合电路调整。例如,数字电位器的端到端电阻一般为10~200K ,

而调整LED亮度时通常需要特不低的阻值。针对那个问题,能够选用DS3906。当DS3906外部并联一个固定105 的电阻时,能够提供70~102 的等效电阻,这种结构能够按照0.5 的步进值精确调节LED的亮度。 有些情况下还会需要专门性能的数字电位器,例如对电压或电流进行温度补偿,光纤模块中对激光驱动器偏置的调节确实是一个典型范例(见图1),温度补偿数字电位器MAX1858内部带有一个用EEPROM保存的查找表,校准值在查找表内按温度顺序排列。数字电位器内部的温度传感器对温度进行检测,然后依照检测的温度值从查找表里得到对应的校准电阻。

非易失性是数字电位器常见的一个附加功能。基于EEPROM 的非易失数字电位器在上电复位时能够保持在某个已知状态。现有的EEPROM 技术能够专门容易保证50000次的擦写次数,相关于机械式电位器,非易失数字电位器的可靠性更高。一次性编程(OTP)数字电位器(如MAX5427-MAX5429),能够在编程后永久保存缺省的抽头位置。与基于EEPROM的数字电位器一样,上电复位后,OTP数字电位器初始化到已知状态。然而一经编程,OTP数字电位器的上电复位状态不能够再更改。 数字电位器能够协助自动完成电源系统中电压或电流的校准,或用

单片机定时器实验程序

ORG 0000H LJMP START ORG 001BH ;定时器/计数器1中断程序入口地址 LJMP INT ORG 0100H START: MOV TMOD,#10H ;计数器置为方式1 MOV TL1,#0B0H ;装入时间常数 MOV TH1,#03CH SETB ET1 ;允许定时器T1中断 SETB EA ;允许总中断 SETB TR1 ;开始计数 MOV R0,#05H ;05是进入中断的次数LOOP: MOV R1,#00H MOV R2,#26H ;灯的状态循环次数LOOP1: MOV A,R1 ACALL TABLE MOV P1,A INC R1 LOOP2: CJNE R0,#00H,LOOP2 MOV R0,#05H DJNZ R2,LOOP1 LJMP LOOP TABLE: INC A ;从表中取显示码入累加器 MOVC A,@A+PC RET DB 0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,0H DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,00H,0FFH,0FEH DB 0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,0BFH,0DFH DB 0EFH,0F7H,0FBH,0FDH,0FEH,0FFH,00H,0FFH,00H INT: CLR TR1 ;停止计数 DEC R0 ;计数值减一 MOV TL1,#0B0H ;重置时间常数初值 MOV TH1,#03CH SETB TR1 ;开始计数 RETI ;中断返回 END

将T1改为T0,并且溢出间隔为0.05s ORG 0000H LJMP START ORG 001BH ;定时器/计数器1中断程序入口地址 LJMP INT ORG 0100H START: MOV TMOD,#01H ;计数器置为方式1 MOV TL1,#78H ;装入时间常数 MOV TH1,#0CH SETB ET0 ;允许定时器T1中断 SETB EA ;允许总中断 SETB TR0 ;开始计数 MOV R0,#05H ;05是进入中断的次数 LOOP: MOV R1,#00H MOV R2,#25H ;灯的状态循环次数 LOOP1: MOV A,R1 ACALL TABLE MOV P1,A INC R1 LOOP2: CJNE R0,#00H,LOOP2 MOV R0,#05H DJNZ R2,LOOP1 LJMP LOOP TABLE: INC A ;从表中取显示码入累加器 MOVC A,@A+PC RET DB 0FFH,07FH,3FH,1FH,0FH,07H,03H,01H,00H DB 80H,81H,0C1H,0C3H,0E3H,0E7H,0F7H,0FFH DB 00H,0FFH,00H,0FFH,0EFH,0E7H,0C7H,0C3H,83H,81H,01H,00H DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH INT: CLR TR1 ;停止计数 DEC R0 ;计数值减一 MOV TL1,#78H ;重置时间常数初值 MOV TH1,#0CH SETB TR1 ;开始计数 RETI ;中断返回 END

数字电位器芯片X9511的应用扩展

数字电位器芯片X9511的应用扩展 杨善迎莱芜职业技术学院 引言 数字电位器在我国还是近几年出现的新型器件,该器件一出现,就以其调节准确方便,使用寿命长,受物理环境影响小,性能稳定等特点,而被广大电子工程技术人员所接受。但数字电位器本身能够承受的电流和电压有限,因而需要扩展,同时在实际应用中,数字电位器的阻值范围及分辨率也需要扩展,本文介绍的扩展方案适用于各种信号的数字电位器。 数字电位器简介 数字电位器是可用数字信号控制电位器滑动端位置的新型器件,一般分按钮控制和串行信号控制两种,X9511就是XICOR公司生产的理想按键式数字电位器,它内含31个串联电阻阵列和32个轴头。轴头位置由两个按键控制,并且可以被存储在一个E2PROM存储器中,以供下一次通电时重新调用,并自动恢复轴头位置,X9511有1kΩ和10kΩ的X9511Z和X9511W两种规格。X9511内部由计数器、存储器、译码器、模拟开关和电阻阵列等电路组成,其中计数器是5位可逆计数器,可用于对控制信号PU(或PD)进行加(或减)计数,计数器的计数值可以在ASE 的控制下存储非易失性存储器中。计数器的数值经过32选1译码器译码后可用于控制模拟开关,32个模拟开关相当于电位器的32个轴头,电阻阵列由采用集成电路工艺制作的31个串联一起的电阻构成,电阻两端分别连接模拟开关的一端,而模拟开关的另一端连接在一起构成数字电位器的滑动端(VW),译码器的输出端可控制模拟开关的通断,从而实现滑动轴头位置的变化。X9511的计数器电路具有以下特点: ◆输入端具有内部上拉电阻和消除开关抖动的抗扰电路,当输入脉冲宽度小于40ms时,计数器将其视为干扰信号而不进行计数; ◆PU和PD引脚可直接连接一个按钮开关到地,当按钮按下时,在PU或PD端产生一个负脉冲,使计数器进行加1(按PU键)或减1(按PD键)计数; ◆能将计数值存储在非易失性存储器E2PROM中长期保存; ◆能在上电时自动将E2PROM中的数据恢复到计数器中; ◆当计数器计数到最大值“31”时,PU按键失效,而计数到最小值“0”时,PD按键失效,从而避免循环计数,保证电位器调到最大位置时不会跳到零位,或从零位跳到最大位置。 ◆具有慢速和快速计数选择,当输入负脉冲宽度小于250ms时为慢速计数方式,此时按一下按键计数器将执行加1(或减1)操作,当脉冲宽度大于250ms时,计数器为快速(连续)计数方式,此时1秒钟以内,电路将以250ms的速率连续计数,若按键按下的时间大于1秒,计数器将以5ms的速率递增或递减,直到滑动端滑到最高或最低轴头位置,当按键一释放后,计数器立即停止计数,电路返回到等待状态。 X9511的管脚功能键表1所列,基本应用电路如图1所示,图1是用X9511组成的0-+5V可调分压电路,图中,VH端接+ 5V,VL端接地,从VW端输出0-+5V可调电压,按动开关K1,输出电压增大,最大为+5V,按动K2时,电压减小,最小为0V,按下按键K3后再释放即完成一次手动的滑动端位置存储,这样即可将当前的滑动端位置存储到E2PROM中以作为滑动端下一次

数字定时器资料

北京理工大学2012级电子技术课程设计 数字定时器

第1章概述 1.1设计目的 1、学习掌握电子技术基础知识和具体电路设计能力; 2、熟练掌握EDA仿真的使用方法; 3、增强学生的实践能力和遇到各种问题后寻找问题原因、解决问题的能力。 1.2设计要求 1、计时显示范围要求自00时00分00秒到23时59分59秒; 2、具有校时功能,可对小时、分、秒分别进行校准; 3、要求预选时刻到达时被控对象连续响10秒,蜂鸣器在10秒内断续鸣叫5次,即响1秒停1秒。 第2章设计与仿真 2.1工作原理 数字定时器由振荡电路、分频电路、计时电路、数码管显示电路、校时电路和闹钟电路组成。 由振荡电路产生2Hz的方波信号,经分频器产生1Hz和0.5Hz的信号,其中计时电路用1Hz信号,闹钟电路用0.5Hz信号,校时电路用2Hz与1Hz信号。计时电路使用的是6片CD4518和5片CD4028,分秒计数器为60进制,时计数器为24进制,CD4028输出进位脉冲给下一位的CP端。当计数器满24小时时,输出清零信号给各计数器完成清零,重新计数。校时电路由CD4015与一些门电路组成,闹钟电路由门电路和蜂鸣器组成。 2.2分部设计与仿真 2.2.1振荡电路 振荡电路可用555定时器与RC组成的电路实现,如图2-1所示。

图2-1 555定时器RC振荡电路 OUT管脚输出的即为2Hz的方波信号。 2.2.2分频电路 因为需要用到1Hz与0.5Hz的方波信号,所以把74LS160设计成分频器,把振荡电路2Hz的信号接到CLK管脚,则其QA端输出的为1Hz方波信号,QB 端输出的为0.5Hz方波信号,电路如图2-2所示。 图2-2 分频电路

数字电位器常见问题及应用经验总结

对于设计人员而言,数字电位器正变得越来越重要,它们具有很多优点,但也存在很多限制。下面比较机械电位器,数字电位器的共同点和区别,并由此帮助读者了解如何使用数字电位器。 电位器的出现有很长的历史,它以各种方式应用在广泛的领域,如常数调整和测量领域。最常见的莫过于设定和微调电阻值来微调电路,设置电平和调整增益等。电位器也被用来设计机器人和工业设备中的位置反馈。针对电位器需要考虑的各个方面,需针对特定应用的各种需求来设置。如电位器上的最大电压,各臂所能提供的最大电流,能允许消耗的最大功率以及最需要考虑的电阻问题。从功率到噪声的各个方面。单个电阻的误差通常有+/-20%到+/-5%,温度也会造成电阻值的漂移,所以需要考虑电位器的精度,线性,单调性与否,是否考虑设计中其它因素。比如人耳对声音的频率响应将比较重要。断电与加电时电阻的变化,成本和体积,还有可靠性如装配,潮湿等。 在爱迪生一千多项的发明当中,电位器总是为人们所遗忘。它是在十九世纪七十年代被发明并应用在开关中。如图一所示。 经一百年来,随着材料及外形的改变,机械电位器在一些初级的应用中受到极大的关注。无可置疑机械电位器和数字电位器有许多区别,而它们的共性却令人惊讶。其中最大相同就是它们都具有可调性,能提供大范围的端到端电阻。 机械电位器可耐上千伏的高压,数字电位器受制于小体积通常电压在30伏以内。机械电位器电阻容量也比数字电位器大。然而我们只要稍加考虑就可以解决上述问题。 机械电位器受振动发生电阻飘移的时候会给设计造成问题。机械电位器的接触点因磨损,老化而造成电阻增大或失效,进而使机械电位器的性能无法预知。数字电位器则无因机械结构造成上述的问题,可以经上万次开关操作而依然保持一致。 数字电位器通常采用多晶硅或薄膜电阻材料,具有低噪声,高精度和优良的温度系数。 机械电位器和数字电位器尺寸大小比对如图二所示。

256抽头精密数字电位器AD5160测试程序

/********* STC12C5A60S2平台AD5160数字电位器程序时钟:外部12M晶振 电位器串联外部电阻连接为可变电阻模式,若不串外部电阻直接接参考电压源即工作为数字电位计模式 *NOTE:作为可变电阻模式与外部电阻串联时存在一定程度容差,若所串电阻大于AD5160本身满量程电阻(型号有5K\10K\50K\100K)10倍以上则此容差才可忽略*****/ /*AD5160.H*/ #ifndef _AD5160_H_ #define _AD5160_H_ #include #include typedef unsigned char uchar; typedef unsigned int uint; sbit CPCS = P3^2; //数字电位器AD5160的片选CS,低电平有效 sbit SDI = P3^4; //数字电位器AD5160的数据SDI sbit SCK = P3^5; //数字电位器AD5160的时钟SCLK void AD5160_init() //AD5160初始化 { CPCS = 1; SCK = 0 SDI = 1; } void set_AD5160(uchar dat) //设定从W抽头到B端的抽头数,以10K版本的为{ //例电阻为R w B = 60+39*rdac 其中W抽头接触电阻为60Ω uchar i,rdac=0; CPCS = 1; rdac = dat; //RDAC为写入AD5160 内部8位radc寄存器数据 SCK = 0; _nop_();_nop_();_nop_();_nop_(); SCK = 1; //SCK在CS拉低前触发一个时钟

X9511数字电位器芯片

数字电位器芯片X9511的应用扩展 引言 数字电位器在我国还是近几年出现的新型器件,该器件一出现,就以其调节准确方便,使用寿命长,受物理环境影响小,性能稳定等特点,而被广大电子工程技术人员所接受。但数字电位器本身能够承受的电流和电压有限,因而需要扩展,同时在实际应用中,数字电位器的阻值范围及分辨率也需要扩展,本文介绍的扩展方案适用于各种信号的数字电位器。 数字电位器简介 数字电位器是可用数字信号控制电位器滑动端位置的新型器件,一般分按钮控制和串行信号控制两种,X9511就是X I C O R公司生产的理想按键式数字电位器,它内含31个串联电阻阵列和32个轴头。轴头位置由两个按键控制,并且可以被存储在一个E2P R O M存储器中,以供下一次通电时重新调用,并自动恢复轴头位置,X9511有1kΩ和10kΩ的X9511Z和X9511W两种规格。 X9511内部由计数器、存储器、译码器、模拟开关和电阻阵列等电路组成,其中计数器是5位可逆计数器,可用于对控制信号P U(或P D)进行加(或减)计数,计数器的计数值可以在A S E的控制下存储非易失性存储器中。计数器的数值经过32选1译码器译码后可用于控制模拟开关,32个模拟开关相当于电位器的32个轴头,电阻阵列由采

用集成电路工艺制作的31个串联一起的电阻构成,电阻两端分别连接模拟开关的一端,而模拟开关的另一端连接在一起构成数字电位器的滑动端(V W),译码器的输出端可控制模拟开关的通断,从而实现滑动轴头位置的变化。 X9511的计数器电路具有以下特点: ◆ 输入端具有内部上拉电阻和消除开关抖动的抗扰电路,当输入脉冲宽度小于40m s时,计数器将其视为干扰信号而不进行计数; ◆ P U和P D引脚可直接连接一个按钮开关到地,当按钮按下时,在P U或P D端产生一个负脉冲,使计数器进行加1(按P U键)或减1(按P D键)计数; ◆ 能将计数值存储在非易失性存储器E2P R O M中长期保存; ◆ 能在上电时自动将E2P R O M中的数据恢复到计数器中; ◆ 当计数器计数到最大值“31”时,P U按键失效,而计数到最小值“0”时,P D按键失效,从而避免循环计数,保证电位器调到最大位置时不会跳到零位,或从零位跳到最大位置。 ◆ 具有慢速和快速计数选择,当输入负脉冲宽度小于250m s时为慢速计数方式,此时按一下按键计数器将执行加1(或减1)操作,当脉冲宽度大于250m s时,计数器为快速(连续)计数方式,此时1秒钟以内,电路将以250m s的速率连续计数,若按键按下的时间大于1

数字电位器与控制

数字电子电路课程设计:数字电位器与控制 一、实验目的 根据时序图和真值表设计按钮控制数字电位器控制电路: 1基本要求:按住控制键,数字电位器阻值连续变化。 2扩展要求:可使用Protues等软件进行仿真设计。 3扩展电路要求:按住控制键,数字电位器阻值连续变化且变化速度递增/递减。 二、实验仪器 74LS132 2输入端与非门 NE555 X9C103 数字电位器 二极管,电容,电阻,开关等 三、实验原理 (1)、X9C103一般说明 X9C103 E2POT TM非易失性数控电位器,端电压±5V,100个抽头 X9C13是固态非易失性电位器,把它用做数字控制的微调电阻器是理想的.. X9C13是一个包含有99个电阻单元的电阻阵列.在每个单元之间和二个端点都有可以被滑动单元访问的抽头点.滑动单元的位置CS,U/D和INC三个输入端控制.滑动端的位置可以被贮存在一个非易失性存贮器中,因而在下一次上电工作时可以被重新调用. X9C103的分辨率等于最大的电阻值被99除.例如X9C503(50千欧)的每个抽头间的阻值为505欧母. 所有的Xicor非易失性存贮器都设计成并经过测试能够用于持久的保存数据的应用场合. 特点: *低功耗CMOS ——VCC=3V至5.5V ——工作电流最大3mA ——等待电流最大500μA *99个电阻单元 ——有温度补偿 ——±20%端点到端点阻值范围

*100个滑抽头点 ——滑动端的位置取决于三线接口 ——类似于TTL升/降计数器 ——滑动端位置贮存于非易失性存贮器中。可在上电时重新调用*滑动端位置数据可保存100年 *X9C103==10K? 数控电位器控制时序图如下: CS INC U/D 图1.1引脚配置及引脚说明引脚配置如图1.1所示。

数字电位器X9511

有关数字电位器X9511-14几个应用问题的探讨 摘要:介绍按钮式数字电位器的防抖动和重复动作问题的一种解决方法,以及对数字电位器电压、电流、级数扩展问题的常见解决方法。 1 引言 数字电位器以其调节准确方便,使用寿命长,受物理环境影响小,性能稳定等特点,已被广大电子工程技术人员所认识。在数字电位器的家族中,X9511/14以其可用按钮直接控制的特点尤其受到青睐,本文欲针对应用开发人员对 X9511/14在按钮控制过程中所出现的防抖动、和重复动作问题以及数字电位器通常遇到的问题作一简要探讨。 2 数字电位器简介 数字电位器是可用数字信号控制电位器滑动端位置的新型器件。一般分按钮控制和串行信号控制两种,下面以美国XICOR公司非易失性按钮控制数字电位器 X9511为例简略介绍一下其原理。 X9511是数字电位器家族中的一种具有按钮控制,线性输出特点的产品,内部包含了31个电阻单元,32档输出滑动端,滑动端由输入到、引脚的负脉冲控制它向VH或VL端滑动。滑动端位置可以被存储在非易失性的存储器EEPROM中,使其上电后能够自动恢复到原来的位置。X9511的管脚见表1,基本应用如图1(图中为X9511/14掉电自动存储滑动端位置的接法)。 图1 X9511基本应用

3 数字电位器在应用中经常遇到的问题 数字电位器在我国还是近几年出现的新型器件,许多人在实际应用中对其不够了解,从而出现许多疑问,下面就经常出现的三个问题略作探讨。 按钮控制的数字电位器常出现按钮按下次数及输出值与预测值不符。数字电位器本身能够承受的电流和电压有限,需要扩展。 在实际应用中数字电位器的阻值范围及分辨率不够,需要扩展。 3.1 按钮控制数字电位器的防抖动和重复触发问题 上面的第一个问题所说按钮控制电位器的按键次数及输出值与预测不符,通常是其中某一档出现了重复触发动作,自然其按键次数和输出电位就会与预测值不符。出现这种现象的原因常是用了面包板做试验,或是使用了劣质按钮,造成接触不良,线路噪声加剧,或是人为按钮动作不规范引起。 美国XICOR公司提供的按钮式数字电位器的应用电路,直接用按钮来控制,就会有可能出现这些问题。X9511/14在其内部集成了40ms延时的去抖动电路, 要求输入控制信号抖动时间短,信号有效时间在40ms~250ms之间,且在此期间不能出现干扰电平。但是由于实际应用情况不可预测,无法避免输入信号的抖动而造成输出的重复动作(按钮时间超过250ms也会造成输出的重复动作),而这却是许多人所不愿看到的。 为了控制输入信号的抖动和噪声影响,在数字电位器的控制端加上触发器,如图2所示,试验结果使输出稳定性有了较为明显的提高,但仍要求按钮动作干脆利落,且线路无干扰,最终表现在输入信号干净无波动,否则不能避免重复触发。经过多次改进,图3电路则较好地解决了以上问题。在按钮与控制输入端之间,加上如图3所示由一片与非门电路构成的单稳电路,具有成本低,电路简单,可防止抖动,并不会使输出重复动作的特点。

基于单片机的数字电位器设计

关键字:单片机数字电位器 人耳对声强的主观感受遵循韦伯定律(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之间则不再考虑按键抖动。

数字定时器设计

设计任务 设计一个数字定时器 设计要求 1,定时1-99分钟,开机上电并且默认10分钟。 2,显示时间自选,不一定使用数码管。 3,定时时间可调,调试方式为两种,一是步进,二是直接输入。 4,有负载,220V/A,要求开机上电的时候,负载关闭。 5,有相关的提示信息,一旦时间设定之后,会给出时间设定的提示信息。 6,定时时间到,关闭电晕啊,切断负载电源,关闭电源。 7,系统工作电源V in=+12V 设计基本理论 本设计将采用89C51单片机,89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机自带5个中断,两个16位定时器32个I/O口,可擦除只读存储器可以反复擦除多次,功能相当强大。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 主体模块设计 数字定时器系统的基本组成如下图所示

数字定时系统电路的原理框图根据设计任务与要求,可初步将系统分为五大功能模块:主电路、按键电路、显示电路、继电器电路。进一步细说,主电路选用AT89C51作为中央处理器,系统采用12MHZ的晶振;按键控制电路由两个个按键(启动键(start)、时间设定键(set))组成,采用三个独立开关,按键按下产生一个脉冲信号;显示电路由二位8段共阴极数码管和一个9位100欧姆上拉排阻组成,位选,个位和十位由P0输出,段选由P1输出;继电器电路由一个继电器和一个用电器(灯泡)组成,通过电路与P3.0相连。当P3.0输出高电平时,继电器不吸合,灯亮。 各部件具体设计 1单片机最小系统的设计模块 硬件连接说明:本系统以AT89C51单片机为核心。单片机采用内部振荡的方式。通过200欧姆电阻与一个6位8段LED数码显示管相连。从P0口输出LED数码管的字形码,从P2口输出LED数码管的位选码,高电平有效。4个功能按键和P1口相连,中间通过10K的电阻与+5V电源相连,按键另一端接地,P1口低电平时表示按键被按下。报警电路则与P3.0口相连,当P3.0口输出高电平时,蜂鸣器响。 2晶振电路设计 由于单片机内部振荡方式电路简单,时钟信号比较稳定,是独立的单片机应用系统的首选,故本设计采用内部振荡方式,采用12MHZ的晶振。数字定时系统电路的晶振电路图如下图所示。

X9110数字电位器_中文资料

X9110 单数控电位器 (XDCP?) 双电源/低功耗/1024抽头/SPI总线 一概述 1 1 描述 X9110将一个单数控电位器(XDCP)集成在一个单片CMOS集成电路中 数控电位器由包含1023个电阻单元的电阻阵列构成在每个电阻单元之间有通过开关连接到滑动端的抽头点阵列中滑动端的位置由用户通过SPI总线接口控制电位器还相应地配有一个易失性滑动端计数寄存器WCR和四个非易失性的数据寄存器这些数据寄存器可由用户直接读出或写入滑动端计数寄存器WCR的内容通过开关控制电阻阵列中滑动端的位置上电时可将默认数据寄存器DR0的内容重新调用至滑动端计数寄存器WCR中 XDCP可用作三终端的电位器或两终端的可变电阻应用范围广泛包括控制参数调整和信号处理1 2 特点 1024个电阻抽头10位分辨率 用于电位器写读和传输操作的SPI串行接口 滑动端电阻5V时典型值为40 四个非易失性的数据寄存器 对滑动端的多个位置进行非易失性存储 上电时的重新调用功能上电时装载已保存的滑动端位置 待机电流<3A最大值 系统V CC 2.7V至5.5V 模拟V+/V-5V至+5V 100K点对点电阻 数据保存期为100年 每个寄存器的每位可承受100000次数据擦写 14引脚TSSOP封装15引脚CSP封装芯片比例封装与厂商联系可获得 双电源类型为X9111 低功耗CMOS 1 3 应用范围 1电路层次应用范围 改变电压放大器的增益 为比较器和检测器提供可编程的直流电压基准 控制音频电路的音量 修整电压放大器电路中的偏移电压误差 设置稳压器的输出电压 调整惠斯通电桥电路中的电阻 控制滤波器电路中的增益特性频率和品质因数 设置传感器信号调节电路中的比例因子和零点 更改定时器电路的频率和占空比 改变RF电路中引脚二极管衰减器的直流偏压

数字电位器的控制与调试

数字电位器的控制 数字电位器简介: 数字电位器是采用CMOS工艺制成的数模混合信号处理集成电路,也称数控可编程电阻器。采用是数控方式调节电阻值大小,多用多晶硅或薄膜电阻材料,从而有使用灵活、调节精度高、无触点、低噪声等特点。同时有体积小、节省印制板空间,易于安装,不易污损、抗振动、抗干扰、寿命长、不易受环境温度影响等优点。基于上述内容,数字电位器已被广泛用于医疗保健设备、仪器仪表、通信设备、工业控制、家用电器、数码产品等各领域。数字电位器是一种有发展前景的新型器件。与机械电位器相比,具有许多优点,在许多领域可取代机械电位器。任何用电阻进行参数调整、校准或控制的领域,都可用数字电位器构成可编程模拟电路进而进行调整。 一、实验目的: 根据时序图和真值表设计按钮控制数字电位器控制电路: 1.基本要求:按住控制键,数字电位器阻值连续变化。 2.扩展要求:可使用Protues等软件进行仿真设计。 *3.扩展电路要求:按住控制键,数字电位器阻值连续变化且变化速度递增/递减。 二、实验仪器 1.带有异步置位、复位端的JK触发器,NE555,74LS04非门。 2.X9C104数字电位器。 3.电阻,单刀单掷开关和双刀双掷开关,导线。 三、实验原理: 1.电位器原理: 数字电位器属集成化三端可变电阻器件,等效电路如图1所示。当数字电位器作分压器使用时,其高、低、滑动端电压分别用UH、UL、UW表示;作可调电阻器使用时,其高、低、滑动端电阻分别用RH、RL、RW表示。 图1等效电路 将n个阻值相同或不同电阻串联在UH、UL端之间,每个电阻两端分别经过一个由CMOS管而构成模拟开关连在一起,作为数字电位器抽头,在数字信号控制下每次只能有一个模拟开关闭合,从而将串联电阻的一个节点连接到滑动端。亦即,当外部计数脉冲信号停止或片选信号无效后,译码电路输出端只有一个有效,故只选择一个MOS管导通。数字电位器的内部简化电路,如图2所示。

定时器程序

#include #define uchar unsigned char #define uint unsigned int sbit LED=P0^0; uchar T_Count=0; void main() { TMOD=0x00; //定时器0 工作方式0 TH0=(8192-5000)/32; //5ms 定时 TL0=(8192-5000)%32; IE=0x82; //允许T0 中断 TR0=1; while(1); } //T0 中断函数 void LED_Flash() interrupt 1 { TH0=(8192-5000)/32; //恢复初值 TL0=(8192-5000)%32; if(++T_Count==100) //0.5s 开关一次LED { LED=~LED; T_Count=0; } } 28 TIMER0 控制流水灯 #include #include

#define uchar unsigned char #define uint unsigned int void main() { uchar T_Count=0; P0=0xfe; P2=0xfe; TMOD=0x01; //定时器0 工作方式1 TH0=(65536-40000)/256; //40ms 定时TL0=(65536-40000)%256; TR0=1; //启动定时器 while(1) { if(TF0==1) { TF0=0; TH0=(65536-40000)/256; //恢复初值TL0=(65536-40000)%256; if(++T_Count==5) { P0=_crol_(P0,1); P2=_crol_(P2,1); T_Count=0; } } } }

课程设计报告:数字式计时器电路555定时器

目录 目录 (1) 1.系统设计思路与总体方案 (2) 1.1 设计思路与流程图 (2) 2.Multisim软件的简介 (3) 2.1Multisim概貌及特点 (3) 3.555定时器,CD4518和CD4011介绍 (7) 3.1 555定时器 (7) 3.2 CD4518引脚功能 (11) 3.3 CD4011引脚图 (12) 4. 数字逻辑,振荡器,计数器和显示电路图 (14) 4.1数字逻辑模块 (14) 4.2振荡器模块 (14) 4.3 计数器模块 (19) 4.4 显示器模块 (20) 5. 电路的总体设计与调试 (20) 5.1 总体电路原理图 (20) 5.2总体电路工作原理 (21) 6.课程设计感受 (22) 6.1 课程设计中的收获和体会 (22) 7.附录与文献 (24)

7.1附录 (24) 7.2参考文献 (25) 1.系统设计思路与总体方案 1.1 设计思路与流程图 根据任务书可以知道本课题是一个2位数字显示计数器,是一个十进制计数器组合,本质上就是一计时器。通过一个时基电路产生一定频率脉冲,将脉冲信号输入低位的计数器输入端,通过一级级的进位,从而达到计数。从而完成此课题,我们可以将这整个计数系统,分为几个模块进行分析。 (1).数字逻辑控制模块。通过使用门电路来控制计时器进位及清零。 (2).脉冲信号产生模块。由一个振荡电路来产生一个固定频率的脉冲信号,作为计时器的时基信号。 (3).计时数计数模块。接收计时及中断信号脉冲,从而控制计数器计数,且有清零功能,该模块选用十进制计数器。 (2).译码显示模块。该模块要显示00到99的数字,选用十进制计数器的基础上,通过它们之间的级联,最终显示相应数字。 该数字式定时器,需要用到555定时器,由此产生振荡信号,在数字逻辑电路的控制下,由计数器计数,最后在数码管上显示出来,画为流程图如下:

相关文档
最新文档