|
第一次再這個(gè)論壇分享,如有錯(cuò)誤,還請(qǐng)批評(píng)指正。配合單片機(jī)開(kāi)發(fā)板使用的程序,當(dāng)按下按鍵1時(shí),LED每隔1S閃爍一次;當(dāng)按下按鍵2時(shí),流水燈從左往右流水,當(dāng)按下按鍵3時(shí),流水燈從左往右流水流水,當(dāng)按下按鍵4時(shí),LEDD燈全滅;
單片機(jī)源程序如下:
- #include<reg51.h>
- #include"stdio.h"
- sbit K1 = P3^0;
- sbit K2 = P3^1;
- sbit K3 = P3^2;
- sbit K4 = P3^3;
- unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99};
- unsigned char code table1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- unsigned char code table2[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
- void delay1() //@12.000MHz
- {
- unsigned char i, j;
- i = 12;
- j = 169;
- do
- {
- while (--j);
- } while (--i);
- }
- void delay(unsigned int n)
- {
- unsigned char i;
- for(i=0;i<n;i++)
- {
- delay1();
- }
- }
- void Cls_Peripheral(void) //關(guān)閉外設(shè);
- {
- P0 = 0XFF;
- P2 = P2 & 0X1F | 0X80;
- P2 &= 0X1F;
- P0 = 0;
- P2 = P2 & 0X1F | 0XA0;
- P2 &= 0X1F;
- }
- void Set_74HC138(unsigned char outnum) //打開(kāi)某一位的開(kāi)關(guān);
- {
- P2 &= ~(0x7<<5);
- P2 |= ((outnum&0x07)<<5);
- }
- void led_init(unsigned char n) //選擇某個(gè)數(shù)字;
- {
- Set_74HC138(6); //打開(kāi)位選段
- P0 = 0X01;
- P2 = 0X1F;
- Set_74HC138(7); //打開(kāi)段選端;
- P0 = table[n];
- P2 = 0X1F;
- }
- void main(void)
- { char KEY1=0, KEY2=0,KEY3=0,KEY4=0,j=0;
- static char z=0,l=0;
- Cls_Peripheral(); //關(guān)外設(shè)?
- while(1)
- {
- if(K1 == 0)
- {
- KEY1 = 1;
- KEY2 = 0;
- KEY3 = 0;
- KEY4 = 0;
- }
- if(K1 == 1 && KEY1 == 1)
- {
- led_init(1);
- P2 =0X1F;
- Set_74HC138(4);
- {
- P0 = 0xFF;
- delay(100);
- P0 = 0X00;
- delay(100);
- }
- }
- if(K2 == 0)
- {
- KEY2 = 1;
- KEY1 = 0;
- KEY3 = 0;
- KEY4 = 0;
- }
- if(K2 == 1 && KEY2 == 1)
- {
- led_init(2);
- P2 =0X1F;
- Set_74HC138(4);
- {
- P0 = table1[z];
- z++;
- delay(110);
- if(z==8) z=0;
- }
- }
- if(K3 == 0)
- {
- KEY3 = 1;
- KEY1 = 0;
- KEY2 = 0;
- KEY4 = 0;
- }
-
- if(K3 == 1 && KEY3 == 1)
- {
- led_init(3);
- P2 =0X1F;
- Set_74HC138(4);
- {
- P0 = table2[l];l++;
- delay(110);
- if(l==7) l =0;
- }
- }
-
- if(K4 == 0)
- {
- KEY4 = 1;
- KEY1 = 0;
- KEY3 = 0;
- KEY2 = 0;
- }
- if(K4 == 1 && KEY4 == 1)
- {
- P0 = 0XFF;
- P2 = P2 & 0X1F | 0X80;
- P2 &= 0X1F;
-
- P0 = 0X01;
- P2 = P2 & 0X1F | 0XC0;
- P2 &= 0X1F;
- P0 = 0X99;
- P2 = P2 & 0X1F | 0XE0;
- P2 &= 0X1F;
-
-
- }
- }
- }
復(fù)制代碼 全部程序51hei下載地址:
按鍵控制.rar
(26.4 KB, 下載次數(shù): 13)
2020-12-26 22:11 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|