飞思卡尔8位单片机MC9S08JM60开发板实践教程.docx
- 文档编号:327066
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:83
- 大小:3.89MB
飞思卡尔8位单片机MC9S08JM60开发板实践教程.docx
《飞思卡尔8位单片机MC9S08JM60开发板实践教程.docx》由会员分享,可在线阅读,更多相关《飞思卡尔8位单片机MC9S08JM60开发板实践教程.docx(83页珍藏版)》请在冰豆网上搜索。
飞思卡尔8位单片机MC9S08JM60开发板实践教程
第一章搭建实验环境
系统时钟设置
#include"App\Include\App.h"
#ifndef_MCG_C
#define_MCG_C
//oscillator12MHZ倍频为24MHZ()先8分频后16倍频
voidS_MCGInit(void)
{
/*theMCGisdefaultsettoFEImode,itshouldbechangetoFBEmode*/
/*************************************************************************************
MCGC2
[7:
6]BDIV
总线频率分频因子–选择由MCGC1寄存器中CLKS位决定的时钟源的分频。
这控制总线频率。
00编码0–时钟1分频
01编码1–时钟2分频(复位后默认)
10编码2–时钟4分频
11编码3–时钟8分频
[5]RANGE
频率范围选择–选择外部振荡器或者外部时钟源的频率范围。
1选择1MHz到16MHz外部振荡器的频率范围。
(1MHz到40MHz的外部时钟电源)的高频率范围
0选择32kHz到100kHz外部振荡器的频率范围。
(32kHz到1MHz的外部时钟电源)的低频率范围
[4]HGO
高增益振荡器选择–控制外部振荡器操作模式。
1配置外部振荡器为高增益运行
0配置外部振荡器为低功耗运行
[3]LP
低功耗选择–控制在忽略模式中FLL(或者PLL)是否为无效
1FLL(或PLL)在忽略模式(低功耗)中为无效的。
0FLL(或PLL)在忽略模式中为无效的。
[2]EREFS
外部参考时钟选择–为外部参考选择时钟源
1选择振荡器
0选择外部时钟源
[1]ERCLKEN
外部参考时钟使能–使能外部参考时钟作为MCGERCLK
1MCGERCLK激活
0MCGERCLK无效
[0]EREFSTEN
外部参考时钟停止使能
MCGC20b00110110激发外部时钟(晶振)(没有使能)
**************************************************************************************/
MCGC2=MCGC2_RANGE_MASK|MCGC2_HGO_MASK|MCGC2_EREFS_MASK|MCGC2_ERCLKEN_MASK;
while(!
MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。
/*******************************************************************************************
MCGC1
[7:
6]
6:
CLKS0
7:
CLKS1
时钟源选择–选择系统时钟源
00编码0–FLL或者PLL被选择
01编码1–内部参考时钟被选择
10编码2–外部参考时钟被选择
11编码3–保留,默认为00
[5:
3]
3;RDIV0:
1;
4;RDIV1:
1;
5;RDIV2:
1;
参考分频因子–选择由IREFS位确定的参考时钟的分频因子。
如果FLL被选择,结果频率必须在31.25kHz到39.0625kHz范围之内内.
如果PLL被选择,结果频率必须在1MHz到2MHz之间。
000编码0–参考时钟1分频(复位默认)
001编码1–参考时钟2分频
010编码2–参考时钟4分频
011编码3–参考时钟8分频
100编码4–参考时钟16分频
101编码5–参考时钟32分频
110编码6–参考时钟64分频
111编码6–参考时钟128分频
[2]
IREFS
内部参考电源选择
1选择内部参考时钟
0选择外部参考时钟
[1]IRCLKEN
内部参考时钟使能–使能内部参考时钟用作MCGIRCLK
1MCGIRCLK激活
0MCGIRCLK禁止
[0]IREFSTEN
内部参考停止使能–控制当MCG进入停止模式的时候是否选择内部参考时钟保持使能。
1如果在进入停止模式之前IRCLKEN被设置或者是MCG在FEI,FBI,或者是BLPI模式,
在停止模式中内部参考时钟保持使能,
0内部参考时钟在停止模式中无效
MCGC1外部参考时钟;8分频;外部时钟激活;
*********************************************************************************************/
MCGC1=MCGC1_CLKS1_MASK|MCGC1_RDIV1_MASK|MCGC1_RDIV0_MASK|
MCGC1_IRCLKEN_MASK|MCGC1_IREFSTEN_MASK;//enableexternalOscollator;8分频
/******************************************************************************************************
[7]LOLS
锁定丢失状态–此位标志了FLL或者是PLL的锁定状态。
当在要求锁定之后,锁定使能时LOLS被置位,
FLL或者PLL输出频率降低解锁超出了频率范围
DunlLOLIE决定当通过复位或者是写逻辑以到LOLS将LOLS清除时是否中断响应。
想LOLS写0没有影响。
[6]LOCK
锁定状态–指示FLL或者是PLL要求锁定。
当FLL和PLL无效时锁定检测无效。
当改变以下任何位时锁定状态位被置位:
IREFS,PLLS,RDIV[2:
0],TRIM[7:
0(如果处于FEI或者FBI模式中),
或者是VDIV[3:
0](如果处于PBE或者PEE模式中),
将引起锁定状态为清除并且保持直到FLL或者PLL要求锁定。
进入停止模式同样能引起BCK状态位清除并保持到FLL或者PLL要求锁定。
进入BLPI或者BLPE模式将同样导致锁定位清除并保持直到MCG退出这些模式并且FLL或者PLL要求锁定。
0FLL或者PLL当前未锁定
1FLL或者PLL当前锁定
[5]PLLST
PLL选择状态–PLLST位指示了PLLS时钟的当前时钟源。
当向PLLS位写操作时PLLST位不会立即更新。
0FLL时钟作为PLLS的时钟源
1PLL时钟作为PLLS的时钟源
[4]REFST
内部参考状态–IREFST位指示了参考时钟的当前时钟源。
在向IREFS位写后,IREFST不会立即更新。
0参考时钟源是外部参考时钟(由MCGC2寄存器中EREFS位决定的振荡器或者是外部时钟源)
1参考时钟源是内部参考时钟
[3:
2]CLKST
时钟模式状态–CLKST位指示了当前时钟模式。
在想CLKS位写入后,CLKST位不会立即更新。
00编码0–FLL的输出被选择
01编码1–内部参考时钟被选择
10编码2–外部参考时钟被选择
11编码3–PLL的输出被选择
[1]SCINIT
OSC初始化–如果外部参考时钟被选择(通过置位ERCLKEN或者通过MCG处于FEE,FBE,PEE,PBE,BLPE模式中),
如果EREFS被置位,在外部振荡器时钟完成的初始化周期EREFS将被置位。
此位只有当EREFS被清除或者是当MCG在FEI,FBI,BLPI模式中并且ERCLKEN被清除的时候才会被清除。
[0]FTRIM
MCG精密校正–控制内部参考时钟频率的最小的校正。
设置FTRIM将增加周期,清除FTRIM将会降低周期。
如果FTRIM值被存储在非易失性的存储器中,用户应该将其拷贝到寄存器的FTRIM位。
MCGSC0b000111000b00001000判断是否外部时钟被选择了,没选择才选择
**********************************************************************************************************/
while((MCGSC&0x1C)!
=0x08);//0b00011100checktheexternalreferenceclockisselectedornot
/*SwitchtoPBEmodefromFBE*/
/****************************************************************************************************
MCGC3
[7]LOLIE
锁定丢失中断使能–决定当出现丢失锁定时是否产生一个中断。
LOLIE位只有当LOLS被设置时才有作用
0不响应丢失锁定中断
1产生丢失响应中断
[6]PLLS
PPL选择–控制PLL还是FLL被选择。
如果PLLS位清除,PLL在所有模式中无效。
如果PLLS被设置,FLL在所有模式中无效。
1PLL被选择
0FLL被选择
[5]CME
时钟监视器使能|决定当丢失外部时钟出现时是否产生复位请求。
无论当MCG使用外部时钟并处于操作模式(FEE,FBE,PEE,PBE或者BLPE)
还是外部参考时钟有效(ERCLKEN=1在MCGC2寄存器中),MCE位只能被设置为逻辑1.
无论什么时候CME位被设置为逻辑1,MCGC2寄存器中RANGE位的值不应该被改变。
0时钟监视器被禁止
1当丢失外部时钟时产生一个复位请求
[3:
0]VDIV
VCO分频因子–选择PLL的输出VCO的分频因子?
DIV位确定参考时钟频率的倍频因子(M)
0000编码0-保留
0001编码1-4倍频
0010编码2–8倍频
0011编码3-12倍频
0100编码4-16倍频
0101编码5–20倍频
0110编码6–24倍频
0111编码7–28倍频
1000编码8–32倍频
1001编码9–36倍频
1010编码10–40倍频
1011编码11–保留(默认M=40)
11xx编码12-15–保留(默认M=40)
MCGC3选择PLLS16倍频0b01000100
**********************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卡尔 单片机 MC9S08JM60 开发 板实 教程