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
一般的具有人机对话的单片机系统少不了会有键盘。键盘接口的原理与应用 许多的教材都有介绍,但通常各有各的方法,各有各的优劣。下面就我现有的 对单片机键盘接口的了解和应用将众家的单片机直接驱动键盘的接口原理及应 用作一个总结,并附加相应键盘的汇编子程序和C 语言子函数。希望大家可以 从中受益。
上传时间: 2015-05-04
上传用户:hebmuljb
这个程序实现了液晶显示的驱动程序,单片机直接驱动的液晶显示程序。
上传时间: 2015-06-21
上传用户:kristycreasy
51系列单片机,驱动代码。开发环境KEIL51
上传时间: 2015-10-19
上传用户:ywqaxiwang
线阵CCD511的驱动,使用C8051F020单片机进行驱动
上传时间: 2013-12-11
上传用户:luopoguixiong
ATmega64单片机,驱动NOkia 液晶模块的源码
上传时间: 2016-10-14
上传用户:pinksun9
ST736单片机,驱动液晶芯片HT1623
上传时间: 2013-11-30
上传用户:skfreeman
HT9200双音频发生器的驱动程序,可有51单片机直接驱动
上传时间: 2013-12-19
上传用户:啊飒飒大师的
这是利用AVR的ATmega162单片机,驱动RTL8019AS网络控制器实现精简的TCP/IP协议的例子。笔者利用这个做了一个功能简单实用的Http服务器。通过这个些源码,可以深入了解网络协议底层的实现过程和协议的具体细节。做这个工程的过程中,受益颇多。
上传时间: 2017-01-03
上传用户:tianyi223