基于msp430的信号发生器设计课程设计任务说明书(编辑修改稿)内容摘要:
完成 按键的读取,以及相应的输出量赋值。 武汉理工 大学《微机原理与接口技术》课程设计任务说明书 12 图 9 按键中断流程图 pragma vector = PORT2_VECTOR __interrupt void P2_ISR_KEYS(void) { unsigned int i,Keytime1=0,Keytime2=0。 unsigned char PushKey。 PushKey=P2IFGamp。 (BIT1+BIT2+BIT3+BIT4)。 for(i=0。 i1000。 i++)。 //除干扰 关闭信号输出 ;置其他信号标志位 ;按键中断信号选择键按下 ?返回有按键。 NY中断标志位清零“ 频率 + ” 按下 ?“ 频率 ” 按下 ?“ 输出使能键 ” 按下 ?是否长时间按下。 NNNNYY输出频率加 1是否长时间按下。 输出频率减 1信号输出输出频率快速递增输出频率快速递减YYYY武汉理工 大学《微机原理与接口技术》课程设计任务说明书 13 if((P2INamp。 PushKey)==PushKey) { P2IFG=0。 return。 } if(PushKeyamp。 BIT1)// 输出使能 { Key=1。 //允许输出信号 } if(PushKeyamp。 BIT2)// 波形选择 { Key=0。 WaveSelect+=5。 switch(WaveSelect) { case 5: P2OUT|=BIT0。 P2OUTamp。 =~(BIT5)。 break。 case 10: P2OUT|=BIT5。 P2OUTamp。 =~(BIT0)。 break。 case 15: P2OUT|=BIT0+BIT5。 break。 default: WaveSelect=5。 P2OUT|=BIT0。 P2OUTamp。 =~(BIT5)。 break。 } } if(PushKeyamp。 BIT3)// 频率加 { while((P2INamp。 BIT3)==0)//判断按键是否是长按 { Keytime1++。 武汉理工 大学《微机原理与接口技术》课程设计任务说明书 14 if(Keytime160000) { Keytime2++。 Keytime1=0。 if(Keytime210) { if(f_out=100)f_out+=5。 else f_out=1。 Keytime2=0。 } } } if(f_out=100)f_out+=1。 else f_out=1。 } if(PushKeyamp。 BIT4)//频率减 { while((P2INamp。 BIT4)==0)//判断按键是否是长 按 { Keytime1++。 if(Keytime160000) { Keytime2++。 Keytime1=0。 if(Keytime210) { if(f_out) f_out=5。 武汉理工 大学《微机原理与接口技术》课程设计任务说明书 15 Keytime2=0。 } } } if(f_out) f_out=1。 } P2IFG=0。 return。 } 输出 程序 根据各参数量,输出相应数字信号 图 10 输出函数流程图 void output(void) { unsigned long j。 K=count[f_out]。 波形输出函数正弦波标志位= 1 ?返回Y三角波标志位= 1 ?锯齿波标志位= 1 ?NNY正弦波信号输出三角波信号输出锯齿波信号输出YY判断信号标志位武汉理工 大学《微机原理与接口技术》课程设计任务说明书 16 if(WaveSelect==5)//正弦波 { P1OUT=sin[M]。 for(j=0。 j100000。 j+=K)。 M++。 if(M==255)M=0。 } if(WaveSelect==10)//锯齿波 { if(M=255) { P1OUT=value[M]。 for(j=0。 j100000。 j+=K)。 M++。 } if(M255) { P1OUT=value[510M]。 for(j=0。 j100000。 j+=K)。 M++。 if(M==510)M=0。 } } if(WaveSelect==15)//三角波 { P1OUT=value[M]。 武汉理工 大学《微机原理与接口技术》课程设计任务说明书 17 for(j=0。 j100000。 j+=K)。 M++。 if(M==255)M=0。 } } 4 程序调试与运行结果 烧录程序后,将 LaunchPad 重新上电,用示波器观测输出波形,开始时有一个固定电平输出,只有当按下输出允许键后才有输出波形,开始默认输出正弦波,按下波形选择键后表示波形的 LED 灯会亮,且输出为一固定电平,只有当再次按下输出允许键后才会再次有波形输出;按下频率加减键后,输出波形的频率会做出相应变化,但是由于波形效果不太理想,所以无法测出其频率。 实测波形如下: 正弦波 锯齿波 、武汉理工 大学《微机原理与接口技术》课程设计任务说明书 18 三角波 结束语 当我选这个题目的时候, 我是想结合电 赛的题目,做一下信号类题目的训练,于是 就确定了简易波形发生器这个题目。 开始时我查阅了很多资料,找了好几套方案,实际也做了三套方案,结果使用 MAX038 以及采用单片机模拟 DDS 的方案都没有成功,所以最后才确定使用 DAC0832,结果实验结果还可以,但是由于时间问题,在波形的频率调节和设定这一块并没有得到完善,波形还好,但是频率调节效果不明显,这也是由于波形的输出和频率调节都是采用数组的方式来实现的,但是由于数组并没有经过精确测量,所以还是有一定的偏差,相信在后面的时间里我会逐渐把系统完善,做到真正准确的频率可 调。 通过这次课设,感受颇多,不仅停留在成功完成自我满足上,而且还有调试过程中经验的收获,这些对于我来说,都是格外宝贵的。 一次经历,一次收获,很多时候,只有经历了,才明白其中滋味,才会找到适合自己的。 对于我来说,这也可以看做一次学习,如何面对困难,面对未知,我想这次课设给了我一。基于msp430的信号发生器设计课程设计任务说明书(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。