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

全功能电子商务网站建设网站做优化需要哪些后台信息

全功能电子商务网站建设,网站做优化需要哪些后台信息,敖汉旗住房和城乡建设局网站,合肥网站建设1.增量型旋钮编码器原理 该编码器有A,B两相,当顺时针旋转时 B相会提前A相90度(匀速转的时候),也就是A相上升沿时,B相对应高电平,计数器会1,A相下降沿时,B相为低电平时&…

1.增量型旋钮编码器原理

该编码器有A,B两相,当顺时针旋转时
在这里插入图片描述
B相会提前A相90度(匀速转的时候),也就是A相上升沿时,B相对应高电平,计数器会+1,A相下降沿时,B相为低电平时,计数器也会+1;
当逆时针转时
在这里插入图片描述
B相会落后A相90度(匀速转的时候),也就是A相上升沿时,B相对应低电平,计数器会-1,A相下降沿时,B相为高电平时,计数器也会-1;
编码器旋转一圈,会有20个脉冲信号,360°分20,一个脉冲是18°。
而单片机有他的编码器模式,只需要将编码器的A,B相接入TI1,TI2。

2.配置实现编码器调节灯亮度以及屏幕上进度条的进度

在这里插入图片描述
根据原理图可知编码器的A,B相分别对应的是PA8,PA9口。
在这里插入图片描述
在这里插入图片描述
而PA8,PA9分别对应着定时器1的通道1和通道2
在这里插入图片描述
在这里插入图片描述
将PB_15设置为输入模式,使用编码器按键来切换灯的颜色
在这里插入图片描述
这三个口分别是定时器3的通道1,2,3
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2a751643740a4108b941ecdb51c4eb2b.png
i2c配置要使用显示屏
在这里插入图片描述
代码:

int count=0;
char message[50]="";
int main(void)
{OLED_Init();HAL_TIM_Encoder_Start(&htim1,TIM_CHANNEL_ALL);//开启定时器1的编码器HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);//先开启定时器3的通道1,蓝灯while (1){count=__HAL_TIM_GET_COUNTER(&htim1);if(count>60000)//逆时针{count=0;__HAL_TIM_SET_COUNTER(&htim1,0);}else if(count>100)//顺时针{count=100;//count也要作为灯的占空比0~100__HAL_TIM_SET_COUNTER(&htim1,100);}__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,count);//只是改变蓝灯占空比OLED_NewFrame();sprintf(message,"count:%d",count);OLED_PrintString(10,10,message, &font16x16, OLED_COLOR_NORMAL);OLED_DrawRectangle(10,30, 100,10,OLED_COLOR_NORMAL);//绘制进度条外边框(宽102,高10)OLED_DrawFilledRectangle(10,30 ,count, 10, OLED_COLOR_NORMAL);//进度条,宽随count变化0~100OLED_ShowFrame();}}

旋转编码器1

根据视频我们发现有两个问题
1.每次扭动,count+2,或-2
2.顺时针是减,逆时针是+。
因为对上下边沿都敏感,A相的一个脉冲会计数两次,我们采用2分频即可
在这里插入图片描述
对于顺时针还是逆时针,我们需要将A相或B相任意一个反相即可
在这里插入图片描述

旋转编码器2

然后需要加旋转编码器的按键来切换三个灯,每次按下按钮,需要停止对应定时器通道下的PWM,开启另一个,在此之前,我们需要将PB15配置上拉模式,要不然,按钮不好识别
在这里插入图片描述

int count=0;
char message[50]="";
uint32_t chan[3]={TIM_CHANNEL_1,TIM_CHANNEL_2,TIM_CHANNEL_3};
int ins=0;
int main(void)
{OLED_Init();HAL_TIM_Encoder_Start(&htim1,TIM_CHANNEL_ALL);//开启定时器1的编码器HAL_TIM_PWM_Start(&htim3,chan[ins]);//先开启定时器3的通道1,蓝灯while (1){count=__HAL_TIM_GET_COUNTER(&htim1);if(count>60000)//逆时针{count=0;__HAL_TIM_SET_COUNTER(&htim1,0);}else if(count>100)//顺时针{count=100;//count也要作为灯的占空比0~100__HAL_TIM_SET_COUNTER(&htim1,100);}if(HAL_GPIO_ReadPin(Key_GPIO_Port,Key_Pin)==GPIO_PIN_RESET){HAL_Delay(10);if(HAL_GPIO_ReadPin(Key_GPIO_Port,Key_Pin)==GPIO_PIN_RESET){HAL_TIM_PWM_Stop(&htim3,chan[ins]);//关闭当前通道的PWMins=(ins+1)%3;//通道下标HAL_TIM_PWM_Start(&htim3,chan[ins]);//打开下一个通道的PWMwhile(HAL_GPIO_ReadPin(Key_GPIO_Port,Key_Pin)==GPIO_PIN_RESET);}}__HAL_TIM_SET_COMPARE(&htim3,chan[index],count);OLED_NewFrame();sprintf(message,"count:%d",count);OLED_PrintString(10,10,message, &font16x16, OLED_COLOR_NORMAL);OLED_DrawRectangle(10,30, 100,10,OLED_COLOR_NORMAL);//绘制进度条外边框(宽102,高10)OLED_DrawFilledRectangle(10,30 ,count, 10, OLED_COLOR_NORMAL);//进度条,宽随count变化0~100OLED_ShowFrame();}}

旋转编码器3

http://www.dtcms.com/wzjs/595230.html

相关文章:

  • 网站获取访客动漫网站建站
  • 网站 自建空间为什么做网站结构优化
  • wordpress 手机 自建站可不可以用帝国cms做企业网站
  • wordpress更改人员优化方案怎么写
  • 青岛即墨网站建设设计网站开发的课程设置
  • 佛山个性化网站搭建ui高级培训机构
  • 如何做镜框 网站定制网站制作系统
  • 比较不同类型网站栏目设置区别软件开发工程师证书图片
  • 濮阳免费网站建设wordpress怎么和手机连接
  • 做网站保存什么格式最好网站头部seo范例
  • 网站建设收费分几次如何做二级域名网站
  • iis网站怎么做域名绑定上海软件开发工程师工资一般多少
  • 襄阳网站制作网站制作哪家便宜
  • 字形分析网站优化seo搜索
  • 做律师咨询网站网站的程序和数据库怎么做的
  • 西安直播网站开发益阳市赫山区建设局网站
  • 潜江做网站佛山做网站
  • 学校网站开发毕业设计公众号网站
  • 一级a做爰片免费网站破解版企业如何建设免费网站
  • 建设网站的公司哪个济南兴田德润怎么联系成都旅游路线规划
  • 网站推广方案怎么写商铺设计
  • 做美妆网站的关键词做网页的
  • 站外推广平台有哪些青岛建站合作
  • 网站建设对企业带来什么作用如何做网站推广方式
  • 为什么大网站的百度快照更新速度慢还排第一wordpress导航栏字体
  • 论文中小企业的网站建设网站服务器建设的三种方法是什么
  • vs2017做网站网站建设ftp软件
  • 韩国flash网站广州一起做网店网站
  • 重庆做网站开发的公司怎么学习网站开发
  • 惠州专业做网站成都网站建设 平易云