標(biāo)題: 單片機(jī)串口中斷初始化對SCON進(jìn)行位設(shè)置為什么程序出問題?直接對SCON賦值則正常 [打印本頁]

作者: zc98    時(shí)間: 2017-12-5 09:21
標(biāo)題: 單片機(jī)串口中斷初始化對SCON進(jìn)行位設(shè)置為什么程序出問題?直接對SCON賦值則正常
單片機(jī)源程序:
  1. #include<reg52.h>

  2. unsigned char a;
  3. static bit flag;
  4. void inti();                                     //定時(shí)器,串口初始化

  5. void main()
  6. {
  7. inti();
  8. if(flag==1)         //如果接收到數(shù)據(jù)則發(fā)出
  9. {
  10.   EA=0;
  11.   SBUF=a;
  12.   while(TI==0);
  13.   TI=0;
  14.   flag=0;
  15.   EA=1;
  16. }
  17. }

  18. void inti()
  19. {
  20. TMOD=0X20;
  21. TH1=0XFD;
  22. TL1=0XFD;
  23. TR1=1;
  24. SCON=0x50;                            //將此處改為 SM0=0;SM1=1;REN=1;計(jì)算機(jī)接收不到返回值
  25. ES=1;
  26. EA=1;     
  27. }

  28. void sir() interrupt 4
  29. {
  30. if(RI==0)
  31. {
  32.   RI=0;
  33.   a=SBUF;      接收數(shù)據(jù)
  34.   flag=1;
  35. }

  36. }
復(fù)制代碼



作者: zc98    時(shí)間: 2017-12-5 13:49
錯(cuò)誤已發(fā)現(xiàn),中斷寫錯(cuò)了,叨擾了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1