欢迎来到天天文库
浏览记录
ID:62145534
大小:1.10 MB
页数:51页
时间:2021-04-19
《最新武科大期末单片机复习要点概要1课件ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、武科大期末单片机复习要点概要11.MSP430系列单片机POR和PUC代表什么含义?什么情况下可以产生复位信号?2.MSP430系列单片机数据存储器的最低地址是什么?程序存储器的最高地址是什么?答:MSP430系列单片机数据存储器的最低地址是0200H,程序存储器的最高地址是0FFFFH。答:POR是上电复位,PUC是上电清除,引脚RST/NMI在复位模式下出现低电平会导致POR复位信号的产生,POR的产生会导致PUC的产生。3.下述指令执行后,回答指令注释中的问题。(1)MOV#1234H,4(R7)MOV4(R7),R8(2)MOV#20H,&234
2、HMOV&234H,&200H(3)MOV#7F45H,R5SXTR5INVR5(4)SETCMOV#25H,&222HMOV#0AFF8H,&232HADDC&222H,&232H;目的操作数是变址寻址方式;R8中的值是1234H;目的操作数是绝对寻址方式;200H单元中的值是0020H;目的操作数是寄存器寻址;R5中的内容是0045H;R5中的内容是0FFBAH;该指令的作用是进位标志C置1;222H单元中的值是0025H;232H单元中的值是0AFF8H;232H单元中的值是0B01EH解方案一程序代码:#include3、>voidmain(void){WDTCTL=WDTPW+WDTHOLD;//关看门狗P4DIR4、=BIT5;//P4.4输出TA0CCTL0=CCIE;//CCR0中断允许TA0CCR0=8192;//计数到8092TA0CTL=TASSEL_1+TACLR+MC_1;//ACLK,计数清0,增计数_BIS_SR(LPM3_bits+GIE);//进入LPM3,总中断允许__no_operation();//Fordebugger}#pragmavector=TIMER0_A0_VECTOR//Timer0A0中断服务程序__interruptvoid5、TIMER0_A0_ISR(void){P4OUT^=BIT5;//对P4.5端口求反}设TA时钟源用ACLK=32768Hz,不分频,增计数,则计数脉冲周期为:1/32768(s),要从P4.5口输出周期为0.5秒的方波,只要每经过1/4秒,对P4.5引脚取反一次即可,故需要的计数次数为:(1/4)/(1/32768)=32768/4=8192,即计数次数为8192。解方案二程序代码:(2)设TA时钟源用SMCLK=1048576Hz,8分频,增计数,则计数脉冲周期为:8/1048576(s),要从P4.5口输出周期为0.5秒的方波,只要每经过1/4秒6、,对P4.5引脚取反一次即可,故需要的计数次数为:(1/4)/(8/1048576)=1048576/32=32768,即计数次数为32768。#includevoidmain(void){WDTCTL=WDTPW+WDTHOLD;//关看门狗P4DIR7、=BIT5;//P4.4输出TA0CCTL0=CCIE;//CCR0中断中断允许TA0CCR0=32768;TA0CTL=TASSEL_2+ID_3+TACLR+MC_1;//SMCLK,8分频,计数清0,增计数,_BIS_SR(LPM0_bits+GIE);//进入LPM8、0,总中断允许__no_operation();//Fordebugger}#pragmavector=TIMER0_A0_VECTOR//Timer0A0i中断服务程序__interruptvoidTIMER0_A0_ISR(void){P4OUT^=BIT5;//对P4.5端口求反}8.编程要求对MSP430F6638的ADC12通道A7(P6.7口)作单次转换,参考电压VR+=VREF+,VR-=AVSS,转换结果存储到result存储单元中。#includeunsignedintresult;voidmain(voi9、d){WDTCTL=WDTPW+WDTHOLD;P6SEL10、=BIT7;//使能A/D通道A7ADC12CTL0=ADC12ON+ADC12SHT0_2;//打开ADC12,设置采样时钟16ADC12CTL1=ADC12SHP;//使用采样时钟来自采样定时器ADC12MCTL0=ADC12SREF_1+ADC12INCH_7;//VR+=VREF+VR-=AVSSADC12CTL011、=ADC12ENC;//使能转换while(1){ADC12CTL012、=ADC12SC;//开始转换while((ADC12IFG&ADC12BUSY)==0);//等待转换13、结束result=ADC12MEM7;//保存转换结果_NOP();}}一、望诊
3、>voidmain(void){WDTCTL=WDTPW+WDTHOLD;//关看门狗P4DIR
4、=BIT5;//P4.4输出TA0CCTL0=CCIE;//CCR0中断允许TA0CCR0=8192;//计数到8092TA0CTL=TASSEL_1+TACLR+MC_1;//ACLK,计数清0,增计数_BIS_SR(LPM3_bits+GIE);//进入LPM3,总中断允许__no_operation();//Fordebugger}#pragmavector=TIMER0_A0_VECTOR//Timer0A0中断服务程序__interruptvoid
5、TIMER0_A0_ISR(void){P4OUT^=BIT5;//对P4.5端口求反}设TA时钟源用ACLK=32768Hz,不分频,增计数,则计数脉冲周期为:1/32768(s),要从P4.5口输出周期为0.5秒的方波,只要每经过1/4秒,对P4.5引脚取反一次即可,故需要的计数次数为:(1/4)/(1/32768)=32768/4=8192,即计数次数为8192。解方案二程序代码:(2)设TA时钟源用SMCLK=1048576Hz,8分频,增计数,则计数脉冲周期为:8/1048576(s),要从P4.5口输出周期为0.5秒的方波,只要每经过1/4秒
6、,对P4.5引脚取反一次即可,故需要的计数次数为:(1/4)/(8/1048576)=1048576/32=32768,即计数次数为32768。#includevoidmain(void){WDTCTL=WDTPW+WDTHOLD;//关看门狗P4DIR
7、=BIT5;//P4.4输出TA0CCTL0=CCIE;//CCR0中断中断允许TA0CCR0=32768;TA0CTL=TASSEL_2+ID_3+TACLR+MC_1;//SMCLK,8分频,计数清0,增计数,_BIS_SR(LPM0_bits+GIE);//进入LPM
8、0,总中断允许__no_operation();//Fordebugger}#pragmavector=TIMER0_A0_VECTOR//Timer0A0i中断服务程序__interruptvoidTIMER0_A0_ISR(void){P4OUT^=BIT5;//对P4.5端口求反}8.编程要求对MSP430F6638的ADC12通道A7(P6.7口)作单次转换,参考电压VR+=VREF+,VR-=AVSS,转换结果存储到result存储单元中。#includeunsignedintresult;voidmain(voi
9、d){WDTCTL=WDTPW+WDTHOLD;P6SEL
10、=BIT7;//使能A/D通道A7ADC12CTL0=ADC12ON+ADC12SHT0_2;//打开ADC12,设置采样时钟16ADC12CTL1=ADC12SHP;//使用采样时钟来自采样定时器ADC12MCTL0=ADC12SREF_1+ADC12INCH_7;//VR+=VREF+VR-=AVSSADC12CTL0
11、=ADC12ENC;//使能转换while(1){ADC12CTL0
12、=ADC12SC;//开始转换while((ADC12IFG&ADC12BUSY)==0);//等待转换
13、结束result=ADC12MEM7;//保存转换结果_NOP();}}一、望诊
此文档下载收益归作者所有