缘由51单片机求大佬救救为什么即使返回了sml流水灯速度也没有改变就是v没有变化?-吐槽问答-CSDN问答
- #include
- #include
- typedef unsigned char u8;
- typedef unsigned int u16;
- #define led P2
- u16 v=11200;
- u16 i=0;
- u8 receive='b';
-
- void UsartInit()
- {
- SCON=0X50;
- TMOD=0X21;
- PCON=0X80;
- TH1=0XF3;
- TL1=0XF3;
- ES=1;
- EA=1;
- TR1=1;
- TH0=0XFC;
- TL0=0X18;
- ET0=1;
- TR0=1;
- }
- void LED()
- {
- static u8 j=0;
- // static u8 ys=0;//模拟延时
- if(i==v)
- {
- led=~(0x01<
- j++;
- if(j==7)
- j=0;
- i=0;
- RI=1;//模拟
- }
- }
- void main()
- {
- UsartInit();
- while(1)LED();
- }
- void Timer0() interrupt 1
- {
- TH0=0XFC;
- TL0=0X18;
- i++;
- }
- void Usart() interrupt 4
- {
- // receive=SBUF;
- RI=0;
- // SBUF=receive;
- if(receive=='b')receive='s';//模拟接收到信息
- else if(receive=='s')receive='c';
- else if(receive=='c')receive='m';
- else if(receive=='m')receive='d';
- else if(receive=='d')receive='l';
- else if(receive=='l')receive='b';
- if(receive=='s')
- v=11200;
- else if(receive=='m')
- v=31000;
- else if(receive=="l")
- v=53000;
- else v=474;
- // while(!TI);
- // TI=0;
- }
通过观测波形可见变化
