导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→给你改一下程序,你试验一下吧

* 87744: 串口通信中断问题(含程序)

   磁效应 
磁效应发表的帖子 

 给你改一下程序,你试验一下吧
void main(void)
{
 //interrupt manage  start//
// IE = 0x00;   //中断屏蔽寄存器(可位寻址).   禁止所有中断
// IP = 0x00;   //中断优先级寄存器(可位寻址).  无优先级
 
 TCON = 0x00;  //定时器/计数器控制寄存器
 PCON = 0x80;           //串行通信方式1,2,3的波特率加倍.
 SCON = 0x50;  //选择串行方式1,及8位UART方式,波特率可变
 TMOD = 0x21;  
 TH1  = 0xFF;  //波特率为62.5K
// TL1  = 0xFF;

 Timer0Count = 7;
 TH0  = 0x3C;
 TL0  = 0xB0;

 SendData = 1; //禁止串行通讯485发送数据 (0时发送)
 RecvData = 0; //允许接收


  //interrupt manage end//
 PX1 = 1;  //置位INT1中断优先级
 EA = 1;  //全局禁止位.
 EX1 = 1;  //开INT1中断
 ES = 1;  //开串口中断
 ET0 = 1;  //开T0中断
 
 TR0 = 1;  //定时器0运行
 TR1 = 1;  //定时器1运行

 while(1)
 {
   watchdog = ~watchdog;
 }
}

void SciRecv_INT( )interrupt 4 using 0
{
// EA = 0;
// ES = 0;
 if(RI) 
 {
  RI=0;
  rdata = SBUF;
  //RI = 0;
 }
 //else
 //EA = 1;
 //ES = 1;
return;
}

void Timer0_INT()interrupt 1 using 3
{
 
 SendData = 0; 
 RecvData = 1;
 if(Timer0Count==0)
 {
              SBUF=0xa0;
  while(TI==0);
  TI= 0; 
  Timer0Count = 7;
  if(try==0)
  {
   P2_0 = 0;
   try  = 1;
  }
  else
  {
   P2_0 = 1;
   try  = 0;
  }
 }
 else
  Timer0Count--;
 SendData = 1; 
 RecvData = 0;




发表时间:2006年1月5日15:56:12

  
回复该帖

本主题共有 4 帖,分页:>>>>>该主题的所有内容[4]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:数字化语音存储与回放程序还没搞定所用的单片机是AT89C52   外接
[下一篇帖子]:大家好知识需要大家相互的交流,很高兴加入你们的队伍!