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
当今集成电路设计已经进入 SOC 时代,于是各公司针对自己的设计需求挑选一款性价比较高的处理器作为内核是一件非常重要的事情。下面将介绍一款集成了DSP 和MCU 功能的处理器ZSP neo 。ZSP neo 是一类新型的处理器,它在一个的内核中集成了DSP 和MCU 的功能。对于那些需要比现有8 位微控制器更高的控制处理性能,而又无需32 位微控制器的对成本敏感的应用来说,ZSP neo 是一个理想的选择。ZSP neo 针对其性能要求采用了相应的架构:·采用基于 RISC 的架构:处理器具有静态分支预测功能;所以程序员设计程序时无需考虑跳转延时。·采用了 Load-Store 架构:处理器对存储器的操作使用 load 和store 指令;操作不直接发生在存储器中。所有其他指令均为寄存器-寄存器操作;使用寄存器节省了存储器带宽。采用多种load/store 指令,这样优化了存储器操作;同时支持32 位和16 位的数据操作。处理器允许前推的灵活架构;功能单元的结果能够在下个周期无条件地被其他功能单元使用。
上传时间: 2013-10-19
上传用户:奔跑的雪糕
工作原理 该装置电路原理见图1。由红外线传感器、信号放大电路、电压比较器、延时电路和音响报警电路等组成。红外线探测传感器IC1探测到前方人体辐射出的红外线信号时,由IC1的②脚输出微弱的电信号,经三极管VT1等组成第一级放大电路放大,再通过C2输入到运算放大器IC2中进行高增益、低噪声放大,此时由 IC2①脚输出的信号已足够强。IC3作电压比较器,它的第⑤脚由R10、VD1提供基准电压,当IC2①脚输出的信号电压到达IC3的⑥脚时,两个输入端的电压进行比较, 此时IC3的⑦脚由原来的高电平变为低电平。IC4为报警延时电路,R14和C6组成延时电路,其时间约为1分钟。当IC3的⑦脚变为低电平时,C6通过VD2放电,此时IC4的②脚变为低电平它与IC4的③脚基准电压进行比较,当它低于其基准电压时,IC4的①脚变为高电平,VT2 导通,讯响器BL通电发出报警声。人体的红外线信号消失后,IC3的⑦脚又恢复高电平输出,此时VD2截止。由于C6两端的电压不能突变, 故通过R14向 C6缓慢充电,当C6两端的电压高于其基准电压时,IC4的①脚才变为低电平,时间约为1分钟,即持续1分钟报警。
上传时间: 2013-12-19
上传用户:Breathe0125
很好的书,对于做IC的人!
上传时间: 2014-01-06
上传用户:rocketrevenge
第八章 labview的编程技巧 本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。 8.1 局部变量 严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。在labview这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。在一般的代码式语言中,情况不是这样的。例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。前面所介绍的labview内容中,只有移位积存器即可输入又可输出。另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。还有其他需要,因此labview引入了局部变量。
上传时间: 2013-10-27
上传用户:xieguodong1234
本课题在深入研究了射频卡的相关理论和技术的基础上,设计开发了一套完整的非接触式射频卡(收费)管理系统。本文首先结合国内外射频卡技术研究动态和发展趋势,简要介绍了非接触式射频技术的基本概况,从非接触式射频卡的系统组成结构入手,详细分析了射频卡系统的基本原理和其所涉及到的关键技术,接着本文着重分析了非接触式射频卡系统的软硬件开发设计思想,对硬件设计中的MCU和射频模块的特性进行了具体的介绍,对终端读写器各部分硬件(射频识别部分、显示电路、报警模块,485通讯模块等)的功能构造和电路设计进行了详细的分析,在硬件设计的基础上,详细阐述了终端读写器的软件设计过程,给出了终端读写器主程序和各功能模块的软件设计,并结合终端读写器的设计开发了射频卡管理系统作为上位机管理软件,对数据库管理和串口通信等作了详细的阐述。
上传时间: 2013-11-13
上传用户:pwcsoft
Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。 安装步骤:第一大步:安装99SE主程序 运行目录中的 Setup.exe 注册码:Y7ZP-5QQG-ZWSF-K858 第二大步:安装99SE补丁程序 运行“第二大步Protel99SP6b补丁”目录中的 protel99seservicepack6.exe 第三大步:共分5小步。安装:汉化菜单、汉字模块、国标元件、国标模版、CAD转换 运行“第三大步Protel99汉化”目录中的 中的各个目录中的SETUP.BAT即可,详见“第三大步Protel99汉化”目录中的安装说明。 里面包含Protel99se完美破解版、Protel99se介绍、利用Protel99SE设计PCB基础教程、Protel99se教程 解压密码:www.pp51.com
上传时间: 2014-01-16
上传用户:李哈哈哈
C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.1415926 /* 宏常量,在稍后章节再详解 */ #define circle(radius) (PI*radius*radius) /* 宏函数,圆的面积 */ /* 将比较数值大小的函数写在自编include文件内 */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的结果:%d %d %d\n", a, b, c) } 程序执行结果: 由小至大排序之后的结果:1 2 3 可将内建函数的include文件展开在自编的include文件中 圆圈的面积是=201.0619264
标签: my_Include include define 3.141
上传时间: 2014-01-17
上传用户:epson850