单片机串口通讯的中断是否要注意延迟问题

comeonstuding 2004-04-14 11:35:49
org 0000H

AJMP START

org 0023h

AJMP SERIAL ;

ORG 30H

START:

mov SP,#5fh ;

mov TMOD,#20h ;T1: 工作模式2

mov PCON,#80h ;SMOD=1

mov TH1,#0FDH ;初始化波特率(参见表)

mov SCON,#50h ;Standard UART settings

MOV R0,#0AAH ;准备送出的数

SETB REN ;允许接收

SETB TR1 ;T1开始工作

SETB EA ;开总中断

SETB ES ;开串口中断
MOV P1,#00h

SJMP $

SERIAL:

MOV A,SBUF

MOV P1,0FFH

CLR RI

RETI

END
以的程序在测试时p1的灯不会亮,不会执行串口的中断程序。
不知道大家有没有这样的问题。大加可否可处一个试验过的
串口中断接收程序。
...全文
201 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiaogang48 2004-04-24
你试着利用串口调试助手,向单片机发几个数据,触发一下。。。
  • 打赏
  • 举报
回复
xiaogang48 2004-04-24
是啊,你不发数据,怎么触发串口接受的时机呢?
也就是说你的程序只会在原地等待!!
  • 打赏
  • 举报
回复
whpwwy 2004-04-20
没有发送程序
你怎么校验啊!?
总不能传过去就算了吧
  • 打赏
  • 举报
回复
lgchina97 2004-04-19
学习
  • 打赏
  • 举报
回复
comeonstuding 2004-04-18
我不要发送的功能,要产生串行中断的条件:1。发送数据,你的程序里没有发送的程序;
一定要有发送数据的程序吗?
  • 打赏
  • 举报
回复
comeonstuding 2004-04-18
我是用pc机与单片机通信
  • 打赏
  • 举报
回复
chenchn 2004-04-15
#include "reg51.h"
#define uchar unsigned char

uchar xdata r_buf[32];
uchar xdata t_buf[32];
uchar r_in,r_out,t_in,t_out;
bit r_full,t_empty,t_done;

code uchar m[]={"test\r\n"};
serial() interrupt 4 using 1
{
if(RI&&~r_full)
{
r_buf[r_in]=SBUF;
P1=SBUF;
RI=0;
r_in=++r_in&0x1f;
if(r_in==r_out)
r_full=1;
}
else if(TI&&~t_empty)
{
SBUF=P1;
TI=0;
t_out=++t_out&0x1f;
if(t_out==t_in)
t_empty=1;
}
else if(TI)
{
TI=0;
t_done=1;
}
}

void loadmsg(uchar code *msg)
{
while((*msg!=0)&&((((t_in+1)^t_out)&0x1f)!=0))
{
t_buf[t_in]=*msg;
msg++;
t_in=++t_in&0x1f;
if(t_done)
{
TI=1;
t_empty=t_done=0;
}
}
}

void process(uchar ch)
{

ch=0x1f;
return;
}

void processmsg(void)
{
while(((r_out+1)^r_in)!=0)
{
process(r_buf[r_out]);
r_out=++r_out&0x1f;
}
}


main()
{

TMOD=0x20;
TH1=0xfd;
TCON=0x40;
SCON=0x50;
IE=0x90;
t_empty=t_done=1;
r_full=0;
r_out=t_in=t_out=0;
r_in=1;
for(;;)
{
loadmsg(&m);
processmsg();
}
}
  • 打赏
  • 举报
回复
eric9811 2004-04-15
串行中断注意两点:
1、波特率及中断控制,
2、数据的传送和接收
  • 打赏
  • 举报
回复
zys0001 2004-04-15
要产生串行中断的条件:1。发送数据,你的程序里没有发送的程序;2。接收数据,要接收数据,必须有另外的单片机或计算机给本机发送数据,才会产生中断。不知道你的实际情况,先作以上两点的建议。
  • 打赏
  • 举报
回复
相关推荐
发帖
单片机/工控

2.7w+

社区成员

硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
帖子事件
创建了帖子
2004-04-14 11:35
社区公告
暂无公告