- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电路图
电路功能:???? 实现三个LED灯的十个不同亮度等级的调光,光强等级在数码管上显示出来;
2.???? 三个LED灯的调光方式可以有自动调光、手动调光和根据外部光强自动调光;
3.???? 本电路还可以进一步成为开发LED灯的更多功能的实验电路。
?
驱动程序:
#include at89x51.h#define uchar unsigned char#define uint unsigned int#includeintrins.hsbit st=P3^0;sbit oe=P3^5;sbit eoc=P3^1;sbit up=P3^2;sbit down=P3^3;sbit clk=P3^4;sbit zd=P1^7;sbit sd=P1^5;sbit wd=P1^6;sbit red=P1^0;sbit green=P1^1;sbit blue=P1^2;
uchar codetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0x39,0x5e,0x79,0x71,0x00,0xf3,0x76,0x80,0x40};//数码管显示段码uchar m,k,l;
int a=5,b;
void maichong();void delaynms(uint x);//nms延时程序void ad0809();//芯片启动程序main(){/*************自动调光程序********************/? while(!zd)?? ?{uint a,b;??uchar c,d;??for(a=0;a10;a++)????????{??????? if(!zd)??????{?for(c=20000;c0;c--)???????{for(d=10;d0;d--)??????????? {????????? red=1;????????? green=1;????????? blue=1;????????? P0=codetab[a];????????? delaynms(a);
????????? ??? b=10-a;????????? red=0;????????? green=0;????????? blue=0;???????? delaynms(b);??????????? }????????? }??????}
?????}?????for(a=9;a0;a--)????????{????????????? if(!zd)?????{?for(c=20000;c0;c--)????????{for(d=10;d0;d--)?????????? {????????????????? red=1;??????????????????????? green=1;??????????????????????? blue=1;??????????P0=codetab[a];??????????delaynms(a);
??????????b=10-a;????????????????????red=0;??????????????? ?green=0;??????????????? ?blue=0;??????????delaynms(b);??????????? ?}?????????????????}??????????????? }?????? }????
??}
/**********************手动调光程序**********************/
???? while(!sd)??{?EA=1;???EX0=1;???EX1=1;???IT0=0;???IT1=0;???a=5;????while(!sd)????{?????? P0=codetab[a];????? red=1;????? green=1;????? blue=1;????? delaynms(a);????? red=0;????? green=0;????? blue=0;????? delaynms(10-a);??????? }?????? }
/*******************************外动调光程序/???while(!wd)??{??? int m,i,shu,x;????? ?while(!wd)???{??? clk=0;???st=0;???oe=0;???eoc=1;???_nop_();
文档评论(0)