基于MSP430简易示波器的设计.doc
- 文档编号:2590357
- 上传时间:2022-11-02
- 格式:DOC
- 页数:16
- 大小:222KB
基于MSP430简易示波器的设计.doc
《基于MSP430简易示波器的设计.doc》由会员分享,可在线阅读,更多相关《基于MSP430简易示波器的设计.doc(16页珍藏版)》请在冰豆网上搜索。
基于MSP430简易示波器的设计
自动化1107
王诗雨
2013.12
1.硬件设计
1.1单片机
选用MSP430G2553单片机,该单片机具有低功耗的特点,内部自带8路10位AD转换器(ADC10),最高主频可达16Mhz,对于一个简易示波器来说这些特点足够我们使用。
1.2程控放大电路
程控放大电路的作用是对大信号进行衰减,对小信号进行放大,保证输入到A/D转换器的信号幅度在要求的输入电压范围内,以达到最好的测量与观察效果。
采用模拟开关CD4051,配合精密电位器实现多挡垂直分辨率。
在MSP430单片机中使用寄存器模块设置通道号,通过写入通道号控制模拟开关选通不同的反馈电阻,从而实现不同的放大倍数,对信号进行不同程度的放大(衰减)。
电路图如下:
1.3简易调理电路
由于示波器观察信号大多是正负电压信号,考虑到ADC10一般使用的是单极性参考电压(也可以使用寄存器设置双极性参考电压,这样就不需要调理电路了,但最好加一级缓冲)。
为了采样到信号的负电压,就需要给该信号叠加直流量,将负电压部分信号抬高至零电平以上,因此采用信号调理电路。
电路图如下:
1.4LCD显示电路和按键电路
利用LCD的SPI通信模式与MSP430单片机连接,这样可以得到不错的通信速度,并且可以尽可能的减少MSP430引脚的占用,具体电路这里就不给出了。
(按照spi连接)
利用简单独立按键实现放大倍数调节,采样频率设置等功能即可。
2.软件设计
2.1单片机初始化
对P2口初始化,打开P2口的中断;将通信方式设置为硬件spi通信模式(注意spi通信在上升沿还是在下降沿开始)。
WDTCTL=WDTPW+WDTHOLD;//关看门狗
P1OUT=0x00;//P1setupforLED&resetoutput
P1DIR|=BIT0+BIT2+BIT3+BIT4+BIT5;
P1SEL=BIT1+BIT2+BIT4;
P1SEL2=BIT1+BIT2+BIT4;
P2REN|=0x38;
P2DIR=0x07;
P2OUT=0;
P2IE|=0x38;//P1.4interruptenabled
P2IFG&=~0x38;
will=0;
UCA0CTL0|=UCCKPL+UCMSB+UCMST+UCSYNC+UCCKPH;//3-pin,8-bitSPImaster
UCA0CTL1|=UCSSEL_2;//SMCLK
UCA0BR0|=0x04;///2
UCA0BR1=0;//
UCA0MCTL=0;//Nomodulation
UCA0CTL1&=~UCSWRST;//**InitializeUSCIstatemachine**
P1OUT&=~BIT5;//NowwithSPIsignalsinitialized,
P1OUT|=BIT5;//resetslave
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;wh<220;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,White);
LCD_draw_Line(wh,199,White);
LCD_draw_Line(wh,239,White);
LCD_draw_Line(wh,279,White);
}
Delay_ms(100);
for(co=2;co<320;co+=10)
{
LCD_draw_Col(69,co,White);
LCD_draw_Col(119,co,White);
LCD_draw_Col(169,co,White);
}
Delay_ms(100);
2.2程控选择程序
根据按键的次数,在P2口中断改变will的值,并通过P2口输出给CD4051的ABC开关选择端,对放大倍数进行选择。
#pragmavector=PORT2_VECTOR
__interruptvoidPort_2(void)
{
if(P2IFG&0x10)
{
while(0x10&P2IN);
will++;
if(will==8)
{
will=7;
}
}
if(P2IFG&0x20)
{
while(0x20&P2IN);
will--;
if(will==255)
{
will=0;
}
}
if(P2IFG&0x08)
{
while(0x08&P2IN);
chan++;
if(chan==4)
chan=0;
}
P2IFG&=~0x38;
P2OUT=will;
}
2.3采样频率设置
通过改变ADC10CTL1,通过按键次数对应值不同改变ADC10时钟的频率来调节电路的采样频率。
switch(chan)
{
case0:
ADC10CTL1=INCH_6;break;
case1:
ADC10CTL1|=ADC10DIV0+ADC10DIV1;break;
case2:
ADC10CTL1|=ADC10DIV0+ADC10DIV2;break;
case3:
ADC10CTL1|=ADC10DIV0+ADC10DIV1+ADC10DIV2; break;
}
2.4软件触发程序
只有在一定条件下才使lcd刷新,保证每次采集到的波形都从一点开始显示,防止由于每次采集到的点不同导致波形一直移动。
ADC10CTL0|=ENC+ADC10SC;
//Samplingandconversionstart
__bis_SR_register(CPUOFF+GIE);
if(cir==0)key1=ADC10MEM/5;
if(cir==1)key2=ADC10MEM/5;
if(cir==2)key3=ADC10MEM/5;
if(cir>2&&key1>key2&&key2>key3)//((key1-100)/2)>=(key2-100)
{
temp[0]=key1;
temp[1]=key2;
temp[2]=key3;
temp[cir]=ADC10MEM/5;
}
ADC10CTL0&=~ENC;
2.5显示刷新程序
示波器是一个动态显示过程,因此在过程中可能会引起初始界面被部分覆盖,以此需要定时刷新初始界面。
trig++;
if(trig%20==0)
{
for(wh=22;wh<220;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,White);
LCD_draw_Line(wh,199,White);
LCD_draw_Line(wh,239,White);
LCD_draw_Line(wh,279,White);
}
Delay_ms(300);
for(co=2;co<320;co+=10)
{
LCD_draw_Col(69,co,White);
LCD_draw_Col(119,co,White);
LCD_draw_Col(169,co,White);
}
Delay_ms(300);
}
附:
源程序
#include"msp430g2553.h"//STC12单片机头文件
//颜色定义
#defineBlue 0x001f
#defineYellow 0xffe0
#defineGreen 0x07e0
#defineBlack 0x0000
#defineWhite 0xffff
#defineRed 0xf800
//引脚定义
#define R_ESET1P1OUT|=BIT5;//液晶RESET引脚,接单片机IO引脚
#defineR_ESET0P1OUT&=~BIT5;
#define C_D1 P1OUT|=BIT3;//液晶D/CX引脚,数据/命令控制,接单片机IO引脚
#define C_D0 P1OUT&=~BIT3;
#define C_S1 P1OUT|=BIT0;//液晶片选CS,P1.4为单片机SPI总线的SS引脚,通过MSTR位配置为IO模式
#define C_S0 P1OUT&=~BIT0;
unsignedcharMST_Data,SLV_Data,wh,temp[320],trig=0,key1,key2,key3,will,chan=0;
unsignedintco,cir;
voiddelay(void)
{
unsignedintj;
for(j=100;j>0;j--);
}
voidDelay_us(intvalue)////延时函数_u
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MSP430 简易 示波器 设计