基于msp430g2553单片机简易波形发生器Word文件下载.docx
- 文档编号:7557797
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:14
- 大小:149.93KB
基于msp430g2553单片机简易波形发生器Word文件下载.docx
《基于msp430g2553单片机简易波形发生器Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于msp430g2553单片机简易波形发生器Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。
在信号产生和处理方面。
通过MSP430G2553内部的TA定时器,外加DAC0832产生四种波形,在DA输出后,通过一个由运算放大器TL082和精密可调电位器组成的运算放大电路,以实现信号的增益控制。
最后在负载电阻上输出电压。
2.原理框图
3.
图
(1)系统总体框图
长按时间大于1s短按时间大于10ms
图
(2)按键功能说明
3.硬件电路原理图
12864显示模块
按键模块
图(3)硬件模块框图
(1)显示模块
本作品使用LCD12864作为人机交互模块,由于MSP430G2553的I/O口
很少,所以通过对LCD的进行串行数据输入,以节约I/O口。
(2)DAC0832转换与幅度放大模块
由于是通过MSP430G2553输出数字量的信号来产生波形,因此需要用到
DA将数字量转换为模拟量。
考虑到单片机的I/O口数量,选用8位的DA来进行数模转换。
硬件如图(4)所示,DAC0832采用直通工作方式,节省I/O口控制引脚。
由DAC输出模拟量后,由于波形的幅值太小,因此还需要进行幅值的放大。
其中R3是精密可调电位器,方便用户对信号的幅度进行调节。
50Q的电阻可以
保证整个信号发生器的输出阻抗为50Qo
图(5)DAC0832转换、波形选择按键与幅度放大模块
(3)电源模块
产生电路。
另外还有常用的电源指示灯和电源开关
图(6)电源模块
(4)msp430g2553单片机最小系统
MSP430G2553是20个引脚的16位单片机。
具有内置的16位定时器、16k的FLASH和512B的RAM,以及一个通用型模拟比较器以及采用通用串行通信接
口的内置通信能力。
此外还具有一个10位的模数(A/D)转换器。
5.调试过程
整个硬件调试过程基本顺利,由于采用了分单元模块制作,各单元电路工作稳定,给调试工作带来很大的方便。
放大模块部分在实物模拟时,出现发送信号不稳定、跳变的问题。
经过仔细检查电路线路路径和连线问题,最终发现PCB板子上某些连线存在断路的问题,于是用焊锡焊好,从而得以解决。
调试过程中,由于某些元器件参数的问题,在频率要求上没有达到预期效果,
各单元调试通过以后,进行整机调试,调试结果显示,整个系统能够正常工作
三、编程程序
/**************************************************
//LCD12864初始化
voidLCD_init(void)
{
write_cmd(0x30);
write_cmd(0x0C);
write_cmd(0x01);
write_cmd(0x02);
}
voidIO_init(void)
P1DIR=0xff;
P1REN=0x00;
P1SEL=0X00;
P1OUT=0x00;
P2SEL&
=~(BIT4+BIT3+BIT5);
P2DIR=BIT4+BIT3+BIT5;
/*P2DIR|=BIT0;
//DAC单缓冲模式
=~BIT0;
P2REN&
//输入
//用于按键接地型
//允许中断
//下升沿触发
//消除中断标志
P2OUT|=BIT0;
//关闭dac输入*/
P2DIR&
=~(BIT0+BIT1+BIT2);
P2REN|=BIT0+BIT1+BIT2;
P2IE|=BIT0+BIT1+BIT2;
P2IES|=BIT0+BIT1+BIT2;
P2IFG&
voiddisplay(void)
lcd_pos(1,0);
for(i=0;
i<
16;
i++)
write_dat(aa[i]);
lcd_pos(2,0);
{write_dat(bb[i]);
lcd_pos(3,0);
10;
write_dat(cc[i]);
lcd_pos(4,0);
write_dat(dd[i]);
voidDCO_init(void)
BCSCTL1=CALBC1_16MHZ;
//设定cpu时钟DCO频率为16MHz
DCOCTL=CALDCO_16MHZ;
//BCSCTL2|=SELM_1+DIVM_0;
//SMCLK选择16MHz,不分频
//BCSCTL2&
=~SELS;
voidTimer_A0_init(void)
TA0CTL|=TASSEL_2+MC_2;
//TA时钟源选择SMCLK,连续增计数模式TA0CCR0=158;
TA0CCTL0|=CCIE;
//打开比较模块0中断
_EINT();
/****************************************************/
//定时器中断服务程序
#pragmavector=TIMER0_A0_VECTOR
__interruptvoidTimer_A0(void)//CCIFG中断被响应后,该标志位自动清零
if(key==222)
if(j<
200)
P1OUT=sindata[j];
//正弦波产生
j++;
else
j=0;
TA0CCR0+=Tccr0;
}if(key==221)
{if(tcout<
{P1OUT=tcout;
//锯齿波产生tcout++;
tcout=0;
TA0CCR0+=Tccr0;
}if(key==220){
if(ttcout==0)
{if(tcoutm<
100){
P1OUT=tcoutm;
//三角波产生上升段tcoutm++;
ttcout=1;
TA0CCR0+=(Tccr0-1);
}if(ttcout==1){if(tcoutm>
0){
//三角波产生下降段tcoutm--;
ttcout=0;
四、结论
这次课程设计我组的设计任务是波形发生器的设计,我们采用msp430g2553单片机和DAC0832芯片以及放大器完成电路的设计,用开关来控制各种波形的发生及转换,用单片机输出后,经过模数转换器生成波形,最终可以通过示波器观察。
在这次课程设计中利用单片机做出低频信号发生器.在做的过程中,我提前学习了单片机原理这门课程,在老师和同学的帮助下,对单片机的认识有了进一步的认识和使用.在学习单片机的时候,首先要理解清楚其工作原理和工作时序,那样的话才能对所要求电路进行编程.还有就是在做设计的时候要认真一点,那点错了要换个思维方式在做,找到错误的知识点,在看书或者问老师来解决.而在软件设计过程中,主要运用的是c语言来进行编程,这让我更深入的了解了波形是如何编程的,也让我对IAR和DXP软件有了更深入的了解。
通过这次的计算机控制技术课程设计,我对微机和单片机的一些芯片有了一定的了解,让我又一次温习了这学期的微机原理和汇编语言等知识,也让我的动手能力有了很大的提高。
五、参考文献
[1]朱定华,马爱梅,林卫.微机应用系统设计[M].武汉:
华中科技大学出版社
[2]顾德英,张健,马淑华.计算机控制技术[M].北京:
北京邮电大学出版社
[3]夏扬.计算机控制技术[M].北京:
机械工业出版社
[4]张洪润,易涛编著.单片机应用技术教程[M].北京:
清华大学出版社
[5]刘乐善,欧阳星明,刘学清.微型计算机接口技术及应用[M]武汉:
华中科技
大学出版社
⑹朱定华,戴汝平,单片微机原理与应用[M].北京:
北京交通大学出版社,清
华大学出版社
六、附录
附录
(一):
电路原理图
附录
(二):
电路PCB图
cirx
己IIUUU
6>
J*[|WKM)xCFi008000*0001上
53
UJ
JI
n_n
P5
h右彷Odd右©
Od穴0白°
邑?
卫
附录(三)
元件清单
名称
编号
型号
数量(个)
电容
C1、C2、C3
105
3
C4、C5、C6
104
C7、C8、
16v-100uf
2
C9、C10
25v-10uf
C11
16v-220uf
1
电阻
R1
331
R2、R3、R4
200
R6、R7、R8
2K
R9
50
R10、R11、R12
47K
R13、R14、R15
470
电位器
R16、R17、R18
10K
LED
D1、D2、D3、
D4
红色
4
开关
S1
按键开关
S2、S3、S4、S5、
S6、S7
6
H-RLJL心片
U1
ILC7660
U2
LM1117
U3
LM358
U4
DAC0832
U5
MSP430G2553
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 msp430g2553 单片机 简易 波形 发生器