历史上的今天
返回首页

历史上的今天

今天是:2025年03月03日(星期一)

正在发生

2020年03月03日 | 基于51单片机的可调PWM波程序

2020-03-03 来源:51hei

#include

#define uint unsigned int 

uint pp;

char num=2,dis;

sbit pwm=P1^0;

sbit s2=P3^4;

sbit s3=P3^5;


sbit dula=P2^6;

sbit wela=P2^7;


unsigned char code table[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,

0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};


void keyscan()

{

        if(s2==0)

        {

                while(!s2);

                num++;

                if(num==11)

                        num=10;

                dis=num;

        }

        if(s3==0)

        {

                while(!s3);

                num--;

                if(num==-1)

                        num=0;

                dis=num;

        }

}


void display(a)

{

   dula=0;

   P0=table[a];

   dula=1;

   dula=0;


   wela=0;

   P0=0xfe;

   wela=1;

   wela=0;   

}


void main()

{

        TMOD=0x01;                 //模式设置,00000001,可见采用的是定时器0,工作与模式1(M1=0,M0=1)。

        TR0=1;                         //打开定时器

        TH0=0Xff;                 //定时器设置,每隔100微秒发起一次中断。

        TL0=0Xa4;

        ET0=1;                         //开定时器0中断

        EA=1;                         //开总中断

        while(1)

        {

                keyscan();

                if((num!=0)&&(num!=10))        //对于占空比为0和100%这两种极端情况,最好分离出,单独考虑

                {

                        if(pp<=num)

                                pwm=1;

                        else

                                pwm=0;

                }

                else if(num==0)        //当占空比为0

                        pwm=0;

                else

                        pwm=1;

                if(pp==10)                //当占空比为100%

                        pp=0;

        display(num);//显示num当前值,占空比为num/10。

        }

}


void time0() interrupt 1

{        TH0=0Xff;

        TL0=0Xa4;

        pp++;

}


推荐阅读

史海拾趣

Global Mixed-Mode Technology Inc公司的发展小趣事
三相缺相报警灯电路在需要稳定三相电源供电的场合下非常重要。例如,在工业生产中,三相电动机、变压器等设备对电源的稳定性要求很高,一旦发生缺相,可能会导致设备损坏或生产事故。因此,在这些场合下需要安装三相缺相报警灯电路来及时监测并报警缺相情况。
Advanced Thermal Products Inc公司的发展小趣事

Advanced Thermal Products Inc公司成立于XXXX年,由一群热衷于热管理技术的工程师创立。在初创期,ATP公司便以独特的技术视角,专注于研发高效、创新的热管理产品。他们针对当时电子设备散热效果不佳的痛点,成功开发出了一款新型的热管理解决方案,为公司在行业内树立了良好的口碑。

台湾致强(FORT)公司的发展小趣事

在追求企业发展的同时,致强科技始终不忘对环境的责任。公司积极响应环保法规要求,将环保理念融入产品研发、生产和销售的各个环节。通过采用环保材料、优化生产流程、实施节能减排等措施,致强科技有效降低了产品对环境的负面影响。此外,公司还定期评估并符合最新的环保法规要求,确保企业与消费者的价值观和环境保护目标相一致。

EnerSys公司的发展小趣事

进入21世纪后,EnerSys加快了其收购与整合的步伐。2000年底,EnerSys收购了Yuasa Corporation(Japan)在北美和南美的储能和动力电池业务。随后,公司又陆续收购了Energy Storage Group of Invensys plc.和FIAMM, S.p.A.的动力电池业务。这些收购不仅扩大了EnerSys的市场份额,还增强了其在专业镍基电池、锂电池、铅酸电池和工业电池领域的技术实力。

Cal Test Electronics公司的发展小趣事

Cal Test Electronics公司成立于1995年,当时正值电子配件和测试产品市场的快速发展期。创始人凭借对电子行业的深刻理解和敏锐的市场洞察力,决定专注于这一领域。初创时期,公司面临着资金短缺、市场竞争激烈等诸多挑战,但创始人带领团队通过技术创新和成本控制,逐步在市场上站稳脚跟。他们不断研发出符合市场需求的高品质产品,赢得了客户的信任和支持。

辉芒微(FMD)公司的发展小趣事

辉芒微(FMD)成立于2005年6月,作为一家新兴的芯片设计企业,其成立之初便专注于EEPROM(电可擦除可编程只读存储芯片)的研发与生产。在成立的同一年,辉芒微便成功实现了EEPROM芯片的量产销售,这一里程碑式的成就为公司后续的快速发展奠定了坚实的基础。随着技术的不断积累和市场的持续拓展,辉芒微在集成电路设计领域逐渐崭露头角。

问答坊 | AI 解惑

对工业机器人的一点研究

本帖最后由 paulhyde 于 2014-9-15 09:15 编辑 用我的算法控制二手机器人动作  …

查看全部问答>

“SJ型数字化通用式机车信号”系统原理

“SJ型数字化通用式机车信号”系统原理…

查看全部问答>

8051 ads7846触摸屏控制器

;***************************************************************** ;Write command rountine ;***************************************************************** Write_Command: JB Busy_F,Write_Command_End JB Data_Ready_F,Write_ ...…

查看全部问答>

急!!!有人用过 世龙3.6寸16位真彩液晶吗?

各位哥们!!!!有人用过 世龙3.6寸16位真彩液晶吗?我现在手上只有一块液晶!!!没有PDF资料    网上也找不到!!!!!有人用过吗   ??用过的能给点资料吗?????…

查看全部问答>

如何编写Wince下的系统服务?

各位兄弟姐妹,如何编写Wince下的系统服务呀?就像Windows NT/2000下面的Service一样的东西?谢谢!!…

查看全部问答>

开源奋斗板V2的FM收音机例程(基于ucos2.86ucgui3.90a)

此例程适用于奋斗版STM32开发板V2.0及V2.1板, 当然也可以在MINI上运行,只是没有实质功能, 该例程支持触摸及按键F1,F2,F3。 具有搜台及选台功能。 可以存储搜索的频率,下次开机将自动载入,基于UCOS2.86, UCGUI3.90a。 为了收音效果更好 ...…

查看全部问答>

【求助】紧急!关于SPI口的传输距离问题

单片机SPI口远距离连接显示驱动芯片MAX7219,软硬件都调试好了,发现换上50米长的电缆线就显示乱码了,用示波器观察,发现CLK时钟信号有点变形,另外,单片机CLK信号是3V的,其它信号是5V的。请高手指点,怎么解决啊?急死我了。…

查看全部问答>

MSP430G2211流水灯及定时器A的两个小程序

这两个是几天前搞的,本想多了再说,现在分享一下,同时本人也做个记号   坛子里有人说25元板连流水灯都跑不了,这个是仿流水灯的,非常简单但我觉得应算流水灯了,其码没理由说不是。大家也可下载试下:(程序简单就不注了)   #inc ...…

查看全部问答>

收到了论坛的“年终奖”

哈哈,论坛的办事效率越来越高了,今天收到了论坛的“年终奖”,******DSP开发板一套,在TI eStore上选的,真快呀!~ 等晚些时候上几个裸片片给大家瞧瞧!~ …

查看全部问答>

请教高手MSP430F5438超声波进不了中断的问题

我用MSP430F5438测试超声波,我用P2.2产生脉冲,P2.1接受回波,用示波器观测P2.1的波形是正确的,我觉得是TimeA配置得不对,请高手帮忙解决这个问题呀... 程序在下面 (红色字体部分为TimeA初始化) #include \"msp430x54x.h\" #include #incl ...…

查看全部问答>