ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:629.05KB ,
资源ID:5787303      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5787303.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数控恒流源设计报告加程序Word文档格式.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数控恒流源设计报告加程序Word文档格式.docx

1、 MSP430F149单片机就是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机。由于它具有极低的功耗、达到60KB的FLASH容量、丰富的片内外设与相对较小的体积及方便灵活的开发环境,已成为众多单片机系列中一颗耀眼的“芯星”。开发板资源描述:【1】、板载MSP430F149芯片【2】、集成USB型BSL编程器(对自身或其她板子进行bsl编程)【3】、提供32、768KHZ与8MHZ两种晶振连接方式【4】、采用USB供电与程序下载,优质电容滤波【5】、采用标准JTAG接口(14针),支持硬件仿真。【6】、所有IO口(包括AD电源等)均引出(未焊接排针,可自己向上或向下焊接)。【7】、

2、4路彩色LED全部上拉,可以借此观察程序运行状态。【8】、2个优质独立按键。【9】、板载手动复位电路。【10】、板载蜂鸣器电路,可做音乐实验等。【11】、提供NRF24L01+无线模块接口。【12】、板子集成USB转串口功能。【13】、向外提供3、3v与5v电源排针。MSP430的端口有P1、P2、P3、P4、P5、P6、S与COM(型号不同,包含的端口也不仅相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列则包含全部上述端口),它们都可以直接用于输入/输出。MSP430系统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。端口P1P6的每一位都可以独立

3、用于输入/输出,即具有位寻址功能。常见的键盘接口可以直接用端口进行模拟,用查询或者中断方式控制。由于MSP430的端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时,可以用端口的某一位或者几位来传送状态信息,通过查询对应位的状态来确定外设就是否处于“准备好”状态。 端口的功能。(1)P1,P2端口: I/O,中断功能,其她片内外设功能如定时器、比较器;(2) P3,P4P5P6端口:I/O,其她片内外设功能如SPI、UART模式,A/D转换等;(3)S,COM 端口:I/O,驱动液晶。MSP430各端口具有丰富的控制寄存器供用户实现相应的操作。其中P1,P2具有7个寄

4、存器,P3P6具有4个寄存器。通过设置寄存器我们可以实现:(1)每个I/O位独立编程;(2)任意组合输入,输出与中断;(3)P1,P2所有8个位全部可以用作外部中断处理;(4)可以使用所以指令对寄存器操作;(5)可以按字节输入、输出,也可按位进行操作。端口P1,P2的功能可以通过它们的7个控制寄存器来实现。这里,Px代表P1或P2。(1)PxDIR:输入/输出方向寄存器。 8位相互独立,可以分别定义8个引脚的输入/输出方向。8位再PUC后都被复位。使用输入/输出功能时,应该先定义端口的方向 。作为输入时只能读,作为输出时,可读可写。0:输入模式;1:输出模式。如:P1DIR|=BIT4; /P

5、1、4输出 ,P2DIR=0XF0; /高4位输出,低4位输入。(2)PXIN:输入寄存器,为只读寄存器。用户不能对它进行写入,只能通过读取其寄存器的内容来知道I/O口的输入信号。所以其引脚的方向要选为输入。如再键盘键盘扫描程序中经常要读取行线或者列线的端口寄存器值来判断案件情况。例如:unsigned char key;P1DIR&=BIT4; /P1、4输入key=P1IN&0X10; /输出端口P1、4的值(3)PXOUT:输出寄存器。该寄存器为I/O端口的输出缓冲寄存器,再读取时输出缓存的内容与引脚方向定义无关。改变方向寄存器的内容,输出缓存的内容不受影响。PIOUT|=0X01; /

