电子开发 | 基础入门 | 电路原理图 | 梯形图实例 | PLC基础   《如果喜欢本站,请按 Ctrl+D 手动收藏!感谢您的支持》一起学习一起进步,电子开发王欢迎您!.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

★电路公式手册,最新版《电子电路公式计算器》,电路公式查询手册 电路公式计算器【电子从业人员必备手册】
☆十天学会单片机实例100 c语言 chm格式。资料内容详细,覆盖例子多,内容广【电子从业人员必备手册】
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> MCU开发实例 >> 正文

51单片机“呼吸灯”程序

作者:佚名    文章来源:本站原创    点击数:1569    更新时间:2018-11-05

 

刚看了一份关于光立方的视频里片面提到“呼吸灯”一词,忙草草写了一个带数码管显示亮度变化的呼吸灯程序,其中整型frequency为调节呼吸频率的参数,附图为临时做的gif文件,需等会儿才见效果/*12Mhz??§????*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint f=100; /*????????f????????????1~10khz*/
uint H=6;/*????????·§????????0~10000/f????H>L*/
uint L=0;/*????????·§????????0~10000/f????H>L*/
uchar code wela[]={0xfe,0xfd,0xfb,0xf7};
uchar code dula[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xD8,0x80,0x90};
uint m=0,t;
uchar amp=0,frequency=100;
sbit pwm=P1^7;
sbit pwm_=P1^6;
sbit hkey=P3^5;
sbit lkey=P3^3;
void diskey();
void delay(uint z);
void display();
void xunhuan();
void main()
{
EA=1;
ET0=1;
TMOD=0x02;
TH0=146;
t=10000/f;
TR0=1;
while(1)
{
if(hkey==0)diskey();
if(lkey==0)diskey();
display();
xunhuan();
}
}
void TRT0() interrupt 1
{
m++;
if(m>=t)m=0;
if(m==L){pwm=0;}
if(m==H){pwm=1;pwm_=0;}
}
void diskey()
{
display();
if(hkey==0&&H<100)H++;
delay(10);
if(lkey==0&&H>0)H--;
display();
}
void xunhuan()
{
if(amp==1)H++;
if(H>99)amp=0;
if(amp==0)H--;
if(H<1)amp=1;
delay(frequency);
}
void delay(uint z)
{
uint x,y;
for(y=z;y>0;y--)
for(x=12;x>0;x--);
}
void display()
{
delay(2);
P2=dula[H/1000];
P0=wela[0];
delay(5);
P0=0xff;
P2=dula[H%1000/100];
P0=wela[1];
delay(5);
P0=0xff;
P2=dula[H%100/10];
P0=wela[2];
delay(5);
P0=0xff;
P2=dula[H%10];
P0=wela[3];
delay(5);
P0=0xff;
}


Tags:51单片机,呼吸灯程序  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
    1分 2分 3分 4分 5分

    还可以输入 200 个字
    [ 查看全部 ] 网友评论
        没有任何评论
    推荐文章
    • 此栏目下没有推荐文章
    电子开发网:汇集综合各类电子制作与电路图的网站,plc工控技术,模电数电知识,单片机EDA等等!荟萃电路图网站精华,为工程师创造价值。欢迎关注微信公众号:电子开发网!
    热门文章
    • 此栏目下没有热点文章
    最新文章
     简单三极管逆变器
     TL494制作50HZ逆变
     80W简单的功放电路
     555制作的简易电子
     850热风枪电路图原
     直流12v荧光灯电路
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询