搜档网
当前位置:搜档网 › MSP430系列16位超低功耗单片机原理与应用_沈建华主编

MSP430系列16位超低功耗单片机原理与应用_沈建华主编

MSP430系列16位超低功耗单片机原理与应用_沈建华主编
MSP430系列16位超低功耗单片机原理与应用_沈建华主编

MSP430单片机实验报告v3.0

MSP430单片机课程设计 一.设计要求 数字温度计 (1)用数码管(或LCD)显示温度和提示信息; (2)通过内部温度传感器芯片测量环境温度; (3)有手动测量(按测量键单次测量)和自动测量(实时测量)两种工作模式; (4)通过按键设置工作模式和自动测量的采样时间(1秒~1小时); (5)具备温度报警功能,温度过高或过低报警。 二.系统组成 系统由G2Launch Pad及其拓展板构成,单片机为MSP430G2553。 I2的通信方式对IO进行拓展,芯片为TCA6416A; 使用C 使用HT1621控制LCD; 三.系统流程 拓展的四个按键key1、key2、key3、key4分别对应单次测量、定时测量、定时时间的增、减。定时时间分别为1s,5s,15s,30s,60s。在自动测量模式下,当温度超过设定温度上限

即报警,报警时在LCD屏幕显示ERROR同时LED2闪烁,在5s后显示0℃。此时可重新开始手动或自动测量温度。 系统示意图: 四.演示 a)手动测量温度 b)自动测量温度 c)报警

显示ERROR同时LED闪烁d)设置时间界面 五.代码部分 #include "MSP430G2553.h" #include "TCA6416A.h" #include "LCD_128.h" #include "HT1621.h" #include "DAC8411.h" #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) static int t=0; long temp; long IntDeg; void ADC10_ISR(void); void ADC10_init(void); void LCD_Init(); void LCD_Display(); void GPIO_init(); void I2C_IODect(); void Error_Display(); void WDT_Ontime(void); void LCD_Init_AUTO(); void LCD1S_Display();

简易计算器设计-msp430-C语言

简易计算器

目录 摘要…………………………………………………………………………………P3 关键字………………………………………………………………………………P3 一、设计要求………………………………………………………………………P3 二、方案论证与选择………………………………………………………………P3 2.1 单片机选择………………………………………………………………P3 2.2 LCD显示屏选择…………………………………………………………P3 2.3 键盘选择…………………………………………………………………P4 2.4 CPU工作方式选择………………………………………………………P4 三、系统实现………………………………………………………………………P4 3.1 硬件设计…………………………………………………………………P4 3.1.1系统框图……………………………………………………………P4 3.1.2 盘的电平设计以及与单片机的连接 键……………………………P5 3.2.3单片机与显示器的连接…………………………………………… P5 3.2软件设计…………………………………………………………………… P6 四、作品性能测试与分析…………………………………………………………P10 4.1试性能概览………………………………………………………………P10 4.2误差分析…………………………………………………………………P12

五、参考文献………………………………………………………………………P12 六、附录……………………………………………………………………………P13 6.1计算器功能介绍…………………………………………………………P13 6.2仿真电路图………………………………………………………………P13 6.3元件清单…………………………………………………………………P13 6.4原程序代码………………………………………………………………P14 摘要:本设计以低功耗单片机MSP430V136T、1602字符型液晶屏和4*4简易键盘为主要器件,来实现加、减、乘、除、开根号、平方、求倒数等运算。设计中分别采用P1口低4位和P2口低4位与键盘的行列线相连,用于采集中断信号并分析键值;键盘规格为4*4,由于所需的功能键数大于16,因此需要进行按键复用;单片机的P3口连接显示器的D0~D7端,用于输出显示数据或控制命令;选用P4口中的3、4和5口用于实现显示屏的控制功能:使能、控制/数

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

南理工 王宏波 MSP430F6638单片机实验报告

MSP430单片机应用技术 实验报告 学号:XXXXXXXX

