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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

msp430入门小程序Word格式.docx

1、flag) P1OUT=BIT0; /中断服务程序 else if(flag) P1OUT=BIT6; /其他任务#pragmavector=PORT1_VECTOR_interruptvoidPort_1(void) P1IFG=0; /多源中断,需靠软件清除P1IFG flag=1; /置任务标志 _BIC_SR_IRQ(LPM3_bits); /将CPU从睡眠模式唤醒void Iint_Port1(void) P1DIR|=BIT0+BIT6; P1DIR&=BIT3; /设置为输入方向 P1SEL& /设置为普通I/O口功能 P1IES|=BIT3; /选择下降沿触发 P1IE|=BI

2、T3; /打开中断允许 P1IFG=0; /P1IES的切换可能使P1IFG置位,需清除 _BIC_SR_IRQ(LPM3_bits); /将CPU从睡眠模式唤醒/ 端口1的中断服务历程 #pragma vector=PORT1_VECTOR _interrupt void Port_1(void) P2OUT = 0x01; / P1.0 状态翻转 P1IFG &= 0x10; / P1.4 中断标志清零 /ADCio430.h#define uint unsigned int #define uchar unsigned charuint ad;void delayl(uint n)uin

3、t j,k;for(j=n;j0;j-)for(k=100;kk-);void dis(uint x,uint y,uint z)P1DIR=0xff;P1OUT=0x00;P2OUT=0x07;P2OUT|=BIT3; P1OUT=x;P2OUT&=BIT0;delayl(1);P2OUT|=BIT0; P1OUT=y;=BIT1;P2OUT|=BIT1; P1OUT=z;=BIT2;P2OUT|=BIT2; P2OUT&void adc() uint i,j=10; P1DIR=0x00;P1REN=0xff; /P2OUT& /for(i=511;ii-)P2OUT=BIT1;while

4、(j-); ad=P1IN;P1REN=0x00;uint x,y,z; P2DIR=0xff;P2REN=0x07; while(1)/ad=345; adc(); x=ad/100;y=ad/10%10;z=ad%10; dis(x,y,z);比较器a比较器A模块以下图可以看出比较器A的结构大概可以分4部分构成,分别为模拟输入,比较器A核心,低通虑波器,基准电压部分和中断部分组成。首先,整个比较器A的工作必需由CAON位置为1时才能工作的,此位属CACTL1控制寄存器。单片机上电时此位是为0的,也就是说比较器是不工作的。以下大概讲述几个部分电路的功能和一些相关信息。模拟输入电路:外部模拟引

5、脚信号CA0,CA1(正负端)可以分别由P2CA0,P2CA1位控制开或关。经过软件的设置可以分别与内部的几个基准电压进行比较(0.5VCC,0.25VCC,三极管门值电压)或外部其中的电压进行比较。应用的硬件比较可以分为以下三种组合:两个外部引脚输入信号进行比较其中一个外部引脚信号与内部的0.5VCC或0.25VCC比较其中一个外部引脚信号与内部基准电压比较参考电压发生器参考电压电路是可以由CARSEL,CARERF0,CARERF1位来控制电压的产生。通过软件设置可以选择几种电压输出到比较器的输入中作为比较,当然此参考电压也可以通过单片机的引脚往外部提供参考电压之用。比较器A核心比较器CA

6、ON位控制开关,CAEX位控制位控制方向。低通虑波器低通虑波器只需一个CAF位来控制此虑波器的功能开与关。此虑波器功能是用于消除比较器输出信号的毛剌,以保证信号的质量和中断请求的可靠性。中断请求比较器A模块是具有中断功能的,如比较器功能CAIE中断允许开了,在CAIF信号产生时将生产中断(当然GIE要为1时)。比较器A模块是具有中断独立向量的,是一个单独的中断,CUP接受请求后会硬件自动清除中断标志位CAIFG。比较器模块相关寄存器说明CACTL1比较器控制寄存器1CAEX:控制内部比较器A的输入信号和输出信号的方向CARSEL:控制内部参考电压加到比较器A的正输入端还是负输入端由结构图可以看

7、出,CAEX,CARSEL在不同设置时,比较器A输入端的所加的参考电压是有不同的.请参考以下列表:-CARSELCAEX参考电压接入端 0 0 内部参考源加到比较器的正端 1 内部参考源加到比较器的负端CAREF1, CAREF0选择参考源:0使用外部参考1选择0.25VCC为参考电压2选择0.5VCC为参考电压3选择二极管电压为参考电压,须参见具体IC的资料CAON:控制比较器A的打开与关闭关闭比较器工作打开比较器工作CAIES:中断边沿触发模式选择上升沿使中断标志CAIFG置位下降沿使中断标志CAIFG置位CAIE:比较器中断允许禁止中断允许中断CAIFG:比较器中断标志没有中断请求有中断

8、请求标志信号CACTL2比较器控制寄存器2P2CA1:控制输入端CA10外部引脚信号不与比较器A连接1外部引脚信号与比较器A连接P2CA0:控制输入端CA0CAF:选择比较器输出端是否经过RC低通滤波器开通RC低通滤波器直通信号CAOUT:比较器A输出的信号0 CA0小于CA11 CA0大于CA1CAPD端口禁止寄存器比较器A模块的输入输出与IO口共用引脚,可以控制IO端口输入缓冲器的通断开关.CAPD控制位初始化为0,则端口输入缓冲器有效.当相应位为1时,端口输入缓冲器无效。程序范例:msp430x11x1.hvoid main (void)WDTCTL = WDTPW + WDTHOLD;

