S3C2440开发板:时钟,PWM定时器控制蜂鸣器发声

时钟

时钟和电源管理模块由三部分组成:时钟控制,USB 控制和电源控制。

S3C2440A 中的时钟控制逻辑可以产生必须的时钟信号,包括 CPU 的 FCLKAHB 总线外设的 HCLK 以及 APB 总线外设的 PCLK。S3C2440A 包含两个锁相环(PLL):一个提供给 FCLK、HCLK 和 PCLK,另一个专用于 USB 模块(48MHz)。  

使用外部晶振作为主时钟源 

 配置 F :H :P  = 1 : 4 : 8

FCLK:400

HCLK:100

PCLK:50

配置Fclk为400M

输入12M,输出400M,配置MPLL的  M:127    P:2     S:1

代码

void clk_init(void)
{//配置 F : H : P =1 : 4 : 8;CLKDIVN = (2 << 1) | (1 << 0);//配置Fclk为400MMPLLCON	|=(127 << 12) | (2 << 4) | (1 << 0);}

PWM:脉宽控制

周期:一次高电平开始到下次高电平开始之间的时间
频率: 1/T
占空比:高电平占整个周期的时间比

PWM控制蜂鸣器 

蜂鸣器驱动电路

接口为GPB0

需要配置GPB0引脚功能为TOUT0

	//配置GPB0(蜂鸣器接口)引脚功能为TOUT0GPBCON &= ~(0x3<<0);  GPBCON |= (0x2<<0);	 

 定时器原理图

选择定时器0 

设置预分频值(TCFG0) 

	TCFG0 &= ~(0xff<<0);TCFG0 |= (24<<0);	  //预分频值24(24+1=25)

设置分频值(TCFG1) 

	TCFG1 &= ~(0xf<<0);	   //分频1/2

设置计数器(TCNTB0)

设置比较器(TCMPB0)

TCNTB0 =2000;   //配置计数器
TCMPB0 =1000;	  //配置比较器

 设置定时器的控制器

	TCON &= ~(1<<4);  //关闭死区(死区发生器就是电流放大器)TCON |= (1<<3);	  //开启自动重载TCON |= (1<<2) ;  //开启变换极性TCON |= (1<<1);   //更新比较器和计数器TCON |= (1<<0);	  //启动定时器TCON &= ~(1<<1);  //清除更新位

代码

void pwm_init(void)
{	//配置GPB0(蜂鸣器接口)引脚功能为TOUT0GPBCON &= ~(0x3<<0);  GPBCON |= (0x2<<0);	  TCFG0 &= ~(0xff<<0);TCFG0 |= (24<<0);	  //预分频值24 (24+1=25)TCFG1 &= ~(0xf<<0);	   //分频1/2TCNTB0 =2000;   //配置计数器TCMPB0 =1000;	  //配置比较器TCON &= ~(1<<4);  //关闭死区(死区发生器就是电流放大器)TCON |= (1<<3);	  //开启自动重载TCON |= (1<<2) ;  //开启变换极性(默认起始为低电平,需要修改为起始高电平)TCON |= (1<<1);   //更新比较器和计数器TCON |= (1<<0);	  //启动定时器TCON &= ~(1<<1);  //清除更新位
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/417504.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构:(LeetCode203)移除链表元素

给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5]示例 2&#xff1a; 输入&#xff1…

深度学习之 OpenCV 图像边缘检测算法解析及代码演示

引言 在计算机视觉领域&#xff0c;边缘检测是一种重要的图像预处理技术&#xff0c;用于识别图像中对象的边界。边缘检测有助于提取图像的关键特征&#xff0c;这对于后续的图像分析&#xff08;如物体识别、运动检测等&#xff09;至关重要。OpenCV 是一个强大的计算机视觉库…

这个俄罗斯平台爆火跨境圈,据说大卖已冲!无货源卖家又行了?

近几年&#xff0c;俄罗斯电商市场的增长速度非常惊人&#xff0c;从宏观来看&#xff0c;俄罗斯已经超越东南亚各国&#xff0c;成为2023年网上零售销售额增长最快的国家。据权威数据分析机构Statista的预测&#xff0c;2024年俄罗斯电子商务市场的收入预计能够达到337.6亿美元…

11、Django Admin启用对计算字段的过滤

重新定义admin.py中的Hero管理模型如下&#xff1a; admin.register(Hero) class HeroAdmin(admin.ModelAdmin):list_display ("name", "is_immortal", "category", "origin", "is_very_benevolent")list_filter ("…

代码随想录算法训练营第32天 动态规划part01| 题目:理论基础 、 509. 斐波那契数 、70. 爬楼梯 、 746. 使用最小花费爬楼梯

代码随想录算法训练营第32天 动态规划part01| 题目&#xff1a;理论基础 、 509. 斐波那契数 、70. 爬楼梯 、 746. 使用最小花费爬楼梯 文章来源&#xff1a;代码随想录 理论 题目名称&#xff1a;509. 斐波那契数 斐波那契数&#xff0c;通常用 F(n) 表示&#xff0c;形成的…

沐渥科技:两显氮气柜和三显氮气柜要怎么选择?

两显氮气柜通常指的是控制面板上有两个LED数码显示界面&#xff0c;用于显示温度和湿度&#xff1b;三显氮气柜则有三个LED数码显示界面&#xff0c;能够直观地显示出温度、湿度和含氧量。这样的设计便于用户快速全面地了解柜内环境状态&#xff0c;不需要额外的操作即可掌握所…

PHP智能匹配轻松预订自习室在线订座系统小程序源码

智能匹配&#xff0c;轻松预订——自习室在线订座系统 &#x1f4da;【开篇&#xff1a;告别排队&#xff0c;迎接智能学习新时代】&#x1f4da; 还在为找不到合适的自习室座位而烦恼吗&#xff1f;是不是每次去图书馆或自习室都要提前好久去排队占位&#xff1f;现在&#…

不同大模型代码解释对比

包含ChatGPT&#xff0c;讯飞星火&#xff0c;通义千问&#xff0c;腾讯元宝&#xff0c;智谱清言。 目标是想让大模型解释一个用于预处理人体骨骼关节三维坐标数据样本进行填补空帧的Python函数。 def f_padding_none(data):s data.copy()# print(pad the null frames with…

笔记整理—uboot番外(6)针对x210的网卡说明

对于x210而言&#xff0c;在三星中与九鼎官方的uboot都默认使用了二号串口。详见CONFIG_SERIALn&#xff08;n1~4&#xff09;。 更改串口后&#xff0c;应先插回原串口&#xff0c;进行iROM打印&#xff0c;内部iNnad校验核失败的信息&#xff0c;之后再插入其串口进行启动。 …

win10添加右键菜单打开VSCode

当进入一个文件夹后&#xff0c;想右键直接打开我的工程&#xff0c;用发现没有vscode项。本文就来介绍如何右键通过vsCode打开项目。步骤1&#xff1a;在桌面新建一个txt文档&#xff0c;用文本编辑器打开 步骤2&#xff1a; 查看vscode所在位置 在桌面找到vscode快捷键图标&…

EasyExcel 文件导出 - 合并某些列值相同的行

文章目录 EasyExcel 文件导出 - 合并某些列值相同的行最终效果实现思路创建单元格合并的策略类使用 EasyExcel 文件导出 - 合并某些列值相同的行 在数据处理与文件导出的过程中&#xff0c;我们常常会遇到各种特定的需求。今天&#xff0c;我们就来探讨一下使用 EasyExcel 进行…

【STM32+HAL库】---- 硬件IIC驱动0.96OLED

硬件开发板&#xff1a;STM32G0B1RET6 软件平台&#xff1a;cubemaxkeilVScode内容原著声明 代码借鉴学习于以下文章&#xff1a; STM32 使用硬件IIC驱动0.96寸4针IOLED显示器&#xff08;HAL库&#xff09; 1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置引脚 1.3 导出工…

【盖世汽车-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

SQLite3 数据库

一、SQLite3 命令 1. 基本命令 .tables&#xff1a;用于查看数据库中的表。.headers on/off&#xff1a;开启或者关闭表头&#xff0c;方便查看表结构。.mode column&#xff1a;使列对齐&#xff0c;增强数据的可读性。.width 列宽1 列宽2&#xff1a;设置每一列的列宽&…

抖音无水印视频下载

抖音想必大家都不陌生&#xff0c;大家经常会在抖音上刷到各种有意思的视频&#xff0c;但是我们想保存就会发现会有水印信息&#xff0c;那么我们要如何下载无水印的图片呢&#xff1f; 使用说明 我们可以先点击抖音的分享按钮&#xff0c;复制一下视频的链接 然后打开智游剪…

Spring6梳理5——基于XML管理Bean环境搭建

以上笔记来源&#xff1a; 尚硅谷Spring零基础入门到进阶&#xff0c;一套搞定spring6全套视频教程&#xff08;源码级讲解&#xff09;https://www.bilibili.com/video/BV1kR4y1b7Qc 目录 ①搭建模块 ②引入配置文件 ③创建BeanXML文件 ④创建Java类文件&#xff08;User…

pycharm项目里有中文右下角修改无效怎么办 包括注释里有中文

在我们编写pycharm项目时&#xff0c;可能会遇到项目里面有中文运行导致报错&#xff0c;即使我们在右下角修改编码格式&#xff0c;还是无效的 解决办法&#xff1a;点击左上角File,Settings,找到Editor里面的File Encodings ,圈住的位置都要改为UTF-8点击Apply就可以了

NAT技术-将多个内部网络设备映射到一个公共IP地址

问题&#xff1a; 今天上课的时候老师让我们在VMware填同一个子网ip 192.168.196.0&#xff0c;然后给我们的linux镜像都是同一个压缩包&#xff0c;结果我们的静态ip地址都是同一个。 192.168.196.0下面有256个ip地址&#xff0c;范围是192.168.196.0到192.168.196.255。我们…

浏览器百科:网页存储篇-Session storage应用实例(九)

1.引言 在前面的文章中&#xff0c;我们详细介绍了如何在 Chrome 浏览器中打开并使用 Session storage 窗格&#xff0c;进行数据的查看、编辑和管理。作为网页存储技术的重要组成部分&#xff0c;sessionStorage在提升用户体验和数据管理能力方面发挥了重要作用。在本篇《浏览…

谷歌seo网址如何快速被收录?

想让你的网站快速被搜索引擎收录&#xff0c;可以采取几种不同的策略。首先&#xff0c;确保你的网站内容丰富、有价值&#xff0c;搜索引擎更喜欢收录内容质量高的网站。同时&#xff0c;增强网站的外链建设&#xff0c;做好这些站内优化&#xff0c;接下来就是通过谷歌搜索控…