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

网站建设接单渠道wordpress电话注册

网站建设接单渠道,wordpress电话注册,软件it网站建设方案,个人简历免费导出#x1f3ac; 秋野酱#xff1a;《个人主页》 #x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 PWM基础概念STC8H芯片PWMA应用PWM配置详解占空比 PWM基础概念 PWM全称是脉宽调制#xff08;Pulse Width Modulation#xff09… 秋野酱《个人主页》 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 PWM基础概念STC8H芯片PWMA应用PWM配置详解占空比 PWM基础概念 PWM全称是脉宽调制Pulse Width Modulation是一种通过改变信号的脉冲宽度来控制电路输出的技术。PWM技术在工业自动化、电机控制、LED调光等领域广泛应用。 PWM是一种将数字信号转换为模拟信号的技术它通过改变信号的占空比来控制输出的电平。在STC8H中PWM输出的频率和占空比可以由程序控制因此可以用来控制各种电机、灯光和其他设备的亮度、速度等参数。 STC8H芯片 STC8H 系列的单片机内部集成了8 通道 16 位高级PWM 定时器分成两周期可不同的 PWM分别命名为 PWMA 和PWMB 可分别单独设置。 第一组 PWMA 可配置成4 组互补/对称/死区控制的PWM 或捕捉外部信号。 第二组 PWMB 可配置成4 路PWM 输出或捕捉外部信号。 两组 PWM 的时钟频率可分别独立设置。 PWM与引脚对应关系如下图 PWMA应用 控制引脚P2.7实现LED灯1的呼吸效果。 拷贝所需库文件其他必备库请自行准备 a. STC8H_PWM.cSTC8H_PWM.h b. NVIC.cNVIC.h c. Switch.h导入头文件初始化宏及全局变量 #include Config.h #include GPIO.h #include Delay.h #include NVIC.h #include Switch.h #include STC8H_PWM.h#define LED_SW P45#define LED1 P27 #define LED2 P26 #define LED3 P15#define FREQ 1000#define PERIOD ((MAIN_Fosc / FREQ) - 1) // 周期PWMx_Duty dutyA;配置GPIO void GPIO_config(void) {GPIO_InitTypeDef GPIO_InitStructure; //结构定义// LED_SWGPIO_InitStructure.Pin GPIO_Pin_5; //指定要初始化的IO,GPIO_InitStructure.Mode GPIO_OUT_PP; //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PPGPIO_Inilize(GPIO_P4, GPIO_InitStructure);//初始化// P2GPIO_InitStructure.Pin GPIO_Pin_6 | GPIO_Pin_7; //指定要初始化的IO,GPIO_InitStructure.Mode GPIO_PullUp; //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PPGPIO_Inilize(GPIO_P2, GPIO_InitStructure);//初始化 }配置PWM void PWM_config(void) {PWMx_InitDefine PWMx_InitStructure;// 配置PWM4PWMx_InitStructure.PWM_Mode CCMRn_PWM_MODE2; //模式, CCMRn_FREEZE,CCMRn_MATCH_VALID,CCMRn_MATCH_INVALID,CCMRn_ROLLOVER,CCMRn_FORCE_INVALID,CCMRn_FORCE_VALID,CCMRn_PWM_MODE1,CCMRn_PWM_MODE2PWMx_InitStructure.PWM_Duty 0; //PWM占空比时间, 0~PeriodPWMx_InitStructure.PWM_EnoSelect ENO4P | ENO4N; //输出通道选择, ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8PPWM_Configuration(PWM4, PWMx_InitStructure);// 配置PWMAPWMx_InitStructure.PWM_Period PERIOD; //周期时间, 0~65535PWMx_InitStructure.PWM_DeadTime 0; //死区发生器设置, 0~255PWMx_InitStructure.PWM_MainOutEnable ENABLE; //主输出使能, ENABLE,DISABLEPWMx_InitStructure.PWM_CEN_Enable ENABLE; //使能计数器, ENABLE,DISABLEPWM_Configuration(PWMA, PWMx_InitStructure); //初始化PWM通用寄存器, PWMA,PWMB// 切换PWM4选择PWM4_SW_P26_P27PWM4_SW(PWM4_SW_P26_P27); //PWM4_SW_P16_P17,PWM4_SW_P26_P27,PWM4_SW_P66_P67,PWM4_SW_P34_P33// 初始化PWMA的中断NVIC_PWM_Init(PWMA,DISABLE,Priority_0); }编写Main函数 void main() {char direction 1;u8 duty_percent 0;// 0 - 100EAXSFR(); /* 扩展寄存器访问使能 必写 */GPIO_config();PWM_config();EA 1;// 总开关LED_SW 0;LED1 0; // P2.7 PWM4LED2 0;LED3 0;// 循环之前设置一次pwm可选dutyA.PWM4_Duty PERIOD * duty_percent / 100;UpdatePwm(PWM4, dutyA);// 0 - 100while(1) {duty_percent direction;// 让duty_percent一直在0-100来回往返if(duty_percent 100) {duty_percent 100;direction -1;} else if(duty_percent 0) {duty_percent 0;direction 1;}// 修改PWM4的dutydutyA.PWM4_Duty PERIOD * duty_percent / 100;UpdatePwm(PWM4, dutyA);delay_ms(10);} }PWM配置详解 周期 系统主频1秒钟计数多少次。 代码中的PWM周期(PWM Period)指的是按N等份切分1秒钟每个等份的计数值。 例如上图我们按照8等份切分1秒钟的总计数值MAIN_Fosc主频每个PWM周期的计数值为 PWM_Period MAIN_Fosc / 8 24M / 8 3M 3 000 000 单位为次。 即如果将这个3M作为Period参数可以得到PWM方波每个周期的时长为 1 / 8 0.125s 代码中的配置 #define PERIOD (MAIN_Fosc / FREQ) // 周期 PWMx_InitStructure.PWM_Period PERIOD - 1;配置的是周期中的计数值。 我们的理解策略通常我们不关心计数值关心的是1秒钟执行多少次即频率Hz也就是一秒钟多少个周期。 因此在代码MAIN_Fosc / 1000中的1000表示的是1秒钟多少个周期即频率Hz。 MAIN_Fosc / 1000表示的是每个周期的计数值。那为什么要-1呢因为计数器是从0开始计数的。 占空比 在一个PWM的周期计数中高电平的计数时长百分比。 模式 ● 冻结: CCMRn_FREEZE ● 匹配时设置通道 n 的输出为有效电平: CCMRn_MATCH_VALID ● 匹配时设置通道 n 的输出为无效电平: CCMRn_MATCH_INVALID ● 翻转: CCMRn_ROLLOVER ● 强制为无效电平: CCMRn_FORCE_INVALID ● 强制为有效电平: CCMRn_FORCE_VALID ● PWM 模式 1: CCMRn_PWM_MODE1 ● PWM 模式 2: CCMRn_PWM_MODE2 常用的为PWM 模式 1PWM 模式 2 PWM 模式 1和PWM 模式 2是反向的一个占空比越大越亮一个是越小越亮。 使能PWM PWMx_InitStructure.PWM_MainOutEnable ENABLE; //主输出使能, ENABLE,DISABLE PWMx_InitStructure.PWM_CEN_Enable ENABLE; //使能计数器, ENABLE,DISABLE PWM_Configuration(PWMA, PWMx_InitStructure); //初始化PWM通用寄存器, PWMA,PWMB引脚配置 PWM4_SW(PWM4_SW_P26_P27);使能配置成功后pwm才能工作。 如果运行中pwm想停止掉也可以通过配置使能来停止。 EAXSFR扩展寄存器 由于PWM的配置相关特殊功能寄存器位于扩展RAM区域访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写。 EAXSFR(); /* 扩展寄存器访问使能 */
http://www.w-s-a.com/news/395522/

相关文章:

  • 网站单页做301南京百度推广
  • 私人做网站要多少钱展芒设计网页
  • 怎样网站制作设计如何在网上推广农产品
  • 做关键词排名卖网站聚名网
  • 吉林省住房城乡建设厅网站首页体育器材网站建设方案
  • 网站建设及维护专业手机金融界网站
  • 常州网站建设工作室建立网站有怎么用途
  • 如何盗取网站推广策划书模板
  • 游戏网站建设计划书网络开发需要学什么
  • 手机网站维护费网站开发包括网站过程
  • 懂做游戏钓鱼网站的网站建设技术的发展
  • 网站被百度收录百度一下你就知道 官网
  • 雅客网站建设做网站用什么做
  • 做宣传海报网站专业网站设计速寻亿企邦
  • 秦皇岛市住房和城乡建设局网站有关网站开发的参考文献
  • 晋城城乡建设局网站深圳外贸业务员工资
  • 招聘网站开发的公司销售运营主要做什么
  • 徐州网站无障碍建设wordpress证书
  • c语言可以做网站吗请人做网站收费多少
  • 中英双语网站怎么做网站为什么做静态
  • 毕业设计做音乐网站可以吗网站运营方案
  • windos 下做网站工具网站右侧返回顶部
  • 点餐网站怎么做济源网站建设济源
  • 嘉兴公司网站制作文明网站的建设与管理几点思考
  • 扬州公司做网站徐州网站建设优化
  • 手机网站弹出层插件有哪些wordpress 文章标签
  • 网站建设详细合同范本长沙注册公司流程与费用
  • 搜索引擎网站录入wordpress怎么修改导航
  • 业务接单网站重庆网站制
  • 绿色农产品网站景区网站建设策划方案