基于MSP430简易示波器的设计.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MSP430简易示波器的设计

基于MSP430简易示波器的设计 自动化1107 王诗雨 2013.12 硬件设计 1.1 单片机 选用MSP430G2553单片机,该单片机具有低功耗的特点,内部自带8路10位AD转换器(ADC10),最高主频可达16Mhz,对于一个简易示波器来说这些特点足够我们使用。 1.2 程控放大电路 程控放大电路的作用是对大信号进行衰减,对小信号进行放大,保证输入到A/D转换器的信号幅度在要求的输入电压范围内,以达到最好的测量与观察效果。采用模拟开关CD4051,配合精密电位器实现多挡垂直分辨率。在MSP430单片机中使用寄存器模块设置通道号,通过写入通道号控制模拟开关选通不同的反馈电阻,从而实现不同的放大倍数,对信号进行不同程度的放大(衰减)。电路图如下: 1.3 简易调理电路 由于示波器观察信号大多是正负电压信号,考虑到ADC10一般使用的是单极性参考电压(也可以使用寄存器设置双极性参考电压,这样就不需要调理电路了,但最好加一级缓冲)。为了采样到信号的负电压,就需要给该信号叠加直流量,将负电压部分信号抬高至零电平以上,因此采用信号调理电路。电路图如下: 1.4 LCD显示电路和按键电路 利用LCD的SPI通信模式与MSP430单片机连接,这样可以得到不错的通信速度,并且可以尽可能的减少MSP430引脚的占用,具体电路这里就不给出了。(按照spi连接) 利用简单独立按键实现放大倍数调节,采样频率设置等功能即可。 2.软件设计 2.1 单片机初始化 对P2口初始化,打开P2口的中断;将通信方式设置为硬件spi通信模式(注意spi通信在上升沿还是在下降沿开始)。 WDTCTL=WDTPW+WDTHOLD; //关看门狗 P1OUT = 0x00; // P1 setup for LED reset output P1DIR |= BIT0 + BIT2 + BIT3 + BIT4 + BIT5; P1SEL = BIT1 + BIT2 + BIT4; P1SEL2 = BIT1 + BIT2 + BIT4; P2REN |= 0x38; P2DIR = 0x07; P2OUT = 0; P2IE |= 0x38; // P1.4 interrupt enabled P2IFG = ~0x38; will=0; UCA0CTL0 |= UCCKPL + UCMSB + UCMST + UCSYNC + UCCKPH ; // 3-pin, 8-bit SPI master UCA0CTL1 |= UCSSEL_2; // SMCLK UCA0BR0 |= 0x04; // /2 UCA0BR1 = 0; // UCA0MCTL = 0; // No modulation UCA0CTL1 = ~UCSWRST; // **Initialize USCI state machine** P1OUT = ~BIT5; // Now with SPI signals initialized, P1OUT |= BIT5; // reset slave ADC10初始化,开启参考源和中断。 ADC10CTL0 = ADC10SHT_0 + REFON + ADC10ON + ADC10IE; ADC10CTL1 = INCH_6; ADC10AE0 |= 0x40; 显示初始化,对LCD的界面显示初始化。 Initial_ILI9340C(); Delay_ms(300); LCD_TEST_SingleColor(Black); LCD_TEST_SingleColor(Black); LCD_TEST_PartColor(Blue); for(wh=22; wh220 ;wh+=10) { LCD_draw_Line(wh,39,White); LCD_draw_Line(wh,79,White); LCD_draw_Line(wh,119,White); LCD_draw_Line(wh,159

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档