多路数字温度测量系统设计
上传时间: 2013-11-01
上传用户:zyt
单片机输出18路舵机控制PWM波形
上传时间: 2013-11-13
上传用户:asaqq
为了满足乘客对AFC的需求,提出了一种单彩LED在AFC系统运行状态显示中的设计应用,该控制系统以Cortex-M3内核芯片STM32F103VET6作为控制中心,采用恒流驱动芯片MBI5042实现LED恒流驱动,系统可支持256级灰度单彩LED显示屏的汉字、图案的显示,同时能够方便地进行远程控制,以及控制AFC运行状态的显示。
上传时间: 2013-11-08
上传用户:lyson
单轴双轮自平衡车
标签: 自平衡
上传时间: 2014-01-05
上传用户:萍水相逢
8路数字电压表__毕业论文终稿
上传时间: 2013-10-21
上传用户:refent
1、该控制板是基于modbus协议RTU模式进行通讯,是一种工业标准协议,具有稳定性高,使用广泛,从而可以兼容其他设备 2、三十路带光电隔离输出控制继电器。 3、标准的11.0592M晶振。(便于设置串口波特率) 4、具有上电复位和手动复位。 5、支持51系列DIP40封装单片机。
标签: modbus_RTU 模式 工控板 存储
上传时间: 2013-11-10
上传用户:niumeng16
单片机制作的8路抢答器,改装后可以用于无线呼叫系统
上传时间: 2013-10-22
上传用户:pioneer_lvbo
DIY单片LCD投影机
上传时间: 2013-10-18
上传用户:daguogai
基于AT89C2051的多路舵机控制方案设计
上传时间: 2013-12-07
上传用户:zukfu
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