历史上的今天
返回首页

历史上的今天

今天是:2024年11月06日(星期三)

正在发生

2019年11月06日 | 基于STC89C52RC单片机制作的频率及占空比均可调程序

2019-11-06 来源:51hei

注意  单片机必须是52rc不能用60s2



*/


#include"main.h"

#include"peizhi.h"

#include"smg.h"

#include"eeprom.h"

sfr WDT_CONTR=0XE1;

unsigned char HighRH = 0;  //高电平重载值的高字节

unsigned char HighRL = 0;  //高电平重载值的低字节

unsigned char LowRH  = 0;  //低电平重载值的高字节

unsigned char LowRL  = 0;  //低电平重载值的低字节

/***********************按键定义**********************************/

bit d1 = 1;

bit d2 = 1;

bit d3 = 1;


uint8 ci;

uint8 ca = 0;

uint8 ca1 = 0;

uint16 cb = 0;


void key();                 //按键函数声明

void ConfigPWM(unsigned int fr, unsigned char dc);  //频率和占空比调节函数


void main()

{

   bit q1 = 1;

   bit q2 = 1;

   bit q3 = 1;

   ca = EEPROMReadByte(0);

   cb = EEPROMReadByte(1)*255+EEPROMReadByte(2);


   EA = 1;       //开总中断

   peizhit1(1);  //配置T0定时2ms


   while(1)

   {        

                  ConfigPWM(cb, ca);    //频率100Hz,占空比10%


                  if(d1 != q1)

                  {

                          q1 = d1;

                        if(d1 == 0)

                        {


                                ca1++;

                                if(ca1 >= 2)

                                {

                                          ca1 = 0;

                                }


                        }

                  }


           if(ca1 == 1)

           {

                  if(d2 != q2)

                  {

                                  q2 = d2;

                                if(d2 == 0)

                                {

                                   

                                        ca++;

                                        EEPROMSectorErase(0);

                                        EEPROMWriteByte(0,ca);

                                        EEPROMWriteByte(2,cb);

                                        EEPROMWriteByte(1,cb>>8);

                                        if(ca >= 99)

                                        {

                                                ca = 99;

                                        

                                        }

                                        

                                }

                          }

                        

                          if(d3 != q3)

                          {

                                  q3 = d3;

                                if(d3 == 0)

                                {

                                        if(ca>0)

                                        {

                                                ca--;

                                                EEPROMSectorErase(0);

                                            EEPROMWriteByte(0,ca);

                                                EEPROMWriteByte(2,cb);

                                                EEPROMWriteByte(1,cb>>8);

                                         }

                                }

                          } 

                  }

                 

                if(ca1 == 0)

                {   

                          if(d2 == 0)

                          {

                                  

                                  cb++;

                                  EEPROMSectorErase(0);

                                   EEPROMWriteByte(0,ca);

                                  EEPROMWriteByte(2,cb);

                                  EEPROMWriteByte(1,cb>>8);

                                  if(cb >= 200)

                                        {

                                                cb = 200;

                                        

                                        } 

                                

                          }

                          

                          if(d3 == 0)

                          {

                                  

                                        if(cb>0)

                                        {

推荐阅读

史海拾趣

BERGQUIST公司的发展小趣事

为了进一步提升竞争力,BERGQUIST公司开始寻求产业链整合和战略合作。公司与上游原材料供应商建立了长期稳定的合作关系,确保原材料的质量和供应稳定性。同时,公司还与下游电子设备制造商开展深度合作,共同研发定制化的热管理解决方案。这些举措不仅降低了公司的运营成本,还提高了产品的市场竞争力。

Akahane Electronics Ind Corp公司的发展小趣事

在电子行业的早期,Akahane Electronics Ind Corp凭借其先进的半导体技术研发,迅速崭露头角。公司专注于提高芯片的性能和稳定性,不断推出创新产品,满足了市场对于高速运算和高效能耗比的迫切需求。通过不断优化生产工艺和降低成本,Akahane在激烈的市场竞争中占据了一席之地,并逐渐扩大了市场份额。

芯朋微电子(chipown)公司的发展小趣事

2020年7月22日,芯朋微电子在上交所科创板成功挂牌上市,这一里程碑事件标志着公司进入了全新的发展阶段。上市后,公司凭借资本市场的支持,加速了产品研发和市场拓展,品牌影响力得到进一步提升。

ELANTEC (Renesas )公司的发展小趣事

近年来,随着全球半导体市场的不断变化和技术的快速发展,Renesas也面临着一些挑战。为了应对这些挑战并保持竞争力,Renesas开始进行战略转型和结构调整。公司加强了与客户的合作和沟通,深入了解市场需求和趋势;同时,Renesas还加大了对新技术和新产品的研发投入,不断提升自身的技术实力和创新能力。此外,Renesas还注重人才培养和引进,打造了一支高素质、专业化的团队。这些措施的实施使Renesas在应对挑战和转型过程中取得了积极的成效。

aconno公司的发展小趣事

aconno深知人才是企业发展的核心动力。因此,公司一直致力于打造一支高素质、专业化的团队。通过招聘优秀人才、提供专业培训、建立激励机制等一系列措施,aconno成功吸引和留住了一批业内精英。这些人才为公司的技术创新和市场拓展提供了有力支持,成为aconno发展壮大的重要保障。

Gauthier Connectique公司的发展小趣事
确保替代产品具有与原电路相同或更优的功能兼容性,以满足设备需求。

问答坊 | AI 解惑

PSPICE电子线路仿真详细资料!!

这个十分的精典.... 里面详细介绍了元件模型的建立...以及各电源模型的超详细介绍...最基础的东西... 是国内的ORCAD书中没有介绍的....…

查看全部问答>

单片机--“爱要怎么说出口”

小弟,最近恋上了单片机,后悔当初大学没有好好学,其实真正的学习还在于实践加自学, 各位过来人,能否将你们的学习经验分享分享?目前我只会一下51单片机,输入输出基本控制, 中断,定时器的应用。通信方面还欠缺,系统面就更不会了。还有单片 ...…

查看全部问答>

无线传感“电子尿布”减轻失禁病人的痛苦

很快全球的医院都可能开始采用一种电子*来监测和检测大小便失禁,并无线发送警报给护理人员。创羿科技讯国外某公司今年年初发布了一款电子*,据称在全球开创首例,可减少大小便失禁病人的痛苦,同时也提高老年人护理中心员工的效率,减少老年人护理 ...…

查看全部问答>

系统启动后 LCD黑屏

是2440+wince6.0,目前Driver目录下面就个Display驱动,从打印出的log看Display驱动已经初始化了,但是LCD是黑屏,就最下面有条白线,不知道是怎么回事,已经把POWER_SET那部分去掉了。 遇到这种情况的朋友请说一下。。。。。。…

查看全部问答>

想购买DS8963相同性能的代用芯片

请问各位,我在网上查到DS8963的功能,只要在IE输入http://bbs.21ic.com/upfiles/img/20074/2007423111710972.jpg就可以看到内部结构图,但这个IC已停产,连二手也没得买,哪么我到书店的代用手册查了用DS8870代换型号NTE2027、SK10277、ECG2027、TC ...…

查看全部问答>

LM3S RTX系统使用

        RTX内核是一个实时操作系统(RTOS),可以同时运行多函数或是任务。在嵌入式运用中这是非常有用的。当然也可以不用RTOS开发实时程序不需要,例如通过循环执行一个或多个任务。但有像RTX这样的实时操作系 ...…

查看全部问答>

工程师和MCU的故事

感觉身边使用MSP430的客户特别多,网上资料多,参考书籍也很多,便开始评价MSP430系列MCU。       看到网上开发工具很多,也有免费申请的,便申请了一套学习板。开始学习使用,下载示例代码,修改测试,享受开发的乐趣。 &nb ...…

查看全部问答>