您好,欢迎访问三七文档
max232中文介绍及MAX232驱动程序设计该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。由于电脑串口rs232电平是-10v+10v,而一般的单片机应用系统的信号电压是ttl电平0+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。主要特点1、单5V电源工作2、LinBiCMOSTM工艺技术3、两个驱动器及两个接收器4、±30V输入电平5、低电源电流:典型值是8mA6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.287、ESD保护大于MIL-STD-883(方法3015)标准的2000V下图为MX232双串口的连接图,可以分别接单片机的串行通信口或者实验板的其它串行通信接口:三.max232应用电路,注意电容接法。232是电荷泵芯片,可以完成两路TTL/RS-232电平的转换,它的的9、10、11、12引脚是TTL电平端,用来连接单片机的制作at89s51单片机器编程器的电路图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发数据的程序较少,所有自己无耐,写了该程序用于测试芯片有没有正常工作,希望能给有需要的朋友带来点方便!#includepic.h//包含单片机内部资源预定义__CONFIG(0x3F52);//4M晶体HS振荡/*******************************************************************************延时1MS带参数(int)子程序*******************************************************************************/voiddelay(unsignedinttime){unsignedinta,b;for(a=0;atime;a++){for(b=0;b88;b++);}}//主程序voidmain(){unsignedcharstring[]={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};unsignedchari;TRISC7=1;TRISC6=0;SPBRG=25;//设置波特率为9600BPSTXSTA=0X24;//使能串口发送,选择高速波特率RCSTA=0X80;//使能串口工作,禁止接收INTCON=0X00;while(1){for(i=0;i51;i++){while(!TRMT){;}TXREG=string[i];}delay(2000);}}有一种hin232芯片,与max232芯片比较的话,价格相对要便宜很多本文运用AT89S51和AD678进行A/D转换,根据数据采集的工作原理,设计实现数字电压表,最后完成单片机与PC的数据通信(communicate),传送所测量的电压值数字电压表的设计和开发,已经有多种类型和款式。传统的数字电压表各有特点,它们适合在现场做手工测量,要完成远程测量并要对测量数据做进一步探讨处理,传统数字电压表是无法完成的。然而基于PC通信(communicate)的数字电压表,既可以完成测量数据的传递,又可借助PC,做测量数据的处理。所以这种类型的数字电压表无论在功能和实际应用上,都具有传统数字电压表无法比拟的特点,这使得它的开发和应用具有良好的前景。新型数字电压表的整机设计该新型数字电压表测量电压类型是直流,测量范围是-5~+5V。整机电路包括:数据采集电路的单片机最小化设计、单片机与PC接口电路、单片机时钟电路、复位电路等。下位机采用AT89S51芯片,A/D转换采用AD678芯片。通过RS232串行口与PC进行通信(communicate),传送所测量的直流电压数据。整机系统电路如图1所示。数据采集电路的原理在单片机数据采集电路的设计中,做到了电路设计的最小化,即没用任何附加逻辑器件做接口电路,实现了单片机对AD678转换芯片的操作。AD678是一种高档的、多功能的12位ADC,由于其内部自带有采样保持器、高精度参考电源、内部时钟和三态缓冲数据输出等部件,所以只需要很少的外部元件就可以构成完整的数据采集系统,而且一次A/D转换仅需要5ms。在电路应用中,AD678采用同步工作方式,12位数字量输出采用8位操作模式,即12位转换数字量采用两次读取的方式,先读取其高8位,再读取其低4位。根据时序关系,在芯片选择/CS=0时,转换端/SC由高到低变化一次,即可启动A/D转换一次。再查询转换结束端/EOC,看转换是否已经结束,若结束则使输出使能/OE变低,输出有效。12位数字量的读取则要控制高字节有效端/HBE,先读取高字节,再读取低字节。整个A/D操作大致如此,在实际开发应用中调整。由于电路中采用AD678的双极性输入方式,输入电压范围是-5~+5V,根据公式Vx10(V)/4096*Dx,即可计算出所测电压Vx值的大小。式中Dx为被测直流电压转换后的12位数字量值。RS232接口电路的设计AT89S51与PC的接口电路采用芯片Max232。Max232是德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2个驱动器、2个接收器和1个电压发生器电路提供TIA/EIA-232-F电平。Max232芯片起电平转换的功能,使单片机的TTL电平与PC的RS232电平达到匹配。串口通信(communicate)的RS232接口采用9针串口DB9,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连。在实验中,用定时器T1作波特率发生器,其计数初值X按以下公式计算:串行通信(communicate)波特率设置为1200b/s,而SMOD=1,fosc=6MHz,计算得到计数初值X=0f3H。在编程中将其装入TL1和THl中即可。为了便于观察,当每次测量电压采集数据时,单片机有端口输出时,用发光二极管LED指示。软件编程软件程序主要包括:下位机数据采集程序、上位机可视化界面程序、单片机与PC串口通信(communicate)程序。单片机采用C51语言编程,上位机的操作显示界面采用VC++6.0进行可视化编程。在串口通信(communicate)调试过程中,借助“串口调试助手”工具,有效利用这个工具为整个系统提高效率。爱论文网-提供单片机编程下位机单片机的数据采集通信(communicate)主程序流程如图2所示、中断子程序如图3所示、采集子程序如图4所示。单片机的编程仿真调试借助WAVE2000仿真器,本系统有集成的ISP仿真调试环境(environment)。在采集程序中,单片机的编程操作要完全符合AD678的时序规范要求,在实际开发中,要不断加以调试。最后将下位机调试成功而生成的.bin文件固化到AT89S51的Flash单元中。人机界面编程打开VC++6.0,建立一个基于对话框的MFC应用程序,串口通信(communicate)采用MSComm控件来实现。其他操作此处不赘述,编程实现一个良好的人机界面。数字直流电压表的操作界面如图5所示。运行VC++6.0编程实现的Windows程序,整个样机功能得以实现。功能结果根据上面所述工作原理及实施方案,在实践中很好地实现了整个样机的功能,各项指标达到了预先的设计要求。电路工作稳定,每次测量均伴有LED发光指示,可视化界面显示也正常。AD678转换精度是12位,它的分辨率为1/4096。这为整机系统的高精度提供了保障。为了提高测量精度,运用了AD678自带的校准电路,这样使其A/D转换精度更高。在实际测量中,整机测量精度达到了0.8%。
本文标题:max232的运用
链接地址:https://www.777doc.com/doc-2882327 .html