pms152应广pms132B应广单片机应用之-呼吸灯
在很多的单片机方案应用中,很多都会用到到指示灯,比如流水灯,RGB七彩灯,对了还有呼吸灯.现在用PMS150C做个demo,稍作修改就可以用在pms152,pms132B灯应广其他系列的单片机中.不多说,上代码.一切尽在代码中.
#include "extern.h"
/*定时时间是否到了cinit*/
bit FLAG_NMS;
/*计数值cinit*/
byte count;
/*定时器初始化cinit*/
word T16COUNTER;
byte ucMsCnt;
byte ucPwmDt;
bit ucPwmInc;
BIT PWM :PA.3;
BIT TEST :PA.4;
/*定时器初始化*/
void PwmTmr2Init ( void )
{
tm2ct = 0x0;/*计数值*/
//pwm duty
tm2b = 0;//START_PWM_CNT;
//8 位 pwm, 预分频 = 64, 分频 = 2,
tm2s = 0b0_11_00000;
/*0010=HIRC输出,0100=ILRC;
,01= PB2,10=PA3,11=PB4,
PWM模式,禁用极性反转*/
tm2c = 0b0010_10_1_0;
}
/***************************************/
void TIME16_Init(void)
{
/*关中断*/
// INTRQ = 0;
/*停止定时器*/
// T16M.5 =0;
/*计数值清零*/
T16COUNTER =488;
STT16 T16COUNTER;
/*ms标记reset*/
FLAG_NMS =0;
/*计算方法16M/*/
$ T16M IHRC,/1,BIT11;
$ INTEN T16;
}
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/2 // SYSCLK=IHRC/2
TIME16_Init();
$ PWM out,low;
$ TEST out,low;
PwmTmr2Init();
ucPwmInc=1;
ucPwmDt=0;
engint;
while (1)
{
if(FLAG_NMS)
{
ucMsCnt++;
if(ucMsCnt>10)
{
ucMsCnt=0;
/*增加*/
if(ucPwmInc)
{
if(ucPwmDt<255)
{
/*更新*/
ucPwmDt++;
tm2b=ucPwmDt;
/*切换*/
if(ucPwmDt==255)
{
ucPwmInc=0;
}
}
}
/*减少*/
else
{
/*更新条件*/
if(ucPwmDt)
{
/*更新*/
ucPwmDt--;
tm2b=ucPwmDt;
/*切换条件*/
if(!ucPwmDt)
{
ucPwmInc=1;
}
}
}
}
FLAG_NMS=0;
}
}
}
void Interrupt ( void )
{
pushaf;
if ( Intrq.T16 )
{
Intrq.T16 = 0;
STT16 T16COUNTER;
if ( count>0 )
{
count--;
}
else
{
count = 9;
/*1ms*/
FLAG_NMS= 1;
$ TEST toggle;
}
}
popaf;
} QQ3261-56566
pms152应广pms132B应广单片机应用之-呼吸灯相关推荐
- 应广单片机应用之-呼吸灯
在很多的单片机方案应用中,很多都会用到到指示灯,比如流水灯,RGB七彩灯,对了还有呼吸灯.现在用PMS150C做个demo,稍作修改就可以用在pms152,pms132B灯应广其他系列的单片机中.不多 ...
- 基于51单片机的LED呼吸灯设计(定时器)
定时器实现led呼吸灯 实验原理: 灯在高速闪烁时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失.每次循环时,前半部分先让亮的时间逐渐增加,暗的时间逐渐减小:后半部分 ...
- 51单片机—— PWM、呼吸灯
51单片机通过定时器0产生 20ms/50HZ 的可调节 PWM 小灯的有效显示应该是50hz,所以周期是20ms 频率过小显示比较暗,频率过大不好调节 定时器0,16位自动重装载值,定时长度200u ...
- 基于51单片机设计的呼吸灯
一.项目介绍 呼吸灯是一种常见的LED灯光效果,它可以模拟人类呼吸的变化,使灯光看起来更加柔和和自然.51单片机是一种广泛使用的微控制器,具有体积小.功耗低.成本低等优点,非常适合用于控制LED呼吸灯 ...
- 单片机实现LED呼吸灯功能
** 程序名: 两键控制亮度 编写人: 编写时间: 2017年12月15日 硬件支持: STC12C2052 内部RC或外部12MHZ晶振 接口说明: 8个LED彩灯接P1口,按键接P3.7和P3.3 ...
- C语言开定时器做呼吸灯程序,简单的基于51单片机定时器上呼吸灯程序
#include #define ufloat unsigned float #define uchar unsigned char #define uint unsigned int ucha ...
- MSP430 G2553 单片机 三色灯 霓虹灯 呼吸灯 跑马灯 一体
三色灯有三个基础颜色,用三个PWM控制这三个基础颜色的亮度,就能形成不同的颜色. 随机给颜色,就是霓虹灯: 固定RGB颜色变换就是跑马灯: 强–>弱->强->循环变化就是呼吸灯:
- 单片机实现led呼吸灯效果 宏定义函数
写了一个简单的LED呼吸灯效果代码,可作为C语言初学者for循环的练习,用宏定义方便调用. 四个变量可调亮灭时间,i大,灭的时间长: j大,灭得慢; m大,亮的时间长: n大,亮得慢. 用STM32F ...
- 应广单片机_呼吸灯理解
计数器的介绍 对于应广单片机来说,它提供了3种计数器,分别为 TM2\TM3\T16 其中对于TM2\TM3来说,是属于PWM计数器,用法是简单的,但是要求比较高,需要对应的引脚来达到它的要求 从芯片 ...
最新文章
- angular2-baidu-map网站中使用百度地图
- java 防止文件下载_Spring,Java:流式文件下载以避免内存不足错误
- Windows堆栈区别[转]
- 阿波罗配置中心(apollo)的个人看法
- 惊艳!28岁就任副教授,年纪轻轻已是博导、院长
- MacOS与Windows快捷键对照
- Asp.NET之入门
- 【openGL2021版】天空盒
- 通过wait,notify等实现线程通讯
- 超声波测距原理与实现
- firefox插件开发和调试
- matlab出现问题:TRANSPOSE 不支持 N 维数组。请使用 PAGETRANSPOSE/PAGECTRANSPOSE 转置页,或使用 PERMUTE 重新排列 N 维数组的维度。
- android 进制转换的方法
- php实训参考文献,SPSS实训心得体会
- 数值分布的分散程度对迭代次数的影响
- 使用virt-manager管理虚拟机
- win10去除桌面快捷方式小箭头
- 面向搜索引擎的隐蔽式SEO木马---之查杀再现笔记
- 嵌入式与UML建模 mbus通断阀
- 对人工智能的一些思考和给初学者的建议
热门文章
- 人工智能--使用神经网络分析电影评论
- linux硬盘盘符和槽位,磁盘槽位和盘符绑定方案
- java 手写输入_handwriting(JAVA) 手写输入原笔迹的JAVA实现 - 下载 - 搜珍网
- 深度学习中高斯噪声:为什么以及如何使用
- 【校招分享】Java非科班自学指南
- 北京Yeslab安全实验室 现任明教教主
- 正确实现AutoCAD布局打印过程详解
- k8s的集群搭建前的相关操作--必看
- 易语言c编译程序集,植物大战僵尸。易语言.版本 2.程序集 窗口程序集1.程序集...
- Android camera2判断设备是否有相机功能,获取摄像头数量