详解ametal_键盘扫描接口和pwm接口技术

ZLG致远电子 2017-12-07 08:16 次阅读

第五章为深入浅出AMetal,本文内容为5.3 键盘扫描接口和5.4 PWM 接口。

5.3 键盘扫描接口

>>>  5.3.1 单个独立按键

1. 按键行为

如图5.1 所示,从按键的操作行为来看,共有3 种确定的方式,即无键按下、有键按下和按键释放。并用ret_flag 标志来区分这3 种按键的操作行为,其分别为0xFF、0 和1(通常用0xFF表示无效值)。当然还有可能发生的错误触发,ret_flag 也为0xFF。

图5.1 独立按键电路图

由于一次按键的时间通常为上百毫秒,相对于MCU 来说是很长的,因此不需要时时刻刻地检测按键,只需要每隔一定的时间(如10ms)检测GPIO 的电平即可。其检测方法如下(1 表示高电平、0 表示低电平):

(1)无键按下时,由于PIO0_1 内部自带弱上拉电阻,因此PIO0_1 为1;

(2)当KEY 按下时,则PIO0_1 为0。在下一次扫描(延时10ms 去抖动)后,如果PIO0_1 为1,说明错误触发;如果PIO0_1 还是0,说明确实有键按下,则将ret_flag 标志置0,执行相应的操作;

( 3)当KEY 释放时,则PIO0_1 由0 回到1,在下一次扫描(延时10ms 去抖动)后,如果PIO0_1 为0,说明错误触发;如果PIO0_1 还是1,说明按键已经释放,则将ret_flag标志置1,执行相应的操作。

由此可见,无论是否有键按下,都要每隔10ms 去扫描GPIO 的状态,那不妨将每次扫描获得的值称为当前键值(key_current_value)。由于按键存在抖动,因此需要将当前键值与下一次扫描得到的键值比较,以排除错误触发。由于下一次扫描的键值还是未知的,因此必须将本次的键值保存起来,等到下次扫描获取键值后,再与保存的键值比较。所以在每次扫描结束时,将key_current_value 的值转存到key_last_value 变量中。那么,对于每一次新的扫描来讲,key_last_value 始终保存了上次键值,如果新扫描获得key_current_value 键值与key_last_value 上次扫描的键值相等,说明该键值为有效值,然后将该键值保存到最终键值key_final_value 变量中,否则是错误触发。

2. GPIO 状态

从GPIO 的状态来看,分别为1/1、1/0、0/0、0/1 四种状态,初始化时:

key_last_value = 1,key_final_value = 1,ret_flag = 0xFF

其中,1/0 的“1”与“0”分别表示扫描前后获得的当前键值,每次扫描时都将ret_flag初始化为0xFF。

(1)1/1:如果GPIO 始终为高电平,说明状态没有发生转移(无键按下)

key_last_value = 1,key_current_value = 1,key_final_value = 1,ret_flag = 0xff

(2)1/0:如果GPIO 的状态从1 转移到0(有键按下),延时10ms 去抖动key_last_value = 1,key_current_value = 0,key_final_value = 1,ret_flag = 0xff0/0:如果GPIO 的状态还是0(确实有键按下),执行相应的操作

key_last_value = 0,key_current_value = 0

因为两次扫描获得key_current_value 键值都为0,所以将键值保存到key_final_value 中,同时置ret_flag 为0,即key_final_value = 0,ret_flag = 0,说明确实有键按下,否则视为错误触发。

(3)0/1:如果GPIO 的状态从0 转移到1(按键释放),延时10ms 去抖动

key_last_value = 0,key_current_value = 1,key_final_value = 0,ret_flag = 0xff

1/1:如果GPIO 还是1(按键确实释放),执行相应的操作

key_last_value = 1,key_current_value = 1

因为两次扫描获得key_current_value 键值都为1,所以将键值保存到key_final_value 中,同时置ret_flag 为1,即key_final_value = 1,ret_flag = 1,说明按键已经释放,否则视为错误触发。

3. 相关函数与示例

板级初始化和独立按键扫描函数详见程序清单5.42。

程序清单5.42 独立按键扫描程序(key1.c)

用于判断连续扫描的当前键值是否相等的检测过程,没有使用一个循环语句,且在扫描程序中避免了延时10ms 所带来的影响,从而极大地提高MCU 的运行效率。为了便于后续使用,不妨将key1.c 封装为key1.h 接口,详见程序清单5.43。

程序清单5.43 key1.h 文件内容

如果key_scan()的返回值为0,说明确实有键按下;如果key_scan()的返回值为1,说明按键已经释放;如果返回值为0xFF,说明无键按下。其相应的测试程序详见程序清单5.44,如果有键按下,则蜂鸣器“嘀”一声;当按键释放后,则LED0 翻转。

程序清单5.44 独立按键范例程序

>>>  5.3.2 多个独立按键

多个独立按键与单个独立按键的扫描原理是一样的,在单个独立按键中,每个变量仅使用了一位。由于变量的一位的0 或1 值就可以表示按键的2 种状态,所以,当需要多个按键时,则可以充分利用多个位,每位对应一个独立按键。同时,由于独立按键的按下状态对应的电平并不一定全是低电平,因此将按键对应的管脚和按下键对应的电平保存到一个结构体数组中。比如:

上述代码段定义的4 个按键对应的管脚分别为PIO0_1、PIO0_2、PIO0_3、PIO0_5,并假设其对应键按下的电平分别为1、0、1、0。而在这里仅有一个独立按键,因此结构体数组中只包含一个按键的信息:

按照一位对应一个按键的思想,在key1.c 的基础上,修改支持多个独立按键的程序keyn.c,详见程序清单5.45。

程序清单5.45 支持多个独立按键的扫描程序(keyn.c)

同时,将函数接口的声明和相关类型的定义存放在keyn.h 中,详见程序清单5.46。

程序清单5.46 keyn.h 文件内容

显然,多个独立按键的程序设计思想与独立按键还是一样的,绝大部分程序都保持一样。所不同的是多个独立按键的操作是通过多个位操作来实现的。如果只有一个独立按键,则检测到键值变化时,就一定是该键状态变化。而对于多个独立按键来说,如果仅检测到键值的变化,还无法区分是哪个按键发生了变化。在这里巧妙地使用了一个change 变量,用于标志位的变化情况。由于存在多个按键,因此扫描函数的返回值不能简单地使用0、1 来表示按下和释放,还必须包含区分是哪一个按键的信息。其规则如下:

返回值的类型为8 位无符号数,使用最高位来表示按下(0)或释放(1),低7 位用于区分具体的按键,值为 0 ~ N-1,N 为按键的个数,0~N-1 具体表示的按键与数组g_key_info[]中元素的一一对应。因此,当第i 个按键按下时,其返回值为i“ret_flag = i;”。第i 个按键按下时,返回值应该在i 值的基础上,将最高位置1,即“ret_flag = (1 << 7) | i;”。

为了方便后续使用,先不考虑软件定时器,将上述程序添加到key.h 接口。使用多个按键的范例程序,同样按照键按下蜂鸣器发出“嘀”的一声,等按键释放后,LED0 灯翻转的要求编程,详见程序清单5.47。

程序清单5.47 支持多个独立按键范例程序

如果使用软件定时器,那么还需要新增一个软件定时器初始化函数。比如:

由于使用软件定时器后,会自动调用keyn_scan()函数,当发现按键事件时,则调用按键处理程序。现在的问题是,在封装模块时,并不知道按键处理程序的作用,所以必须使用回调机制。即通过应用程序注册一个函数,当事件发生时,然后自动调用已经注册的函数。即:

则重新定义带软件定时器的初始化函数,比如:

将上述函数声明和回调函数的定义添加到keyn.h 文件(程序清单5.48),同时将该函数的实现代码添加到keyn.c 文件(程序清单5.49)。

程序清单5.48 keyn.h 文件内容

显然,当按键事件发生时,即自动调用初始化函数时注册的回调函数。

程序清单5.49 新增带软件定时器的初始化接口

>>>  5.3.3 矩阵键盘

虽然矩阵连接法可以提高I/O 的使用效率,但要区分和判断按键动作的方法却比较复杂,所以这种接法一般多用在计算机中。下面仍然以图4.15 所示的2×2 的矩阵键盘电路为例,详细介绍逐行逐列键盘扫描发的程序设计方法,其相应的接口详见程序清单5.50 所示的matrixkey.h 和与接口相应的实现详见程序清单5.51 所示的matrixkey.c。

程序清单5.50 matrixkey.h 文件内容

程序清单5.51 matrixkey.c 文件内容

为了使其它代码尽可能复用之前多个独立按键的程序,因此将扫描到的按键状态与键值的位一一对应,KEY0 对应bit0 ,KEY1 对应bit1……当有键按下时,其对应位为0;当按键释放时,其对应位为1。同时为了获取键值,还必须在初始化函数中,将行线配置为输出,列线配置为输入。由此可见,矩阵键盘和独立按键的主要区别在于键值的获取方式,为了使代码尽可能地复用,也将矩阵键盘的各个按键分别与键值的位对应起来。即:当有键按下时,其对应位为0;当按键释放时,其对应位为1。

如图5.2 所示的数码管的2 个com 端与矩阵键盘的列是复用的,PIO0_17 与PIO0_23 既是数码管的com0、com1,又是矩阵键盘的列线KL0、KL1 这样设计反而节省了引脚。作为键盘扫描时需将列线配置为输入,作为数码管扫描时需将com 端设置为输出。显然,在矩阵键盘与数码管联合使用时都要进行上述操作,则完全有必要将其封装为一个接口,即将matrixkey_scan_with_digtron()添加到程序清单5.52 所示的matrixkey.c 中,并将新的接口函数添加到程序清单5.53 所示的matrixkey.h 中。

图5.2 LED 显示器电路图

程序清单5.52 matrixkey_scan_with_digtron()函数实现

在这里,新增了一个保存开始扫描前键盘状态的g_col_level[]数组。在矩阵键盘扫描结束后,不仅会将列引脚恢复为输出状态,而且还会将其引脚电平恢复为扫描前的状态,从而使得整个键盘扫描程序结束后不影响与数码管公共引脚的状态。

程序清单5.53 matrixkey.h 文件内容

5.4 PWM 接口

大小和方向随时间发生周期性变化的电流称为交流,交流中最基本的波形称为正弦波,除此之外的波形称为非正弦波。计算机、电视机、雷达等装置中使用的信号称为脉冲波、锯齿波等,其电压和电流波形都是非正弦交流的一种。

PWM(Pulse Width Modulation)就是脉冲宽度调制的意思,一种脉冲编码技术,即可以按照信号电平改变脉冲宽度。而脉冲宽度调制波的周期也是固定的,用占空比(高电平/周期,有效电平在整个信号周期中的时间比率,范围为0~100%)来表示编码数值。PWM可以用于对模拟信号电平进行数字编码,也可以通过高电平(或低电平)在整个周期中的时间来控制输出的能量,从而控制电机转速或LED 亮度。

PWM 信号是由计数器和比较器产生的,比较器中设定了一个阈值,计数器以一定的频率自加。当计数器的值小于阈值时,则输出一种电平状态,比如,高电平。当计数器的值大于阈值,则输出另一种电平状态,比如,低电平。当计数器溢出清0 时,又回到最初的电平状态,即I/O 引脚发生了周期性的翻转而形成PWM 波形,详见图5.3。

图5.3 PWM 波形图

当计数器的值小于阈值时,则输出高电平;当计数器的值大于阈值时,则输出低电平。阈值为45,计数器的值最大为100。PWM 波形有三个关键点:起始点①,此时计数器的值为0;计数器值达到阈值②,I/O 状态发生翻转;计数器达到最大值③,I/O 状态发生翻转,计数器的值回到0 重新开始计数。

>>>  5.4.1 初始化

在使用PWM 通用接口前,必须先完成PWM 的初始化,以获取到标准的PWM 实例句柄。在LPC82x 中,能够提供PWM 输出功能的外设有SCT(State Configurable Timer),其实质是一个状态可编程定时器,可以用作普通定时器、输入捕获、PWM 输出等,功能非常强大。在这里,仅仅将其作为PWM 功能使用,AMetal 提供了将SCT 用作PWM 功能的实例初始化函数。其函数原型为:

函数的返回值为am_pwm_handle_t 类型的PWM 实例句柄,该句柄将作为PWM 通用接口中handle 参数的实参。类型am_pwm_handle_t(am_pwm.h)定义如下:

由于函数返回的PWM 实例句柄仅作为参数传递给PWM 通用接口,不需要对该句柄作其它任何操作,因此,完全不需要对该类型作任何了解。需要特别注意的是,若函数返回的实例句柄的值为NULL,则表明初始化失败,该实例句柄不能被使用。

直接调用该实例初始化函即可完成SCT 的初始化,并获取对应的实例句柄:

SCT 用作PWM 功能时,支持6 个通道,即可同时输出6 路PWM,各通道对应的I/O口详见表5.8。

表5.8 各通道对应的I/O 口

>>>  5.4.2 PWM 接口函数

AMetal 提供了3 个PWM 标准输出接口函数,详见表5.9。

表5.9 PWM 标准接口函数

1. 配置PWM 通道

