msp430f5529实验指导书(v10).doc_第1页
msp430f5529实验指导书(v10).doc_第2页
msp430f5529实验指导书(v10).doc_第3页
msp430f5529实验指导书(v10).doc_第4页
msp430f5529实验指导书(v10).doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北林业大学 “3+1”实验班msp430f5529 实验指导书(v1.0)2014年10月27日东北林业大学机电工程学院“3+1”实验室实验一 基础gpio实验实验二 键盘与液晶显示实验实验三 时钟系统配置实验实验四 看门狗与定时器实验实验五 ad/da实验实验六 比较器实验实验七 flash实验实验八 串行通信实验实验一 基础gpio实验【实验目的】1、熟悉ccs的基本使用方法;2、掌握msp430系列单片机程序开发的基本步骤;3、掌握msp430 io口的基本功能。【实验仪器】1、seed-exp430f5529v1.0开发板一套;2、pc机操作系统windows xp或windows 7,ccsv5.1集成开发环境。【实验原理】ccs(code composer studio)是 ti 公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。ccsv5.1 为 ccs 软件的最新版本,功能更强大、性能更稳定、可用性更高,是 msp430 软件开发的理想工具。seed-exp430f5529v1.0开发板上的有8个可操作的led灯,与mcu的io口对应关系如图1-1所示:图1-1 led与mcu的io对应关系电路我们可以通过控制单片机io口的输出电平状态来控制各个led灯的亮灭。开发板上还有2个可操作的按键s1,s2。如图1-2所示。图1-2 按键电路我们可以通过读取与按键相连的io口的输入电平状态来执行相应的操作。此外,s1,s2还可以作为外部中断源,触发中断。【实验内容】1、用调用头文件的方法,使能msp430f5529开发板上的8个led灯依次按顺序循环点亮;2、用按键s1控制开发板上led1的亮灭状态(查询法);3、用按键s2控制开发板上跑马灯的循环速度(中断方式)。【实验步骤】内容1:使能开发板上的8个led灯依次按顺序循环点亮1、打开ccsv5并确定工作区间,然后选择file-new-ccs project 弹出图1-3对话框。图1-3 新建一个ccs工程2、在 project name 中输入新建工程的名称,在此输入 lab1_1。3、在 device 部分选择器件的型号:在此family选择msp430;variant选择msp430x5xx family,芯片选择msp430f552;其余保持默认。4、在左下角对话框中,选择empty projects下拉菜单下的empty project(空工程),单击finish。5、在新窗口中输入如下代码:#include void main(void)volatile unsigned int i;wdtctl=wdtpw+wdthold; / 关闭看门狗p1dir |= bit0; /配置p1.0为输出功能p8dir |= bit1 + bit2; /配置p8.1,p8.2为输出功能p1dir |= bit1 + bit2 + bit3 +bit4 +bit5;while(1)p1out = bit0;_delay_cycles(500000); /延时p1out &= bit0;p8out = bit1;_delay_cycles(500000); /延时p8out = bit2;_delay_cycles(500000); /延时p8out &= bit2;for(i=bit1;i=bit5; i=i1)p1out = i;_delay_cycles(500000); /延时6、保存程序后bulid(单击菜单中 ,或快捷键ctrl+b)编译程序。7、调试程序(单击菜单中 )自动进入调试界面并下载程序。8、运行程序(单击菜单中 )进行程序的运行、暂停、停止、单步运行等操作。9、观察实验现象,回顾操作步骤。内容2:用按键s1控制开发板上led1的亮灭状态(查询法)1、关闭上一个工程(在project explorer窗口,右键 close project)。2、建立新工程,步骤同上,并命名为lab1_2。3、在新建工程的编辑窗口输入如下代码:#include volatile unsigned int flag=0; /定义按键标志位void keyscan(); /申明按键检测函数void main(void)wdtctl=wdtpw+wdthold; / 关闭看门狗p1dir |= bit0; /配置p1.0为输出功能p1out &= bit0; /初始化禁止led0亮/*按键初始化*/p1dir &= bit7;p1out |= bit7;p1ren |= bit7; /设置为内部上拉 while(1) keyscan(); /按键检测 if(flag != 0) p1out |= bit0; else p1out &= bit0; void keyscan() /按键检测函数 if(p1in & bit7) = 0) _delay_cycles(10000); /延时10ms if(p1in & bit7) = 0) while(p1in & bit7) = 0);/等待按键抬起 flag = flag; /按键标志位取反 4、编译、调试并下载程序到开发板。5、运行程序,观察现象。内容3:用按键s2控制开发板上跑马灯的循环速度(中断方式)1、建立新工程,步骤同上,并命名为lab1_3。2、在新建工程的编辑窗口输入如下代码:#includeunsigned char flag = 0; /定义按键标志位void main()wdtctl = wdtpw + wdthold; / 关闭看门狗p1dir |= bit0 + bit1 + bit2 + bit3 + bit4 + bit5;p1out &= (bit0 + bit1 + bit2 + bit3 + bit4 + bit5);p8dir |= bit1 + bit2;p8out &= (bit1 + bit2); /初始化led/*按键中断初始化*/p1dir &= bit7; /配置p1.7为按键输入p1out |= bit7;p1ren |= bit7; /设置为内部上拉p1ie |= bit7; /p1.7中断使能p1ifg &= bit7; /清除p1.7的中断标志位p1ies |= bit7; /置1,设置为下降沿触发_enable_interrupt();while (1)p1out |= bit0;p1out &= bit5;if(flag =0)_delay_cycles(1000000);/闪烁else_delay_cycles(200000);p8out |= bit1;p1out &= bit0;if(flag =0)_delay_cycles(1000000);/闪烁else_delay_cycles(200000);p8out |= bit2 ;p8out &= bit1;if(flag =0)_delay_cycles(1000000);/闪烁else_delay_cycles(200000);p1out |= bit1;p8out &= bit2;if(flag =0)_delay_cycles(1000000);/闪烁else_delay_cycles(200000);p1out |= bit2;p1out &= bit1;if(flag =0)_delay_cycles(1000000);/闪烁else_delay_cycles(200000);p1out |= bit3;p1out &= bit2;if(flag =0)_delay_cycles(1000000);/闪烁else_delay_cycles(200000);p1out |= bit4;p1out &= bit3;if(flag =0)_delay_cycles(1000000);/闪烁else_delay_cycles(200000);p1out |= bit5;p1out &= bit4;if(flag =0)_delay_cycles(1000000);/闪烁else_delay_cycles(200000);#pragma vector = port1_vector_interrupt void port_1(void)_delay_cycles(300);while(p1ie & bit7) = 0); /等待按键释放if(flag=1)flag = 0;elseflag = 1;p1ifg &= bit7; /清除中断标志3、编译、调试并下载程序到开发板。4、运行程序,观察现象。【思考与分析】1、在实际应用当中,一般将未用的io口设置为输出状态,为什么?试查阅资料加以研究。2、在用查询法检测按键时,为什么要连续检测两次并在此期间加上10ms左右的延时?3、试编写程序,用开发板上的两个按键及8个led灯设计一个可控的跑马灯系统。其中,一个按键控制led灯的流水速度(至少两种流水速度可调),另一个按键控制led灯的流水方式(至少3种流水方式可调)。实验二 键盘与液晶显示实验【实验目的】1、学习键盘及液晶与mcu硬件电路的连接方法;2、掌握键盘控制芯片ch452的键盘检测方法;3、掌握tft2.2真彩液晶屏的使用方法;4、了解spi总线的通信模式和基本特点。【实验仪器】1、msp430g2553 launch pad一块,msp430f5529 mini board 一块;2、tft2.2_and_key键盘接口一块,tft2.2液晶屏一块;3、pc机操作系统windows xp或windows 7,ccsv5.1集成开发环境。【实验原理】1、液晶显示的基本原理 tft-lcd(thin film transistor-liquid crystal display),即薄膜晶体管液晶显示器,也就是大家常说的真彩液晶显示屏。它可以“主动的”对屏幕上的各个独立的像素进行控制。显示屏由许多可以发出任意颜色的光线的像素组成,只要控制各个像素显示相应的颜色就能显示我们想要的色彩斑斓的世界。本实验所使用的tft2.2彩色液晶模块是一个2.2寸的tft模块,内置tft控制器,对外连接直接通过8位的spi总线进行指令和数据的传输。tft2.2有像素点数为240320,色彩深度为16位色,也就是每一个像素点需要用16位的数据来表示其显示内容。tft2.2模块的显示操作非常简便,需要改变某一个像素点的颜色时,只需要对该点所对应的2个字节的显存进行操作即可。而为了便于索引操作,模块将所有的显存地址分为x轴地址(x address)和y轴地址(y address),分别可以寻址的范围为x address=0239,y address=0319,x address和y address交叉对应着一个显存单元(2byte);这样只要索引到了某一个x、y轴地址时,并对该地址的寄存器进行操作,便可对tft-lcd显示器上对应的像素点进行操作了。tft2.2模块的像素点与显存对应关系如下图所示:图2-1 显存与像素点对应关系示意图 液晶模块与单片机的连接方式见工程lcd.c文件中。2、矩阵键盘检测的基本原理为了节省单片机的io口,提高键盘检测的效率和准确性,本实验我们采用键盘控制芯片ch452进行键盘扫描。并采用4线串行接口与单片机交换数据,单片机可以频繁地通过串行接口进行高速操作,而绝对不会降低ch452的工作效率。在键盘扫描期间, dig7dig0 引脚按照dig0至dig7的顺序依次输出高电平,其余7个引脚输出低电平;seg7seg0引脚的输出被禁止,当没有键被按下时, seg7seg0 都被下拉为低电平;当有键被按下时,例如连接 di g3 与 seg4 的键被按下,则当dig3输出高电平时seg4检测到高电平;为了防止因为按键抖动或者外界干扰而产生误码,ch452实行两次扫描,只有当两次键盘扫描的结果相同时,按键才会被确认有效。如果ch452检测到有效的按键,则记录下该按键代码,并通过4线串行接口中的dout引脚或者2线串行接口中的int#引脚产生低电平有效的键盘中断(当intm为1时输出低电平脉冲中断), 此时单片机可以通过串行接口读取按键代码; 在没有检测到新的有效按键之前, ch452 不再产生任何键盘中断。ch452不支持组合键,也就是说,同一时刻,不能有两个或者更多的键被按下;如果多个键同时按下,那么按键代码较小的按键优先。有关键盘检测的详细介绍请参考ch452芯片手册。【实验内容】1、练习液晶显示部分基本函数的使用,如:画点,画线,画矩形,显示数字、字符、字符串、显示汉字等;2、仔细研读键盘检测程序,当有按键按下时,将相应的按键编码显示在液晶屏的合适位置。如:按下key5,将在液晶显示屏上显示“the keycode is key01”;3、自己另编写一个显示汉字的函数,显示你所想要的汉字大小,例如48*48;4、自己另编写一个显示图片的函数,显示你所想要尺寸的真彩图片;【实验步骤】内容1:基本函数的使用1、打开ccsv5,选择“fileimport”命令,弹出如图2-2所示对话框,单击展开“code composer studio”选项,选择“existing ccs/cce eclipse projects”。图2-2 导入新的ccsv5工程文件2、单击“next”按钮,弹出图2-3所示对话框。图2-2 选择导入工程目录3、单击“browse”按钮,选择工程文件目录lcd_and_key。单击“finish”按钮,即可完成已有工程的导入。4、在此工程下练习一下函数的用法:/* lcd app */void lcd_gpio(void);/lcd io初始化void spi_init(void); /spi初始化void lcd_clear(uint16 color); /清屏void lcd_ch(uint16 x,uint16 y,const uint8 index); /显示汉字void lcd_fill(uint16 xsta,uint16 ysta,uint16 xend,uint16 yend,uint16 color); /颜色填充void lcd_drawpoint(uint16 x,uint16 y); /画点void lcd_drawpoint_big(uint16 x,uint16 y); /画一个大点void lcd_drawline(uint16 x1, uint16 y1, uint16 x2, uint16 y2); /画线void lcd_drawrectangle(uint16 x1, uint16 y1, uint16 x2, uint16 y2); /画矩形void draw_circle(uint16 x0,uint16 y0,uint8 r); /画圆void lcd_showchar(uint16 x,uint16 y,uint8 num,uint8 mode); /显示一个字符void lcd_shownum(uint16 x,uint16 y,uint32 num,uint8 len); /显示数字void lcd_show2num(uint16 x,uint16 y,uint16 num,uint8 len); /显示2个数字void lcd_showfloatnum(uint16 x,uint16 y,double num); /显示浮点数void lcd_showstring(uint16 x,uint16 y,int8 *p);/显示字符串void lcd_showpicture();/显示图片内容2:按键检测并显示键值void main(void) wdtctl = wdtpw | wdthold; / 关闭开门狗 pll_init(); lcd_gpio(); spi_init(); lcd_init(); /tft初始化/*基本刷屏测试*/lcd_clear(red);lcd_clear(green);lcd_clear(yellow);/*清屏,并定义前景色和背景色*/lcd_clear(red); back_color=black; point_color=white; delayms(100); keyscan(); /键盘扫描使能 _bis_sr_register(gie);while(1)if(key_flag = 1) /按键标志位为1,有按键按下if(keycode = 1) /判断是否为key1按下keycode = 0;lcd_showstring(32,64,the keycode is key01);if(keycode = 2) /判断是否为key2按下keycode = 0;lcd_showstring(32,64,the keycode is key02);key_flag = 0; /按键标志位清0 内容3:显示汉字1、用文字取模软件生成想要显示汉字的字模,并将字模数组写到font.c文件中,在font.h文件中加以声明;2、在lcd.c文件中改写汉字显示函数,并在lcd.h文件中加以声明;/*函 数 名:lcd_ch48_48功 能:在指定位置显示一个汉字(48*48大小)入 口 参 数:dcolor内容颜色;gbcolor背景颜色返 回 值:无*/void lcd_ch48_48(uint16 x,uint16 y,const uint8 index)uint16 i,j; /为了防止溢出,i,j必须定义为16为的int型const uint8 *temp=hanzi48_48; address_set(x,y,x+47,y+47); /设置区域temp+=index*288;/* 减法更高效 */for(j=288;j0;j-)for(i=8;i0;i-) if(*temp&(1239) wid=239; if(high319) high=319;address_set(x,y,x+wid-1,y+high-1);/坐标设置for(i=area;i=0;i-) lcd_wr_data8(image(area-i)*2+1); /发送颜色数据 lcd_wr_data8(image(area-i)*2); 3、在main.c文件中调用汉字显示函数。【思考与分析】1、在液晶显示程序中能否使用msp430单片机的低功耗模式?为什么?2、尝试在tft2.2真彩液晶屏上编写一个含有两级以上的菜单程序,菜单风格自拟。实验三 时钟系统配置实验【实验目的】1、掌握msp430的时钟系统结构与工作原理;2、了解msp430系列单片机几种时钟信号的基本用途;3、学会用fll锁频环配置时钟;【实验仪器】1、seed-exp430f5529v1.0开发板一套;2、tds210双踪示波器一台;3、pc机操作系统windows xp或windows 7,ccsv5.1集成开发环境。【实验原理】在msp430单片机中,时钟系统的主要作用是为cpu工作提供时序,以及为不同的片内外设提供不同频率的时钟。1、5个时钟输入源(1)xt1clk 低频或高频时钟源:可以使用标准晶振,振荡器或者外部时钟源输入4mhz32mhz。xt1clk可以作为内部fll模块的参考时钟。(2)xt2clk 高频时钟源:可以使用标准晶振,振荡器或者外部时钟源输入4mhz32mhz。(3)vloclk 低功耗低频内部时钟源:典型值为10khz。(4)refoclk 低频修整内部参考时钟源:典型值为32768hz,作为fll基准时钟源。(5)dcoclk 片内数字控制时钟源:通过fll模块来稳定。2、3个时钟信号(1)aclk 辅助时钟:aclk可由软件选择来自xt1clk、refoclk、vloclk、dcoclk、dcoclkdiv、xt2clk(由具体器件决定)这几个时钟源之一。然后经1、2、4、8、16、32分频得到。aclk可由软件选作各个外设模块的时钟信号,一般用于低速外设模块。(2)mclk 系统主时钟: mclk可由软件选择来自上述5种时钟源,同样可经过分频得到。mclk主要用于cpu和系统。(3)smclk 子系统时钟:可由软件选择来自上述5种时钟源,同样可经过分频得到。 smclk可由软件选作各个外设模块的时钟信号,主要用于高速外设模块。通过软件配置,可以通过5个时钟输入源来产生特定频率的3个时钟信号供cpu和外设使用。3、msp430f5xx/6xx系列单片机的时钟系统结构框图如图3-1所示。图3-1 msp430f5xx/6xx系列单片机的时钟系统结构框图4、msp430单片机的p1.0、p2.2、p7.7引脚的第二功能可以分别输出aclk、smclk、mclk,我们可以通过设置相应时钟信号从对应引脚输出,用示波器进行观察。【实验内容】1、编写时钟配置程序,设置aclk=xt1clk =32768hz,smclk=xt2clk=4mhz,mclk=dco(默认)=32aclk=1048576hz,并将aclk、smclk和mclk分别通过p1.0、p2.2、p7.7口输出;2、通过fll锁频环电路自动校正技术使内部dco振荡器稳定地运行在2.45mhz。【实验步骤】内容1:配置并输出辅助时钟aclk、子系统时钟smclk及主时钟mclk1、建立新工程,并命名为lab3_1。2、在新建工程的编辑窗口输入如下代码:#include void main(void)wdtctl = wdtpw + wdthold; / stop wdtp1dir |= bit0; / aclk set out to pinsp1sel |= bit0;p2dir |= bit2; / smclk set out to pinsp2sel |= bit2;p7dir |= bit7; / mclk set out to pinsp7sel |= bit7;p7sel |= bit2+bit3; / port select xt2ucsctl6 &= xt2off; / set xt2 onucsctl6 &= (xt1off); / xt1 onucsctl6 |= xcap_3; / internal load cap/ loop until xt1 fault flag is cleared do ucsctl7 &= (xt2offg + xt1lfoffg + dcoffg); / clear xt2,xt1,dco fault flags sfrifg1 &= ofifg; / clear fault flags while (sfrifg1&ofifg); / test oscillator fault flag ucsctl6 &= xt2drive0; / decrease xt2 drive according to / expected frequency ucsctl4 |= sela_0 + sels_5; / select smclk, aclk source and dco source while(1); / loop in place 3、编译、调试并下载程序到开发板。4、运行程序,用示波器观察p1.0、p2.2、p7.7口的输出波形。内容2:通过fll锁频环电路自动校正技术使内部dco振荡器稳定地运行在2.45mhz。注意:相互关系式有:aclk=xt1=32768hz,mclk=smclk=dco=(74+1)*refo=2457600hz,这里xt1clk被选为aclk,refo是内部调整过的32768hz参考时钟,提供一个稳定的参考时钟用作fllrefclk。1、建立新工程,步骤同上,并命名为lab3_2。2、在新建工程的编辑窗口输入如下代码:#include void main(void)wdtctl = wdtpw + wdthold; / stop wdtp1dir |= bit0; / aclk set out to pinsp1sel |= bit0;p2dir |= bit2; / smclk set out to pinsp2sel |= bit2;p7dir |= bit7; / mclk set out to pinsp7sel |= bit7;ucsctl6 &= (xt1off); / xt1 onucsctl6 |= xcap_3; / internal load cap/ loop until xt1 fault flag is cleared do ucsctl7 &= (xt2offg + xt1lfoffg + dcoffg); / clear xt2,xt1,dco fault flags sfrifg1 &= ofifg; / clear fault flags while (sfrifg1&ofifg); / test oscillator fault flag / initialize dco to 2.45mhz _bis_sr_register(scg0); / disable the fll control loop ucsctl0 = 0x0000; / set lowest possible dcox, modx ucsctl1 = dcorsel_3; / set rselx for dco = 4.9 mhz ucsctl2 = flld_1 + 74; / set dco multiplier for 2.45mhz / (n + 1) * fllref = fdco / (74 + 1) * 32768 = 2.45mhz / set fll div = fdcoclk/2 _bic_sr_register(scg0); / enable the fll control loop / ug for optimization. / 32 x 32 x 2.45 mhz / 32,768 hz = 76563 = mclk cycles for dco to settle _delay_cycles(76563); / loop until xt1,xt2 & dco fault flag is cleared do ucsctl7 &= (xt2offg + xt1lfoffg + 0x0004 + dcoffg);/ clear xt2,xt1,dco fault flags sfrifg1 &= ofifg; / clear fault flags while (sfrifg1&ofifg); / test oscillator fault flag while(1); / loop in place3、编译、调试并下载程序到开发板。4、运行程序,用示波器观察p1.0、p2.2、p7.7口的输出波形。【思考与分析】1、在不做任何配置的情况下,msp430f5529单片机的各个时钟的默认值是多少?试编程加以验证。2、试编写程序验证msp430f5529单片机的主时钟频率最大可达到多少?3、msp430系列单片机最大的特点是低功耗,低功耗是如何体现的?查阅资料,加以详细论述。实验四 看门狗与定时器实验【实验目的】1、了解看门狗定时器的基本作用;2、学会使用定时器在msp430的某一引脚输出特定占空比的方波;3、掌握msp430系列单片机定时器的几种工作模式;4、熟悉msp430系列单片机定时器的比较/捕获功能。【实验仪器】1、msp430g2553 launch pad一块,msp430f5529 mini board 一块;2、tft2.2_and_key键盘接口一块,tft2.2液晶屏一块;3、tds210双踪示波器一台;4、pc机操作系统windows xp或windows 7,ccsv5.1集成开发环境。【实验原理】看门狗定时器主要用于在程序跑飞时,则不会在看门狗定时时间到达之前执行看门狗清零指令,看门狗就会溢出,从而使系统产生复位,保证程序的正常运行。16位定时器的计数值寄存器tar在每个时钟信号的上升沿进行增加/减少,可利用软件读取tar寄存器的计数值。此外,当定时时间到,产生溢出时,定时器可产生中断。置位定时器控制寄存器中的taclr控制位,可自动清除tar寄存器的计数值,同时,在增/减计数模式下,清除了时钟分频器和计数方向。timer_a共有4种工作模式:停止模式、增计数模式、连续计数模式和增/减计数模式,具体工作模式可以通过mc控制位进行选择,具体配置如表4-1所示。表4-1 timer_a工作模式配置列表mc控制位配置值timer_a工作模式描 述00停止模式timer_a停止01增计数模式timer_a从0到taxccr0重复计数10连续计数模式timer_a从0到0ffffh重复计数11增/减计数模式timer_a从0增计数到taxccr0之后减计数到0,循环往复定时器timer_a的捕获模式:当cap控制位置为1时,捕获/比较模块配置为捕获模式。捕获模式被用于捕获事件发生的时间。捕获输入ccixa和ccixb可连接外部引脚或内部信号,这需通过ccis控制位进行配置。可通过cm控制位将捕获输入信号触发沿配置为上升沿触发、下降沿触发或两者都触发。捕获事件在所选输入信号触发沿产生,如果产生捕获事件,定时器将完成以下工作:l 主计数器计数值复制到taxccrn寄存器中;l 置位中断标志位ccifg。【实验内容】1、使用看门狗定时功能产生一个方波(周期性的取反p1.0);2、利用定时器ta0,使其工作在增计数模式下,选择aclk作为其参考时钟。将p1.2和p1.3引脚配置为定时器输出,且使ccr1和ccr2工作在比较输出模式7下,最终使p1.2引脚输出75%占空比的pwm波形,使p1.3引脚输出25%占空比的pwm波形。3、选择键盘上的一个按键,当该按键按下一次时,打开定时器开始计时,利用定时器的捕获功能,捕捉该按键再次按下时的精确时间,并将该时间显示在液晶显示屏上。【实验步骤】内容1:看门狗定时器产生方波信号1、建立新工程,并命名为lab4_1。2、在新建工程的编辑窗口输入如下代码:#include void main(void)wdtctl = wdtpw+wdtcntcl+wdtssel0+wdtis_5;/ 看门狗定时器工作在看门狗模式,定时1s,选择aclk作为参考时钟p1dir |= 0x01; / 设置p1.0端口为输出p1out = 0x01; / 反转p1.0端口状态_bis_sr_register(lpm3_bits + gie);/ 进入低功耗模式3,并启用中断3、编译、调试并下载程序到开发板。4、运行程序,用示波器观察p1.0口的输出波形。内容2:用定时器产生特定占空比的pwm信号1、建立新工程,步骤同上,并命名为lab4_2。2、在新建工程的编辑窗口输入如下代码:#include void main(void) wdtctl = wdtpw + wdthold; / 关闭看门狗p1dir |= bit2+bit3; / p1.2和p1.3设为输出p1sel |= bit2+bit3; / p1.2和p1.3引脚功能选为定时器输出ta0ccr0 = 512-1; / pwm周期定义ta0cctl1 = outmod_7; / ccr1比较输出模式7:复位/置位t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论