6、P1、0输出1 , PIOUT&=0X01; /P1、0输出0 。(4)PXIFG:中断标志寄存器。她的8个标志位标志相应引脚就是否有中断请求有待处理。无中断请求, 1:有中断请求。其中断标志分别为PXIFG、0PXIFG、7。应该注意的就是:PXIFG、0PXIFG、7共用一个中断向量,为多源中断。当任一事件引起的中断进行处理时,PXIFG、0PXIFG、7不会自动复位,必须由软件来判断就是对哪一个事件,并将相应的标志复位。另外,外部中断事件的时间必须保持不低于1、5倍的MCLK时间,以保证中断请求被接受,且使相应中断标志位置位。(5)PXIES:中断触发沿选择寄存器。如果允许PX口的某个引

7、脚中断,还需定义该引脚的中断触发方式。上升沿触发使相应标志置位,1:下降沿触发相应标志置位。MOV、B #07H, &P1IES ;p1低3位下降沿触发中断。(6)PXIE:中断使能寄存器。PX口的每一个引脚都有一位用以控制该引脚就是否允许中断。禁止中断 ,1:允许中断。MOV、B #0E0H, &P2IE ;P2高3位允许中断。(7)PXSEL:功能选择寄存器。P1,P2两端口还具有其她片内外设功能,将这些功能与芯片外的联系通过复用P1,P2引脚的方式来实现。PXSEL用来选择引脚的I/O端口功能与外围模块功能。选择引脚为I/O端口,1:选择引脚为外围模块功能。P1SEL|=0X10; /P

8、1、4为外围模块功能。端口P3、P4、P5、P6没有中断能力,其余功能同PI,P2。除掉端口P1,P2与中断相关的3个寄存器,端口P3,P4,P5,P6的4个寄存器(用法同P1,P2)分别为PXDIR,PXIN,PXOUT,PXSEL可供用户使用。端口COM与S,她们实现与液晶片的直接接口。COM为液晶片的公共端,S为液晶片的段码端。液晶片输出端也可经软件配置为数字输出端口。3、2 电源模块:5v12v 佰嘉达 D-120A 双组电源佰嘉达 D-120A 双组电源就是开关电源(英文:SwitchingModePowerSupply),又称交换式电源、开关变换器,就是一种高频化电能转换装置。其功

9、能就是将一个位准的电压,透过不同形式的架构转换为用户端所需求的电压或电流。开关电源体积小、重量轻:由于没有工频变压器,所以体积与重量只有线性电源的2030%。功耗小、效率高:功率晶体管工作在开关状态,所以晶体管上的功耗小,转 化效率高,一般为6070%,而线性电电源只有3040%。所以选择开关电源转化与提供12V与5V电压。第4章 DA模块 因为MSP430F149单片机内部并没有内置DAC12模块,所以必须外接DAC芯片进行DA转换。考虑到恒流源的精度与步进的大小,我们决定使用12位的DAC芯片来进行DA转换。经过挑选,我们使用12位的TLV5618。其连接图如下DA模块电路图特性双通道12

10、位电压输出型 DAC 可编程设置时间:3uS10uS 兼容 TMS320与 SPI接口可直接代替TLC5618应用数字电路控制 数字偏移及增益控制 工业生产控制 机器与自动控制装第5章 AD模块 这里采用的就是MSP430F149单片机内部的ADC12模块,需在单片机外接如图所示的一些元件辅助芯片。ADC12提供4种转换模式:单通道单次转换序列通道单次转换单通道多次转换序列通道多次转换这里我们只用单通道单次转换对选定的通道进行单次转换要进行如下设置:x=CSStartAdd,指向转换开始地址ADC12MEMx存放转换结果ADC12IFG、x为对应的中断标志ADC12MCTLx寄存器中定义了通道

11、与参考电压转换完成时必须使ENC再次复位并置位(上升沿),以准备下一次转换。在ENC复位并再次置位之前的输入信号将被忽略。 AD模块电路图 不论用户使用何种转换模式,都要处理以下问题:设置具体模式输入模拟信号关注转换结束信号存放转换数据以及采用查询或者中断方式读取数据二、ADC12寄存器说明1.ADC12CTL0控制寄存器0,各位定义:15121187654321SHT1SHT0MSC2、5VREFONADC12TOVIETVIEENCSCADC12SC采样/转换控制位。在不同条件下,ADC12SC的含义如下所示:ENC转换允许位。ADC12为初始状态,不能启动A/D转换;首次转换由SAMPC

