基于单片机的高精度多路数据采集系统内容摘要:
最大 5. 高电源电压范围: 177。 3V 至 177。 22V 基于单片机的高精度多路数据采集系统 13 图 210 OP07 外型图片 图 211 OP07 管脚图 OP07 芯片 引脚 功能说明: 1 号和 8 号引脚为偏置 平衡 (调零端 ), 2 号引脚为反向输入端, 3 号引脚为正向输入端, 4 号引脚接地, 5 号引脚空脚, 6 号引脚为输出, 7 号引脚接电源 +。 ( 2) OP27 低噪声高精度运算放大器 OP27 的 特点如下: 1. 低噪声: 80nV(峰 峰值 )(~ 10Hz), 3nV/√Hz 2. 低漂移: ℃ ;高速:转换率 , 8MHz 增益带宽 3. 低 VOS: 10μV 4. 良好的 CMRR:在 VCM 为 177。 11V 时为 126dB 5. 高开环增益: 图 212 OP27 管脚图 基于单片机的高精度多路数据采集系统 14 运算放大器 OP0 OP27 组成的差分放大电路,对输入信号有很强的 抑制能力。 图 213 差分放大电路模块 对 图 213所示的差分放大电路 的一些 说明: 1. U5为 +,可将输入的 +5V电压稳定在 +。 2. R7为可调电阻,可将输入电压限定在一个值上。 3. R11同样为可调电阻,可调整偏置电压。 4. C R2 R25具有滤波作用。 5. R20起到分压的作用。 输入输出驱动模块 ( 1)输入驱动模块 图 214 三极管 Q1 构成的输入电路 SWin1 与 MSP430F425 的 53 号引脚相连; Din1 与 UART 通用串口通讯的 4 号引脚相连。 基于单片机的高精度多路数据采集系统 15 输入电路的作用是读取 外界的高低电平,当外部的电压、电流变化较大时,使输入电压只在 DVCC之间变动,避免单片机受到外部大电压的冲击而损坏。 ( 2)输出驱动模块 图 215 三极管 Q2 构成的输出电路 SWout1 与 MSP430F425 的 54 号引脚相连; Dout1 与 UART 通用串口通讯的 1 号引脚相连。 单片机驱动能力有限,不能输出大电流。 使用三极管后,单片机可以通过控制基极电流来控制三极管的输出,使输出电压在 0V~5V 之间变动,并可输出较大电流。 当 Din1 输入一个较小的小电流时, Dout1 就可输出一个较大的电流。 使得 该电路抗 干扰能力强,可以不受到单片机的局限。 基于单片机的高精度多路数据采集系统 16 3 MSP430F425 数据采集系统的仿真与调试 PCB 板的绘制 PCB 板的绘制过程如下: ( 1)得到正确的原理图和网络表 绘制原理图是绘制 PCB 板 图的前提,网络表是连接原理图和 PCB 板 图的中介,所以在绘制 PCB 电路板之前一定要先得到正确的原理图和网络表。 另外 ,我们可以通过手工更改网络表,将一些元件的固定接脚等原理图上没有的焊盘定义到与它相通的网络上,没任何物理连接的可定义到地或保护地等。 ( 2)画出自己定义的非标准器件的封装库 自己独立绘制的封装一定要在 PCB 设计 之前完成,在制作 PCB 电路板 时,我们会导入这些自己制作的封装。 ( 3)规划电路板 电路板是采用 单面板还是多层板, 电路板 的形状、尺寸等具体的参数以及电路板的安装方式等在这里都要一并考虑。 另外,还要考虑 电路板 与外界的接口形式,选择具体接插件的封装形式。 ( 4)元件手工布局 应当从机械结构、散热、电磁干扰、将来布线的方便性等方面综合考虑。 先布置与机械尺寸有关的器件并锁定这些 器件,然后是大的占位置的器件和电路的核心元件,再是外围的小元件。 对于同一个器件用多种封装形式的,可以把这个器件的封装改为第二种封装形式并放好后对这个器件用撤消元件组功能,然后再调入一次网络表并放好新调入的这个器件,有更多种封装形式时依此类推。 放好后可以用 VIEW3D 功能查看一下实际效果。 如果不甚满意的话可以根据实际情况再作适当调整,然后将全部器件锁定。 假如板上空间允许,则可在板上放上一些类似于实验板的布线区。 对于大板子应在中间多加固定螺丝孔,板上有重的器件或较大的接插件等受力器件边上也应加固定螺丝孔。 有需 要的话,可在适当位置放上一些测试用焊盘。 将过小的焊盘过孔改大,将所有固定螺丝孔焊盘的网络定义到地或保护地等。 ( 5)布线完成后的调整 布通之后,对布线进行手工初步调整。 调整的内容有:需加粗的地线、电源线、功率输出线等进行手动加粗;某几根绕得太多,太过繁琐的线重布;消除部分不必要的过孔。 另外,我们还要切换到单层显示模式下将每个布线层的线拉整齐和美观。 手工调整时应经常进行 DRC,因为有时有些线会断开。 快完成时可将每个布线层单独打印出来基于单片机的高精度多路数据采集系统 17 以方便改线。 图 31 使用 Protel99SE 绘制的系统 PCB 板 系统程序编译 本课题使用 IAR Embedded Workbench for TI MSP430——MSP430 集成开发环境和C/C++编译器对系统程序进行编译。 基于单片机的高精度多路数据采集系统 18 图 32 使用 IAR for MSP430 软件进行编译 ( 1)变量定义和 LCD 地址影射程序 define Clock_MHZ define SD16_CH BIT0 define SD16_CH_END BIT1 define Run_Led_ON P2DIR|=BIT2。 P2OUTamp。 =~BIT2。 define Run_Led_OFF P2DIR|=BIT2。 P2OUT|=BIT2。 define IO_OUT_H P1DIR|=BIT1。 P1OUT|=BIT1。 define IO_OUT_L P1DIR|=BIT1。 P1OUTamp。 =~BIT1。 /* LCD Mapping Array */ const char digit[40] = { 0x11, 0x11, // 39。 039。 LCD segments a+b amp。 c+d = lower two bytes 基于单片机的高精度多路数据采集系统 19 0x11, 0x00, // 39。 039。 LCD segments e+f amp。 g+h = upper two bytes 0x10, 0x01, // 39。 139。 0x00, 0x00, // 39。 139。 0x11, 0x10, // 39。 239。 0x01, 0x01, // 39。 239。 0x11, 0x11, // 39。 339。 0x00, 0x01, // 39。 339。 0x10, 0x01, // 39。 439。 0x10, 0x01, // 39。 439。 0x01, 0x11, // 39。 539。 0x10, 0x01, // 39。 539。 0x01, 0x11, // 39。 639。 0x11, 0x01, // 39。 639。 0x11, 0x01, // 39。 739。 0x00, 0x00, // 39。 739。 0x11, 0x11, // 39。 839。 0x11, 0x01, // 39。 839。 0x11, 0x11, // 39。 939。 0x10, 0x01, // 39。 939。 }。 ( 2)系统设置程序 void Init_System(void) { unsigned long clock。 double temp_clk。 volatile unsigned int i。 // Use volatile to prevent removal WDTCTL = WDTPW + WDTHOLD。 // Stop WDT FLL_CTL0 |= XCAP14PF。 // Configure load caps for (i = 0。 i 10000。 i++)。 // Delay for 32 kHz crystal to //初使化写入 FLASH 的时钟 FCTL2 = FWKEY + FSSEL_1 + FN1。 // MCLK/3 for Flash Timing Generator //初使化端口 0 temp_clk=Clock_MHZ。 temp_clk=temp_clk*。 clock=temp_clk/9600。 基于单片机的高精度多路数据采集系统 20 UCTL0 = CHAR。 // 8bit character, UTCTL0 = SSEL0。 // UCLK = ACLK UMCTL0 = 0x52。 // modulation UBR00 = clock。 // UBR10 = clock8。 // ME1 |= UTXE0 + URXE0。 // Enable USART0 TXD/RXD IE1 |= URXIE0。 // Enable USART1 RX interrupt P2SEL |= BIT4+BIT5。 // ,7 = USART1 TXD/RXD //初使化 SD16 的部分 SD16CTL = SD16REFON+SD16SSEL_2+SD16VMIDON。 // ref, SMCLK SD16CCTL0 |= SD16GRP。 // Group with CH1 SD16CCTL1 |= SD16GRP。 // Group with CH2 SD16CCTL2 |= SD16IE。 // Enable interrupt for (i = 0。 i 0x3600。 i++)。 // Delay for ref startup //当前为初使化输入的部分 P1DIRamp。 =~BIT0。 //初使化输出的部分 P1DIR|=BIT1。 //初使化按键的部分 P2DIRamp。 =~BIT3。 //初使化 LCD 部分 LCDCTL = LCDSG0_5 + LCDSTATIC + LCDON。 // Static LCD, segments S0S31 BTCTL = BT_fLCD_DIV256。 // LCD 的时钟频率 ACLK/256 for(i=0。 i16。 i++) LCDMEM[i]=0x00。 _EINT()。 //一般中断启用 SD16CCTL2 |= SD16SC。 // 设置断点 KEY_Status=0。 //变量清零 Count=0。 SD16_Status=0。 }。基于单片机的高精度多路数据采集系统
相关推荐
电阻。 P1 口: P1 是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4个 TTL 逻辑门电路。 对端口写“ 1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间, P1 接收低 8位地址。 下图 为 P1口第二功能。 表 27 P1口的第二功能列表 引脚号 第二功能
系统方案设计 7 感器的选型 9 的选型 10 换芯片的选型 11 本章小结 12 第三章 系统硬件设计 13 酒精传感器测试电路的设计 13 信号采集放大电路设计 15 A/D 转换电路的设计 16 模数转换芯片 ADC0809 的性能特点 16 单片机最小系统 19 路设计 19 路设计 20 AT89 系列微控制器的硬件结构特点 20 数码管显示电路设计 25 报警电路设计 26
的流速,单位:米 /秒; S—— 管的横截面积,单位:平方米; N—— 喷嘴 的数量。 不同的目标,也可以使用不同的控制策略。 2 整体结构 使用 PC 的串行端口(或 usb232 串行线)实现与单片机的通信控制的 单片机系统, 控制系统的总体结构 如 图 1。 图 1. 灌溉系统的总体框架 因为奴隶的机器都是一样的微机系统采用 了 STC89C52 芯片为核心,所以本文介绍了一个单片机系统。
、微型化,且功能比起采用电子或数字电路更加强大。 例如精密的测量设备(功率计,示波器,各种分析仪)。 ( 2) 在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机 控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 ( 3) 在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。 例如工厂流水线的智能化管理
几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS化、低功耗、小体 积、大容量、高性能、低价格和外围电路内装化等几个方面发展。 单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。