sh79f166a pwm模块初始化及应用
#ifndef _SH79F_PWM_H_#define _SH79F_PWM_H_//#include "sh79f_pwm.h"#define PWM_DIVI PWM_DIVI2 //12M/2 = 6M#define PWM_DIVI2 (0<<0) #define PWM_DIVI4 (1<<0) #define PWM_DIVI8 (2<<0) #define PWM_DIVI16 (3<<0) //PWM频率值#define V_PWMCYC 1500 //6M/1500=4K//PWM点空比 50%#define V_PWM 1500/2 //#define PWM_ENB PWMEN1 &= ~0x01 ; //PWM 输出到IO#define PWM_DIS PWMEN1 |= 0x01 ; //PWM 禁止输出到IO//==============================extern void Init_Pwm(void);#endif//文件sh79f_pwm.c#include "global.h"#include "sh79f_pwm.h"//**************************************// 函数名称:Init_Pwm// 函数功能:PWM初始化// 入口参数:无 // 出口参数:无//***************************************void Init_Pwm(void){ PWMLO = 0x55; //允许修改其它PWM寄存器的值 PWM0C = 0x00|PWM_DIVI ; //12M/2=6M PWM0PL = (uint8)(V_PWMCYC & 0X00FF) ; //PWM频率设置 PWM0PH = (uint8)(V_PWMCYC>>8) ; PWM0DL = (uint8)(V_PWM & 0X00FF) ; //PWM占空比设置 PWM0DH = (uint8)(V_PWM>>8) ; PWM0DT = 0x00 ; //死区时间 PWMEN = 0x01 ; //PWM模块使能 PWM0使能输出 PWMEN1 = 0x01 ; //PWM 不输出到IO PWMLO = 0xAA ; //禁止修改其它PWM寄存器的值}//应用实例void main(void){ //初始化PWM模块 频率为4K 占空比为50% Init_Pwm() ; while(1) { PWM_ENB ; //PWM输出使能 Delay() ; PWM_DIS ; //PWM输出禁止 Delay() ; }}
>更多相关文章
- 09-29如何通过wrap malloc定位C/C++程序的内存泄漏
- 02-25打车软件大战升级,补贴还能维持多久?
- 12-23BMP文件右旋90度[c语言]
- 12-23寻找直方图中面积最大的矩形(C语言版)
- 12-23[ndk,2]ndk开发案例和错误处理
- 12-23[ndk,1]ndk开发,C语言入门讲解
- 12-23C语言连续存储实现队列机制
- 12-23Objective-c 数据类型
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御