12、ON上升沿启动ADC12TVIE转换时间溢出中断允许位(当前转换还没完成时,又发生一次采样请求,则会发生转换时间溢出)没发生转换时间溢出发生转换时间溢出ADC12OVIE溢出中断允许位(当ADC12MEMx中原有数据还没有读出,而又有新的转换结果数据要写入时,则发生溢出)没发生溢出发生溢出ADC12ONADC12内核控制位关闭ADC12内核打开ADC12内核REFON参考电压控制位内部参考电压发生器关闭内部参考电压发生器打开2、5V内部参考电压的电压值选择位选择1、5V内部参考电压选择2、5V内部参考电压MSC多次采样转换位(CONSEQ0表示当前转换模式不就是单通道单次转换)SHT1、SHT

13、0采样保持定时器1,采样保持定时器0分别定义保存在转换结果寄存器ADC12MEM8ADC12MEM15与ADC12MEM0ADC12MEM7中的转换采样时序与采样时钟ADC12CLK的关系。采样周期就是ADC12CLK周期乘4的整数倍。2.ADC12CTL1转换控制寄存器1(大多数315位,只有在ENC=0时才可被修改),各位定义:111098754、32、1CSSTARTADDSHSSHPISSHDIVSSELCONSEQBUSYCSSTARTADD转换存储器地址位。该4位所表示的二进制数015分别对应ADC12MEM015。可以定义单次转换地址或序列转换的首地址。SHS采样触发输入源选择位

14、。SHP采样信号(SAMPCON)选择控制位。ISSH采样输入信号方向控制位ADC12DIVADC12时钟源分频因子选择位。分频因子为该3位二进制数加1ADC12SSELADC12内核时钟源选择CONSEQ转换模式选择位ADC12BUSYADC12忙标志(只用于单通道单次转换模式,在其它转换模式下,该位无效)3.ADC12MEM0ADC12MEM15转换存储寄存器该组寄存器均为16位寄存器,用来存放A/D转换结果。中用其中低12位,高4位在读出时为04.ADC12MCTLx转换存储控制寄存器(所有位只有在ENC为低电平时可修改,在POR时各位被复位)对于每个转换存储器有一个对应的转换存储器控制

15、寄存器,所以在进行CSSTARTADD转换存储器地址位设置的同时,也确定了ADC12MCTLx。5.ADC12IFG中断标志寄存器为16位,其中中断标志位ADC12IFG、x对应于转换存储寄存器ADC12MEMx:ADC12IFG、x置位:转换结束,并且转换结果已经装入转换存储寄存器。ADC12IFG、x复位:ADC12MEMx被访问。6.ADC12IE中断使能寄存器为16位,对应于ADC12IFG寄存器:ADC12IE、x=1:允许相应的中断标志位ADC12IFG、x在置位时发生的中断请求服务。ADC12IE、x=0:禁止相应的中断标志位ADC12IFG、x在置位时发生的中断请求服务。7.A

16、DC12IV中断向量寄存器ADC12就是一个多源中断:有18个中断标志(ADC12IFG、0ADC12IFG、15与ADC12TOV,ADC12OV),但只有一个中断向量。所以需要设置这18个标志的优先级顺序,按照优先级顺序安排中断标志的响应,高优先级的请求可以中断正在服务的低优先级。各中断标志会产生一个036的偶数。ADC12OV与ADC12TOV会在访问ADC12IV后自动复位。但在响应了ADC12IFG、x标志对应的中断服务之后,相应的标志不自动复位,用以保证能处理发生溢出的情况。第6章 键盘模块与显示器模块6、1 键盘模块4X4键盘电路图键盘在单片机系统中用得非常广泛。当按键多而且单片

