预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

电路图 电路功能: 1.实现三个LED灯的十个不同亮度等级的调光,光强等级在数码管上显示出来; 2.三个LED灯的调光方式可以有自动调光、手动调光和根据外部光强自动调光; 3.本电路还可以进一步成为开发LED灯的更多功能的实验电路。 驱动程序: #include<at89x51.h>#defineucharunsignedchar#defineuintunsignedint#include<intrins.h>sbitst=P3^0;sbitoe=P3^5;sbiteoc=P3^1;sbitup=P3^2;sbitdown=P3^3;sbitclk=P3^4;sbitzd=P1^7;sbitsd=P1^5;sbitwd=P1^6;sbitred=P1^0;sbitgreen=P1^1;sbitblue=P1^2; ucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0x39,0x5e,0x79,0x71,0x00,0xf3,0x76,0x80,0x40};//数码管显示段码ucharm,k,l; inta=5,b; voidmaichong();voiddelaynms(uintx);//nms延时程序voidad0809();//芯片启动程序main(){/*************自动调光程序********************/while(!zd){uinta,b;ucharc,d;for(a=0;a<10;a++){if(!zd){for(c=20000;c>0;c--){for(d=10;d>0;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;a>0;a--){if(!zd){for(c=20000;c>0;c--){for(d=10;d>0;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){intm,i,shu,x;while(!wd){clk=0;st=0;oe=0;eoc=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();clk=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();clk=0;st=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();clk=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();clk=0;st=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();clk=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();for(i=8;i--;i>0)//0~8个时钟周期{clk=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();clk=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}clk=0;_nop_();_nop_();_nop_();_nop_();_nop_();_no