实验1 一、实验题目:UCS实验 二、实验目的 设置DCO FLL reference =ACLK=LFXT1 = 32768Hz, MCLK = SMCLK = 8MHz,输出ACLK、SMCLK,用示波器观察并拍照。 UCS,MCLK、 SMCLK 8MHz 的 1 2 六、实验结果 实验2 一、实验题目:FLL+应用实验 二、实验目的

检测P1.4 输入,遇上升沿进端口中断,在中断服务程序内翻转P4.1 状态。 三、实验仪器和设备 计算机、开发板、示波器、信号源、电源、Code Comeposer Studio v5 四、实验步骤 1、用电缆连接开发板USB2口和电脑USB口,打开电源开关SW1,电源指示灯D5点亮; 2、运行CCSV5; WDT 1、用电缆连接开发板USB2口和电脑USB口,打开电源开关SW1,电源指示灯D5点亮; 2、运行CCSV5; 3、新建工作空间workspace; 4、新建工程project与源文件main.C; 5、编写程序; 6、编译、调试、下载程序到单片机;

7、观察、分析、保存运行结果。 五、实验程序 实验4 一、实验题目:WDT_A实验 二、实验目的 定时模式 1 2 六、实验结果 实验5一、实验题目:Timer_A实验

二、实验目的 比较模式-Timer_A0,两路PWM 输出,增减计数模式,时钟源SMCLK,输出模式7 TACLK = SMCLK = default DCOCLKDIV。PWM周期CCR0 = 512-1,P1.6 输出PWM占空比CCR1 = 37.5%,P1.7输出PWM占空比CCR1 =12.5%。 要求: (1)用示波器观察两路PWM 输出的波形并拍照,测量周期、正脉宽等参数,与理论值进行对比分析。 (2 (3 1 2 实验6 一、实验题目:ADC12实验 二、实验目的 ADC12 单次采样A0 端口,根据转换结果控制LED 状态。

北京邮电大学课设 基于MSP430的简单信号发生器的设计

基于MSP430的信号发生器 设计报告 学院:电子工程学院 班级:2013211212 组员:唐卓浩(2012211069) 王旭东(2013211134) 李务雨(2013211138) 指导老师:尹露

一、摘要 信号发生器是电子实验室的基本设备之一,目前各类学校广泛使用的是标准产品,虽然功能齐全、性能指标较高,但是价格较贵,且许多功能用不上。本设计介绍一款基于MSP430G2553 单片机的信号发生器。该信号发生器虽然功能及性能指标赶不上标准信号发生器,但能满足一般的实验要求,且结构简单,成本较低。本次需要完成的任务是以MSP430 LaunchPad 的单片机为控制核心、DAC 模块作为转换与按键电路作为输入构成的一种电子产品。MSP430 LaunchPad 单片机为控制核心,能实时的进行控制;按键输入调整输出状态,DAC0832将单片机输出的数字信号转化为模拟量,经运放放大后,在示波器上输出。在本次程序设计中充分利用了单片机内部资源,涉及到了中断系统、函数调用等。 关键字:信号发生器 MSP430单片机数模转换 二、设计要求 以msp430单片机为核心,通过一个DA (数字模拟)转换芯片,将单片机输出的方波、三角波、正弦波(数字信号)转换为模拟信号输出。提供芯片:msp430G2553、DAC0832、REF102、LM384、OP07。参考框图如下: Lauchpad MSP430 电位器 按键1 DA 转换DAC0832 放大输出LM384 按键N 按键2 AD …… 图1 硬件功能框图 1、基本要求 (1) 供电电压 VDD= 5V~12V ;(√) (2) 信号频率:5~500Hz(可调);(√) (3) 输出信号电压可调范围:≥0.5*VDD ,直流偏移可调:≥0.5*VDD ;(√) (4) 完成输出信号切换;(√) (5) 方波占空比:平滑可调20%~80%;(√) (6) 通带内正弦波峰峰值稳定度误差:≤±10%(负载1K )。(√)

430单片机点亮LED实验报告

430单片机点亮LED实验报告 一.安装实验软件IAR 二.编写点亮LED灯程序 1.使P1.0口LED灯会不停的闪烁着,程序 #include typedef unsigned int uint; typedef unsigned char uchar; /*延时函数*/ void Delay_Ms(uint x) { uint i; while(x--)for(i=0;i<250;i++); } /*主函数*/ int main( void ) { WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset P2DIR|=BIT0;//定义P1口为输出 while(1)//死循环 { P2OUT^=BIT0;//P1.0口输出取反

Delay_Ms(600);//稍作延时 } } 下载进去看到了P1.0口LED灯会不停的闪烁着。 2.实验目的让两盏灯交换闪烁程序 #include"msp430g2553.h" void main(void) { void Blink_LED(); WDTCTL=WDTPW+WDTHOLD; //关闭看门狗 P1DIR=BIT6; P2DIR=BIT0; while(1) { Blink_LED(); } } void Blink_LED() { _delay_cycles(1000000); //控制第二个LED P1OUT^=BIT6; _delay_cycles(1000000); //控制第一个LED P2OUT^=BIT0;

MSP430单片机实验报告

MSP430单片机实验报告 专业: 姓名: 学号:

MSP430单片机实验报告 设计目标:使8位数码管显示“5201314.”,深入了解串行数据接口。 实现过程:主要分为主函数、驱动8位数码管函数、驱动1位数码管函数及延时函数。 延时函数:采用for循环。 驱动1位数码管子函数:设置74HC164的时钟传输和数传输,声明变量,使数据表中每一个要表示的字符的每一位都与shift做与运算从而进行传输,上升沿将传输数据传送出去。驱动1位数码管子函数的流程图如图1所示。 图1 驱动1位数码管子函数流程图 驱动8位数码管子函数:调用8次驱动1位数码管子函数。驱动8位数码管子函数流程图如图2所示。 图2 驱动8位数码管流程图

while 图3 主函数流程图 实验结果:供电后,数码管显示“5201314.”字样。 源程序: /************* 程序名称:5201314.*************/ /***程序功能:通过模拟同步串口控制8个共阳数码管***/ /*******P5.1 数据管脚,P5.3 同步时钟管脚*******/ #include // 头文件 void delay(void); // 声明延迟函数void seg7_1 (unsigned char seg7_data); // 声明驱动1 位数码管函数void seg7_8 ( unsigned char seg7_data7, unsigned char seg7_data6, unsigned char seg7_data5, unsigned char seg7_data4, unsigned char seg7_data3, unsigned char seg7_data2,

基于MSP430单片机的数字式水表设计

收稿日期:2004-07-31;修改日期:2004-09-28作者简介:张 宇(1979-),男,安徽宿州人,合肥工业大学硕士生; 张 辉(1963-),男,江苏海门人,合肥工业大学教授,硕士生导师.第27卷第10期 合肥工业大学学报(自然科学版)Vo l.27No.102004年10月JOURN AL OF HEFEI U NIVERSITY OF T ECH NOLOGY Oct.2004 基于M SP 430单片机的数字式水表设计 张 宇, 张 辉 (合肥工业大学仪器仪表学院,安徽合肥 230009) 摘 要:为了提高测量精度,利用T I 公司M SP430系列单片机的特点开发出利用维权磁敏传感器的数字式叶轮水表。给出了传感器的信号处理电路及软件处理程序流程。介绍了M S P430单片机的特点并详细讨论了其中断处理特点。并利用线性分段插值的方法对水表的非线性仪表系数进行误差修正。实验数据证明利用该方法设计的水表在全量程内都可保持较高的精度。 关键词:数字式水表;误差修正;磁敏传感器 中图分类号:TU 991.63 文献标识码:A 文章编号:1003-5060(2004)10-1375-04 Design of digital water meter based on MSP 430 ZHANG Yu, ZHANG Hui (School of Instrum ent,Hefei Un iversity of T echnology,Hefei 230009,China) Abstract :To improv e the precision of m easurement,an impeller w ater m eter is dig itized by using M SP 430and the Vegen mag netic sensor .The cir cuit for processing the sensor 's sig nal and the corre-sponding softw are flow are presented.The featur e of M SP430and its inter rupt processing are dis-cussed.T he error correction is made by using the linear fitting metho d.T he data o f experiment pr oves that the obtained precisio n can be rather hig h in the w hole measurement r ang e. Key words :digital w ater meter ;erro r correction ;magnetic senso r 叶轮式水表是一款比较成熟的流量传感器。家庭中使用的水表就多为旋翼式叶轮水表。叶轮式水 表的工作原理为:当水以一定流速流过水表时,水表的叶轮转动,其转速n 和水流速度u 成正比[1],即 n =Cu (1) 式中 n ——叶轮转速(r /s) u ——水流速度(m/s) C ——比例系数 当流量计口径一定时,理论上叶轮的转速与流量成线性关系。而实际上水表的比例系数并不是一个常数,所以要提高水表的测量精度必须实时修正水表的比例系数。普通水表只是将叶轮的转动通过齿轮组变换成表盘上指针的偏转量,完成对流量的积算,所以不能对水表进行实时误差修正。随着技术的进步和人们对水表要求的提高,无线式水表、IC 卡水表等智能化水表已经出现。 这些水表不仅能够将流量信号变换成为电脉冲信号从而进行数字化处理,而且能够进行误差修正以提高测量精度。

MSP430 按键程序范例(附原理图)

#i nclude void Init_Port(void) { //将P1口所有的管脚在初始化的时候设置为输入方式 P1DIR = 0; //将P1口所有的管脚设置为一般I/O口 P1SEL = 0; // 将P1.4 P1.5 P1.6 P1.7设置为输出方向 P1DIR |= BIT4; P1DIR |= BIT5; P1DIR |= BIT6; P1DIR |= BIT7; //先输出低电平 P1OUT = 0x00; // 将中断寄存器清零 P1IE = 0; P1IES = 0; P1IFG = 0; //打开管脚的中断功能 //对应的管脚由高到低电平跳变使相应的标志置位 P1IE |= BIT0; P1IES |= BIT0; P1IE |= BIT1; P1IES |= BIT1; P1IE |= BIT2; P1IES |= BIT2; P1IE |= BIT3; P1IES |= BIT3; _EINT();//打开中断 return; } void Delay(void) { int i; for(i = 100;i--;i > 0) ;//延时一点时间 } int KeyProcess(void) { int nP10,nP11,nP12,nP13; int nRes = 0;

//P1.4输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 13; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 14; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 15; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 16; //P1.5输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 9; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 10; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 11; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 12; //P1.6输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 5; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 6; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 7; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 8; //P1.7输出低电平 P1OUT &= ~(BIT4); nP10 = P1IN & BIT0; if (nP10 == 0) nRes = 1; nP11 = P1IN & BIT1; if (nP11 == 0) nRes = 2; nP12 = P1IN & BIT2; if (nP12 == 0) nRes = 3; nP13 = P1IN & BIT3; if (nP13 == 0) nRes = 4; P1OUT = 0x00;//恢复以前值。

430 单片机 计算器

#include const unsigned char data[22] ={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e, 0x8f,0xbf,0x89,0xb9, 0xff,0xaf};//0~9 a~f 符号 unsigned char segment[8] = {20,20,0,0,0,0,0,0};//初始数码管 unsigned char flag1=0; void delay(unsigned int j) { unsigned int i; for(i=0;i1;a--) segment[a]=0; } void zhuanhuan( unsigned long r) { segment[7]=r%10; segment[6]=r/10%10;

segment[5]=r/100%10; segment[4]=r/1000%10; segment[3]=r/10000%10; segment[2]=r/100000%10; } unsigned char getkey(void) { unsigned char m,n=16; P1OUT=0x00; if((!(P1IN&BIT4))||(!(P1IN&BIT5))||(!(P1IN&BIT6))||(!(P1IN&BIT7))) {delay(10000); if((!(P1IN&BIT4))||(!(P1IN&BIT5))||(!(P1IN&BIT6))||(!(P1IN&BIT7))) { flag1=1; for(m=0;m<=2;m++) { P1OUT=~BIT0; if(!(P1IN&BIT7)){n=3;break;} if(!(P1IN&BIT6)){n=7;break;} if(!(P1IN&BIT5)){n=11;break;} if(!(P1IN&BIT4)){n=15;break;} P1OUT=~BIT1; if(!(P1IN&BIT7)){n=2;break;} if(!(P1IN&BIT6)){n=6;break;} if(!(P1IN&BIT4)){n=14;break;} if(!(P1IN&BIT5)){n=10;break;} P1OUT=~BIT2; if(!(P1IN&BIT7)){n=1; break;} if(!(P1IN&BIT6)){n=5; break;} if(!(P1IN&BIT5)){n=9; break;} if(!(P1IN&BIT4)){n=13; break;} P1OUT=~BIT3; if(!(P1IN&BIT7)){n=0; break;} if(!(P1IN&BIT6)){n=4; break;} if(!(P1IN&BIT5)){n=8; break;}

MSP430单片机定时器实验报告

实验四定时器实验 实验目的: MPS430F5529片内集成的定时器A的使用,学习计数器的补捕获比较模块的使用。实验内容: 定时器采用辅助时钟ACLK作为计数脉冲,fACLK=32768Hz,实现以下功能: 1.定时器TA0延时1s,点亮或熄灭LED6,即灯亮1s灭1s,如此循环,采用中断服务程序实现。 2.定时器TA0延时1s,点亮或熄灭LED4,采用捕获比较器CCR0的比较模式,设定输出方式,输出方波,不用中断服务程序 3.采用捕获比较器CCR1的比较模式LED5,设定输出方式,输出PWM波形,使LED 亮2s,灭1s。 4.用定时器实现30s倒计时,在液晶模块上显示,每过一秒显示数字变化一次。 5.使用TA1的捕获比较器CCR0捕获按键的间隔时间,在液晶模块上显示。 程序代码: 程序1: #include void main() {WDTCTL = WDTPW + WDTHOLD; //关看门狗 P1DIR |= BIT3; //设置P1.0口方向为输出。 TA0CCTL0 = CCIE; //设置捕获/比较控制寄存器中CCIE位为1, //CCR0捕获/比较功能中断为允许。 TA0CCR0 = 32767; //捕获/比较控制寄存器CCR0初值为32767 TA0CTL = TASSEL_1 + MC_1+TACLR; //设置定时器A控制寄存器TACTL, //使时钟源选择为SMCLK辅助时钟。 //进入低功耗模式LPM0和开总中断 _BIS_SR(LPM0_bits +GIE); } //定时器A 中断服务程序区 #pragma vector=TIMER0_A0_VECTOR __interrupt void Timer_A (void) {

单片机原理及应用_第十讲_MSP430单片机的ADC实验报告

单片机原理及应用 第十讲 MSP430单片机的ADC 实验报告 报告人:学号:同组人员: 实验内容 实验1 AD采集输入电压并比较 实验2 AD内部温度采集实验 实验3 验收实验:温度采集与显示 把实验2中的实测温度值以摄氏度数值显示在段码LCD上。 实验步骤 步骤: (1) 将PC 和板载仿真器通过USB 线相连; (2) 打开CCS 集成开发工具,选择样例工程或自己新建一个工程,修改代码; (3) 选择对该工程进行编译链接,生成.out 文件。然后选择,将程序下载到实验板中。程序下载完毕之后,可以选择全速运行程序,也可以选择

单步调试程序,选择F3 查看具体函数。也可以程序下载之后,按下,软件界面恢复到原编辑程序的画面。再按下实验板的复位键,运 行程序。(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议 上电运行程序)。 关键代码: 实验1 AD采集输入电压并比较 #include int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC12CTL0 = ADC12SHT02 + ADC12ON; // Sampling time, ADC12 on ADC12CTL1 = ADC12SHP; // Use sampling timer ADC12IE = 0x01; // Enable interrupt ADC12CTL0 |= ADC12ENC; P6SEL |= 0x01; // P6.0 ADC option select P4DIR |= BIT1; // P4.1 output while (1) { ADC12CTL0 |= ADC12SC; // Start sampling/conversion __bis_SR_register(LPM0_bits + GIE); // LPM0, ADC12_ISR will force exit __no_operation(); // For debugger } } #pragma vector = ADC12_VECTOR __interrupt void ADC12_ISR(void) { switch(__even_in_range(ADC12IV,34)) { case 0: break; // Vector 0: No interrupt case 2: break; // Vector 2: ADC overflow case 4: break; // Vector 4: ADC timing overflow

基于MSP430开关电源设计

基于MSP430开关电源设计

————————————————————————————————作者:————————————————————————————————日期: 2

单片机实现开关电源的设计 2011-10-31 12:08:53 来源:互联网 关键字:单片机开关电源 1 引言MSP430系列单片机是美国TI公司生产的新一代16位单片。开关Boost稳压电源利用开关器件控制、无源磁性元件及电容元件的能量存储特性,从输入电压源获取分离的能量,暂时把能量以磁场的形式存储在电感器中,或以电场的形式存储在电容器中,然后将能量转换到负载。对DC—DC主回路采用Boost升压斩波电路。 2 系统结构和总设计方案本开关稳压电源是以MSP430F449为主控制器件,它是TI公司生产的16位超低功耗特性的功能强大的单片机,其低功耗的优点有利于系统效率高的要求,且其ADCl2是高精度的12位A/D转换模块,有高速、通用的特点。这里使用MSP430完成电压反馈的PI调节;PWM波产生,基准电压设定;电压电流显示;过电流保护等。系统框图如图1所示。

3 硬件电路设计 3.1 DC/DC转换电路设计 系统主硬件电路由电源部分、整流滤波电路、DC/DC转换电路、驱动电路、MSP430单片机等部分组成。交流输入电压经整流滤波电路后经过DC/DC变换器,采用Boost 升压斩波电路DC/DC变换,如图2所示: 根据升压斩波电路的工作原理一个周期内电感L积蓄的能量与释放的能量相等,即:式(1)中I1为输出电流,电感储能的大小通过的电流与电感值有关。在实际电路中电感的参数则与选取开关频率与输入/输出电压要求,根据实际电路的要求选用合适的电感值,且要注意其内阻不应过大,以免其损耗过大减小效率采样电路。对于电容的计算,在指定纹波电压限制下,它的大小的选取主要依据式(2): 式(2)中:C为电容的值;D1为占空比;TS为MOSFET的开关周期;I0为负载电流;V’为输出电压纹波。 3.2 采样电路 采样电路为电压采集与电流采集电路,采样电路如图3所示。其中P6.O,P6.1为MSP430芯片的采样通道,P6.O为电压采集,P6.1为电流采集。

MSP430单片机AD转换实验

A/D转换实验 一、转换原理 MSP430F149的A/D转换器原理请参考相关书籍。 实验板上与AD相关的硬件电路 : 编程工作实际就就是对以下寄存器的操作: 寄存器类型寄存器缩写寄存器的含义 转换控制寄存器ADC12CTL0 转换控制寄存器0 ADC12CTL1 转换控制寄存器1 中断控制寄存器ADC12IFG 中断标志寄存器ADC12IE 中断使能寄存器ADC12IV 中断向量寄存器 存储及其 控制寄存器ADC12MCTL0 ~ ADC12MCTL15 存储控制寄存器0~15 ADC12MEM0 ~ ADC12MEM15 存储寄存器0~15 设计主程序与中断服务程序。 二、转换程序 1、程序1:转换结果发送到PC 主程序中进行A/D初始化,中断服务程序读A/D转换结果,主程序中通过串口发送结果。

“main、c”主程序与中断程序: /********************************************************* 程序功能:将ADC对P6、0端口电压的转换结果按转换数据与对应的模拟电压的形式通过串口发送到PC机屏幕上显示 ----------------------------------------------------------- 通信格式:N、8、1, 9600 ----------------------------------------------------------- 测试说明:打开串口调试精灵,正确设置通信格式,观察接收数据 **********************************************************/ #include #include "allfunc、h" #include "UART0_Func、c" #include "ADC_Func、c" #define Num_of_Results 32 uint results[Num_of_Results]; //保存ADC转换结果的数组 uint average; uchar tcnt = 0; /***********************主函数***********************/ void main( void ) { uchar i; uchar buffer[5]; WDTCTL = WDTPW + WDTHOLD; //关狗 /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; P6DIR |= BIT2;P6OUT |= BIT2; //关闭电平转换 P6DIR|=BIT6;P6OUT&=~BIT6; //关闭数码管显示 InitUART(); Init_ADC(); _EINT(); buffer[4] = '\0';

基于msp430F149的多功能计数器

基于msp430F149的多功能计数器 摘要 本文设计了一种以超低功耗单片机MSP430F149为控制器,以高速的FPGA (现场可编 程门阵列)实现等精度测量正弦信号的频率、周期和相位差的多功能计数器。在设计中依据等精度计数原理,应用单片机的数学运算和控制功能,利用f=1/T 实现了频率和周期的统一处理;采用相位-时间转换方法,根据??0/360f f N =?? 完成了相位差测量。此外,利用外加模拟通道,实现了对正弦波小信号的预处理,使得该计数器能够在较宽的频率范围和幅度范围内进行测量。 关键词 计数器 MSP430F149单片机 FPGA 等精度

一、系统方案 方案1:采用中小规模数字电路构成系统,由计数器构成主要的测量模块。用定时器组成主要的控制电路。此方案软件设计简单,但外围芯片过多,且频带窄,实现起来较复杂,功能不强,而且不能程控和扩展。 方案2:采用单片机实现。被测信号经调理后送入单片机,利用其内部的计数器完成计数,然后再进行数据处理和显示,但单片机在处理高速信号时略显吃力。 方案3:利用FPGA 对调理后的被测信号实现高速计数,单片机软件执行高精度浮点数运算并显示。单片机完成系统的数据处理、逻辑控制和人机交互功能;大规模现场可编程器件 方案比较与选择:方案1 采用中小规模集成电路来实现,系统电路较复杂,扩展性能差;方案2用外围电路配合单片机实现测量功能,信号频率比较高时需外加分频电路,影响测量精度和系统稳定性,且单片机任务繁重,给软件设计和调试工作带来不便;方案3用一片高度集成的可编程逻辑器件可完成有关电路所有模块的设计,大大降低了电路复杂度,减少引线信号间的干扰,提高电路的可靠性和稳定性。加上单片机控制,应用单片机的数学运算和控制功能,辅以有效的软件滤波算法,能够进一步提高测量精度,且控制灵活、易于扩展和调试简单,能够达到题目要求。故本设计采用方案3,系统框图如图1所示。 二、理论分析与计算 1、频率和周期测量方法分析 由于频率和周期之间存在倒数关系(f=1/T),所以只要测得两者中的一个,另一个可通过计算求得。 1)直接测量法 对测频在低频端1Hz 时,若闸门时间为1s ,其 1量化误差大到100%。为了满足测试精度的要求,显然不能采用直接测量法; 2)直接与间接测量相结合的方法 需对被测频率和中界频率的关系进行判断,在中界频率附近仍不能达到较高的测量精度; 3)等精度测量法 图2为等精度测频、测周原理方框图。 图2 等精度测频原理图 设在一次预置门时间p T 中对被测信号计数值为x N ,对标准频率信号计数值为s N ,有

MSP430单片机实验指导书

试验一 一、实验目的 进一步熟悉IAR for MSP430编程软件和PROTEUS仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握MSP430单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。掌握PROTEUS仿真软件仿真MSP430单片机过程中的注意事项。 二、实验内容 1、运用PROTEUS仿真软件绘制LED流水灯电路; 2、运用IAR for MSP430编程软件编辑led流水灯程序,并且生成.hex 或.d90文件,并且将生成的文件加载到单片机中,程序使用P1或其它端口来演示跑马灯,输出低电平驱动。 三、实验器材 电脑一台 四、实验原理及介绍 LED流水灯实际上是一个带有发光二极管的单片机最小系统,即由led灯、电阻、电容器、电源等电路和必要的软件组成的单个的单片机;如果要让接在P1或其它端口的LED灯亮起来,那么只需要将P1或其它端口的电平变为低电平就可以了。同理,将该端口电平变为高电平,LED灯就会熄灭。 五、程序流程图 开始 端口初始化 LED顺序点亮 结束 六、实验步骤 1、运用PROTEUS仿真软件绘制电路图; 2、运用IAR for MSP430编写流水灯程序,并且生成‘’.hex’’或“.d90”文件

3、将‘’.hex’’或“.d90”文件软件加载到PROTEUS仿真软件中; 4、换一种流水灯的亮灭顺序,改变延时时间的大小,多次实验,灵活使用 七、参考程序 #include "msp430f249.h" #define uint unsigned int /******************** 主函数 **************************/ void main(void) { Uint I; WDTCTL = WDTPW + WDTHOLD; P1DIR = ox0ff; while(1) { PIOUT = 0x00; For(I = 0;I < 65565;I ++); PIOUT = 0x0ff; For(I = 0;I < 65565;I ++); } } 八、心得体会(二页以上)

基于MSP430单片机的交流电压测量设计

基于MSP430单片机的交流电压测量设计 东南大学仪器科学与工程学院 许欢 摘要:在单片机的一些测量中,有时候需要我们直接测量交流信号, 现介绍一种基于 msp430 单片机实现的交流电压的测量方法。 关键字:MSP430单片机,交流电压,测量,中断 日常生活及学习中, 我们一般需要之间测量交流信号, 测量交流信号的方法有很多, 而在 应用单片机的测量中,我们常常用来测量直流电压,现在将介绍一种基于 msp430单片机实 现的交流电压的测量方法。 系统的构成主要分硬件设计和软件设计两块来介绍。 硬件设计: 为了保证硬件电路设计的通用性, 采用单级性电压测量的方法, 将输入的双极性电压转换 成单级性电压进行测量。 整个电路主要包括极性转换电路和输入处理电路。 其中,极性转换 电路主要由放大电路实现,在此我采用 MCP 601放大芯片。 MCP601芯片:(Microchip 公司的一款高性能的放大芯片) Vcc 管脚:电源管脚 GND 管脚:接地管脚 VIN-管脚:负输入端管脚 VIN+管脚:正输入端管脚 OUT 管脚:输出管脚 极性转换电路设计: 在进行A/D 转换时,我们一般会采用芯片的工作电压作为 A/D 转换的参考电压。由于一般 芯片的工作电压都为正电压, 而我们在这里要测量交流电压, 所以要对输入的交流信号进行 极性转换,将双极性变成单级性。下图为极性转换电路: 如图所示,该芯片共有 8个管脚,

在极性转换电路中,ADOUT 为输出信号。输出信号是在输入信号 ADIN 的基础上叠加了一 个直流分量,调节上面的 Vref 的值就可以改变直流分量的值。如果调节 Vref 使直流分量的 值为1.5V ,并且此时输入信号是幅值为 1.5V 的交流正弦信号,那么输出信号就为最大值为 3V ,最小值为0V 的单级性正弦信号。在极性转换电路基础上我们将很容易设计出我们要的 输入电路。 输入处理电路: 在极性转换电路基础上,输入处理电路需要将 220V 的交流电压信号变为幅值为 1.5V 左右 的交流信号,此外,还需要为 MCP 601提供适当的参考电压信号。电路如下图所示: 从所设计的电路中我们可以得到, 首先通过变压器将 220V 的交流电压降成 8V 的交流电压, 再经过极性转换电路将双极性的交流电压转换为单级性的交流电压。电路中的 R405电位器 主要用于调节参考电压, R404电位器用于调节交流输入电压的幅度。 经过上面电路的处理, 可以将输入的交流电压转换成 0?3V 的单级性交流电压,这样很容易使用 MSP430单片机 自带的A/D 转换通道进行模拟量采集,从而实现交流电压的测量。 在上面的电路中,电压采用 3V 供电,电源芯片采用 TPS76030,实现电路如下图所示: R403 0.0 4.19K 厂 C4M 二 R401 4 721t C404 O.O47nf tic NC _S O.lnf ^C4C2 V1H- Vcc 7 J ■ ? r riTTT —s UU 1 GHD HC _5 2 kDOUT 琴曲 3 MOI~ —斗 I 01肚

相关主题