你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

单片机串行口中止程序说明

[复制链接]
天师猫神 发布时间:2020-7-12 14:58
首要,你要用软件容许中止,
6 @" x, e: V" Z# t% K0 m

          即C言语中EA = 1; 容许总中止ES = 1;


) i1 l+ {6 z! {. q+ f

          //容许串口中止汇编中可用


0 i& c( o; }( o9 ~9 p) a

          SETB EA ;容许总中止


4 U% r4 }$ T, T- ]8 k

          SETB ES ;容许串口中止


9 {! d$ p) G& k; F/ J. e' w" a) X9 s

          当单片机接纳到一帧数据后,RI会置1,向CPU恳求中止,若之前有中止容许,则发作了中止,进入中止效劳程序。

! x# N$ d6 N6 O

          当然,单片机发送完一帧数据,TI也会置1,相同会发作中止!

: a! p; T" e4 D

          通常咱们在发送数据时要关中止,由于通常你不必在发送时不必处理数据;


+ S% }2 {& ~2 c0 m0 w+ T' l

          接纳数据时要开中止,以便你在中止效劳程序中将接纳到的数据进行存储并处理。


9 b5 V  Y2 D5 Y9 r0 N# r$ W8 Y

          


! R2 {- N6 }$ o/ c* o9 W" {" j( q

          抵偿:正本,不论你有没有容许中止,上位机(此刻即给单片机发送信息的机器)只需给单片机发送数据,单片机就会主动接纳数据,并把它放在数据缓冲器SBUF中,假定你之前有容许串行口中止,RI就会置1,向单片机CPU恳求中止,并进入中止效劳程序,做完中止函数后就会主动回来断点。假定你没有容许中止,便不会发作串行中止。正本,其他中止都是某个I/O口电平改动发作。这仅仅外部中止发作条件,不过,你之前也需求用软件容许外部中止。


& }, h6 t& Y9 @4 C% Y

          其他,多见的51系列单片机有5个中止源三种中止5:


) }& a$ O2 x# Y

          1、外部中止0和1;

1 o6 s7 ^4 C& S% e

          2、守时器/计数器溢出中止0和1;

) e- ?2 O; K5 u1 o9 p8 n* x

          3、串行口中止。


* G* a) a) r! W  U! I7 P

          其他,STC51系列还有守时器/计数器T2中止,A/D改换中止,PWM中止,串行中止2等等。你还有啥不了解的能够自个多翻一翻书,学到后边去了你就了解了。


- i9 t) A% I6 D7 @5 q1 _" W! U

          中止效劳程序中,那条 RI=0;是不行少的,这是用软件清零RI,预备再次承受一帧数据发作中止,假定你没有这条句子,就会进入死循环,出不来了。


  [" l  a8 S  e3 I# S

          void serial() interrupt 4


5 u/ ^" n# j5 d* M- s

          { P1=SBUF;


( }4 P7 j: @3 r8 A) j9 O, [4 |

          RI=0;

8 u5 ]# q" e: k; ]' e5 ^; l; i% r

          }


# ~' b- F* O; r% f
' _/ y' ^* F! J0 o4 s5 N: o
赞 收藏 评论0 发布时间:2020-7-12 14:58

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版