|
自己先頂一個,不要沉了,那位大神幫看看。#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++); } } 這個程序我寫來達不到想要的要求。 |