77范文网 - 专业文章范例文档资料分享平台

实验五实验报告

来源:网络收集 时间:2020-05-19 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

1. 数字示波器的使用

1)将信号源的波形在示波器上显示出来,掌握测量周期、频率、峰峰值的方法;

2)用孔孔导线将实验板的地信号与示波器的地信号相连,测量实验板上的Vcc 电源信 号是否正常。

实测电压值为3.5295V

2. 测试上电复位系统的 ACLK、和SMCLK 时钟频率

编程输出单片机上电复位后的ACLK、和SMCLK 时钟,用示波器测量其频率,并记录下来。 1) 程序如下: #include \#include \

int main( void ) {

// Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;

P1SEL |=BIT0; //P1.0输出ACLK P1SEL2 &=~BIT0; P1DIR |=BIT0;

P1SEL |=BIT4; //P1.4输出SMCLK P1SEL2 &=~BIT4; P1DIR |=BIT4; }

2) 测量结果:

SMCLK:频率:1.0010MHZ ACLK: 频率:32.770KHZ 3) 实验总结:

实验中遇到的问题:SMCLK在示波器上不能输出,解决方法:关闭程序烧写,将单片机电源拔出再插入,实现复位后再用示波器测量,能得到正确的值。

思考:上电复位后,CPU 工作的时钟信号MCLK 频率值是多少?

CPU时钟信号 MCLK的时钟源是DCOCLK,由SMCLK测出的值可以知道,SMCLK的时钟源也是DCOCLK,因此MCLK频率和SMCLK应该相同均为1MHZ。

3. 掌握基本时钟模块的编程控制

参看附录A 实验板原理图,用跳线将JP8 中的插针信号接到晶振32.768Khz 侧,使晶振 与单片机的P2.6 和P2.7 相连。编程控制基本时钟模块,设置ACLK 分别为下面时钟频 率,并通过P1.0 输出ACLK,用示波器观察:

? ACLK=4096Hz;(时钟源外部晶振,32768Hz/8) ? ACLK=3KHz;(时钟源VLOCLK, 12KHz/4) 1) 程序如下: ? ACLK=4096Hz #include \#include \int main( void ) {

WDTCTL = WDTPW + WDTHOLD;

P2SEL |=BIT6; //设P2.6为晶振引脚功能 P2SEL2 &=~BIT6;

P2DIR &=~BIT6; //P2.6xin输入

P2SEL |=BIT7; //设P2.7为晶振引脚功能 P2SEL2 &=~BIT7;

P2DIR |=BIT7; //P2.7xou输出 P1SEL |=BIT0; //设P1.0输出ACLK P1SEL2 &=~BIT0; P1DIR |=BIT0; unsignedinti;

do { IFG1 &=~OFIFG; //清除震荡失败标志 for(i=0;i<0xffff;i++); //延时等待时钟稳定 }

while((IFG1&OFIFG)!=0); //若震荡失败重复

BCSCTL3_bit.LFXT1S0=0; //ACLK选择外部晶振 BCSCTL3_bit.LFXT1S1=0;

BCSCTL1|=DIVA_3; //ACLK选8分频 }

? ACLK=3KHz #include \#include \void main(void) {

WDTCTL = WDTPW + WDTHOLD;

P1SEL|=BIT0; //P1.0输出ACLK P1SEL2&=~BIT0; P1DIR|=BIT0;

P2SEL|=BIT6; //设置P2.6,P2.7的晶振引脚功能 P2SEL2 &=~BIT6;

P2DIR &=~BIT6; //XIN P2SEL |=BIT7; P2SEL2 &=~BIT7;

P2DIR |=BIT7; //XOUT unsigned int i;

do{ IFG1&=~OFIFG; //清OFIFG for(i=0;i<0xffff;i++); //延时

}while((IFG1&OFIFG)!=0); //若振荡失败重复 BCSCTL3 |=LFXT1S_2; //ACLK选择VLOCLK; BCSCTL1|=DIVA_2; //ACLK选4分频 }

2) 测量结果:

SMCLK实际输出频率为4.0958KHZ,与题目中的4096HZ相符 ACLK实际输出频率为2.8637KHZ,与题目中的3HZ有一定的差距 3) 实验总结

发现ACLK的输出频率有一定的误差,而ACLK的来源是VLOCLK的四分频,所以可以推断,VLOCLK的实际值并不是理论的12KHZ,因此在第五题中中断子程要按实际值设置执行次数。 思考:可否编程在引脚P2.0 上输出ACLK?为什么? 不能,因为ACLK有固定引脚输出

