|
void UART() interrupt 4
6 F: i, |0 u' W( \" B2 Y# ~% Q" w2 v{' ?* P0 P) g$ X" }
unsigned char temp;# S6 D& a. ?* i3 M5 S' f
if(RI)$ h, b f% N2 r7 U, l ~8 M
{
' N0 M* R0 ~) o1 N7 r/ J RI = 0;//<<<<<<<<<<<<<<<<<<<缺了对RI清零
' d3 {' @/ Z- n1 Q$ c! ` temp=SBUF;, \% T4 p3 A- H, ~& J; ~5 ?% z
if(temp=='6')
: n$ i# l- o; q! {4 l P1=0x00;
+ ^4 R; u. C D0 j! i }& O# H2 ~% m G' O9 R; e
if(TI)
) U( }7 U- t+ a5 y+ p TI=0;( J+ Z& v: z, q1 W
}
5 T0 @3 ~# W; k加上对RI清零那句后
x5 E6 V% x$ L( i在真机上成功控制P1# v. G5 g# }/ E0 p8 i( {
但在Proteus里仿真依失败' B% D& s( a4 G
0 r# z& W8 J+ _% ~" m; A/ a
用SCON = 0x50;# Q0 G7 I- P" P/ \5 z
取代 4 M: ^: B" a) `+ ~
REN=1;
& d% D e& f- s6 \' _( x4 o0 sSM0=0;
5 w% E# [( A$ |3 @SM1=1;
( r3 r) u0 V/ I- e$ c2 r就成功在Proteus里仿真
- k& x& w1 k" r) c9 _ |
|