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
AT93C46/56/66是Atmel公司生产的低功耗、低电压、电可擦除、可编程只读存储器,采用CMOS工艺技术制造并带有3线串行接口,其容量分别为1kB/4kB,可重复写100万次,数据可保存100年以上。文中介绍了该存储器的引脚功能和指令时序,给出了AT93C46/56/66和单片机的接口应用电路和软件程序。
上传时间: 2013-11-18
上传用户:2404
摘要: 串行传输技术具有更高的传输速率和更低的设计成本, 已成为业界首选, 被广泛应用于高速通信领域。提出了一种新的高速串行传输接口的设计方案, 改进了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
摘要: 串行传输技术具有更高的传输速率和更低的设计成本, 已成为业界首选, 被广泛应用于高速通信领域。提出了一种新的高速串行传输接口的设计方案, 改进了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-10-13
上传用户:lml1234lml
本程序是用纯C语言编的一个基于命令行的四则运算计算器。主要用于计算四则运算表达式的值,同时可以实现四种进制任意两种之间的转换。 主要功能:1.四则运算:能够解释并执行四则运算表达式。四则运算就是包含+、—、*、/、.(小数点)和数字的运算表达式,例如:3+2.9*(5-6/3) -4+(+8*6)等; 2.错误警告:能够对不符合语法的表达式给出相应的错误警告,本程序共给出了8大类警告 3.进制转换:能够做二进制、八进制、十进制、十六进制中任意两种进制之间的互相转换 4.帮助系统:提供完善的帮助系统 5.出错保护:有良好的出错保护系统,命令行输入错误,程序仍能正常运行。
上传时间: 2013-12-21
上传用户:aysyzxzm
1 程序开发步骤如下 (1) 打开vc,选择菜单项file->new,选择projects选项并建立一个名为"floppy"的win32 console applicatoin工程;创建时注意指定创建该工程的目录; (2) 在工程中创建源文件"floppy.cpp":选择菜单项project->add to project->files,在选择框中输入自己想要创建的文件名,这里是"floppy.cpp";在接下来询问是否创建新文件时回答"yes";然后通过Workspace->FileView->Source Files打开该文件,在其中编辑本程序的源代码;编辑结束后通过菜单项File->Save进行保存; (3) 同(2)步骤再加入文件"floppy.h"; (4) 通过调用菜单命令项build->build all进行编译连接,可以在指定的工程目录下得到debug->floppy.exe程序;现在即可以运行该程序;由于没有命令行参数,故不必在控制台下来运行,直接运行即可; 2 补充说明 这里仅仅给出了编译结果和源程序,没有所创建工程的其他文件。
标签: 程序开发
上传时间: 2014-01-02
上传用户:wpt
一般情况下,我们都是在MATLAB命令行或DOS命令行下编译MEX程序。 所用的命令就是:mex filename.c 这有很多不方便的地方: a. 虽然mex也可以编译C++的mex程序,但是它的主框架仍是C的 a. 当程序有多个模块时,需要多次使用mex命令,操作很麻烦 b. 不能利用VC特有的ClassWizard自动创建和维护类 c. 不能用MFC类库编写应用程序 d. 不能方便地进行类似VC的项目管理 本文详细解说如何在IDE中编译MEX程序
标签:
上传时间: 2016-01-05
上传用户:shizhanincc
(1) 、用下述两条具体规则和规则形式实现.设大写字母表示魔王语言的词汇 小写字母表示人的语言词汇 希腊字母表示可以用大写字母或小写字母代换的变量.魔王语言可含人的词汇. (2) 、B→tAdA A→sae (3) 、将魔王语言B(ehnxgz)B解释成人的语言.每个字母对应下列的语言.
上传时间: 2013-12-30
上传用户:ayfeixiao
应用UNIX的fork()等系统调用,编写一个c程序具有以下功能: a) 实现Shell的基本功能,包括有:打印提示符;接受和分析命令行(滤去无效的空格、tab符号以及换行符等);执行命令(要有出错处理;输入exit或者bye退出);返回父进程; b) 处理后台程序(不需要wait) c) 处理多行命令(分析命令行中的‘ ’并处理之) d)应用 dup(), pipe()系统调用具有输入输出重定向以及管道功能;
上传时间: 2013-12-25
上传用户:独孤求源
应用UNIX的fork()等系统调用,编写一个c程序具有以下功能: a) 实现Shell的基本功能,包括有:打印提示符;接受和分析命令行(滤去无效的空格、tab符号以及换行符等);执行命令(要有出错处理;输入exit或者bye退出);返回父进程; b) 处理后台程序(不需要wait) c) 处理多行
上传时间: 2014-12-07
上传用户:gtf1207