4. DCO 出厂校验值的频率检测

? 利用出厂校验值,编程使DCO 分别为1MHz、8MHz、12MHz、16MHz,通过P1.4 输出,用示波器测量实际值。 1) 程序如下: #include \#include \void delay(); void main(void) {

WDTCTL = WDTPW + WDTHOLD;

P1SEL|=BIT4; //P1.4输出SMCLK P1SEL2&=~BIT4; P1DIR|=BIT4;

if(CALBC1_16MHZ !=0xff) {

BCSCTL1=CALBC1_16MHZ; //1,8,12,16MHZ DCOCTL=CALDCO_16MHZ; }

BCSCTL2 |=SELM_0; //SMCLK选择DCO时钟源 }

2) 实验结果:16MHZ实际值为16.7MHZ;12MHZ的实际值为12.08MHZ;8MHZ的实际值为7.36MHZ; 1MHZ的实际值为1.0152MHZ。 3) 实验总结:实验中会遇到每次执行的时候都是执行一个瞬时,示波器上无法得到预期的 频率,方法同样是关闭烧写,重新插好单片机,这时就能得到固定的波形,从而测出频率值 ? (选做)控制发光二级管通过延时闪亮,编程分别使主系统时钟工作在 ? MCLK=复位频率/8 约100KHz; ? MCLK=DCO=16MHz; 两种不同频率下,观察灯的亮灭速度有何不同,掌握主系统时钟的变化对程序执行速度的影响

1) 程序如下:

? MCLK=复位频率/8 约100KHz #include \#include \void delay(); void main(void) {

WDTCTL = WDTPW + WDTHOLD;

P1SEL|=BIT4; //P1.4输出SMCLK

P1SEL2&=~BIT4; P1DIR|=BIT4;

BCSCTL2 |=SELM_0+DIVM_3; //8分频,约100KHz

P1SEL &=~BIT1; P1SEL2 &=~BIT1; P1DIR |=BIT1; while(1) {

P1OUT_bit.P1=0; delay();

P1OUT_bit.P1=~P1OUT_bit.P1; delay(); } }

void delay() {

for(unsigned inti=0;i<0xffff;i++); }

? MCLK=DCO=16MHz #include \#include \void delay(); void main(void) {

WDTCTL = WDTPW + WDTHOLD;

P1SEL|=BIT4; //P1.4输出SMCLK P1SEL2&=~BIT4; P1DIR|=BIT4;

if(CALBC1_16MHZ !=0xff) {

BCSCTL1=CALBC1_16MHZ; //1,8,12,16MHZ DCOCTL=CALDCO_16MHZ; }

BCSCTL2 |=SELM_0; //SMCLK选择DCO时钟源

P1SEL &=~BIT1; P1SEL2 &=~BIT1; P1DIR |=BIT1; while(1)

{

P1OUT_bit.P1=0; delay();

P1OUT_bit.P1=~P1OUT_bit.P1; delay(); } }

void delay() {

for(unsigned inti=0;i<0xffff;i++); }

2) 实验结果:

MCLK为16MHZ的时候是频闪,速度很快,相比之下MCLK为100HZ是LED灯的亮灭有较长的时间间隔,由此可见,主系统时钟频率越高,执行速度越快。

5. 利用输出的时钟信号做中断源,实现定时功能

将任务3 中P1.0 输出的3KHz ACLK 时钟信号,作为P1.5 的中断申请信号,用导线将 P1.5 与P1.0 相连即可,在中断子程中设置一个计数变量,计数中断子程被执行的次数, 中断子程每被执行3000 次表示一秒时间到。利用该定时功能,将8 个发光二级管设计 成一个秒表,显示秒值,每秒改变一次8 个发光二级管的显示。 1) 程序如下: #include \#include %unsigned int j=0; unsigned int i=0; void main(void) {

WDTCTL = WDTPW + WDTHOLD; _DINT();

P1SEL|=BIT0; //P1.0输出ACLK P1SEL2&=~BIT0; P1DIR|=BIT0;

P1SEL &=~BIT5; //P1.5设置中断信号 P1SEL2 &=~BIT5; P1DIR &=~BIT5; P1REN |=BIT5; P1OUT |=BIT5; P1IES |=BIT5; P1IFG &=~BIT5; P1IE |=BIT5;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库实验五实验报告在线全文阅读。

实验五实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1054431.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: