当前位置: 首页 > news >正文

江东网站制作html网页制作代码大全图片

江东网站制作,html网页制作代码大全图片,做个淘宝客网站怎么做,动漫制作技术专业常识一#xff1a;什么是开关抖动#xff1f; 当我们按下按钮或拨动开关或微动开关时#xff0c;两个金属部件会接触以短路电源。但它们不会立即连接#xff0c;而是金属部件在实际稳定连接之前连接和断开几次。释放按钮时也会发生同样的事情。这会导致误触发或多次触发#…一什么是开关抖动 当我们按下按钮或拨动开关或微动开关时两个金属部件会接触以短路电源。但它们不会立即连接而是金属部件在实际稳定连接之前连接和断开几次。释放按钮时也会发生同样的事情。这会导致误触发或多次触发例如多次按下按钮。这就像一个弹跳的球从高处落下它一直在表面弹跳直到它静止。 换句话说我们可以说开关弹跳是任何开关的非理想行为它会生成单个输入的多个转换。当我们处理电源电路时开关弹跳不是主要问题但当我们处理逻辑或数字电路时它会引起问题。因此为了消除电路中的抖动使用了开关去抖动电路。 二电路及波形 首先我们将演示没有开关去抖动的电路 通过示波器抓取信号的波形如下 您还可以在按下按钮时在示波器中看到波形。它显示在按钮切换期间发生了多少弹跳。 三硬件去抖动 防止电路开关弹跳的常用方法有3种。 硬件去抖 RC 去抖 开关去抖IC 在硬件去抖动技术中我们使用 S-R 触发器来防止电路发生开关抖动。这是所有方法中最好的去抖动方法。 该电路由两个与非门74HC00 IC组成形成一个 SR 触发器。正如您在电路图中看到的只要拨动开关切换到 A 侧输出逻辑就会变为“高”。在这里我们使用示波器来检测弹跳。而且正如您在下面给出的波形中看到的那样逻辑正在以轻微的曲线移动而不是弹跳。电路中使用的电阻是上拉电阻。 每当开关在触点之间移动以产生反弹时触发器都会保持输出因为“0”是从与非门的输出反馈的。 R-C 去抖 R-C 仅由其名称定义该电路使用 RC 网络来防止开关弹跳。电路中的电容器滤除开关信号的瞬间变化。当开关处于打开状态时电容器两端的电压保持为零。最初当开关打开时电容器通过 R1 和 R2 电阻器充电。 当开关闭合时电容器开始放电至零因此反相施密特触发器输入端的电压为零因此输出变为高电平。 在弹跳情况下电容器停止 Vin 处的电压直到它达到 Vcc 或接地。 为了提高 RC 去抖动的速度我们可以连接一个二极管如下图所示。因此它减少了电容器的充电时间。 开关去抖IC 市场上有用于开关去抖动的 IC。一些去抖 IC 是 MAX6816、MC14490 和 LS118。 下面是使用MAX6818进行开关去抖的电路图。 所以在这里我们学习了按钮如何产生开关反弹效应以及如何通过使用硬件的方式来防止按键抖动。 软件消抖 我们都知道并且也是我们使用最多的场合是通过软件实现按键消抖。 最简单的方式是增加延迟以消除软件去抖。添加延迟会强制控制器在特定时间段内停止但在程序中添加延迟并不是一个好的选择因为它会暂停程序并增加处理时间。最好的方法是在代码中使用中断来进行软件弹跳。 sbit KEY P1^3; ///按键读取函数 uint8_t GetKey(void) {if(KEY 1){DelayMs(20); //延时消抖if(KEY 1){return 1;}else {return 0;}}else {return 0;} }上面是最简单的软件延时方法也可以通过多个按键组合增加相关软件滤波的方式进行按键判断其实原理相似。 但是这种纯延时的实现方式太过暴力在延时的时候一直占用cpu的资源如果在延时的时候有其他外部中断或者抢占事件系统完全没有响应的。 所以我们CPU需要一个独立的定时装置来完成这个计时工作而且需要在计时时间到达时再检测一次按键的电平值。 中断消抖 首先初始化管脚打开管脚的外部中断: /*Configure GPIO pins : KEY_1_Pin KEY_2_Pin */GPIO_InitStruct.Pin KEY_1_Pin|KEY_2_Pin;GPIO_InitStruct.Mode GPIO_MODE_IT_FALLING;GPIO_InitStruct.Pull GPIO_NOPULL;HAL_GPIO_Init(GPIOC, GPIO_InitStruct); /* EXTI interrupt init*/HAL_NVIC_SetPriority(EXTI15_10_IRQn, 5, 0);HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);static void MX_TIM1_Init(void) {htim1.Instance TIM1;htim1.Init.Prescaler 7200 - 1; // 72000000 / 7200 10000 hz 0.01mshtim1.Init.CounterMode TIM_COUNTERMODE_UP;htim1.Init.Period 200 - 1; // 200 * 0.01 20mshtim1.Init.ClockDivision TIM_CLOCKDIVISION_DIV1;htim1.Init.RepetitionCounter 0;htim1.Init.AutoReloadPreload TIM_AUTORELOAD_PRELOAD_DISABLE;if (HAL_TIM_Base_Init(htim1) ! HAL_OK){_Error_Handler(__FILE__, __LINE__);}void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) { if(htim_base-InstanceTIM1) {/* Peripheral clock enable */ __HAL_RCC_TIM1_CLK_ENABLE(); /* USER CODE BEGIN TIM1_MspInit 1 */HAL_NVIC_SetPriority(TIM1_UP_IRQn,1,3); HAL_NVIC_EnableIRQ(TIM1_UP_IRQn); } }在stm32f1xx_hal_it.c中去注册中断回调函数(关键的步骤需要在按键中断处理函数中打开定时器开始计时) void EXTI15_10_IRQHandler(void) // 按键的中断处理函数 {HAL_TIM_Base_Start_IT(htim1); // 开启定时器1开始计时printf(key down\r\n);__HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_11);__HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_12); }void TIM1_UP_IRQHandler(void) {HAL_TIM_IRQHandler(htim1); //这个是所有定时器处理回调的入口在这个函数里对应定时器多种中断情况的中断回调需要找到update的回调函数printf(TIM IRQ\r\n);} void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) // 定时器update中断处理回调函数 {/* USER CODE BEGIN Callback 0 *//* USER CODE END Callback 0 */if (htim-Instance TIM2) {HAL_IncTick();}if (htim-Instance TIM1) { // 在这里选择tim1 printf(TIM1 updata\r\n);HAL_TIM_Base_Stop_IT(htim1); // 关闭tim1 及清除中断if (GPIO_PIN_RESET HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_11) ) //再次判断管脚的电平{printf(KEY1 be pressed!!!\r\n);}if (GPIO_PIN_RESET HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_12) )//再次判断管脚的电平{printf(KEY2 be pressed!!!\r\n);}}/* USER CODE BEGIN Callback 1 *//* USER CODE END Callback 1 */ }总结一下,实现用定时器中断来完成按键延时去抖的关键步骤 初始化GPIO脚初始化TIM 算好时间填入分频值。 打开GPIO中断在中断处理函数中打开定时器让其计数。 定时器溢出中断函数中再次判断按键电平值。关闭定时器清除pending。
http://www.dnsts.com.cn/news/220226.html

相关文章:

  • 网站开发主要技术郑州市建设劳务服务网站
  • 建网站能赚钱吗赚多少歌尔股份砍单
  • 项目负责人质量建设厅官方网站网站建立初步
  • 网站 可以做无形资产吗龙岗网站建设哪家便宜
  • 青岛网站制作辰星辰网站建设外包费用
  • 网站建设丿金手指下拉9织梦网站首页模板更换
  • 广州h5网站开发电商网站用什么做最好
  • 嵊州网站建设网站代下单怎么做
  • 建设网站需求google浏览器网页版
  • 长沙市建设网站平台的公司网站建设微商城多少钱
  • 怎么查看网站根目录网站建设审批表
  • 网站建设 淘宝描述psd厦门模板网站
  • html音乐网站源码微信 网站应用开发
  • 哪个网站可以做销售记录深圳市光明区官网
  • 网站做虚假广告常州手机网站效果
  • 网站备案成功wordpress中的get_links函数讲解
  • 网站建设与推广合肥发布任务注册app推广的平台
  • 用php做网站用什么软件江门关键词优化效果
  • 百度站长电脑版怎么制作网页设计
  • 一家专业做家谱的网站苏州网站建设的公司哪家好
  • 网站运营和推广男科医院网站模板
  • 东莞网站建设总部地址seo中心
  • wordpress页面添加描述孝感seo
  • 外贸建站优化wordpress微信投票
  • 网站开发电脑配置推荐腾讯云服务器用什么软件做网站
  • 模仿网站 素材哪里来怎么看kk园区视频
  • 商务网站建设学期总结崇明建设镇网站
  • 2023年推广网站百度快照优化的优势是什么
  • xp怎么做网站运城姚孟网站建设
  • 做视频网站 服务器配置网站优化 福州