应广单片机应用之-呼吸灯
在很多的单片机方案应用中,很多都会用到到指示灯,比如流水灯,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/4 // 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++;
/*切换*/
if(ucPwmDt==255)
{
ucPwmInc=0;
}
}
}
/*减少*/
else
{
/*更新条件*/
if(ucPwmDt)
{
/*更新*/
ucPwmDt--;
/*切换条件*/
if(!ucPwmDt)
{
ucPwmInc=1;
}
}
}
tm2b=ucPwmDt;
}
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;
}
应广单片机应用之-呼吸灯相关推荐
- pms152应广pms132B应广单片机应用之-呼吸灯
在很多的单片机方案应用中,很多都会用到到指示灯,比如流水灯,RGB七彩灯,对了还有呼吸灯.现在用PMS150C做个demo,稍作修改就可以用在pms152,pms132B灯应广其他系列的单片机中.不多 ...
- 二、应广单片机点亮一个灯
上一节介绍基础,由于时间仓促,写得十分模糊.这一节开始从一个个实际例子,向大家展示应广单片机的各项功能.由于看本文的读者层次不相同,这里全部按照初学者视之. 废话少说,上例程: //========= ...
- 应广单片机_呼吸灯理解
计数器的介绍 对于应广单片机来说,它提供了3种计数器,分别为 TM2\TM3\T16 其中对于TM2\TM3来说,是属于PWM计数器,用法是简单的,但是要求比较高,需要对应的引脚来达到它的要求 从芯片 ...
- 应广单片机PFS123按键中断控制数码管显示例程
目录 应广单片机PFS123按键中断控制数码管显示视频 led数码管图片 应广单片机PFS123按键中断控制数码管显示代码 应广科技网址,开发工具,PMS123规格书:http://www.padau ...
- 应广单片机休眠和按键唤醒
对应电池供电的产品,在不使用的时候,单片机和外设都应该进入休眠状态,用于减少对电池电量消耗.在使用的时候又能够通过按键,或是其他信号唤醒系统,然后进入正常工作状态.在电压V3.3V的情况下,应广单片机 ...
- 应广单片机芯片PMS132B -SOP8/SOP14/SOP16
应广单片机芯片PMS132B -SOP8/SOP14/SOP16
- 应广单片机adc_应广单片机adc和pwm例程
应广单片机Otp单核系列主要有以下几个系列,15x系列为纯iO,13x系列为带12bit的adc,17x系列为带8bit的adc,现在我用pms132B写个adc/pwm例程,方便大家快速上手.不多说 ...
- 应广单片机定时器中断配置
应广单片机主要应用于消费电子,资源有限,只有一个16bit定时器,因此用好T16定时器就非常关键了.可以说是整个单片机系统的核心配置 不说那么多了,直接上代码. BIT LED_G ...
- 应广单片机003烧录器自定义封装使用技巧
应广003烧录器可以烧录MTP芯片,相比002烧录器,功能更多,但是使用复杂.有时候摸上半天也烧录不了器件. 现在通过烧录器自带的用之定义封装的方法进行烧录.这样就可以节省很多时间. 自定义烧录说明: ...
最新文章
- 解决“安装程序无法定位现有系统分区,也无法创建新的系统分区”的方法
- cpanel java_Cpanel是什么
- 在小树林飞也能又快又稳,这是港科大沈劭劼组的「猛禽」无人机重规划框架...
- 成熟的云管理是什么样的?
- 360安全卫士安装不了此程序被组策略阻止
- 对待新知识、新领域的心态——好奇、批判、独孤求败
- 《十周成为数据分析师》笔记——业务线 第八节 常见互联网业务的数据分析报告的制作及用户分层模型
- 中专计算机专业execl教案,计算机专项目化教案(EXCEL教案
- JavaScript数据结构——图的实现
- 谷歌打开后开始页面被hao123篡改
- Java搭建实战springboot基于若依项目工时统计成本核算管理源码
- Tag文件和Tag标记的用法详解
- KubeSphere 社区双周报 | OpenFunction v0.8.0 发布 | 2022-12-09
- P1122 最大子树和
- python 卡片概念学习
- CSAPP Lab3: Buffer Bomb
- 【蓝桥杯java真题】:和尚挑水
- 对抗中的主动防御 —— HW及小规模网络对抗的战术
- 三维扫描在建筑行业应用综述
- SQL map自动注入,利用工具注入
热门文章
- 笔记本机械硬盘性能深入研究
- 移动互联网下的服务转型――10086APP成长的探索
- DBSwitch阉割版实现异构数据库表结构同步
- go云原生语法-结构体(一)
- oracle 11g RAC ASM磁盘被强制下线抢修一例
- 开源集合-最火的Android开源项目(二)
- Apple Watch的对讲机功能使用教程
- 搭建阿里云Windows版服务器+使用宝塔安装MySQL数据库+本地Navicat访问数据库(增删改查)——详细流程
- 虾皮店铺一下子就爆单了,shopee店铺装修用起来的好处!
- 深度Linux ISO 如何解包安装,【已解决】今天更新了系统后,终端apt出现解包错误...