|
基于51單片機(jī)的可控流水燈程序 添加了花樣和速度按鈕
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載):
0.png (27.31 KB, 下載次數(shù): 51)
下載附件
2017-6-4 19:40 上傳
0.png (67.25 KB, 下載次數(shù): 42)
下載附件
2017-6-4 19:39 上傳
單片機(jī)源程序如下:
- #include <reg51.h>
- #include <intrins.h>
- unsigned char led []= {0xfe, 0xfd, 0xfb, 0xf7, 0xef,0xdf, 0xbf, 0x7f, 0x7f,0xbf,0xdf,0xef, 0xf7, 0xfb,0xfd,0xfe,
- 0xfe,0xfb,0xef,0xbf, 0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e, 0x0f,0xf0,0xfe,0x7f,0xfd,0xbf,0xfb,0xdf,0xf7,0x00};
- sbit P3_2 =P3^2;
- char x = 0;
- char k= 0;
-
- char b=200;
- void delay(unsigned char time) // 延時(shí)函數(shù)
- {
- unsigned char i=0;
- for (;time>0;time--)
- for (i=0;i<=200;i++);
- }
- key0() interrupt 0{ //每按一下花樣加1
- x++;
- if (x == 6) //花樣到六時(shí),LED黑屏,再按一下花樣重新開始
- x = 0;
- delay (300);
- }
- key1() interrupt 2{b=b+2000; //控制流水燈速度,沒按一下加200
- if (b==8200)
- b=200;
- }
- void main (){
- IT0 = 1;
- IT1=1;
- EX0 = 1;
- EX1 = 1;
- EA = 1;
- P2 = 0xff; //初始時(shí)LED全黑
-
- while(1){
- if(P3_2==0){
- switch(x){ //花樣
- case 0: P2 = 0xff;break;
- case 1: for(k=0;k<=7;k++){
- if(x == 1) //花樣切換(打斷正在進(jìn)行的花樣)
- {P2 = led [k];
- delay (200);}} break;
- case 2:for (k=8;k<=15;k++){
- if(x == 2){P2 = led [k] ;delay (b);}}break;
- case 3: for(k=16;k <=19;k++){
- if(x == 3){
- P2 = led [k];delay (b);}}break;
- case 4: for(k=20;k <=27;k++){
- if(x == 4){
- P2 = led [k];delay (b);}}break;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
改--實(shí)驗(yàn)一 添加了花樣和速度按鈕.zip
(18.24 KB, 下載次數(shù): 23)
2017-6-4 10:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|