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
摘 要 针对现有单相机单光源视线追踪系统存在的几个问题:精度不高、头动受限以及标定复杂,提出了一种新的基于瞳孔?角膜反射(PCCR)技术的视线追踪方法.通过提出的瞳孔边缘滤波算法(RDPEF)和三通道伪彩色图(TCPCM)解决了近红外条件下瞳孔定位误差较大、瞳孔跟踪鲁棒性较差的问题,进而提高了视线特征提取的精度.通过提出的头部位置补偿方法以及个体差异转化模型,使二维映射模型允许使用者头部运动并且只需要单点标定.该方法提高了单相机视线追踪的精度和应用范围,为面向人机交互的视线追踪系统提供了有效的低成本解决方案.关键词 视线追踪;瞳孔定位;瞳孔跟踪;视线估计;瞳孔?角膜反射(PCCR)技术
上传时间: 2013-10-21
上传用户:超凡大师
摘要:为解决采用原子力显微镜(AFM)系统进行纳米机械性能测试中存在的不能够直接获得载荷?压深曲线以及不能够随意改变加载、保载、卸载时间等问题,对AFM系统进行了改造,开发了一套基于单片机的信号输入输出模块。将该模块与AFM控制系统相联,形成新的纳米机械性能测试系统。该系统信号输出精度为0.15mV,信号采集精度为0.3mV,工作台的移动灵敏度为1.53nm,可以动态改变垂直载荷,并实时获得载荷?压深曲线。通过单片机设置模拟信号的输出速率可以实现加载、保载和卸载速率的改变;结合二维微动精密工作台,可以实现较大范围内高精度的点阵压痕测试。通过在聚碳酸酯、聚二甲基硅氧烷等材料表面进行实验测试表明:该系统可以高速高精度地测量样品的纳米机械性能参数,包括对样品进行纳米压痕测试和对样品的纯弹性变形过程进行检测,如聚二甲基硅氧烷或者各种微梁等微小构件。关 键 词:原子力显微镜(AFM);单片机;纳米机械性能;载荷-压深曲线
上传时间: 2013-10-18
上传用户:a296386173
用C51写的普通拼音输入法源程序代码:原作使用了一个二维数组用以查表,我认为这样比较的浪费空间,而且每个字表的索引地址要手工输入,效率不高。所以我用结构体将其改写了一下。就是大家现在看到的这个。 因为代码比较的大,共有6,000多汉字,这样就得要12,000 byte来存放GB内码,所以也是没办法的.编译结果约为3000h,因为大部分是索引表,代码优化几乎无效。 在Keil C里仿真芯片选用的是华邦的W77E58,它有32k ROM, 256B on-chip RAM, 1K on-chip SRAM (用DPTR1指针寻址,相当于有1K的片上xdata)。条件有限,没有上片试验,仿真而已。 打算将其移植到AVR上,但CodeAVRC与IAR EC++在结构体、指针的定义使用上似乎与C51不太一样,现在还未搞定。还希望在这方面有经验的网友能给予指导。 #include<stdio.h> char * py_ime(char *); void main(void){ while(1) { char input_string[]="yI"; xdata char chinese_string[255]; sprintf(chinese_string,"%s",py_ime(input_string)); }}
上传时间: 2013-10-30
上传用户:cainaifa
单片机综合应用技术 1.1 单片机技术的发展与单片机应用的广泛选择 1.2 带A/D转换的8位微控制器PIC12C67X?? 1.3 SPI串行总线在8031单片机应用系统中的实现?? 1.4 单总线技术在测控系统中的应用?? 1.5 多任务机制在单片机系统中的应用?? 1.6 软件实现的8031单片微机中断多优先级研究?? 1.7 单片机汇编语言程序设计的变量取值表技术?? 1.8 单片机的代码优化方法?? 1.9 由微机复位引出的问题?? 1.10 一种快速CRC差错校验技术?? 1.11 基于单片机的Chebyshev神经网络硬件设计?? 1.12 二维条形码(PDF417)及其应用?? 1.13 EDA技术的应用?? 1.14 CPLD/FPGA在电子设计中的应用前景?? 1.15 现场可编程模拟ASIC与电子系统设计?? 1.16 用单片PLD器件ispLSI1016实现数显频率计
标签: 单片机
上传时间: 2014-05-05
上传用户:daxigua
系统基于声波到达时间差技术,采用相位匹配算法,对两个传声器采集的声音信号进行分析。通过算法仿真验证了算法的可行性和准确性,并将算法在DSP上实现。
上传时间: 2013-12-11
上传用户:yanqie
上传时间: 2013-10-16
上传用户:宋桃子
摘要: 串行传输技术具有更高的传输速率和更低的设计成本, 已成为业界首选, 被广泛应用于高速通信领域。提出了一种新的高速串行传输接口的设计方案, 改进了Aurora 协议数据帧格式定义的弊端, 并采用高速串行收发器Rocket I/O, 实现数据率为2.5 Gbps的高速串行传输。关键词: 高速串行传输; Rocket I/O; Aurora 协议 为促使FPGA 芯片与串行传输技术更好地结合以满足市场需求, Xilinx 公司适时推出了内嵌高速串行收发器RocketI/O 的Virtex II Pro 系列FPGA 和可升级的小型链路层协议———Aurora 协议。Rocket I/O支持从622 Mbps 至3.125 Gbps的全双工传输速率, 还具有8 B/10 B 编解码、时钟生成及恢复等功能, 可以理想地适用于芯片之间或背板的高速串行数据传输。Aurora 协议是为专有上层协议或行业标准的上层协议提供透明接口的第一款串行互连协议, 可用于高速线性通路之间的点到点串行数据传输, 同时其可扩展的带宽, 为系统设计人员提供了所需要的灵活性[4]。但该协议帧格式的定义存在弊端,会导致系统资源的浪费。本文提出的设计方案可以改进Aurora 协议的固有缺陷,提高系统性能, 实现数据率为2.5 Gbps 的高速串行传输, 具有良好的可行性和广阔的应用前景。
上传时间: 2013-11-06
上传用户:smallfish
采用高精度数字温度传感器DS18B20与可编程逻辑器件FPGA实现温度测量与控制,并进行温度场的测量与控制实验。实验表明,一维控制器控制精度不够,温度超调比较大(1 ℃),而二维控制器的温度超调就比较小(0.5 ℃)。因此,所设计的射频温度场温度测量与控制的方法满足热疗要求。与传统方法相比,该系统具有设计灵活、现场可编程、调试简单和体积小等特点。
上传时间: 2013-11-20
上传用户:wwwe