自己先顶一个,不要沉了,那位大神帮看看。#include <STC8.H> #define u8 uint8_t #define u16 uint16_t #define u32 uint32_t typedef unsigned char uint8_t; typedef unsigned int uint16_t; typedef unsigned long uint32_t; /********端口引脚定义*****/ sbit LED5=P3^0; sbit LED2=P3^1; sbit LED3=P3^2; sbit LED4=P3^3; sbit KEY=P5^4; sbit LED1=P5^5; /******延时函数声明******/ void delay(u16 Count); /******主函数区******/ void main(void) { u8 num=0; P3M0=0xFF; //设P3口为推挽输出 P3M1=0x00; RSTCFG=0xef; //设P5.4为IO口 // P5M0=0xef; //设P5.4为准双向口 // P5M1=0xef; P5M0=0x20; //设P5.4为准双向口,P5.5为推挽输出 P5M1=0x00; //P3=0x00; //初始化P3口为低电平 LED1=0,LED2=0,LED3=0,LED4=0; LED5=1; //P5.5为高电平 //KEY=0; while(1) { if(KEY==1) //如P5.4为高电平 { LED5=0; //P5.5输出低电平 delay(290); //P3=0x00; LED1=LED2=LED3=LED4=0; delay(290); LED1=1,LED2=0,LED3=0,LED4=0; delay(290); LED1=1,LED2=1,LED3=0,LED4=0; //LED灯流水点亮 delay(290); LED1=1,LED2=1,LED3=1,LED4=0; delay(290); LED1=1,LED2=1,LED3=1,LED4=1; delay(290); } { if(KEY==0) { //P3=0x00; LED1=LED2=LED3=LED4=0; delay(3000); LED5=1; } } } } /************延时3秒****/ void delay(u16 Count) { u8 i,j; while(Count--) { for(i=0;i<50;i++) for(j=0;j<20;j++); } } 这个程序我写来达不到想要的要求。 |