配置一个PWM 通道的周期时间和高电平时间,其函数原型为:

如果返回AM_OK,说明配置成功;如果返回-AM_EINVAL,说明配置失败,范例程序详见程序清单5.54。

程序清单5.54 am_pwm_config()范例程序

2. 使能通道输出

使能通道输出,使相应通道开始输出波形,其函数原型为:

若返回AM_OK,说明使能成功,开始输出波形;若返回-AM_EINVAL,说明使能失败,范例程序详见程序清单5.55。

程序清单5.55 am_pwm_enable()范例程序

3. 禁能通道输出

禁能通道输出,关闭相应通道的波形输出,其函数原型为:

若返回AM_OK,说明禁能成功;若返回-AM_EINVAL,说明禁能失败,范例程序详见程序清单5.56。

程序清单5.56 am_pwm_disable()范例程序

>>>  5.4.3 蜂鸣器接口函数

在蜂鸣器的发声程序中,虽然延时时间只有500us,但对于MCU 来说非常耗费资源,因为延时期间无法做其它任何想做的事情。我们不妨用MCU 的PWM 输出功能来实现,即通过PWM 直接输出一个脉冲宽度调制波形来驱动蜂鸣器发声。假定波形的周期为1ms,且高低电平占用的时间相等,即占空比为50%,范例程序详见程序清单5.57。

程序清单5.57 蜂鸣器发声范例程序

为了方便控制蜂鸣器,基于PWM 接口函数编写蜂鸣器通用接口,将接口函数的声明和实现分别放到buzzer.h 和buzzer.c 文件中。当需要使用蜂鸣器时,直接调用蜂鸣器相关接口即可,buzzer.h 详见程序清单5.58。

程序清单5.58 蜂鸣器通用接口

当接口定义好后,则将实现全部放到buzzer.c 文件,详见程序清单5.59。

程序清单5.59 蜂鸣器通用接口实现

原文标题:周立功:深入浅出AMetal——键盘扫描接口和 PWM 接口

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

如何使用FPGA实现多功能多路舵机控制器的设计概述

利用现场可编程门阵列(FPGA)构建了一个可编程片上系统(SOPC)实现能同时控制多个伺服舵机的控制....

发表于 11-16 16:48 25次 阅读
如何使用FPGA实现多功能多路舵机控制器的设计概述

掌握这三个思路告诉你如何使用STM32测量频率和占空比

显然,很容易想到——利用DMA。所以,笔者使用输入捕获事件触发DMA来搬运寄存器而非触发中断即可,然....

的头像 贸泽电子设计圈 发表于 11-16 15:07 130次 阅读
掌握这三个思路告诉你如何使用STM32测量频率和占空比

可以推荐几款可以采用PWM驱动电机的芯片吗?

有没有推荐几款好用的电机驱动芯片,可以采用PWM控制的芯片。我的单片机可以输出PWM波,但是不能直接驱动电机,所以需要一...

发表于 11-16 11:01 44次 阅读
可以推荐几款可以采用PWM驱动电机的芯片吗?

GD32F207VC开发板输出异常未出现互补PWM波形

本人使用GD32F207VC开发板无法输出互补PWM波形。程序使用高级定时器时钟1,将PA8和PB11设为互补PWM输出引脚。具体...

发表于 11-16 10:04 136次 阅读
GD32F207VC开发板输出异常未出现互补PWM波形

针对LED照明的全集成开关型变换方案

LED照明较其他照明产品具有绿色、节能、环保、长寿命等优点,随着整体成本降低,LED照明开始广泛使用....

的头像 电子发烧友网 发表于 11-16 08:51 215次 阅读
针对LED照明的全集成开关型变换方案

STM32F103利用DMA控制PWM占空比出现错误

新手求助,我想用DMA控制PWM占空比以控制舵机转动,在占空比减少的情况下没有问题,可是在占空比累加的情况下只会输出最后...

发表于 11-16 08:46 113次 阅读
STM32F103利用DMA控制PWM占空比出现错误

ET-FM71AM-60/90/120B01C-2835系列太阳能一体式灯板数据手册免费下载

ET-FM71AM-60/90/120B01C-3V-2835-V01系列是灯珠控制器一体式太阳灯灯....

发表于 11-16 08:00 22次 阅读
ET-FM71AM-60/90/120B01C-2835系列太阳能一体式灯板数据手册免费下载

ET-FM713AM-50B01C-6V-3030-V01系列太阳能一体式灯板数据手册

ET-FM713AM-50B01C-6V-3030-V01系列是灯珠控制器一体式太阳灯灯板,红外无线....

