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

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

[复制链接]
天师猫神 发布时间:2020-7-12 14:58
首要,你要用软件容许中止,

$ M$ z& K6 f5 T, D

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

/ T9 V4 Q& ~9 [5 h7 [9 c

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

0 x) A% [* _- J7 H5 `0 H: R

          SETB EA ;容许总中止

/ V) [: H8 k, p: W8 l' m

          SETB ES ;容许串口中止


! [9 @% o/ q' r- Z. A

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


4 s3 S; o0 H2 Y0 q

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


* c4 Z0 g2 k% ^* r8 A  x1 }

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


* l$ z8 k; J2 F  Y) Z3 m: @! ]) C

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


1 v+ T. g5 ]+ i) o7 p" }

          

) X3 [* ?+ V  x7 J$ {6 p  i: w8 n

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


3 Q: ]6 z$ B! G

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


& B  o6 X- I4 O. n9 O% m: W, O

          1、外部中止0和1;


+ P+ g% c) d' i2 ?3 B" j

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


! C7 _) f8 H1 `6 P

          3、串行口中止。


* W& Z% R( S4 T& V. |

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

3 r9 W8 B" f6 s# ^, K

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

& k$ @; k! `9 ?/ {% h/ ^

          void serial() interrupt 4


4 P. I  S& S" M7 m+ z2 |, `: J9 y# u; j

          { P1=SBUF;


- ~) U7 t3 M$ f, E  m, J  I: E: h3 Q( s

          RI=0;


4 S4 f3 I7 V6 k1 h

          }


, U8 J$ T' G2 A! e0 I2 y% u4 q# ]7 s9 u2 O) [
收藏 评论0 发布时间:2020-7-12 14:58

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版