📄 mcu_demo.c
字号:
/************************************************************************************
* *
* MCU_DEMO.C *
* *
************************************************************************************/
#include <reg51.h>
#include <stdio.h>
unsigned char code LED_Tab[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
unsigned char code LED_Tab1[16]={0x3f,0x06,0x9B,0x8F,0xA6,0xAD,0xBD,0x07,
0xBF,0xAF,0xB7,0xBC,0x39,0x9E,0xB9,0xB1};
sbit LED1_enable=P0^0;
sbit LED2_enable=P0^1;
sbit LED3_enable=P0^2;
sbit LED4_enable=P0^3;
sbit LED5_enable=P0^4;
sbit LED6_enable=P0^5;
#define LED_DATA P1
sbit BEEP=P3^2;
sbit KEY1=P0^6;
sbit KEY2=P0^7;
sbit KEY3=P1^6;
sbit KEY4=P1^7;
#define DELAY_CONST 3000
#define DELAY_CONST2 10
void delay_ms(unsigned int n)
{
unsigned int i,j;
for (i=0;i<n;i++)
for (j=0;j<10;j++)
{
j++;
j--;
}
}
void beep_on(void)
{
unsigned short i;
for (i=0;i<100;i++)
{
BEEP=0;
delay_ms(1);
BEEP=1;
delay_ms(1);
BEEP=0;
delay_ms(2);
BEEP=1;
delay_ms(2);
BEEP=0;
delay_ms(3);
BEEP=1;
delay_ms(3);
BEEP=0;
delay_ms(4);
BEEP=1;
delay_ms(4);
}
delay_ms(500);
}
void main(void)
{
unsigned char i,j;
unsigned char temp;
//disable all LEDs
LED1_enable=0;
LED2_enable=0;
LED3_enable=0;
LED4_enable=0;
LED5_enable=0;
LED6_enable=0;
BEEP=1;
for (i=0;i<9;i++)
for (j=0;j<6;j++)
{
switch (j)
{
case 0: //LED1
LED1_enable=1;
break;
case 1: //LED2
LED2_enable=1;
break;
case 2: //LED3
LED3_enable=1;
break;
case 3: //LED4
LED4_enable=1;
break;
case 4: //LED5
LED5_enable=1;
break;
case 5: //LED6
LED6_enable=1;
break;
}
if (j!=1)
LED_DATA=LED_Tab[i];
else
LED_DATA=LED_Tab1[i];
delay_ms(DELAY_CONST);
LED1_enable=0;
LED2_enable=0;
LED3_enable=0;
LED4_enable=0;
LED5_enable=0;
LED6_enable=0;
}
P1=0xff;
temp=P1;
LED1_enable=1;
while(1)
{
if (KEY4==0) //push key1
{
while(KEY4==0){};
LED_DATA=LED_Tab[1];
beep_on();
P1=0xff;
temp=P1;
}
if (KEY3==0) //push key2
{
while(KEY3==0){};
LED_DATA=LED_Tab[2];
beep_on();
P1=0xff;
temp=P1;
}
if (KEY2==0) //push key3
{
while(KEY2==0){};
LED_DATA=LED_Tab[3];
beep_on();
P1=0xff;
temp=P1;
}
if (KEY1==0) //push key4
{
while(KEY1==0){};
LED_DATA=LED_Tab[4];
beep_on();
P1=0xff;
temp=P1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -