接口/总线/驱动
MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。器件特别适合电池供电系统,这是由于其低功耗关断模式可以将功耗减小到5uW以内。MAX225、MAX233、MAX235以及MAX245/MAX246/MAX247不需要外部元件,推荐用于印刷电路板面积有限的应用。
MAX220–MAX249系列线驱动器/接收器,专为EIA/TIA-232E以及V.28/V.24通信接口设计,尤其是无法提供±12V电源的应用。当用单片机和PC机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和RS232的标准不一样,因此要通过max232这种类似的芯片进行电平转换。
第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。15脚GND、16脚VCC(+5v)。
1、符合所有的RS-232C技术标准 2、只需要单一 +5V电源供电
3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-
4、功耗低,典型供电电流5mA
5、内部集成2个RS-232C驱动器
6、内部集成两个RS-232C接收器下图为MX232双串口的连接图,可以分别接单片机的串行通信口或者实验板的其它串行通信接口:
232是电荷泵芯片,可以完成两路TTL/RS-232电平的转换,它的的9、10、11、12引脚是TTL电平端,用来连接单片机的。
此主题相关图片如下:
MAX232获得正负电源的另一种方法 在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如: 9V,-9V; 12V,-12V.这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。 在控制板上,我们有的只是5V电源,可又有很多方法获得非5V电源。
1. 外接;2.DC-DC变换。。。。。。在这里我介绍一块大家常用的芯片: MAX232. MAX232是TTL--RS232电平转换的典型芯片,按照芯片的推荐电路,取振荡电容为uF的时候,若输入为5V,输出可以达到-14V左右,输入为0V ,输出可以达到14V,在扇出电流为20mA的时候,处处电压可以稳定在 12V和-12V.因此,在功耗不是很大的情况下,可以将MAX232的输出信号经稳压块后作电源使用。
我在网上搜索了一些232的例程,但用单片机向PC发数据的程序较少,所有自己无耐,写了该程序用于测试芯片有没有正常工作,希望能给有需要的朋友带来点方便!
#include《pic.h》 //包含单片机内部资源预定义
__CONFIG(0x3F52); //4M晶体HS振荡
/*******************************************************************************
延时 1MS 带参数(int)子程序
*******************************************************************************/
void delay (unsigned int time){
unsigned int a,b;
for(a=0;a《time;a++){
for(b=0;b《88;b++);
}
}
//主程序
void main()
{
unsigned char
string[]={0xBB,0xB6,0xD3,0xAD,0xB9,0xE2,0xC1,0xD9,0xC1,0xD6,0xBE,0xA9,0xBF,0xC6,0xBC,0xBC,0xD3,0xD0,0xCF,0xDE,0xB9,0xAB,0xCB,0xBE,0x0D,0x0A,0xB3,0xCC,0xD0,0xF2,0xA3,0xBA,0xD6,0xD0,0xB9,0xFA,0x20,0x51,0x51,0x3A,0x35,0x37,0x33,0x31,0x39,0x32,0x39,0x35,0x34,0x0D,0x0A};
unsigned char i;
TRISC7=1;
TRISC6=0;
SPBRG=25; //设置波特率为9600BPS
TXSTA=0X24; //使能串口发送,选择高速波特率
RCSTA=0X80; //使能串口工作,禁止接收
INTCON=0X00;
while(1)
{
for(i=0;i《51;i++){
while(!TRMT){;}
TXREG=string[i];
}
delay(2000);
}
}
有一种hin232芯片,与max232芯片比较的话,价格相对要便宜很多。
全部0条评论
快来发表一下你的评论吧 !