17、机的I/O口有限时,往往要考虑的就是矩阵式键盘。其中有两种方式可以实现矩阵式键盘:一种就是利用纯硬件完成解码的称为“编码键盘”;另外一种就是利用软件实现解码的称为“非编码键盘”。在单片机系统中,只要单片机有空余的时间来解码时,我们往往利用的就是软件解码的形式,即“非编码键盘”来实现矩阵键盘。这样可以节约成本。软件原理为扫描键盘矩阵时,每次只有一行电平拉低。在逐次扫描拉低的这些行的同时,去读那些列的电平。;被拉低的行上,按下的键对应的列的电平为0 ,其它为1、 用左移位的指令,在进位位CY里就可以检测出就是0还就是1、为1表示无按下,;为0表示该键按下。在扫描按键时,如无按下,则取码指针R1加1

18、后,继续扫描 。如有键按下,转按键处理子程序,按键按下标志位;F0清0(表示按下)。此时,取码指针的值,就就是按键的键名。 随后继续进入按键检测子程序重新扫描。 每个按键有它的行值与列值 ,行值与列值的组合就就是识别这个按键的编码。矩阵的行线与列线分别通过两并行接口与CPU通信。每个按键的状态同样需变成数字量“0”与“1”,开关的一端(列线)通过电阻接VCC,而接地就是通过程序输出数字“0”实现的。键盘处理程序的任务就是:确定有无键按下,判断哪一个键按下,键的功能就是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值与

19、回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。 键盘连接成44的矩阵形式,占用单片机P1口的8根线,行信号就是P5、0-5、3,列信号就是P5、4-5、7。复位小数点清除一位输出暂停确认按键对应功能图6、2 1602液晶显示模块工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。1602液晶也叫1602字符型液晶,它就是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间

20、距与行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD就是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符与数字)。目前市面上字符液晶绝大多数就是基于HD44780液晶芯片的,控制原理就是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。管脚功能1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令

21、寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。特性3、3V或5V工作电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器DDRAM内建有192个5X7点阵的字型的字符发生器CGROM8个可由用户自定义的5X7的字符发生器CGRAM指令集1602通过D0D7的8位数据端传输数据与指令。显示模式设置: (初

22、始化)0011 0000 0x38 设置162显示,57点阵,8位数据接口;显示开关及光标设置:0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1),N=0(读或写一个字符后地址指针减1 &光标减1),S=1 且 N=1 (当写一个字符后,整屏显示左移)s=0 当写一个字符后,整屏显示不移动数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)其她设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。第7章 软件设计开始初始化键

23、按下按下?没有有按键按下读取键值key_Flag标志位置1判断就是否按过确认键?AD转换使能有按键按下有确认键按下输出键按下?有输出键按下DA转换判断电流就是否为键入值步进加减1就是否各键值功能执行Flag就是否为1Flag清0第8章 实验总结 经测试,此数控恒流源在0100mA时可适用负载的电阻范围为069、。在50mA时相对误差为0,在10mA时显示电流比电流表小1、5mA,在100mA时显示电流比电流表大1、5mA。并且其误差值近视抛物线。经分析,我们认为就是一方面因为DA采样信号经过LM358放大10倍时误有一定的误差,并不就是绝对的十倍,故造成其输出值不就是理想状态。另一方面就是因为

24、单片机的ADC模块的参考电压不就是很准确,也造成一定影响。附录1:实物图 附录2:程序清单#include #include Keypad、hcry1602、h#define uchar unsigned char#define uint unsigned int#define Num_of_Results 32uchar shuzi = 0123456789、;static uint resultsNum_of_Results; /保存ADC转换结果的数组 void Trans_val(uint Hex_Val);void DA_conver(uint dig);void shuzishur

25、u(uint shuzi);void Write_A_B(uint data_a,uint data_b,uchar channal,uchar model);/提示语句: uchar Strings=Please enter the current value: uchar ceshi1=No data uchar ceshi2=Less than 100 mA uchar ceshi3=A: uchar ceshi4=B: uchar ceshi5=mA/引用外部变量的声明 extern unsigned char key_val;extern unsigned char key_Flag; unsigned long Dianliu2,Dianliu3;uint Dianliu1,zheng,daxiao, com,VV;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2