S3C2440开发板点亮LED灯+PWM定时器

目录

GPIO引脚和寄存器概述

点亮LED灯步骤

1.配置GPIO

2.点亮LED

设置引脚为输出

控制引脚电平

完整代码

PWM


GPIO引脚和寄存器概述

  • GPIO端口
    • S3C2440的GPIO引脚可被配置为输入或输出(控制LED的引脚通常配置为输出模式)。
  • 寄存器
    • PnCON:用于设置引脚的工作模式(输入或输出)。
    • PnDAT:用于设置或读取引脚的电平状态(高或低)。

点亮LED灯步骤

1.配置GPIO

根据你的开发板的硬件手册,确定连接LED的GPIO口。

配置该GPIO为输出模式。

2.点亮LED

将GPIO口输出高电平(或低电平,视LED连接方式而定)来点亮LED。

以下均以S3C2440开发板为例,具体步骤如下:

在开发板原理图中找到控制LED的引脚端口,进而对引脚进行相应的输出配置,由下图可知当nLED_1输出为低电平时,LED1被点亮。

从下图可知nLED_1是由GPB寄存器来控制的;对应的控制引脚端口为GPB5,故需使GPBDAT的第五位输出为低电平;

在S3C2440手册中查到将GPB5的第十位和第十一位设置为01时即为输出状态。

设置引脚为输出
复制代码
	GPBCON &= ~(0x3 << 10);    //清除GPB5的配置
	GPBCON |= (0x1 << 10);     //设置GPB5为输出模式
控制引脚电平

点亮LED:将引脚设置为高电平,通过将GPBDAT寄存器对应位设置为1

复制代码
GPBDAT &= ~(1 << 5);

熄灭LED:将引脚设置为低电平,通过将GPBDAT寄存器对应位设置为0

复制代码
GPBDAT |= (1 << 5);

完整代码

复制代码
#define GPBCON  (*(volatile unsigned long *)0x56000010UL)
#define GPBDAT  (*(volatile unsigned long *)0x56000014UL)

void c_deal_swi(unsigned int num)
{
	switch(num)
	{
		case 5:
		break;
		default:
		break;
	}
}

//初始化
void led_init(void)
{
	//配置GPB5功能为输出
	GPBCON &= ~(0x3 << 10);
	GPBCON |= (0x1 << 10);	

	//使GPB5输出高电平(关灯)
	GPBDAT |= (1 << 5);
}

//点亮LED
void led_on(void)
{
	GPBDAT &= ~(1 << 5);
}

//熄灭LED
void led_off(void)
{
	GPBDAT |= (1 << 5);
}

void main(void)
{
	led_init();
	while(1)
	{
		led_on();
		led_off();
	}

}

PWM

PWM(脉宽调制)定时器基本原理是通过改变信号的占空比来调节输出功率。

周期 (T):
一次高电平开始到下次高电平开始之间的时间。
PWM信号是一个周期性方波信号,具有固定的频率。每个周期内,信号会在高电平和低电平之间切换。
频率 : 1/T
占空比 :
占空比是指高电平持续时间与整个周期时间的比值,通常用百分比表示。占空比越高,输出的平均电压越高,反之亦然。
16位 PWM定时器方框图

相关推荐
单片机杂货铺10 小时前
基于单片机的智能粮仓控制系统设计与实现
stm32·单片机·嵌入式硬件·物联网·计算机外设·51单片机·课程设计
指尖的爷10 小时前
RKNN转化环境搭建(rknn_toolkit2新版本)
嵌入式硬件·深度学习·物联网·目标检测
梁朝辉10 小时前
滴泪的曲线(Curved)还是直线(Line)什么区别,都应用于什么场景!
嵌入式硬件·硬件工程
clear sky .12 小时前
stm32H7进入HardFault_Handler机制
stm32·单片机·嵌入式硬件
小僧景贤12 小时前
STM32 GPIO 详解(含寄存器、HAL 库、电气特性、低功耗深度剖析)
stm32·单片机·嵌入式硬件
远翔调光芯片^1382879887214 小时前
从参数到应用:FP7208如何以0.2V精密反馈提升LED驱动性能
科技·单片机·嵌入式硬件·智能家居·能源
碧海银沙音频科技研究院15 小时前
4 BES2710编译环境搭建方法
嵌入式硬件·算法
csdn杰哥16 小时前
瑞萨单片机AI教程【六】导入外部电机状态数据训练模型
人工智能·单片机·嵌入式硬件·瑞萨·ra6m5
深念Y17 小时前
ZTE_UZ901_NVRAM经验总结
linux·服务器·网络·嵌入式硬件·嵌入式·随身wifi
远翔调光芯片^1382879887217 小时前
高效驱动!FP7153赋能3A大电流手电筒,单节锂电 / 5V 供电也能迸发强劲照明力
科技·单片机·嵌入式硬件·智能家居·能源