书签 分享 收藏 举报 版权申诉 / 68
上传文档赚钱

类型MSP430单片机入门课件讲解.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2688483
  • 上传时间:2022-05-18
  • 格式:PPT
  • 页数:68
  • 大小:552KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《MSP430单片机入门课件讲解.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    MSP430 单片机 入门 课件 讲解
    资源描述:

    1、南京航空航天大学电子中心&TI南航430联合实验室2005年11月本讲稿可以在电子中心网站或www.open- 课件栏目下载南京航空航天大学电子中心&TI南航430联合实验室单片机也叫微控制器单片机就是单片计算机一个芯片就是一台计算机南京航空航天大学电子中心&TI南航430联合实验室计算机CPU两大营:INTEL AMD南京航空航天大学电子中心&TI南航430联合实验室 l按总线宽度分:l4位机; l8位机;l 16位机;l 32位机;l运行速度可以调整:l32Kl12Ml266M等l有很多国际大公司参与设计生产:l51系列 几十个公司生产lPIC系列 美国微芯l摩托罗拉l台湾l大陆苏州l飞利

    2、浦的系列8位51系列以及32位ARM系列l德州仪器的系列430十六位单片机l南京东大可以生产ARM南京航空航天大学电子中心&TI南航430联合实验室l我们周围的单片机应用有:l空调l洗衣机l电视机l微波炉l电子手表l手机l食堂消费机l计算机外围:鼠标、键盘、硬盘、光碟l一辆汽车有40片左右单片机l等等 以上列举都是单片机应用。南京航空航天大学电子中心&TI南航430联合实验室CPU单元温度采集单元压缩机风机键盘显 示南京航空航天大学电子中心&TI南航430联合实验室lMSP430系列超低功耗16位单片机接口技术及系统设计实例 l 北航出版社 魏小龙 编著lMSP430系列单片机C语言程序设计与

    3、开发 l 北航出版社 胡大可 编著南京航空航天大学电子中心&TI南航430联合实验室l强化理论知识l大量做实验l勤于思考l多动手l已经与MSP430厂家TI(德州仪器)建立了联合实验室,拥有60套实验设备。地点:3410。其中40套为赠送,20套购买南京航空航天大学电子中心&TI南航430联合实验室南京航空航天大学电子中心&TI南航430联合实验室 l16-Bit RISC 结构结构,l12-Bit A/Dl16-Bit Timer_Bl 16-Bit Timer_Al6 * 8 I/Ol比较器比较器lUSARTl160 Segments LCDl60KB+256B Flash Memory,

    4、l2KB RAMl看门狗看门狗l基本定时器基本定时器l 南京航空航天大学电子中心&TI南航430联合实验室l上页内容MSP430F449全有l在仿真环境内,我们可以清楚地看到他们l打开仿真环境的对应窗口即可。南京航空航天大学电子中心&TI南航430联合实验室编写源代码修改程序硬件准备结束仿真调试满意?修改硬件软件不满意硬件不满意满意南京航空航天大学电子中心&TI南航430联合实验室l1、建立工程项目l2、编写源代码l3、将源代码添加到项目文件l4、选择器件l5、选择仿真方式l6、编译下载代码到芯片l7、仿真调试l(演示)数据类型字节数数据表示范围注释sfrb, sfrw1 声明字节或字长度的I

    5、/O类型char (默认类型)10255等价于unsigned charchar (使用 -c 选项)1-128127等价于signed charsigned char1-128127 unsigned char10255 short, int2-3276832767 unsigned shortunsigned int2065535 long4121474836482147483647 unsigned long404294967295pointer2 指针类型float418E-3839E+38浮点类型double, long double418E-3839E+38 南京航空航天大学电子中

    6、心&TI南航430联合实验室l条件语句条件语句 l开关语句开关语句 l循环语句循环语句 l返回语句返回语句 南京航空航天大学电子中心&TI南航430联合实验室l语句表达形式有3种(a、b、c):la if(条件表达式) 语句lbif(条件表达式) 语句1lelse 语句2lcif(条件表达式) 语句1lelse if(条件表达式) 语句2lelse if(条件表达式) 语句3l南京航空航天大学电子中心&TI南航430联合实验室lswitch(表达式)llcase 常量表达式1:语句1lbreak;lcase 常量表达式2:语句2lbreak;lcase 常量表达式3:语句3lbreak;lld

    7、efault: 语句dl南京航空航天大学电子中心&TI南航430联合实验室lwhile(条件表达式) 语句;l当条件满足时,就反复执行后面的语句,一直执行到条件不满足时。以软件延时程序为例说明该语句是如何执行的。lvoid delay(long v)ll while(v!=0)v-;l南京航空航天大学电子中心&TI南航430联合实验室ldo 语句 while(条件表达式)l先执行一次循环体的语句,再判断条件是否满足,以决定是否再执行循环体。下面的程序将数组BUFF20中的全部数据相加。lInt x=0;lChar I=0;lDolx =BUFFI + x;lI=I+1;llwhile(I20)

    8、;l南京航空航天大学电子中心&TI南航430联合实验室lfor(初值设定表达式;循环条件表达式;条件更新表达式)语句lfor语句常用于需固定循环次数的循环。下面的程序段同样实现将数组BUFF20中的全部数据相加的功能。lInt x=0;lChar I=0;lfor(I=0;I20;I+)lx =BUFFI + x;l南京航空航天大学电子中心&TI南航430联合实验室lgoto 语句标号lgoto语句常用于跳转到一个固定的地址标号。其中固定的地址标号是一个带“:”的标志符。比如:llMM:llgoto MMMl南京航空航天大学电子中心&TI南航430联合实验室l函数类型 函数名(形式参数表)l形

    9、式参数说明ll局部变量定义l函数体语句ll存储变量类型 interrupt 中断矢量变量 函数类型 函数名(形式参数表)l形式参数说明ll局部变量定义l函数体语句l南京航空航天大学电子中心&TI南航430联合实验室void delay(long v)ll while(v!=0)v-;lldelay(100)究竟延时多久呢?就是这句话执行需要的时间。l时间等于:机器周期需要的机器周期数l(在仿真环境中可以测试出来)南京航空航天大学电子中心&TI南航430联合实验室P1P2P3P4P5P6南京航空航天大学电子中心&TI南航430联合实验室lPnDIR方向寄存器 1为输出、0为输入lPnOUT输出寄

    10、存器1输出高、0为低lPnIN输入寄存器读出口线的状态lPnSEL第二功能寄存器n=1,2,3,4,5,6南京航空航天大学电子中心&TI南航430联合实验室l控制连接在P5.1口线的发光二极管的亮与熄:l首先、 P51为输出 P5DIR =0 x0 2;l亮输出1P5OUT = 2 ;l熄灭输出0P5OUT = 0 ;南京航空航天大学电子中心&TI南航430联合实验室l1、亮l2、延时1秒钟l3、熄灭l4、延时1秒钟l5、跳转到 步骤1l(演示)南京航空航天大学电子中心&TI南航430联合实验室l改变延时的时间参数l1、亮l2、延时1秒钟l3、熄灭l4、延时1秒钟l5、跳转到 步骤1l(演示)

    11、南京航空航天大学电子中心&TI南航430联合实验室l增加一个变量xxlxx为模5计数器l只有当xx为1的时候第一发光管亮l只有当xx小于4的时候第二发光管亮l其余时间两个都熄灭l(5分钟时间学生自己编写程序)南京航空航天大学电子中心&TI南航430联合实验室lChar key_en=0;lIf(key=2)l key_en = key_en ;lIf(key=0)&(key_en=0)l lIf(key=1)&(key_en=0)l 南京航空航天大学电子中心&TI南航430联合实验室l按照顺序:KEY0-KEY1-KEY2 ;l KEY1-KEY0-KEY2 ;lK0-K0-K0-K1-K2-

    12、K0-K2 ;lK2-K2-K0-K1-K2 ;l错误状态的清除 很重要!南京航空航天大学电子中心&TI南航430联合实验室l声音是什么?l声音是震动产生的;l扬声器发声的原理:处在磁场中的有电流的线圈产生震动,继而发声。l不同的频率产生不同的声音;lMSP430的端口可以输出不同的频率;l继而可以推动扬声器产生不同的声音。l下页的程序将发出什么声音呢?南京航空航天大学电子中心&TI南航430联合实验室lvoid gun(void)ll for(ff=40;ff200;ff+)l l P6OUT = BIT0; / 对输出置反l for(tmp=0;tmpff;tmp+); / 延时l l南京

    13、航空航天大学电子中心&TI南航430联合实验室lvoid s1(void)ll for(ff=30;ff500;ff+)l l P6OUT = BIT0; / 对输出置反l for(tmp=0;tmpff;tmp+); / 延时l l南京航空航天大学电子中心&TI南航430联合实验室lvoid s2(void)ll for(ff=50;ff100;ff+)l l P6OUT = BIT0; / 对输出置反l for(tmp=0;tmpff;tmp+); / 延时l l南京航空航天大学电子中心&TI南航430联合实验室l以上三段程序的结构完全一样,但是效果完全不一样!l主要为:l频率不一样;l各

    14、频率段的延时不一样。l第三段频率高,延时短。南京航空航天大学电子中心&TI南航430联合实验室CBEGAFDEGAFD以上为数码管的原理,实质为8只发光二级管,地端连接在一起,当给ADEG高电平时将显示数字“2”。CAE DBFGNDHG0111 1101 南京航空航天大学电子中心&TI南航430联合实验室l实验系统有6只数码管连接在端口上。l程序举例(演示)南京航空航天大学电子中心&TI南航430联合实验室l液晶显示器的控制寄存器lLCDCTLlLCDMEM Il常用:lLCDCTL = 0XDF ;南京航空航天大学电子中心&TI南航430联合实验室CBEGAFDCBEGAFD如果红色显示

    15、将显示数字“2”如果HGFEDCBA对应一个字节的高到低位则显示码为:HGFEDCBA0 10 11 0 1 1 0 x5b 南京航空航天大学电子中心&TI南航430联合实验室H G F E D C B Al0l1l2l3l4l5l6l7l8l9南京航空航天大学电子中心&TI南航430联合实验室l什么是码表?l就是一个数组,用于查找对应数字的显示码lLCD_TAB10=0 x3f , 0 x06 , 0 x5b .;l当要 显示“1”的时候,使用语句:lLCDMEMN = LCD_TAB1 ;l为什么?南京航空航天大学电子中心&TI南航430联合实验室l依次显示06:lchar I ;lFor

    16、(I=0;I7;I+) LCDMEMI = LCD_TABI ;南京航空航天大学电子中心&TI南航430联合实验室l作为思考题l自己编写程序 为上机内容南京航空航天大学电子中心&TI南航430联合实验室l作为思考题l上机内容南京航空航天大学电子中心&TI南航430联合实验室lTA的原理:南京航空航天大学电子中心&TI南航430联合实验室l4种工作模式:l连续l增l减l停南京航空航天大学电子中心&TI南航430联合实验室l控制寄存器 TACTLl捕获 / 比较寄存器南京航空航天大学电子中心&TI南航430联合实验室l产生1秒的定时信号:l首先 、选择输入信号来源l其次、 选择工作模式l最后、 设

    17、定比较值l开启中断、启动定时器等待时间的到达。南京航空航天大学电子中心&TI南航430联合实验室l作为上机内容,请同学们自己编写完整程序l要点:l1、定时器 设置为1秒中断一次l2、写时间程序 两个60进制,一个24进制,7进制l3、时间送液晶显示l4、显示: 星期 时 分 秒 l5、 每秒发光二极管闪烁南京航空航天大学电子中心&TI南航430联合实验室l要点: 1、基于前面的时钟程序 2、增加时间控制 3、到达规定的时间点,发光二极管亮5秒南京航空航天大学电子中心&TI南航430联合实验室l扫描键盘为行列扫描l扫描键盘的完整程序为:l1、判断是否有按键按下;l2、判断是哪个按键按下;l3、判

    18、断是否按键松开。南京航空航天大学电子中心&TI南航430联合实验室l电路原理图 行线P11、P12、P13l 列线P14、P15、P16、P17全上拉P13 P14 P16P17P15P12P11南京航空航天大学电子中心&TI南航430联合实验室l首先、设置端口:行线为输出、列线为输入。l然后、行线输出为低电平l最后判断:l如果有按键按下,则列线不全为高电平,l如果没有键按下,则列线全部为高电平。lchar Keyj(void)llP1DIR = 0 x0E; / set p1.1p1.3 设置为输出模式lP1OUT = 0 x00; / p1.1p1.3 输出值清零lreturn(P1IN

    19、& 0 x f 0 ) ;ll如果返回值为0 xf0 则 有按键按下吗?l以后直接调用这个函数,即可判断有否按键按下。南京航空航天大学电子中心&TI南航430联合实验室l使用延时再判断的方法即可消除抖动lIf(Keyj() != 0 xf0 )l l delay(200);/延时消除抖动l If(Keyj() = 0 xf0 )l exit;/没有按键 未抖动l else/确实有键按下l /处理l 南京航空航天大学电子中心&TI南航430联合实验室l测试方法:如果有按键按下则发光管亮lIf(Keyj() != 0 xf0 )l l delay(200);/延时消除抖动l If(Keyj() =

    20、 0 xf0 )l exit;/没有按键 为抖动l else/确实有键按下l P1OUT = 1 ;/处理DELAY(10000);P1OUT = 0 ;l 南京航空航天大学电子中心&TI南航430联合实验室l方法为:一个一个地查找。l先第一行输出0,检查列线是否非全高l否则第二行输出0,检查列线是否非全高l否则第三行输出0,检查列线是否非全高l如果某行输出0时,查到列线非全高,则该行有按键按下。l根据第几行线输出0与第几列线读入为0,即可判断在具体什么位置的按键按下。l下页具体程序。南京航空航天大学电子中心&TI南航430联合实验室lvoid check_Key(void)l unsigne

    21、d char row ,col,tmp1,tmp2;l / tmp1用来设置P1OUT的值,使P1.1P1.3中有一个为0l tmp1 = 0 x08;l for(row=0;row3;row+)l P1OUT |= 0 x0E; / p1.1P1.3=1l P1OUT -= tmp1; / P1.1p1.3中有一个为0l tmp1 = tmp1/2; / tmp1 右移一位l if (P1IN & 0 xf0) 0 xf0) / 是否P1IN的P1.4P1.7中有一位为0l tmp2 = 0 x80; / tmp2用于检测出那一位为0l for(col =0;col0 x04;col+) /

    22、 列检测l if(P1IN & tmp2)=0 x00) / 是否是该列l key_val =key_Map row*4 +col ; / 获取键值l return; / 退出循环l l tmp2 /= 2; / tmp2右移l l l l南京航空航天大学电子中心&TI南航430联合实验室l键盘程序过程:l判断按键l消除抖动l判断位置l等待松开lvoid key(void)If(Keyj() != 0 xf0 )l l delay(200); /延时消抖l If(Keyj() != 0 xf0 ) /确实按下l check_Key();lWait: if(Keyj() = = 0 xf0 )l

    23、 goto wait ; /等待松开l南京航空航天大学电子中心&TI南航430联合实验室南京航空航天大学电子中心&TI南航430联合实验室l要求: (2、3同学讨论设计)l时间可以调整l控制点5个l可以键盘输入l控制时间到,发光管亮l可以输入每个控制点的发光管亮的时间520秒南京航空航天大学电子中心&TI南航430联合实验室l要求:(键盘与液晶)(2、3同学讨论设计)l被操作数2位,结果4位l运算: /l操作规则:l1、输入两个数字为第一操作数l2、输入运算:1、2、3、4l /l3、输入两个数字为第二操作数l4、为取消l5、为回车运算(等号)南京航空航天大学电子中心&TI南航430联合实验室

    24、lMSP430内含12路12位200KPS的ADC:l模拟输入端为P6,将P6设置为第二功能则为ADC12;lA10为内部温度传感器;南京航空航天大学电子中心&TI南航430联合实验室南京航空航天大学电子中心&TI南航430联合实验室l首先设置ADC12:lADC12CTL0 = ADC12ON + REFON + REF2_5V + SHT0_6;/ 设置ADC12 的内部参考电压2.5伏 l然后可以转换:lADC12CTL0 |= ENC; / 使能转换 l启动转换:lADC12CTL0 |= ADC12SC;l读取结果:lresult = ADC12MEM0;l 南京航空航天大学电子中心

    25、&TI南航430联合实验室l使用片内温度传感器l使用LED作为控制输出的模拟l设置4个温度值:大火加热停止温度点T1、中加热停止温度点T2、小火加热停止温度点T3l 温度: T1 T2 T3 l大火 中火 小火 停止加热l加热器使用LED的亮度表示。南京航空航天大学电子中心&TI南航430联合实验室l1、可编程时间控制器l2、复杂计算器设计l3、环境温度监测l4、小规模LED点阵显示屏(4、5汉字)l5、温度控制系统l6、数据采集系统l7、汉字液晶显示l8、数字万用表l9、数字稳压直流电源l10、数字信号发生器l11、机械臂控制l12、无线数据采集与无线控制l13、电子称设计 WDTCTL = WDTPW + WDTHOLD; / Stop watchdog timer P5DIR |= 0 x02; / Set P5.1 to output direction P5DIR &= 0 x0f; / Set P5.1 to output direction for (;) unsigned int i; P5OUT = 0 x02; i = 50000; / Delay do (i-); while (i != 0);

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:MSP430单片机入门课件讲解.ppt
    链接地址:https://www.163wenku.com/p-2688483.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库