单片机小结之各种方案点亮流水灯.docxVIP

  • 3
  • 0
  • 约5.53千字
  • 约 9页
  • 2019-09-27 发布于广东
  • 举报
单片机小结(1) ——之流水灯的各种方法点亮 我们将8个流水灯均放置在P0 口,且假设已经定义好各端口,流水灯的阳 极接到P0 口上,利用各种方法控制流水灯。 1?1用移位和查表控制流水灯 :川移位控制流水灯 void main(void) { uchar i; while (1) { PO二Oxfe;//先点亮 POP; Delay (10000);//延时 10 毫秒 for(i =0;i7;i++) { P0 二(P0?l)0x01 Delay (10000);//延时 100 毫秒 } 或者改为如下也町以实现左移,先给temp=0xfe; for(i=l;i8;i++) { a=temp?i; b=temp?(8-i); P0=a|b; Delay (); } 在仿真中或者开发板上可以看到led灯有规律的一个一个的点亮如此循环。如果在 P0二Oxfe卜?加延时,那么第一次点亮时可以看到小灯的亮下再灭,否则第一次看不到小灯亮。 以上即一宜往左移移位,我们可以修改程序让其左右循环来点亮流水灯,程序如下 whi le (1) { for(i=0;i7;i++) { LED=_crol_(LED, 1); //P2 口向左移,注意左移和右移都住需要移动7次 Delay(50000); } for (i=0;i7;i++) { LED=_cror_(LED, 1) ;//左移,头文件必须^J||#includointrins. h方可使用, Delay(50000); } } 用查表控制流水灯 在上个程序中我们利用左移的方法点亮小灯,即移位的思想。同时我们述可以利用 杏表的方法点亮led灯。程序如下: uchar code Led_Data[]= { Oxfe, Oxfd, Oxfb, 0xf7, Oxef, Oxdf, Oxbf, 0x7f };〃此处一定要记住加分号,否者编译的时候会报错。 在将上个程序屮左移的语句改为如下即可实现查表,并且将P0二Oxfe;去掉 for(i=0;i8;i++) { PO=Led_Data[i]; Delay(lOOOO) ;//延时 10 毫秒 利用硕件的方法控制流水灯 除了以上移位我们还可以利用硬件来实现点亮小灯,例如利用74HC573, 74HC595 1: 74HC573为8位锁存器, 0E- 00- _Vcc -00 1 2 20 19 DI- 3 18 -01 W- 4 17 -02 03- 5 16 -03 W- 6 15 -04 D5 — 7 14 -05 D6 — 8 13 -06 D7- 9 12 -07 GND- to 11 -LE 1脚0E为使能端,低电平有效。D1-D7为输入端,Q1-Q7为输出端。11脚 为锁存端,高电平有效 其功能农如下:(H代表髙电平,I.代表低电平,X代表仟您电平,7:代农高 输入 输入 输入 输出 OE LE D Q H X X Z L L X 不变 L H L L L H H H 当0E为低电平,并.LLLE为高电平时,芯片才正常工作,输入等于输出。 当0E为低电平,LE也为低电平时,芯片锁存。 当0E为高电平时,输出为高阻态。 下面我们还是利川该芯片编写下控制流水灯的程序,并是利用移位的思想。 使用之前先说明下74HC573的工作方法: 先将0E置为低电平,并且LE也置为低电平,也就是开锁。 将需要输出的数据发送到D端。 再将LE置为低电平,即锁存数据,不在随输入 /**** ******* **** **** ****源 程序彳弋码 如下 ************ *** **** **** ** / #includereg51. h #definc uchar unsignod char #define uint unsigned int ★define LED P3 sbit LE二P22; 〃定义锁存端 void Delay(uint ms); void inain(void) { uchar i,Temp; wh i 1 e 仃) { Temp二Oxfe; //先点亮P3飞口的LED灯 for(i=0;i7;i++) { LE二1; //开锁,注意OE端默认已经接到低电平 LED二Temp;//送数据到P3 口,点亮小灯 LE二0;//输出锁存 Delay (5000) ; //延时 Temp= (Temp= 1) 0x01; //左移一位 } } } void Delay(unsigncd int ms) { unsigned char i; for(;ms0;ms—) for (i=127;i0;i—); } 我们还可以利用其去控制数码管,原理和控制流水灯差不多。此处利用74HC595 控制流水灯将在数码管部分提到如何利用,

文档评论(0)

1亿VIP精品文档

相关文档