9、/停止WDTCAPD |= 0x08;/断开与IO端口输入CACTL2 = P2CA0;/设置P2.3为+compCCTL0 = CCIE;/ CCR0TACTL = TASSEL_2 + ID_3 + MC_2;/ SMCLK/8,计数模式_EINT();/开总中断while (1) /循环CACTL1 = 0x00;没有参考电压_BIS_SR(LPM0_bits);/进入LPM0CACTL1 = CAREF0 + CAON;/ 0.25*Vcc=P2.3,比较器开再次进入LPM0CACTL1 = CAREF1 + CAON;/ 0.5*Vcc=P2.3,再次进入LPM0CACTL1 = C

10、AREF1 + CAREF0 + CAON;/ 0.55V on P2.3,比较器开/ Timer A0 interrupt service routine#pragma vector=TIMERA0_VECTOR_interrupt void Timer_A (void)_BIC_SR_IRQ(LPM0_bits);/退出LMP0模式定时器中断msp430g2553.hint i; / Stop WDT P1DIR |= 0x01; / P1.0 output CCTL0 = CCIE; / CCR0 interrupt enabled CCR0 = 50000; TACTL = TASSE

11、L_2 + MC_2; / SMCLK, contmode i=0; _BIS_SR(LPM0_bits + GIE); / Enter LPM0 w/ interrupt#pragma vector=TIMER0_A0_VECTOR if(i20) P1OUT = 0x01; / Toggle P1.0 /CCR0 += 50000; / Add Offset to CCR0 i+;/7528unsigned int i=1;void xie() P1DIR |= 0xff; P2DIR|=0x07;=0xfe;/选中DACA P1OUT=i; P2OUT|=0x01;/选中DACB P2O

12、UT|=0x02;/禁止写入 P2OUT|=0x04;/ xie(); P1DIR&P1REN=BIT3;P1OUT|=BIT3;(P1IN&BIT3)i=i129)i=1;P1OUT=BIT6;/按键中断#includemain(void)WDTCTL=WDTPW+WDTHOLD;/StopwatchdogtimerP1DIR|=0x01;SetP1.0tooutputdirectionP1OUT0x08;P1.3set,elseresetP1RENP1IEP1.3interruptenabledP1IESHi/loedgeP1IFG&0x08;IFGcleared_BIS_SR(LPM4_

13、bitsGIE);EnterLPM4w/interruptPortserviceroutine=toggleP1.4 /1602in430.h#define uint unsigned int#define uchar unsigned char uchar table=kaigeshuaiqi;uchar table1=hello welcomeuint m=1;void delay(uint z)uint i,j;for(i=z;i-)for(j=100;j-);void write_com(uchar com) /写入=BIT4; /LCD 选择输入命令P1OUT=com; /向P0 口

14、输入命令delay(5); /延时P2OUT|=BIT5; /打开LCD 使能 /一个高脉冲=BIT5; /关闭LCD 使能void write_data(uchar date) P2OUT|=BIT4; /设置为输入数据P1OUT=date; /将数据赋给P0 口 /置高 /高脉冲 /置低完成高脉冲void init()write_com(0x38); /设置16x2 显示5x7 点阵,8 位数据接口write_com(0x0c); /设置开始显示不显示光标write_com(0x06); /写一个字符后地址指针加1write_com(0x01); /显示清零数据指针清零void dis(u

15、int x)uint y,z,k; y=x/100;z=x/10%10;k=x%10;write_com(0x86); /将数据指针第一行第一个字处,write_data(y+0);write_data(z+write_data(k+delay(100); uint num;P1DIR=0xff;P2DIR=0xff;while(1)init();write_com(0x84);for(num=0;num999)num=0;while(1)4;write_com(0x18);/write_com(0x1c);/右移delay(2000);/write_com(0x18);/左移write_co

16、m(0x1c);/12864/main()lcd12864.hlcd12864.cunsigned char const t=床前明月光, 举头望明月, 凝是地上霜。 低头思故乡。 ;void main() P1DIR|=0xff; P2DIR|=0xff; P2SEL=0; io_init(); lcd_init (); chn_disp1(t); /Write_Num(0x86,767,0);while(1);* LCD12864程序 程序说明:本程序为带字库的LCD12864驱动程序,选择LCD12864的串口工作模式。利用 本程序LCD12864可显示汉字、数字和数组。*/ MSP43

17、0G2433 LCD12864/ +-+ +-+/ | | | |/ | | | | / | | | RS|-VCC/ | P2.6|-|R/W |/ | P2.7|-|CLK | / | | | RST|-VCC/ | | | PSB|-GND/*msp430G2553.hLCD12864.hunsigned int Disp_Tab8;/* 名 称:io_init(void)* 功 能:LCD12864所用的IO口初始化* 入口参数:无* 出口参数:*/void io_init(void) P2SEL &= (BIT6+BIT7); P2DIR |= BIT6+BIT7; /P1OUT =0; P1SEL = 0xFF; /P1SEL|=BIT6; P1DIR = 0;wr_lcd(uchr func,uchr data)往LCD12864写入一个字节。func=comm,则写入的是命令; func=commdat,则写入的是数据func和datav

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1