微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 51单片机中断,在中断里面改变一个bian,在main()使用该变量

51单片机中断,在中断里面改变一个bian,在main()使用该变量

时间:10-02 整理:3721RD 点击:
希望程序开始,从串口里面接受到 任意字符时候,进入中断  rflag置1;
然后利用rflag 判断是否执行主程序  程序如下, 问题从串口助手发送字符,程序没有反应,串口没接收到AD转换后发送的值
求解救
#include <reg52.h>        
unsigned char rflag;       
void InitUART  (void)
{   SCON  = 0x50;                        // SCON: 模式 1, 8-bit UART, 使能接收  
    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
    TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz  
    TR1   = 1;                  // TR1:  timer 1 打开                        
    EA    = 1;                  //打开总中断
  //  ES    = 1;                  //打开串口中断
main()
{unsigned char  num0,num1,num3;int i;           P35=0
InitUART();
DelayMs(20);
ES=1;
while (1)       
{ if(rflag==1)
   {   主程序是读取AD转换,再发送值到串口输出
}
}
//中断函数  希望从串口里面接受到 任意字符,进入中断  rflag置1;
void uartser (void) interrupt 4
if(RI)
{  RI=0;  
        rflag=1;
        if(TI)
        TI=0;
}
}         

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top