本文介绍了用超声波测量液面距离的方法。
上传时间: 2013-10-29
上传用户:yzy6007
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
a_bit equ 20h ;个位数存放处 b_bit equ 21h ;十位数存放处 temp equ 22h ;计数器寄存器 star: mov temp,#0 ;初始化计数器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重来 mov temp,#0 next: ljmp stlop ;显示子程序 display: mov a,temp ;将temp中的十六进制数转换成10进制 mov b,#10 ;10进制/10=10进制 div ab mov b_bit,a ;十位在a mov a_bit,b ;个位在b mov dptr,#numtab ;指定查表启始地址 mov r0,#4 dpl1: mov r1,#250 ;显示1000次 dplop: mov a,a_bit ;取个位数 MOVC A,@A+DPTR ;查个位数的7段代码 mov p0,a ;送出个位的7段代码
上传时间: 2013-11-06
上传用户:lx9076
摘要:Z8E000是Z8PLUS系列单片机中具有较强代表性的一种,本文在简要介绍了8000的特性和片内资源的基础上å着重介绍了其在小家电(暖风机)中的应用.关键词:PTC电热元件;自动恒温控制;温度保护功能;Z8E000
上传时间: 2013-10-15
上传用户:363186
概述 SC16C550是用于串行数据通信的通用异步收发器(UART)。它的基本功能是将并行数据转换成串行数据,反之亦然。UART可处理速率高达3Mbit/s的串行数据。 SC16C550的管脚与ST16C550、TL16C550和PC16C550兼容。上电后的功能等效于16C450。编程控制寄存器可使能SC16C550更多的特性。增加的特性包括:16字节接收和发送FIFO,自动硬件或软件流控制和红外编码或解码。在FIFO模式下,通过使用RTS输出和CTS输入信号自动控制串行数据流,可选的自动流控制的特性大大降低了软件规模,提高了系统效率。SC16C550也通过FIFO触发点和TXRDY和RXRDY信号来实现DMA模式数据传输。片内的状态寄存器为用户提供错误指示,器件的工作状态和调制解调器接口控制。可通过调整系统中断来满足用户的要求。内部的环回模式实现了片内的故障诊断。 SC16C550可工作在5V,3.3V和2.5V的电压下和工业级温度范围内,含有塑料DIP40、PLCC44和LQFP48这三种封装形式。
上传时间: 2013-12-06
上传用户:hj_18
CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用Philips P82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
上传时间: 2013-11-17
上传用户:thuyenvinh
该文介绍了开关磁阻电机的基本原理,设计了一种用80C196 单片机实现的开关磁阻电机驱动系统,并对该开关磁阻电机调速系统的性能进行了实验与测试,实验证明该系统运行可靠。开关磁阻电动机是磁阻电动机与电子开关驱动控制器组成的控制装置,又称开关磁阻电机驱动系统(Switched Reluctance Motor drive,简称SRD)。电机结构简单坚固,运行可靠,系统具有启动转矩高、启动电流低、调速范围宽、运行效率高,特别适用于频繁启停及正反转运行,使得SRD 成为交,直流电机驱动系统以及无刷直流电机驱动系统的强有力竞争者。目前,SRD 已用于多个领域,如:电动车驱动、家用电器、伺服与调速系统等许多领域。本文设计了一个以 80C196 单片机为控制核心的SRD 的控制系统,充分利用了SRD 电机控制方式灵活的特点,采用数字化控制系统对SR 电机进行控制,简化了硬件电路,提高了系统的可靠性。
上传时间: 2013-11-05
上传用户:18711024007
特点 显示值范围-199999至999999位數 最高輸入頻率 5KHz 90度相位差加減算具有提高解析度4倍功能 输入脈波具有预设刻度功能 定位基准值可任意設定 比較磁滯值可任意設定 数位化指拨设定操作简易 3组继电器输出功能 2:主要規格 脈波輸入型式: Jump-pin selectable current sourcing(NPN) or current sinking (PNP) 脉波触发电位: HI bias (CMOS) (VIH=7.5V, VIL=5.5V) LO bias (TTL) (VIH=3.7V, VIL=2.0V) 最高输入频率: <5KHz 定位置范围: -199999 to 999999 second adjustabl 比较磁滞范围: 0 to 9999 adjustable 继电器容量: AC 250V-5A, DC 30V-7A 显示值范围: -199999 to 999999 显示幕: Red high efficiency LEDs high 9.2mm (.36") 参数设定方式: Touch switches 感应器电源: 12VDC +/-3%(<60mA) 记忆方式: Non-volatile E2PROM memory 绝缘耐压能力: 2KVac/1 min. (input/output/power) 1600Vdc (input/output) 使用环境条件: 0-50℃(20 to 90% RH non-condensed) 存放环境条件: 0-70℃(20 to 90% RH non-condensed) CE认证: EN 55022:1998/A1:2000 Class A EN 61000-3-2:2000 EN 61000-3-3:1995/A1:2001 EN 55024:1998/A1:2001
上传时间: 2014-12-03
上传用户:xjz632
第八章 labview的编程技巧 本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。 8.1 局部变量 严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。在labview这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。在一般的代码式语言中,情况不是这样的。例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。前面所介绍的labview内容中,只有移位积存器即可输入又可输出。另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。还有其他需要,因此labview引入了局部变量。
上传时间: 2013-10-27
上传用户:xieguodong1234