版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、呼吸灯呼吸灯原理:脉冲宽度调制改变灯泡亮灭的时间条件:灯亮时间+灯灭时间=常量灯亮时间+灯灭时间20ms方法:呼吸灯方法一:延时亮延时灭灭延时(周期减亮延时)亮判断:改变亮度的时间到了吗?增加亮时间/减少亮时间NY#include #define uint unsigned int #define uchar unsigned char #define LED1 P1_0 /定义LED1为P1.0口控制 /* /初始化程序 */ void InitLed(void)/初始化函数 P1DIR |= 0 x01; /P1_0定义为输出 LED1 = 1; /LED1灯初 始化熄灭 void ys(
2、uchar h)/延时 uchar i,j; for(i=0;ih;i+) for(j=0;j0)/不是最暗时(最暗时不亮) LED1=0;/亮 ys(h);/占空比为ys(h)/ys(254); if(h=4)/改变占空比的时间(感觉渐亮渐灭太快可以改大) js=0; if(zt=1)/渐亮状态 h=h+1; else/渐暗状态 h=h-1; if(h=0)/最暗时 zt=1;/设置状态为渐亮 if(h=254)/最亮时 zt=2;/设置状态为渐灭方法二:定时器+通道输出比较方法:T1CC0T1CCn向上比较输出1,向下比较输出0。0 x0000T1CC0是周期T1CCnT1CC0是灭时间启
3、动启动定时器基本要求:1.选择定时器。2.定时器工作方式。3.定时器的溢出值(T1CC0)。4.启动定时器。T1自由运行自由运行0 xFFFF设置定时器设置T1CTL-定时器1的控制和状态 P1050000 0001T1CTL=0 x01;周期周期=65536*1/16Mhz 4ms 了解T1STAT-定时器1状态P105OVFIF:定时器T1溢出中断标志(T1STAT&0 x200时,定时器T1溢出)CHnIF:定时器T1通道n中断标志(定时器通道在T1CCn时),假如T1CC0T1CCn是通道2,T1STAT&0 x040时,灯就灭了。输出比较模式1.输出的引脚,P1.0设置为输出。P1的
4、8个引脚对应8个设置位,最高位为P1.7设置位,最低位为P1.0设置位。P1DIR=0 x01;为了避免直接赋值会冲掉P1的其它输出口,所以用“按位或”比较好。P1DIR=P1DIR | 0 x01; P1DIR |= 0 x01;输出比较模式2.外设I/o引脚。定时器定时器T1备用位置备用位置2P1.0通道通道2信息:信息:P1.0、定时器、定时器T1、备用位置、备用位置2、通道、通道2、外设功能、外设功能输出比较模式PERCFG=0100 0000B;=0 x40;3.外设控制。输出比较模式4.输出的引脚,P1.0设置为外设功能P1的8个引脚对应8个设置为最高位为P1.7设置位,最低位为P
5、1.0设置位。P1SEL=0 x01;为了避免直接赋值会冲掉P1的其它外设功能口,所以用“按位或”比较好。P1SEL=P1SEL | 0 x01;P1SEL |= 0 x01;输出比较模式5.设置T1CCTL2-定时器1通道2捕获/比较控制10 10 0100T1CCTL2=0 x64;T1CC0T1CC2输出比较模式6.设置T1CC2-定时器1通道2捕获/比较值。先写低位,再写高位先写低位,再写高位T1CC2L=0 xFF;T1CC2H=h;程序初始 P1DIR |= 0 x01; /P1.0设置为输出 LED1 = 1;/灭 T1CTL = 0 x01; /定时器1的控制和状态 PERCF
6、G=0X40;/外设控制 P1SEL|=0 x01;/P1.0设置为外设功能 T1CCTL2=0 x64;/定时器1通道2比较控制 T1CC2L=0 xFF;/定时器通道2比较值 T1CC2H=h;程序初始化判断:通道2有没有中断(1周期一次)清除中断标志,js+;判断:改变亮度的时间到没判断:状态是不是渐亮h=h+1;h=h-1;通道2比较值重装判断:是不是最亮状态改为渐灭判断:是不是最暗状态改为渐亮YNNNNNYYNYY#include #define uint unsigned int #define uchar unsigned char /定义控制LED灯的端口 #define LE
7、D1 P1_0 /定义LED1为P10口控制 uchar h=0 x00;/h越大越亮/函数声明void InitLed(void); /初始化P1口 void InitT1(); /初始化定时器T1/* /初始化程序 */ void chushiLed(void) P1DIR |= 0 x01; /P1_0定义为输出 LED1 = 1; /LED1灯初 始化熄灭 /定时器初始化 void chushiT1() /系统不配置工作时钟时默认是2分频,即16MHz T1CTL = 0 x01; /1分频,自动重装 0X0000-0XFFFF P105 PERCFG=0X40;/定时器T1选择外设位置2 P77 P1SEL|=0 x01;/P1.0选择外设功能 T1CCTL2=0 x64;/定时器T1通道2向上比较置1,比较模式 P107 T1CC2L=0 xFF; T1CC2H=h; void main(void) uchar js=0; uchar a=1;/a=1为渐亮,a=2为渐灭。 chushiLed(); /调用初始化函数 chushiT1(); while(1) if(T1STAT&0 x04)0)/灭 T1STAT=T1STAT&0 xfb;/清除中断标志 js+; if(js=1)/改变亮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高级IT安全管理岗位工作手册与面试要点
- 医疗设备工程师面试常见问题及解答技巧
- 联想电脑技术支持岗位面试技巧
- 杂志社新闻报道的采访与编辑安排
- 媒体编辑的招聘面试常见问题与解析
- 2026年中考语文作文押题预测6篇(含题目)
- 交通运输项目面试技巧及常见问题
- 电信行业服务质量提升实施方案
- 安全生产旬检制度讲解
- 消防安全防护用品清单
- 化工厂员工三级安全培训手册
- 深静脉血栓护理新进展
- 股东清算协议书范本
- 中国认知功能社区筛查及管理指南2026
- 2025年消防设施操作员中级维保方向考试试卷及答案
- 呼吸道疾病护理策略与实践
- 中医临床思维综合训练系统需求说明
- 跨国企业财务共享服务中心存在的问题及对策-以中海油为例
- 广电网络面试准备及问题预测集
- 2025及未来5年中国棉连衣裙市场调查、数据监测研究报告
- 《铁路运输市场营销》课件 项目一 认识铁路运输市场营销
评论
0/150
提交评论