当前位置:   article > 正文

S3C2440 蜂鸣器 汇编语言,S3C2440的基础功能模块实现过程

蜂鸣器发声程序汇编语言

Clk.c

包含外部方法:

void Clk_Init(int freq);

void Clk_Display(void);

void Clk0_Enable(int clock_sel);

void Clk0_Disable(void);

void Clk1_Enable(int clock_sel);

void Clk1_Disable(void);

包含内部方法:

void ChangeMPllValue(int mdiv,int pdiv,int sdiv);

void ChangeClockDivider(int hdivn_val,int pdivn_val);

void ChangeUPllValue(int mdiv,int pdiv,int sdiv);

重点函数说明:

l 时钟初始化函数(Clk_Init)

S3C2440有两条锁相环,一条用于核心时钟的倍频,一条用于USB接口的时钟倍频。时钟初试化函数包含对这2条时钟线和分频器的设置。

具体步骤如:

1.设置MPLLCON寄存器改变倍频系数初始化时钟,使时钟工作在400MHz。

2.设定CLKDIV寄存器的分频系数使FCLK(核心时钟):HCLK(总线时钟):PCLK(外围时钟)的比例为1:2:4。

3.设定UPLLCON寄存器和CLKDIV寄存器的系数设置UCLK(USB时钟)为

4.开启对所有模块的时钟信号供应。

l 时钟开启关闭函数(Clk_Enable和Clk_Disable)

具体步骤如:

1.通过设置MISCCR寄存器打开和关闭MPLL或UPLL。

2.设置GPHCON对GPIOH18进行控制,可以打开或关闭时钟对外部的输出。

l 时钟信息显示函数(Clk_Display)

1.可以显示当前FCLK、HCLK、PCLK、UCLK的时钟频率。

2.可以看到PCLK对各个外围模块的时钟提供是否打开。

系统初始化之后,利用Clk_Display显示的时钟信息如图4-1:

y1p2OtuQjbmx6-P8hEBwkTK9Faar0aT-GJF7OX4XuM_JssZ9mjCfPLQLtYYZjPHhAxjJW-Ve8N0V2ZoOxCIA7ySKg?PARTNER=WRITER

图4-1 调用时钟信息显示函数的结果

从图中,我们可以看到目前系统的核心频率工作在400MHz,FCLK:HCLK:PCLK为1:4:8。PCLK对各个子模块的时钟供应都已打开。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/554411
推荐阅读
相关标签
  

闽ICP备14008679号