基于MSP430单片机的信号发生器毕业设计.doc
《基于MSP430单片机的信号发生器毕业设计.doc》由会员分享,可在线阅读,更多相关《基于MSP430单片机的信号发生器毕业设计.doc(37页珍藏版)》请在沃文网上搜索。
1、 目 次1 概述11.1 信号发生器背景及其发展状况11.2 本设计主要研究内容12 方案论证22.1 设计方案的提出22.2 设计方案的比较22.3 设计方案的选择33 选用模块介绍33.1 MSP430F149单片机33.2 1602液晶63.3 DAC5571芯片83.4 时钟模块及定时器A94 方案的实现104.1 系统硬件设计104.2 系统软件设计124.3 仿真调试18总结26致谢27参考文献28附录A:硬件原理图29附录B:仿真调试程序30361 概述1.1 信号发生器背景及其发展状况信号发生器在各个领域都有着相当广泛的应用,无论是通信产品还是电子仪表,无论是科学指导还是教学研
2、究,小到电子手表、大到计算机,都离不开信号发生器。信号发生器在许多方面发挥着重要的作用。信号发生器也常常被称为信号源,能够提供稳定的和可靠的参考信号。信号发生器的频率、幅值、波形等信号参数可以通过人设置调节。现代电子领域中,单片机的应用越来越深入到各个方面,这一发展趋势必然会使得以前的检测技术获得巨大变革。由单片机控制的仪器具有可靠性高、性能价格比好的优点,并广泛应用在医疗通信和智能仪器等诸多领域,而且还走入普通家庭从冰箱、遥控器到汽车,随处可见其身影。以单片机为控制核心,加上键盘扫描、1602液晶显示、数模转换(D/A)等电路,可以设计出功能多样化、性能卓越的信号发生器,同时该信号发生器还可
3、以采用USB接口设计,从而使其具有远程通信的功能。目前,实验、科研和生产制造中一般都选择该方法去实现所需信号源。伴随着科技的进步,各个领域需要的信号种类五花八门、频率也越来越高。所以,目前信号发生器的发展趋势是朝着频率调节范围宽、功率消耗低、调节频率精度要求高、实现功能多样化、自动控制程度高和智能控制好方向发展。1.2 本设计主要研究内容通过图书馆查阅MSP430单片机相关书籍,了解该单片机的功能模块、内部硬件结构、主要技术特点、存储方式,从而进一步利用网络资源,搜寻MSP430系列单片机开发板的教学视频,加深对该单片机的理解和应用,最后根据本次设计的要求,选择合适的功能模块及芯片,完成相应设
4、计,达到应用要求。主要开展以下几个方面的学习与设计工作:对MSP430系列单片机有一定程度的掌握,熟悉内部各个模块的基本功能;了解D/A转换器的原理,选择合适的D/A转换器以获得高精度的波形信号; LCD1602液晶显示的控制;键盘键位的功能定义;波形信号发生程序的编写;各个电路模块之间的数据传输以及模块的初始化。2 方案论证信号发生器的应用领域非常宽广,根据不一样的应用条件,对信号发生器的具体要求也不一样。所以,信号发生器的设计方法就会各式各样。2.1 设计方案的提出方案一:主要采用运算放大器加上分立元件来实现。第一步是产生出正弦波,第二步运用波形变换实现其他波形信号,如果要改变波形信号的频
5、率、幅值及占空比,只需要改变电路的具体参数就可以实现,第三步通过开关电路来选择输出不同的波形信号。如果要实现精度准的频率和稳定的信号输出,需要对电路的结构进行优化以及选用高精度的元器件才能达到目的。例如采用555振荡电路产生正弦波、方波等。方案二:主要采用单片机作为控制核心,通过键盘扫描,获得波形参数的输入信息,然后将信息传输给显示电路,根据参数信息设定定时器的定时间隔,当定时器中断到来,进入中断服务程序,将选择波形的幅值信息发送给数模转换(D/A)芯片输出,从而得到相应设定参数的波形信号(正弦波、方波、三角波、锯齿波),输出的波形信号可以通过外接运放进行调节。方案三:主要采用单片集成的信号发
6、生器。首先将各种波形信号的功能电路集成优化到一个集成电路芯片里,然后再外加少量的电阻、电容元件来实现。例如MAX038(最高频率可达40MHz)和ICL8038(最高频率为300kHz)。2.2 设计方案的比较方案一:优点是工作原理相对简单,抗干扰性好,不用使用集成芯片。缺点是频率调节范围窄而且波形质量比较差,体积大,电路结构复杂,工作不稳定。方案二:优点是操作方便,频率和幅值参数易于调节,工作原理简单,体积小,成本低。缺点是频率精度不高,方波通过D/A输出后有轻微失真现象,波形发生程序复杂。方案三:优点是频率调节范围相对较宽,精度好,操作简单,体积小。缺点是波形信号种类少,调节方式单一,对集
7、成芯片控制要求高。2.3 设计方案的选择根据上述三种设计方案的优缺点,并结合自身对知识的掌握程度,从各个方面综合分析,决定选择方案二来达到实现该设计的目的。具体实现过程以MSP430F149单片机作为控制核心,通过键盘扫描,获得波形参数的输入信息,然后将输入内容传输给LCD1602显示电路,根据参数信息设定定时器A的定时间隔,当定时器的中断标志置1时,调用中断服务程序,将选择波形的幅值信息发送给D/A芯片输出,从而得到设定的相应波形信号(正弦波、方波、三角波、锯齿波)。如果要改变频率,只需要重新设置定时器A的记数周期值就可以,要改变幅值的话,只需要将送入数模转换(D/A)芯片的数值乘以一定的比
8、例系数(不大于1)就可以。3 选用模块介绍3.1 MSP430F149单片机MSP430F149单片机是按照精简指令集(RISC)和高透明的宗旨来设计内核CPU的结构的,该单片机的存储器采用“冯诺依曼”结构使得ROM和RAM在同一地址空间(0000H-FFFFH),地址和数据总线为同一组。MSP430F149单片机含有一个16位的算术逻辑单元(ALU)、一个指令控制操作单元,其中4个特殊的功能寄存器分别是程序计数器(PC)、堆栈指针(SP)、状态寄存器和常数发生器2。3.1.1 MSP430F149单片机引脚图MSP430F149单片机的引脚图如图3-1所示。图3-1 MSP430F149单片
9、机引脚图3.1.2 MSP430单片机的特点强大的处理能力MSP430系列单片机是一款16位的单片机,采用了精简指令集(RISC)结构,查询地址的方式非常丰富,相比89C51的111条指令MSP430的27 条内部指令就相当简洁,同时具有许多模拟指令和可参与几种运算的寄存器,还有高效率的对表查询处理指令。低电压、超低功耗MSP430系列单片机电源电压范围是1.8-3.6V,该单片机还具有低功耗应用、根据对速度和数据传输的处理要求以及外围设备需要消耗的最小电流可以设置成不同的操作模式。单片机可以随时进入低功率消耗模式,进入低功率消耗模式后,系统的时钟会停止,所有的I/O端口、RAM和寄存器的内容
10、不会发生变化,此时系统的功率消耗处于A级。当出现外部中断时系统能从低功率消耗模式中苏醒,从而去执行规定的操作。只需要不到6us,该单片机就能从低功耗模式迅速转换到活跃模式。MSP430单片机具有一种活动模式和5种低功率消耗模式2。片内资源丰富MSP430系列单片机内部都含有丰富的功能模块可以实现好多应用,主要有看门狗(WDT)、定时器A、比较器、ADC模块、USART模块、FLASH模块、基础时钟、I/O端口等若干外围模块。其中,看门狗可以通过设定中断的时间间隔,防止程序出现“跑飞”的现象,一旦打开看门狗,程序在正常运行的情况下到中断的地点会自动清除看门狗内容,而当程序异常时,则无法清除,此时
11、看门狗将产生一个信号使得系统复位,从而重新启动系统,保证了系统的正常运行。定时器(Timer_A 和 Timer_B)是一个16位的定时/计数器,含有多个捕获/比较寄存器,能同时对多个时序进行控制,可以实现PWM的输出,而且具有多个中断能力。定时器(Timer_A 和 Timer_B)具有停止计数模式、増加计数模式、连续增加计数模式、增加/减少计数模式这四种工作的模式。时钟电路模块主要产生三种不一样的时钟信号,通常情况下,系统的功率消耗随着系统的工作频率增加而增加,根据各自的情况选择适合的时钟可以达到降低功率消耗的目的。例如要实现较低功率消耗则选择低速的晶体;如果要满足系统的运算速度需要选用高
12、速的晶体产生的时钟;对系统实时的操作要求高时,应该选用ACLK时钟。系统工作稳定系统上电复位后,由DCOCLOCK作为系统时钟,从而使系统可以从正确的地址去执行程序。随后其灵活的时钟系统允许软件选择不同的系统的时钟,但是在晶体振荡器作为系统的时钟无法起振时,DCOCLOCK被默认切换为系统的时钟从而保证了系统的正常工作。3.1.3 MSP430F149单片机的应用MSP430F149单片机具有超低功耗、16位指令,内置A/D转换器、USART模块、硬件乘法器、LCD液晶驱动电路及抗干扰能力强、运算速度快等技术特点,因此,特别适合应用在智能仪表、智能化家用电器、工业控制、计算机网络和医用设备领域
13、等产品之中。该设计中主要运用MSP430F149的低功耗,时钟可以分频控制,运算速度快,工作稳定等技术特点,将输入的波形信息,显示在1602液晶上,同时可以选用按键对波形参数进行选择,最后采用D/A芯片输出波形信号,用示波器测量实际波形信息。3.2 1602液晶1602液晶也被称为1602字符型液晶主要用来显示字母、数字、符号的点阵型液晶模块。每个点阵字符可以实现一个字符的显示,由于每一位之间具有一个点距间隔,同时每一行之间也具有间隔,所以图形内容是无法实现显示的。3.2.1 1602液晶引脚图图3-2 1602液晶引脚图表3-1 LCD1602的引脚功能说明引脚符号功能说明1VSS接地端2V
14、DD接正电源端3AO对比度设置端4R/S置1时为选择数据,置0时为选择指令5R/W置1时读操作,置0时写操作。6E下降沿使能端7-13D0-D6 双向数据线14D7置1表明液晶处于忙状态15BLA背光电源正极16BLK背光电源负极3.2.2 LCD1602显示控制表表3-2 基本操作时序读状态输入:RS=L,RW=H,E=H输出:D0-D7=状态字读数据输入:RS=H,RW=H,E=H输出:D0-D7=数据写指令输入:RS=L,RW=L,E=高脉冲,D0-D7=指令码输出:无写数据输入:RS=H,RW=L,E=高脉冲,D0-D7=数据输出:无表3-3 RAM地址映射图表3-4 指令说明表3-5
15、 LCD1602控制指令集3.3 DAC5571芯片3.3.1 DAC5571引脚图图3-3 DAC5571引脚图表3-6 DAC5571的引脚功能说明3.3.2 DAC5571工作原理DAC5571芯片采用I2C协议的半双工串行通信方式,空闲时通过上拉电阻SDA和SCK线置1。首先,单片机向芯片发送起始信号(SCK为高电平时,SDA从高电平向低电平跳变),接着单片机向芯片按照从高到低的顺序发送地址以及读写(R/W为0)数据,然后单片机等待接收芯片发送的应答的信号,正确接收后向芯片发送要输出的数据信息。每次在SCK为高电平期间,芯片才能读取SDA线上信息,SCK低电平期间,更新SDA线上内容,
16、为了保证正确的传输,每发送完一个字节的数据后,等待芯片向单片机发送应答的信号,最终单片机向芯片发送结束信号,才能结束本次通信。DAC5571数模转换芯片可以通过设置运放外接不同的电阻从而实现输出电压幅值的调节。3.3.3 DAC5571转换运算原理输入8位二进制数表示256种状态,从而控制电阻的不同连接方式,达到不同分压的目的,最终数字信号转换为模拟信号输出。图3-4 DAC5571芯片内部转换图DAC5571输出模拟电压计算方法:VOUT = VDD*(D/256)。3.4 时钟模块及定时器A3.4.1 时钟模块的应用MSP430F149的时钟模块主要有高速晶体,低速晶体和数字控制振荡器(D
17、CO)等器件组成。低速晶体振荡器支持超低功耗,低频模式下将32768HZ晶体连接在XIN和XOUT针脚,不需要外接电容,作为ACLK时钟源;高速晶体的振荡器需要消耗的功率较大,外接高速晶体在XIN2和XOUT2之间另外还需要外接电容,作为SMCLK和MCLK时钟源;DCO是内部集成的RC类型振荡器,MSP430F149上电默认选择该类型振荡器,频率会随着温度和电压的变化而变化,作为SMCLK和MCLK时钟源。MSP430F149有一种活动模式和5种低功耗模式,主要通过状态寄存器中的CPUOFF、OSCOFF、SCG0、SCG1来设置的2。表3-7 控制位与工作模式SCG1SCG0OSCOFFC
18、PUOFF模式CPU和时钟状态0000活动CPU激活、所有的时钟激活0001LPM0CPU、MCLK停止;SMCLK、ACLK活动0101LPM1CPU、MCLK、DCO停止;SMCLK、ACLK活动1001LPM2CPU、MCLK、SMCLK、DCO停止;DC使能;SMCLK、ACLK活动1101LPM3CPU、MCLK、SMCLK、DCO停止;DC禁止;SMCLK、ACLK活动1111LPM4CPU所有时钟停止3.4.2 定时器A的功能应用定时器A是一个16位定时/计数器,通过设定MC1和MC0的值可以确定定时器A的四种工作方式。该设计主要采用増计数模式:首先设定CCR0寄存器里面的内容(
19、定时器的记数周期),当计数器增加到等于CCR0寄存器里面的内容时,计数器重新从0开始计数,此时TAIFG中断标志置1,进入中断服务程序后将波形信息发送给数模转换DAC5571芯片进行输出。要实现不同频率的波形输出只需要改变CCR0寄存器里面的数值就可以实现。通过对TACTL寄存器设置,选择定时器A的时钟源,然后打开定时器中断。4 方案的实现4.1 系统硬件设计4.1.1 信号发生器工作原理信号发生器电路主要由MSP430F149单片机、独立键盘电路、1602液晶显示电路、DAC5571数模转换芯片、系统电源电路等组成。系统原理方框图如4-1所示。图4-1 系统原理方框图4.1.2 MSP430
20、F149复位电路复位电路的主要作用是在上电时对单片机进行一些初始的设置或者当程序运行失控时,选择手动复位从而使单片机重启。有上电自动复位,手动复位和外部脉冲复位3种复位方式。本设计用到的MSP430F149单片机采用的是低电平上电自动复位,当上电瞬间由于电容电压不能突然变化,所以RST也就相当于和地相连,单片机复位。当程序运行出现故障时,可以手动按下S5键进行手动复位。MSP430F149复位电路如图4-2所示。 图4-2 MSP430F149复位电路4.1.3 独立键盘电路采用了四个独立按键对波形信息进行选择和设置如图4-3所示。图4-3 独立键盘电路4.1.4 液晶显示电路通过LCD160
21、2显示电路能将按键输入的波形信息显示出来。LCD1602显示电路如图4-4所示。图4-4 LCD1602显示电路4.1.5 波形产生电路采用DAC5571芯片将单片机输出的数字信号转换成模拟信号输出。数模转换DAC5571波形发生电路如图4-4所示。图4-5 DAC5571波形产生电路4.2 系统软件设计4.2.1 信号发生器主流程图首先对各个功能模块进行初始化,接着扫描独立按键获取默认参数(10HZ,0.5V)的波形信号(正弦波、方波、锯齿波、三角波)并将参数信息显示在1602液晶上,然后再次扫描按键,判断是否修改波形参数,如果要改变频率,只需要重新设置定时器A中CCR0的记数周期值就可以,
22、要改变幅值的话,只需要将送入DAC数模转换芯片的数值乘以一定的比例系数(不大于1)就可以,如图4-5所示。图4-6 信号发生器主流程图4.2.2 正弦波程序流程图首先建立一个正弦波数据列表tosin256,每次进入定时器A的中断服务时,就将列表里的数据送给DAC数模转换芯片输出,将256个元素输出一遍,产生一个正弦波,如此循环如图4-6所示。图4-7 正弦波产生程序流程图4.2.3 方波程序流程图方波信号是通过MSP430F149内部定时器A每次中断到来时,进入中断服务程序,前128次中断时将0xff乘以一定系数(不大于1)送DAC数模转换芯片输出,后128次中断时将0送DAC数模转换芯片输出
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MSP430 单片机 信号发生器 毕业设计