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

使用MCC学习PIC单片机综述

来源:用户分享 时间:2025/12/5 10:46:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

MCC是Microchip的图型化芯片配置工具和代码生成器,十足的开发利器。但其实它也是一个很好的学习利器。图形化界面可以与数据手册进行对照,避免了单纯阅读数据手册的枯燥,可加快理解芯片工作原理。并且可进一步研读MCC生成的代码,从寄存器级别了解芯片的配置。并且可以从中理解MCC的代码架构设计。这一架构是Microchip固件专家精心设计的,符合自家硬件和编译器的特性,且易用,高效,精简,非常适用于资源受限MCU的开发。

因此对于初学者,或有一定使用经验想要继续深入的开发者,MCC都是一个非常好的学习工具。MCC可以免费下载使用。不论你手里没有硬件板,都可以开始学习了。

下面举个简单例子,让大家感受一下这样学习的直观便利。。

下面是的PIC18F18446的MCC时钟配置界面。时钟选择下拉框里面列出了可选的6种时钟。

它们与下图中,数据手册的时钟模块框图中的6种时钟一一对应,并且他们的选用控制通道一目了然。其中也能看到控制多路选择的控制位名称,例如COSC<2:0>控制时钟选通通道,CDIV<3:0>控制分频比率。系统时钟和外设时钟同源,但在不同休眠模式下,可以分别控制。

MCC与数据手册互相印证,数据手册提供了最详细的信息。

在MCC生成代码后,可在工程中,查看这些MCC生成的代码。定位到时钟初始化代码。

代码里是直接寄存器赋值,并带有清楚明确的注释。代码中通过操作OSCCON1和OSCFRQ将时钟切换为内部4MHz。

voidOSCILLATOR_Initialize(void){

//NOSCHFINTOSC;NDIV1;OSCCON1=0x60;

//CSWHOLDmayproceed;SOSCPWRLowpower;OSCCON3=0x00;

//MFOENdisabled;LFOENdisabled;ADOENdisabled;SOSCENdisa

bled;EXTOENdisabled;HFOENdisabled;

OSCEN=0x00;//HFFRQ4_MHz;OSCFRQ=0x02;//HFTUN0;OSCTUNE=0x00;

}

再去对照数据手册,了解每一位/位域的具体含义。

代码中与时钟配置相关还有芯片配置位,它们设定了芯片上电或复位后的起始时钟状态。代码在device_config.c中。

//CONFIG1

#pragmaconfigFEXTOSC=OFFonbits->Oscillatornotenabled

#pragmaconfigRSTOSC=HFINT1COSCbits->HFINTOSC(1MHz)

#pragmaconfigCLKOUTEN=OFF

//ClockOutEnablebit->CLKO//Power-updefaultvaluefor//ExternalOscillatormodeselecti

UTfunctionisdisabled;i/ooroscillatorfunctiononOSC2

#pragmaconfigCSWEN=ONtoNOSCandNDIVisallowed

#pragmaconfigFCMEN=ON->FSCMtimerenabled

//Fail-SafeClockMonitorEnablebit//ClockSwitchEnablebit->Writing

再到数据手册了解具体含义。原来复位后初始使用内部时钟(HFINTOSC1MHz),配置位FEXTOSC设为b100(外部振荡器未使能),RSTOSC设为b11

0(HFINTOSC1MHz)。

至此,时钟的配置情况可以总结为:1.复位后,MCU运行在内部1MHz。

2.执行时钟初始化函数后,系统时钟切换为内部4MHz。

搜索更多关于: 使用MCC学习PIC单片机综述 的文档
使用MCC学习PIC单片机综述.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9yreo63kkq3bj0w6iip07zlrl1bk8m012zd_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top