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

基于MS16F3211芯片的触摸控制灯的状态变化和亮度控制(11.17,PWM)

紧接上文,基本的控制逻辑并不难写,难的是是、如何输出自己想要频率的PWM波在对应的端口

阅读文档定时器与PWM相关的寄存器,因为之前玩的STM32,所以看起来还是有点困难,准备边看边记录。

如果想要实现在长按时改变PWM,短按时改变状态。那么只需要在按下按键后隔一段时间检测按键是否松开,如果松开代表是短按,如果没松开那么视为长按事件

源代码相关理解

void TC0_INIT(void)
{TC0H = 0XFF; 	//PWM高电平占空比,定时器高8位TC0L = 0X07; 	//定时器TC0低8位PWMCON= 0X00; 	//PWM控制TC0M  = 0X08; 	//模式选择FTC0IF = 0;  	//TC0 溢出中断标志位,TC0 溢出时被置位,软件清除FTC0IE = 1;     //TC0 溢出中断使能位(1=使能,0=失能)FTC0TR = 1;  	//Bit7 TC0TR, TC0 启动控制位 0 禁止 TC0 定时器FGIE = 1;  		//GIE:全局中断使能位
}
void LED_PWM_OPEN(void) 
{
//占空比 PWM1-Y-PB2PWM1DH = 0XFF;PWM1DL = 0X00; //占空比 PWM01-W-PB1PWM0DTH = 0XFF;PWM0DTL = 0X00; //占空比 PWM0-BLUE-PB0 //PWM0DH = 0XFF; //PWM0DL = 0X00; //周期 PWM0PH = 0XFF; PWM0PL = 0X00; //PB0输出 PWMPSCON = 0x00;//--11 1111 :PB0-OUT	 //pwm0c PWM0C = 0xc2;//PWM0C_Buf;	//11-- 0011 :Fosc/2 //PWM0EN PWM0EN = 0x9d;//PWM0EN_Buf;	//1-01 1101 :TP0-EN;8BIT;PWM0X-EN;独立模式;PWM-EN }

http://www.lryc.cn/news/234318.html

相关文章:

  • 编译buildroot出错,这个怎么解决呢,感谢
  • 【0基础学Java第十课】-- 认识String类
  • lxml基本使用
  • 【数据结构初阶】链表OJ
  • 【Vue渲染】 条件渲染 | v-if | v-show | 列表渲染 | v-for
  • 开源网安解决方案荣获四川数实融合创新实践优秀案例
  • debian/ubuntu/linux如何快速安装vscode
  • Python3语法总结-数据转换②
  • 【火炬之光-魔灵装备】
  • javascript选择器的封装,只需要写元素名或css类及id都可以选择到元素
  • 机器学习第7天:逻辑回归
  • 努力奋斗,遇上对的人
  • 基于单片机音乐弹奏播放DS1302万年历显示及源程序
  • ceph学习笔记
  • SQLSERVER 遍历循环的两种方式很详细有源码(2)
  • flutter背景图片设置
  • 【运维 监控】Grafana + Prometheus,监控Linux
  • Sentinel底层原理(下)
  • 竞赛选题 疫情数据分析与3D可视化 - python 大数据
  • macos 配置ndk环境
  • 【linux】进行间通信——共享内存+消息队列+信号量
  • PlantUML基础使用教程
  • Redis:新的3种数据类型Bitmaps、HyperLoglog、Geographic
  • promise时效架构升级方案的实施及落地 | 京东物流技术团队
  • es的使用方法以及概念
  • WPF xaml Command用法介绍
  • 微信小程序动态生成表单来啦!你再也不需要手写表单了!
  • 顺序表(数据结构与算法)
  • 【大连民族大学C语言CG题库练习题】——判断一个矩阵是另一个矩阵的子矩阵
  • C#WPF控制模板实例