找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1966|回复: 1
收起左侧

单片机串口中断初始化对SCON进行位设置为什么程序出问题?直接对SCON赋值则正常

[复制链接]
ID:255871 发表于 2017-12-5 09:21 | 显示全部楼层 |阅读模式
单片机源程序:
  1. #include<reg52.h>

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

  5. void main()
  6. {
  7. inti();
  8. if(flag==1)         //如果接收到数据则发出
  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;计算机接收不到返回值
  25. ES=1;
  26. EA=1;     
  27. }

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

  36. }
复制代码


回复

使用道具 举报

ID:255871 发表于 2017-12-5 13:49 | 显示全部楼层
错误已发现,中断写错了,叨扰了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表