导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[slowly2004]串口和定时器中断冲突



No.71363
作者:slowly2004
邮件:zzl07067@yahoo.com.cn
ID:133940
登陆:2次
文章数:1篇
最后登陆IP:221.237.64.108
最后登陆:2009/6/17 16:50:31
注册:2009/4/17 9:50:43
财富:106
发帖时间:2009/6/17 16:50:31
发贴者IP:221.237.64.108
标题:slowly2004:串口和定时器中断冲突
摘要:No.71363串口和定时器中断冲突 /********************初始化***********************/
void uart_init()
{
 P0=0xff;//初始化单片机
 P1=0xff;
 P2=0xff;
 P3=0xff;
 uart_count=0;
 SCON=0x50;//串口工作在模式1,8位AURT,使能接收
 TMOD=0x21;//定时器1工作在模式2,8位自动重装;定时器0工作在模式1,16位定时器
 TH1=0xfd;//波特率为9600,时钟为11.059MHZ
 TL1=0xfd;
 IE=0X96;//中断总使能,串口中断使能,外部中断1使能,定时器0中断使能
 PS=1;//串口中断高优先级
 TR1=1;//定时器0和1开始计数
 TR0=1;
 PT0=0;//定时器0低优先级
 IT1=0;//外部中断1低电古触发
 EX1=0;
}

/*******************串口接收中断*************************/
void uart_rec_inter() interrupt 4
{
 while(RI)
 {
  RI=0;
  uart_buf[uart_count]=SBUF;
  uart_count++;
  if(uart_count==1)
  {
   err_count=30;
   uart_err=1;
  };
  if(uart_count==11)
  {
   uart_ready=1;
   uart_count=0;
   uart_err=0;
  };
 }
}

/*************************向串口发送一个字节*****************/
void uart_sendone(uchar ch)
{
 SBUF=ch;
 while(TI==0);
  TI=0;
}

/**********向串口发送字符串,strlen为字符串长度***********/
void uart_sendstring(uchar *str,uint strlen)
{
 uint k;
 for(k=0;k  <strlen;k++)
 {
  uart_sendone(*(str+k));
 }
}

/************************校验和**************************/
void uart_checksum()
{
 uint check_s;//校验和时,字节计数器
 if((uart_buf[0]==0x5a)&&(uart_buf[1]==0x53))//首先校验第一和第二个字节是否正确
 {
  checksum=0;
  for(check_s=0;check_s  <10;check_s++)
  {
   checksum+=uart_buf[check_s];
  }
  if(checksum==uart_buf[10])
  {
   sum=1;
  }
 }
}

void timer0() interrupt 1
{
 uchar sen_count;//读状态计数器
 TH0=0xd8;//3ms f448 10ms d8f0 15ms c568 5ms ec78
 TL0=0xf0;
 TIME=0;
 for(sen_count=0;sen_count  <=3;sen_count++)
 {
  xc_en=0;
  sen_en=1;
  delay(5);
  xc_buf[sen_count]=P0;//读3次行程开关状态
  xc_en=1;
  sen_en=0;
  delay(5);
  sen_buf[sen_count]=P0;//读3次传感器状态
 };
 if((xc_buf[0]==xc_buf[1])&&(xc_buf[0]==xc_buf[2]))//三次状态相同
 {
  if(xc_flag!=xc_b ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:19毫秒 最大:5186毫秒 查询6次