汽RN模拟?/A>传感控制pȝ需要完成开关量和模拟量的采集与处理Q指C灯与A表的昄控制Q以及与L计算Z间进行数据传输等功能。根据以上要求,L芯片选用Atmel公司生的AT89C52, AT89C52是一U低?sh)压Q高性能的CMOS 8位单片机Q与标准MCS-51产品的引脚和指opȝ完全兼容[4]?/P>
AT89C52片内?K的闪烁可~程可擦除只d储器QFPEROMQ,256 B的内部随机数据存储器(RAM),已经可以满本系l程序设计的需要,因此不需要进行外部程序存储器和数据存储器的扩展?/P>
׃本系l中需要处理的开关量和模拟量较多Q因此选用8255对输入输出接口进行了扩展。将AT89C52的P1口作为A/D、D/A转换接口Q用于模拟量的输入和输出QA/D、D/A转换芯片分别选用ADC0809和DAC0832,片选信L高位地址UP2口提供?255的扩展接口用作开关量的输入和输出Q?255的端口选择和片选信Ll?4LS373锁存后的低位地址U提供?/P>
另外QAT89C52q提供了一个具有多U?通讯功能的全双工串行接口Q可以用作与L计算Z间进行通讯。由于RS-232串行通信端口是PC机的标准接口Q而且RS-232用作双向数据通信时接U十分简z,因此选用RS-232作ؓ通讯接口[4]。但是,RS-232的输Z号不但有正电(sh)压,q有负电(sh)压,所以选用半导体公司的RS-232接口芯片MAX232实现信号转换。图2为汽车驾驶模拟器单片机系l硬件电(sh)路简图?
2.3软gpȝ的设?/P>
汽R模拟N讑֤单片Y件系l需要完成模拟量和开关量的采集和处理、串行数据的发送与接收、控制信L输出与显C、故障的监控与保护等功能。Y仉用模块化设计思想Q通过汇编语言~制而成Q主要由ȝ序、定时器中断服务E序、串行口中断服务E序、数据采集和处理E序、信L输出与显C程序等几部分构成?BR> ȝ序主要完成系l的初始化工作;定时器中断服务程序主要完成看门狗功能Q在单片机发生异常情冉|Q能使程序及时复位,保证单片机系l能够正常工作;串行口中断服务程序主要实现单片机与主控计机之间的通讯Q数据采集和处理E序主要完成模拟量和开关量的采集,获取N员的操控数据Q?SPAN class=style24>心肺复苏模拟?/A>信号的输Z昄E序主控计机的控制信息传送给单片机,用于控制指示灯和仪表的显C出。图3为汽车驾驶模拟器单片Y件系l的E序程图?BR> 3l论
Z单片机的数据采集pȝ成本相对较低Q接口的可扩展性好Q同Ӟ模拟量和开关量的预处理工作也可以由单片机来完成。系l完全可以满?A href="http://8live8.com/asp/product_detail.asp?id=254">汽RN模拟?/A>的交互性和实时性要求,单片机实验台已在所开发的汽RN模拟器中得到了应用,取得了较好的效果?BR>
信息来源Q?/div>
相关信息