发表于 11-16 08:00 23次 阅读
ET-FM713AM-50B01C-6V-3030-V01系列太阳能一体式灯板数据手册

无传感器交流电动机控制技术提高了运行效率

  在家用电气市场领域,全球范围的节能和节水呼声非常高。政府法令和建议条款正在重新定义一个节能和合理高效使用能源的时代。...

发表于 11-15 16:28 63次 阅读
无传感器交流电动机控制技术提高了运行效率

如何进行大容量PWM压源逆变器的LC滤波器设计

针对大容量变频调速装置中LC 滤波器设计困难的问题, 提出了特定消谐脉冲宽度调制(SHE2PWM )....

发表于 11-15 15:32 62次 阅读
如何进行大容量PWM压源逆变器的LC滤波器设计

RL78/I1A系列的性价比如何?和STM32F0系列能PK吗?

如题。 主要针对低端应用,接口上无太多需求,只要4路PWM+ADC,Timer,外部中断口。16/32KB Flash, 4KRAM。 20~...

发表于 11-15 13:08 70次 阅读
RL78/I1A系列的性价比如何?和STM32F0系列能PK吗?

请问怎么实现ADC触发采样

现在想实现一个程序,发PWM波之前采用软件触发,发PWM 波之后用PWM触发采样,应该怎么实现呢...

发表于 11-15 09:42 97次 阅读
请问怎么实现ADC触发采样

STM32F103输出最高频率的疑问

