单片机键控流水灯.docxVIP

  • 97
  • 0
  • 约1.76千字
  • 约 7页
  • 2021-02-27 发布于辽宁
  • 举报
键控流水灯 华南理工大学广州学院 12 电气一班 陈剑秋 利用proteus和keil C搭建电路和编写源代码。形成的效果是,按下 K1启动电路,K2关闭 电路。按下K3, led灯,从D1亮到D8,按下K4, led灯从D8亮到D1。形成流水灯的效果。 源代码: # include reg51.h unsigned char led[]= {0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; void delay(unsigned char time) { unsigned int j=15000; for(;time 0;time--) for(;j 0;j--); } void main(){ bit dir= 0,run= 0; char i; while(1){ switch (P0 0x0f){ case 0x0e:run= 1;break; case 0x0d:run= 0,dir= 1;break; case 0x0b:dir= 1;break; case 0x07:dir= 0;break; } if (run) if (dir) for (i= 0;i= 7;i++){ P2= led[i]; delay(200); } else for(i= 7;i=0;i--){ P2= led[i]; delay(200); else P2= 0xff; }} 2建控流水m 01 J 4 include r egSl .h 02 unsigned char led [J ■ {0xffir jjc£df DxifcjCxfTfOxef, Oxdi, Oxtf FCx^f}; Q3 | voi-d dleXaLy ( ixels ig~n-€id chair t;xme.) ( 04 口nsigned int j=15000r 05 for ( ; tifflO 0 ; tirue——) 06 for (: j 0; j —); □7 —)1 007]void main (\ { 09 bit dir? 0,run- 0; 10 cbar 1; 11 wb i Le (1) { 12 switab (P0 OxOf){ 芒 case OxOe: run= 1; breal; 14 case DxOd: run= 0, dir= l;tTeaKj 15 case 0x0b;dir= l;break; 16 case 0x0^:dir? O;break: 17 1 } 1A if (run) 19 if [dlr) 20 ror (1= O;1= 7.;x 十十)t ei 22 F2= delav(230}; 23 24 O13Q 25 for(i- 7;i?0;i--){ 26 P2= Led[±]; 27 delay[200 J; 25 29 else ¥2= Dx£f: 30 )} h I 1 Proteus搭建的电路图 :氏“ Mtaa,Eda TmJc 护 Ok 呻卜 baM TWh 耳 LJhrjw^ Tm^iLw- L-cwh kW. Oc^H矽鼻 訂 M巨+辛气氓珂岂 X 事乐■ £■■殳越整沪 盅 閱乂 ■曲晝聶国囱盘 d ?nAii -12— XTTAL2 丄 RfST W1.112M14151J617 ppp ppppp U1 CDC6 阳附3 PO1M)I 阳 2^02 P0W03 阳sms 阳 5M)5 por^nr p?nw P2.1W P22A10 P2ZWW P24XM2 P23J P26^U P2?A1$ P31VHXD PJ-lflM P32/1NT3 P3im7 P3.VTTI P3SOL P7J6WR. P阳麻 ELJOW EIJDW LED-YELjOW TtlJOUll LED-YELjOW R7 LED-YELjOW Lr 3. 8C?- o OS O Q Q c o SSS23S5S P2M P2E P2£ P26W P2M ■3 VTXD 总 NTD Mous, P3.VTD P3sm P3MD J2L 也 hp M24 -25

文档评论(0)

1亿VIP精品文档

相关文档