首页 理论教育 单片机与嵌入式系统实践:ICG功能基础实践

单片机与嵌入式系统实践:ICG功能基础实践

时间:2023-11-19 理论教育 版权反馈
【摘要】:图7-12 ICG功能基础实践电路示意图3.软件设计与调试按照设计方案,我们采用ICG模块来设定系统时钟和总线时钟,通过延时输出的方式在PTA0端口循环输出高、低电平以实现小灯闪烁的效果。

单片机与嵌入式系统实践:ICG功能基础实践

1.实践要求与方案设计

(1)要求

单片机的GPIO接口连接一LED小灯,使用ICG模块设置系统时钟频率,要求使用内部时钟源,总线时钟频率设约为5MHz左右,实现小灯闪烁。

(2)方案设计

此项目中,根据要求和MC9S08AC16单片机的引脚分布,选取PTA0端口连接一LED小灯,采用“灌电流”方式驱动,端口输出低电平时小灯点亮,利用软件延时实现小灯闪烁。在时钟设置方面,使用处理器专家(PE)功能中的Device Initialization工具设置系统时钟,在ICG模块中设置内部参考时钟(243kHz),使能FLL功能将时钟信号倍频,再通过模块分频得到内部5MHz左右总线频率。

2.硬件电路设计

按照设计方案,PTA0端口有连接1个LED小灯,并通过限流电阻330Ω,连接至+5V电源UCC,ICG功能基础实践电路示意图如图7-12所示。

978-7-111-50417-7-Chapter07-32.jpg

图7-12 ICG功能基础实践电路示意图

3.软件设计与调试

按照设计方案,我们采用ICG模块来设定系统时钟和总线时钟,通过延时输出的方式在PTA0端口循环输出高、低电平以实现小灯闪烁的效果。我们先新建一个工程项目,按照7.4.2小节所述步骤加载PE功能项,并打开Device Initialization工具的CPU设置界面,如图7-8所示,对一些控制选项进行如下设置。

1)“Source CPU clock”选择内部时钟源“Internal clock”。(www.xing528.com)

2)“Internal clock”选择默认设置。

3)“External clock”选择外部时钟源关闭,即选择“Disabled”项。

4)“Clock divider”为时钟分频选择项,此处选择自动,即“auto select”。

5)“FLL clock”选项使能,即单击其右侧按键,将其值设置为“Enabled”。

6)在“Internal bus clock”选项右侧框内手工输入所需的总线时钟频率5MHz,PE工具会自动计算出上述设置得到的精确总线频率,此处为4.998857 MHz。

此时已完成使用Device Initialization工具设置系统时钟频率,单击界面下方“OK”按钮,并按照7.4.2小节所述的后续步骤生成初始化代码,用户可通过用鼠标双击MCU_init.c来查看此代码。注意,该代码中有较多的程序行,涉及系统频率设置的代码在void MCU_init(void)函数中/*System clock initialization*/这个注释行下,用户可自行查阅修改。同时,在main.c程序模板中也发生了变化,在增加main()函数中了关于MCU_init()函数的调用。下面是对main.c程序模板进行代码编写,增加闪烁的控制。

1)主函数,控制小灯闪烁。

978-7-111-50417-7-Chapter07-33.jpg

2)延时函数,用于小灯当前状态持续时间。

978-7-111-50417-7-Chapter07-34.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