void TIM2_NVIC_Configuration(void) {     NVIC_InitTypeDef NVIC_InitStructure;   ...

发表于 11-15 09:01 154次 阅读
STM32F103输出最高频率的疑问

输入捕获示波器输出的pwm没了

我现在tim1输出互补的pwm,要检测其上升沿,我用其CH2进行输入捕获(互补的pwm输出是CH1)结果示波器看见连输出的pwm都没...

发表于 11-15 08:51 197次 阅读
输入捕获示波器输出的pwm没了

基于磁敏角度技术的拉线式位移传感器设计与应用

     0 引言   传统的拉线式位移传感器采用电位器式位移传感器,它通过电位器元件将机械位移转换成与之成...

发表于 11-14 14:48 26次 阅读
基于磁敏角度技术的拉线式位移传感器设计与应用

PWM停止工作

你好。 我正在工作PWM产生连续的信号,但几秒钟后PWM停止工作。 如果我做了一个CyByLePraceSexScript(),作为注...

发表于 11-14 11:35 73次 阅读
PWM停止工作

如何设计无人机的PWM捕获电路

无人驾驶飞机简称“无人机”,英文缩写为“UAV”,是利用无线电遥控设备和自备的程序控制装置操纵的不载....

的头像 电子发烧友网 发表于 11-14 08:35 387次 阅读
如何设计无人机的PWM捕获电路

使用义隆单片机点亮不同亮度LED PWM全接触的程序免费下载

本文档的主要内容详细介绍的是使用义隆单片机点亮不同亮度LED PWM全接触的程序免费下载。

发表于 11-14 08:00 29次 阅读
使用义隆单片机点亮不同亮度LED  PWM全接触的程序免费下载

ISOS D-P-U单片机PWM信号转模拟量小体积低成本隔离变送器数据手册

将变频器、单片机、PLC/DCS、仪器仪表内部输出PWM方波信号的占空比经隔离转换为标准0-5V/0....

发表于 11-13 08:00 22次 阅读
ISOS D-P-U单片机PWM信号转模拟量小体积低成本隔离变送器数据手册

使用51单片机设计的智能小车程序代码合集资料免费下载

本文档的主要内容详细介绍的是使用51单片机设计的智能小车程序代码合集资料免费下载主要包括了:1、ZY....

发表于 11-09 16:06 96次 阅读
使用51单片机设计的智能小车程序代码合集资料免费下载

LD7550 AC/DC电源变换PWM控制器的数据手册免费下载

LD7550是一种低ccst、低启动电流、具有绿色节电操作的电流调制型PWM控制器,集电流传感前沿消....

发表于 11-09 08:00 61次 阅读
LD7550 AC/DC电源变换PWM控制器的数据手册免费下载

空间矢量调制的介绍和基本原理资料概述

对于逆变器来说,功率器件的开关导通状态是有限的,因此根据功率器件导 通状态确定的空间矢量位置也时有....

发表于 11-07 08:00 60次 阅读
空间矢量调制的介绍和基本原理资料概述

使用51单片机实现PWM直流电机调速的程序和注释详细资料免费下载

本文档的主要内容详细介绍的是使用51单片机实现PWM直流电机调速的程序和注释详细资料免费下载.

发表于 11-05 18:05 101次 阅读
使用51单片机实现PWM直流电机调速的程序和注释详细资料免费下载

单片机的PWM应用和延时调用程序的详细资料概述

  对于刚接触义隆单片机的朋友,这边看过来,这个程序包含了PWM,延时调用, 低电压检测,休眠(SL....

发表于 11-02 08:00 62次 阅读
单片机的PWM应用和延时调用程序的详细资料概述

Arduino实践中科学逻辑的应用和VVVV入门教程

本文档的主要内容详细介绍的是openbook开源杂志2013年第五期主要内容包括了:Arduino实....

发表于 11-01 10:51 53次 阅读
Arduino实践中科学逻辑的应用和VVVV入门教程

红外遥控编码的资料免费下载

红外线遥控器已被广泛使用在各种类型的家电产品。上,它的出现给使用电器提供了很多的便利。红外遥控系统一....

发表于 10-31 17:34 50次 阅读
红外遥控编码的资料免费下载

PIC18F66K80微控制器的数据手册免费下载

无论内存大小如何,所有设备都共享同一组丰富的外围设备,允许随着应用程序的增长和发展,实现平滑的迁移路....

发表于 10-30 08:00 30次 阅读
PIC18F66K80微控制器的数据手册免费下载

MGJ系列DC-DC转换器的介绍和应用的详细资料概述

在高功率,逆变器或转换器通常使用“桥”配置来产生线频交流或提供双向PWM驱动到电机,变压器或其他负载....

发表于 10-29 08:00 67次 阅读
MGJ系列DC-DC转换器的介绍和应用的详细资料概述

SM2510P LED驱动芯片的详细中文数据手册免费下载

SM2510P 是一款高 PF、低 THD、恒功率 LED 驱动芯片。芯片采用专利的分段导通控制模式....

发表于 10-29 08:00 50次 阅读
SM2510P LED驱动芯片的详细中文数据手册免费下载

基于FPGA的PWM波程序详细资料免费下载

本文档的主要内容详细介绍的是基于FPGA的PWM波程序详细资料免费下载。

发表于 10-26 08:00 46次 阅读
基于FPGA的PWM波程序详细资料免费下载

基于stm32单片机利用通用定时器输出PWM

第一步:开启时钟使能 RCC-》APB1ENR:1 位 //开启定时器3 时钟使能 第二....

发表于 10-25 15:05 175次 阅读
基于stm32单片机利用通用定时器输出PWM

TMS320x2833x和2823x增强捕获(ECAP)模块的用户手册免费下载

增强捕获(ECAP)模块在外部事件的精确定时是重要的系统中是必不可少的。 此参考指南适用于在TMS....

发表于 10-25 08:00 29次 阅读
TMS320x2833x和2823x增强捕获(ECAP)模块的用户手册免费下载

基于51单片机直流电机PWM调速程序

这是一款AT89C51单片机直流电机PWM调速程序,程序可以直接用于AT89C52、AT89S51、....

的头像 畅学单片机 发表于 10-24 15:56 737次 阅读
基于51单片机直流电机PWM调速程序

如何使用AVR单片机实现直流电动机的PWM调速系统设计

随着计算机进入控制领域,以及新型电力电子功率元器件的不断出现,使采用全控型的开关功率元件进行脉宽调制....

发表于 10-24 15:51 57次 阅读
如何使用AVR单片机实现直流电动机的PWM调速系统设计

DALI的调色温模块使用手册详细资料免费下载

DALI解码模块,拥有“DALI第一套协议” (DALI 1.0),“DALI第二套协议”(DALI....

发表于 10-24 15:15 45次 阅读
DALI的调色温模块使用手册详细资料免费下载

SM4A00T高精度的线性恒流驱动芯片的详细中文数据手册免费下载

SM4A00T是输出电流可调、高性价比、支持PWM调光的单通道LED恒流驱动芯片,具有宽电源电压范围....

发表于 10-17 08:00 58次 阅读
SM4A00T高精度的线性恒流驱动芯片的详细中文数据手册免费下载

如何使用单片机C8051F410进行精确信号模拟电路设计的

针对某型检测设备使用中存在的工作点不稳定问题,基于C8051F410 单片机,采用PWM 调制技术和....

发表于 10-16 10:34 63次 阅读
如何使用单片机C8051F410进行精确信号模拟电路设计的

ePWM模块中产生PWM需要哪些配置?

一个ePWM module包括Time-base (TB) module,Counter-compa....

发表于 10-16 08:00 54次 阅读
ePWM模块中产生PWM需要哪些配置?

国产电源芯片厂商面临4大难题

国内芯片产业现状:高端通用芯片自给率近乎为零,从整体来看,目前国产和进口芯片的构成结构大概是这样:芯....

的头像 电子发烧友网工程师 发表于 10-12 14:25 998次 阅读
国产电源芯片厂商面临4大难题

STM32 PWM是什么?PWM输出配置步骤和硬件电路及程序如何编写

PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调....

发表于 10-11 08:00 53次 阅读
STM32 PWM是什么?PWM输出配置步骤和硬件电路及程序如何编写

SM2202P高精度LED恒流驱动控制芯片

SM2202P 是一款高精度两通道恒流输出大功率 LED 恒流驱动控制芯片,适用于 200Vac~2....

发表于 10-11 08:00 89次 阅读
SM2202P高精度LED恒流驱动控制芯片

MAX17506或MAX17503如何提高效率、热性能和可靠性

Anthony剖析传统buck转换器中整流二极管相关的较大功率损耗,接着展示MAX17506或MAX....

的头像 Maxim视频 发表于 10-10 03:26 279次 观看
MAX17506或MAX17503如何提高效率、热性能和可靠性

BCM2535 ARM外设的详细资料介绍免费下载

BCM2535包含以下外围设备,这些外设可以安全地被ARM访问:计时器:中断控制器.GPIO.USB....

发表于 10-08 08:00 56次 阅读
BCM2535 ARM外设的详细资料介绍免费下载

ALRS08FB 8CH自动灵敏度校准电容式触摸传感器的数据手册免费下载

ALRS08采用内部偏置电路,因此内部时钟频率和电流消耗是固定的,不需要外部偏置电路。ALRS08有....

发表于 10-08 08:00 47次 阅读
ALRS08FB 8CH自动灵敏度校准电容式触摸传感器的数据手册免费下载

深度解析STM32外设配置冲突问题

I2C1使用PB6和PB7口,定时器TIM3使用PB0\PB1\PB4\PB5做4路PWM。但在使用....

的头像 玩转单片机 发表于 09-30 17:29 885次 阅读
深度解析STM32外设配置冲突问题

MIX2801高效率、无滤波器单声道D类音频放大器中文数据手册免费下载

MIX2801的差分输入架构和极高的PSRR有效地提高了MIX2801对RF噪声的抑制能力。防破音功....

发表于 09-28 08:00 70次 阅读
MIX2801高效率、无滤波器单声道D类音频放大器中文数据手册免费下载

MIX2601高效率、无滤波器单声道D类音频放大器中文数据手册免费下载

MIX2601的差分输入架构和极高的PSRR有效地提高了MIX2601对RF噪声的抑制能力。无需滤波....

发表于 09-28 08:00 69次 阅读
MIX2601高效率、无滤波器单声道D类音频放大器中文数据手册免费下载

MIX2029高效率、无滤波器单声道F类音频放大器的中文数据手册免费下载

MIX2029的 单端输入架构和极高的PSRR有效地提高了MIX2029对RF噪声的抑制能力。无需滤....

发表于 09-28 08:00 61次 阅读
MIX2029高效率、无滤波器单声道F类音频放大器的中文数据手册免费下载

MIX3805高效率、无滤波器F类音频放大器的中文数据手册免费下载

MIX3805的差分输入架构和极高的PSRR有效地提高了MIX3805对RF噪声的抑制能力。防破音功....

发表于 09-28 08:00 65次 阅读
MIX3805高效率、无滤波器F类音频放大器的中文数据手册免费下载

MIX3806高效率、无滤波器D类音频放大器的详细中文数据手册免费下载

MIX3806的差分输入架构和极高的PSRR有效地提高了MIX3806对RF噪声的抑制能力。防破音功....

发表于 09-28 08:00 78次 阅读
MIX3806高效率、无滤波器D类音频放大器的详细中文数据手册免费下载

AQMH2407ND双路隔离直流电机驱动模块的详细使用手册免费下载

本文档的主要内容详细介绍的是AQMH2407ND双路隔离直流电机驱动模块的详细使用手册免费下载。

发表于 09-28 08:00 96次 阅读
AQMH2407ND双路隔离直流电机驱动模块的详细使用手册免费下载

MIX2032高效率、无滤波器单声道F类音频放大器的中文数据手册免费下载

MIX2032的 差分输入架构和极高的PSRR有效地提高了MIX2032对RF噪声的抑制能力。无需滤....

发表于 09-27 18:11 40次 阅读
MIX2032高效率、无滤波器单声道F类音频放大器的中文数据手册免费下载

STM32CubeMX中文教程之十个实验的详细资料免费下载

  本文档的主要内容详细介绍的是STM32CubeMX中文教程之十个实验详细资料说明包括了:1.点亮....

发表于 09-27 17:00 89次 阅读
STM32CubeMX中文教程之十个实验的详细资料免费下载

MIX2030高效率、无滤波器单声道防破音D类音频放大器数据手册免费下载

MIX2030的差分输入架构和极高的PSRR有效地提 高了MIX2030对RF噪声的抑制能力。防破音....

发表于 09-27 08:00 25次 阅读
MIX2030高效率、无滤波器单声道防破音D类音频放大器数据手册免费下载

MIX2025高效率、无滤波器单声道D类音频放大器中文数据手册免费下载

MIX2025的差分输入架构和极高的PSRR有效地提高了MIX2025对RF噪声的抑制能力。防破音功....

发表于 09-27 08:00 37次 阅读
MIX2025高效率、无滤波器单声道D类音频放大器中文数据手册免费下载

MIX2028高效率、无滤波器单声道D类音频放大器中文数据手册免费下载

MIX2028是一款高效率、无滤波器6.5W单声道D类音频放大器。 MIX2028的 单端输入架构和....

发表于 09-27 08:00 42次 阅读
MIX2028高效率、无滤波器单声道D类音频放大器中文数据手册免费下载

MIX2052单声道带防破音功能D类音频功率放大器中文数据手册免费下载

MIX2052的差分输入架构和极高的PSRR有效地提高了MIX2052对RF噪声的抑制能力。防破音功....

发表于 09-27 08:00 240次 阅读
MIX2052单声道带防破音功能D类音频功率放大器中文数据手册免费下载

MIX2039高效率无滤波器单声道F类音频放大器中文数据手册免费下载

MIX2039的单端输入架构和极高的PSRR有效地提高了MIX2039对RF噪声的抑制能力。无需滤波....

发表于 09-27 08:00 126次 阅读
MIX2039高效率无滤波器单声道F类音频放大器中文数据手册免费下载

MIX2032高效率、无滤波单声道F类音频放大器中文数据手册免费下载

MIX2032的 差分输入架构和极高的PSRR有效地提高了MIX2032对RF噪声的抑制能力。无需滤....

发表于 09-27 08:00 70次 阅读
MIX2032高效率、无滤波单声道F类音频放大器中文数据手册免费下载

MIX2030高效率、无滤波器单声道防破音D类音频放大器中文数据手册

MIX2030是一款高效率、无滤波器3W单声道防破音D 类音频放大器。MIX2030的差分输入架构和....

发表于 09-27 08:00 52次 阅读
MIX2030高效率、无滤波器单声道防破音D类音频放大器中文数据手册

DRV595 15V/±3A 高效 PWM 功率驱动器

DRV595是一款高效,高电流功率驱动器,此驱动器非常适合于在电源电压介于4.5V至26V的系统内驱动多种负载.VSP运行和低输出级导通电阻大大降低了放大器内的功率耗散。 DRV595先进的振荡器/锁相环(PLL)电路采用多个开关频率选项;这与一个主控/受控选项一起实现,从而使多个器件同步成为可能。 DRV595受到短路,过热,过压和欠压保护等的全面保护。故障被报告给处理器,从而避免过载情况下对器件造成的损坏。 特性 ±4A输出电流 宽输入电源电压范围:4.5V-26V 高效率产生低热量 多重开关频率 主器件/从器件同步 高达1.2MHz开关频率 带有高电源抑制比(PSRR)的反馈电源级架构减少了对于电源供应器(PSU)的需要 单一电源减少了组件数量 集成的自保护电路包括过压,欠压,过温和短路保护,并且具有错误报告功能 热增强型封装 DAP(32引脚HTSSOP封装) < /ul> -40°C至85°C环境温度范围 参数 与其它产品相比 TEC/激光 PWM 功率放大器   Vs (Min) (V) Vs (Max) (V) rDS(on) (Ohms) Output Current (Typ) (A) Operating Temperature Range (C) Package Grou...

发表于 08-17 16:28 8次 阅读
DRV595 15V/±3A 高效 PWM 功率驱动器