?
?出现以上警告应该如何解决(使用c51进行c语言中断实验)?
代码如下
#include<D:\Keil_v5\C51\INC\STC\STC8H.H> #include<intrins.h> #define?? ? ?uint8 unsigned char #define ?? ?uint16 unsigned int #define ?? ?LED_Port ?? ?P6 #define ?? ?HC595_DS ? ? ? ??? ? ?P44?? ? #define ? HC595_DS_MODE ? ?? ? {P4M1&=~0x10;P4M0|=0x10;}?? ? #define ?? ?HC595_STCP ? ? ??? ? ?P43 #define ? HC595_STCP_MODE?? ? {P4M1&=~0x08;P4M0|=0x08;}?? ? #define ?? ?HC595_SHCP ? ? ??? ? ?P42 #define ? HC595_SHCP_MODE ?{P4M1&=~0x04;P4M0|=0x04;}?? ? #define?? ? ?LED8_CONTROL_PIN ?P40?? ? #define ?? ?LED8_CONTROL_MODE {P4M1&=~0x01;P4M0|=0x01;} code uint8 _595_bdata[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; code uint8 LEDlist[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, ? ? ? ? ? ? ? ? ? ? ? ? 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; uint8 ?? ?SEG_bit = 0;?? ??? ??? ??? ??? ??? ? uint8 ?? ?Counter_overflow = 40;?? ??? ??? ??? ? void ?? ?IO_int(void);?? ??? ??? ??? ??? ??? ? void ?? ?delay10us();?? ??? ??? ??? ??? ??? ? void ?? ?led8_disable(); ?? ??? ??? ??? ? void ?? ?hc595_init(); ? ? ?? ??? ??? ??? ??? ? void ?? ?hc595_send_byte(uint8 outdata);?? ??? ? void ?? ?hc595_out_enable();?? ??? ??? ??? ? void ?? ?TIMER0_int(void);?? ??? ??? ??? ? void delay10us()?? ??? ??? ??? ??? ??? ??? ? { uint8 i; i = 78; while (--i); } void led8_disable()?? ??? ??? ??? ??? ??? ??? ? { LED8_CONTROL_MODE;?? ??? ??? ??? ? LED8_CONTROL_PIN = 1; } void hc595_init()?? ??? ??? ??? ??? ??? ??? ? {?? ? ?? ?HC595_DS_MODE; ?? ? ?? ??? ??? ??? ? ? ? HC595_STCP_MODE; ? ? HC595_SHCP_MODE; ? ? HC595_DS = 0; ?? ?HC595_STCP = 0; ?? ?HC595_SHCP = 0; } void hc595_out_enable()?? ??? ??? ??? ??? ? { ? ? HC595_STCP = 0; ? ? delay10us();delay10us(); ? ? HC595_STCP = 1; ? ? delay10us();delay10us(); ? ? HC595_STCP = 0; } void hc595_send_byte(uint8 outdata)?? ??? ??? ? { ? ? uint8 i; ? ? for(i=0;i<8;i++) ??? ??? ??? ??? ??? ??? ? ?? ? { ? ? ? ? ? ? ? if((outdata&0x80)==0x80) ?? ? ? ? { ? ? ? ? ? ? HC595_DS = 1; ? ? ? ? } ?? ? ? ?else ?? ? ? ?{ ? ? ? ? ? ? HC595_DS = 0; ? ? ? ? } ? ? ? ? HC595_SHCP = 0; ?? ??? ??? ??? ? ? ? ? ? HC595_SHCP = 1; ?? ??? ??? ??? ? ? ? ? ? outdata = outdata<<1; ? ? ?} } void?? ? IO_int(void)?? ??? ??? ??? ??? ??? ??? ? ? {? ?? ??? ?P6M1=0x00; ?? ??? ?P6M0=0xff;?? ??? ??? ??? ? ? ? P3M1=0xff; ?? ??? ?P3M0=0x00;?? ??? ??? ??? ? ? ?} void TIMER0_int(void)?? ??? ??? ??? ??? ??? ? ? {? ? ?TMOD&=0xf0; ?? ??? ?TMOD|=0x01; ?? ??? ?TH0=0x3c; ?? ??? ?TL0=0x0b; ?? ??? ?TR0=1; ?? ??? ?EA=1; ?? ??? ?ET0=1; ? ?} void T_IRQ0(void) interrupt 1 using 1?? ??? ??? ? ?? ?{ ? ?TH0=0x3c; ?? ??? ?TL0=0xb0; ?? ??? ?Counter_overflow=Counter_overflow-1; ?? ??? ?if(Counter_overflow==0) ?? ??? ?{ ?? ??? ??? ?Counter_overflow=40; ?? ??? ??? ?if(SEG_bit==8)SEG_bit=0; ?? ??? ?} ??? ?} void setup()?? ??? ??? ??? ??? ??? ??? ? { hc595_init();?? ??? ??? ??? ??? ??? ? led8_disable();?? ??? ??? ??? ??? ? IO_int();?? ??? ??? ??? ??? ??? ??? ? TIMER0_int();?? ??? ??? ??? ??? ? } void loop()?? ??? ??? ??? ??? ??? ??? ? { ? ?? ?LED_Port = LEDlist[8];?? ??? ??? ??? ? hc595_send_byte(0);?? ??? ??? ??? ? hc595_send_byte(_595_bdata[SEG_bit]);?? ? hc595_out_enable();?? ??? ??? ??? ? } void main(void) { ? setup();?? ??? ??? ??? ??? ??? ? ? while(1) { ? ? loop();?? ??? ??? ??? ??? ??? ? ? ? } } ?
|