为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

飞思卡尔8位单片机MC9S08 10 程序 PWM编程C语言例

2013-01-17 2页 doc 24KB 67阅读

用户头像

is_965055

暂无简介

举报
飞思卡尔8位单片机MC9S08 10 程序 PWM编程C语言例10.5.5 PWM编程C语言例 实例编号:C05_3 路径:\C\C05_3PWM脉冲信号输出(PWM.prj) /*-----------------------------------------------------* *工 程 名:PWM.prj * *硬件接线:PTD.4,即定时器1通道0(21脚)接指示灯或蜂鸣器 * *程序描述:通过对PWM占空比的调节实现现指示灯的渐亮的功能* * 当占空比为100...
飞思卡尔8位单片机MC9S08 10 程序 PWM编程C语言例
10.5.5 PWM编程C语言例 实例编号:C05_3 路径:\C\C05_3PWM脉冲信号输出(PWM.prj) /*-----------------------------------------------------* *工 程 名:PWM.prj * *硬件接线:PTD.4,即定时器1通道0(21脚)接指示灯或蜂鸣器 * *程序描述:通过对PWM占空比的调节实现现指示灯的渐亮的功能* * 当占空比为100%时再从0%逐渐增加 * *目 的:学习HC08系列定时器脉宽调制功能 * *---------《嵌入式应用技术基础教程》教学实例----------*/ /*[头文件]*/ #include "GP32C.H" //包含头文件 /*函数声明*/ void PWMInit(unsigned int ); //PWM初始化 void PWMconf(unsigned int); //PWM设置 extern void Delay_ms(unsigned char ); //延时 /*主程序*/ void main() { unsigned int Period; //PWM周期 unsigned int Duty; //PWM占空比 //[变量初始化] Period =0x0180; //PWM周期默认为10ms //[PWM初始化] PWMInit(Period); Duty = 0; //PWM占空比为0 //[主循环] while(1) { //[判断脉宽是否达到周期的长度(占空比为100%)] if(Duty>8); //设置高字节 T1CH0L = Duty; //设置低字节 T1SC&=~(1<<5); //允许定时器1计数器计数 Delay_ms(10); //延时10ms } } /*PWMconf:PWM初始化设置--------------------------------* * 功 能:PWM脉冲周期、占空比的设置 * * 参 数:rate=脉宽时钟数,cyc=脉冲周期时钟数 * * 返 回:无 * *-----------------------------------------------------*/ void PWMInit(unsigned int Period) { unsigned int Temp=Period; //不允许溢出中断,不启动计数,分频因子=64,置位TSTOP,TRST T1SC = 0x36; //[设置PWM周期] T1MODH = (Temp>>8); T1MODL = Period; //[初始化设置PWM脉宽为0] T1CH0H = 0x00; T1CH0L = 0x00; //设为PWM模式,不允许输出比较中断,输出低电平,不带缓冲 T1SC0 = 0x1E; //允许定时器1计数寄存器计数 T1SC &= 0xDF; }
/
本文档为【飞思卡尔8位单片机MC9S08 10 程序 PWM编程C语言例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索