历史上的今天
返回首页

历史上的今天

今天是:2025年01月26日(星期日)

2019年01月26日 | 单片机(STC12C5A60S2)内部PWM实现呼吸灯

2019-01-26 来源:eefocus

上个文章写了用单片机的两个定时器给大家实现了呼吸灯,其实上个文章是在为大家解析PWM的原理,今天我们将使用单片机内部自带的PWM来进行呼吸灯设计,自己可以查看该单片机型号的中文资料。所看章节如下:



直接上代码吧,大家可以查看代码,如果不明白的可以给我留言,^_^。


#include

 

unsigned char dy[15]={16,32,48,64,80,96,112,128,144,160,176,192,208,224,240};   //  CCAP0H值的分配,为了实现不同的占空比

 

void modify_duty();

void Init_PWM();

void delay();

 

void main()

{

    Init_PWM();

    while(1)

    {

        modify_duty();

    }

}

 

void Init_PWM()         //  PWM功能的初始化

{

    CMOD = 0X02;        //  设置脉冲源

 

    CCAPM0 = 0X42;      //  开启比较器,允许输出脉宽调制信号

    PCA_PWM0 = 0X00;    //  组成9位比较器,可以设置成1,也可以设置成0

    CCAP0L = 0x80;      //  比较器中的初值

    CCAP0H = 0X80;      //  比较器初值重装

    CL=0;   //  装载值为0

    CR =1;  //  启动计数模式

 

void modify_duty()

{

   int i;

   for(i=0;i<15;i++)

   {

       CCAP0H =  dy[i];

       delay();

   }

   for(i=13;i>=1;i--) 

   {

       CCAP0H =  dy[i];

       delay();

   }

}

 

void delay()

{

    int i,j;

    for(i=0;i<200;i++)

    {

        for(j=0;j<200;j++);

    }

}

可以看结果了:


推荐阅读

史海拾趣

港源(GANGYUAN)公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,凡是与电视机连接的网络终端设备均可视为机顶盒,其功能已远不止于简单的信号转换。机顶盒不仅能够接收来自有线电缆、卫星天线、宽带网络及地面广播的数字电视信号,并将其转换为适合电视机播放的格式,还集成了众多增值服务,如电子节目指南、因特网网页浏览等。

在数字电视时代,机顶盒扮演了至关重要的角色。它不仅让用户能够在模拟电视上观看高清乃至4K的超高清电视节目,享受更为细腻的画面和震撼的音效,还赋予了电视机网络交互的能力。通过机顶盒,用户可以轻松接入互联网,进行在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为与用户互动的智能终端。

随着技术的不断进步,机顶盒的功能也在不断扩展。智能化技术的应用,如语音助手、智能推荐等,进一步提升了用户体验。同时,高清、超高清技术的普及,以及云计算、边缘计算等技术的结合,为机顶盒提供了更为高效的内容分发和管理能力。未来,随着5G、虚拟现实和增强现实等新技术的融入,机顶盒的娱乐、教育等应用将更加广泛,为用户带来更为沉浸式和互动式的观影体验。

综上所述,机顶盒作为连接电视与外部信号源及互联网的桥梁,正以其丰富的功能和不断升级的技术,为现代家庭娱乐生活带来前所未有的便捷与享受。

American Custom Components公司的发展小趣事

随着全球环境问题的日益严重,American Custom Components公司开始关注可持续发展和社会责任。公司积极推行绿色生产,采用环保材料和节能技术,减少生产过程中的环境污染。同时,公司还参与了一系列公益活动,支持当地社区的发展和环境保护事业。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了基础。

这些故事只是基于电子行业常规实践虚构的示例,并不代表American Custom Components公司的真实发展历程。如需了解该公司的真实情况,建议查阅相关资料或访问公司官方网站。

DCCOM [ DC COMPONENTS ]公司的发展小趣事

为了进一步扩大市场份额,DCCOM公司积极寻求与国内外知名企业的合作。通过与这些企业的合作,DCCOM不仅获得了更多的客户资源,还学习到了先进的管理经验和技术知识。这种合作模式使得DCCOM在激烈的市场竞争中保持了强劲的增长势头。

Fair Rite公司的发展小趣事

1952年,理查德·帕克与合作伙伴埃德蒙·斯坦威克和杰克·韦伯在纽约的Wallkill共同创立了Fair Rite产品公司。当时,电子行业正处于起步阶段,对新型电子元器件的需求日益增长。Fair Rite凭借对市场敏锐的洞察力,开始专注于铁氧体元件的研发和生产。公司初期面临资金短缺和技术挑战,但通过不断努力和创新,逐渐在市场中树立了良好的口碑。

艾为(AWINIC)公司的发展小趣事

随着艾为电子在技术和产品方面的不断突破,公司开始积极拓展市场。艾为电子的产品不仅覆盖了华为、小米等知名手机厂商,还广泛应用于可穿戴设备、智能便携设备等领域。同时,公司还加大了品牌建设的力度,通过参加行业展会、举办技术研讨会等方式,提高了品牌知名度和影响力。

Echelon公司的发展小趣事

Echelon公司成立于上世纪80年代,最初以研发LonWorks技术为核心。LonWorks是一种网络通信协议,用于连接各种智能设备,实现设备间的通信和协作。随着技术的成熟,Echelon开始将LonWorks技术应用于能源管理领域,推出了基于LonWorks的能源管理服务方案。这一创新的服务方案使得Echelon在能源管理市场崭露头角,为公司的后续发展奠定了坚实的基础。

问答坊 | AI 解惑

PCB设计中格点的设置

PCB设计中格点的设置    合理的使用格点系统,能是我们在PCB设计中起到事半功倍的作用。但何谓合理呢?     很多人认为格点设置的越小越好,其实不然,这里我们主要谈两个方面的问题:第一是设计不同阶段的 ...…

查看全部问答>

青越锋与 DXP 内幕设计详细渗透(二)

一.添加设置过孔   在DXP 中添加布线过孔(Via)可以直接利用热键TAB,在Layer 中设置不同的走线层即可自动添加过孔,务必在先确定一点并且在不同的层面上,自动添加的过孔会以浮动的形式根据需要确定位置!连接布线的焊盘的移动式和光标 ...…

查看全部问答>

EP9305

谁用过EP9305??多串口如何通讯…

查看全部问答>

PPC2003问题若干

  小弟毕业设计就快完了,搞的是PPC2003软件设计。在开发过程中,现在还留了点问题下来。 一、有没有能够实现将某个文件中所有的EXE文件,文件名及文件路径存入一个表中的操作或是函数; 二、我用的是VS2005自带的仿真上的数据库,没有另外安装 ...…

查看全部问答>

急求:北京 C++/C# 日文项目 (日语能读,英语能写) 月给8K (高分帮顶)

日文项目:C++/C#均可   2年以上开发经验 外语要求:能读懂式样书,读懂日文技术文章。 英文要求:日常email通信 月薪给予:6K~8K,亦可面谈 工作地点:微软 联系方式:dexin.yang@hisoft.com …

查看全部问答>

使用51单片机与pc串口通信中数据不一致问题

我用51单片机与pc机进行串口通讯,上位机软件用的是出口调试助手3.0,下位机是我自己编的,主要目的是pc向单片机发个数据,单片机接收后向p2口输出,之后再把接收到的数据发给pc。但是我发现pc上发出与收到的数据总是不一致。例如,我用pc输出字符 ...…

查看全部问答>

菜鸟提问:如何用应用程序修改WINCE的DEFAULT LANGUAGE

如何用应用程序修改WINCE的DEFAULT LANGUAGE呢? 我写了程序如下:         unsigned short SLANGID = MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED);         wprintf(L\"langid = %d,slangid = ...…

查看全部问答>

冰天雪地×体跪问,驱动程序安装问题(如果问题解决,100分送)

冰天雪地×体跪问,驱动程序安装问题(如果问题解决,100分送) 我的驱动程序开发环境为WINNT4+VC6+NT4DDK+DriverStudio2.5,用DriverStudio2.5生成驱动程序框架,驱动程序开发完编译后,在我的开发机上安装运行,一切正常,但是当我把驱动程序拷 ...…

查看全部问答>

2440中断按键检测

最近在学linux驱动开发,在做中断程序的时候不知道为什么就是进不了中断服务函数,下面贴出源码,希望各位大侠们给点帮助,不胜感激~ //s3c2440_key.c(底层驱动程序) //#include #include #include #include #include //#include # ...…

查看全部问答>

IAR WorkBench怎么生成可烧的.hex文件?[求助]

IAR WorkBench怎么生成可烧的.hex文件? 我用 XELTEX的3000U 烧片子,在IAR WorkBench里找不到可以烧录的选择?那位告知一下, 万分感谢! 是不是需要用其他软件来做?IAR WorkBench只能来调试 或者用jatg口来输入编译完的程序???…

查看全部问答>