社区
单片机/工控
帖子详情
串口中断并不进入中断子程序
wjguonet
2006-03-27 09:32:29
我在medwin2.39上调试时,发现我的串口中断我不能控制。程序中串口中断必须先设定时器。并启动定时器。当tf1为1时,不论串口是否有中断标志,程序均先进入定时中断子程序,再进入串口中断子程序。而如果不启动定时器,程序始终不进入串口中断子程序。即使我仅设串口中断为高级中断也不行。烦请解决
...全文
336
8
打赏
收藏
串口中断并不进入中断子程序
我在medwin2.39上调试时,发现我的串口中断我不能控制。程序中串口中断必须先设定时器。并启动定时器。当tf1为1时,不论串口是否有中断标志,程序均先进入定时中断子程序,再进入串口中断子程序。而如果不启动定时器,程序始终不进入串口中断子程序。即使我仅设串口中断为高级中断也不行。烦请解决
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunny2757
2006-04-21
打赏
举报
回复
1.没有看到你将串口中断设置为最高级(SETB PS)
2.mov p1,0f0h?
3.发送部分send中 jnb ti,$ 多余
wjguonet
2006-03-30
打赏
举报
回复
怎么没信了,呵呵
wjguonet
2006-03-28
打赏
举报
回复
;程序实现简单串口连接,程序在medwin2.39中调试
org 0000H
ajmp start
org 0023H ;串行中断入口
ajmp s
;-------------主程序-------------
org 0100h
start:
MOV SP,#60H
mov tmod,#20h ;设置定时器 T1 方式 2
mov pcon,#00h ;使 SMOD 为 0
mov tl1,#0e8h ;波特率为 1200b/s
mov th1,#0e8h
setb ea ;开全局中断
clr et1 ;关 T1 中断
setb es ;开串行中断
setb tr1 ;开 T1 定时
mov scon,#50h ;串行方式 1 ,允许接收
sjmp $
;-------------中断子程序-------------
s: mov c,ri
jc recive;RI 为 1 ,执行接收子程序
sjmp send ;否则,执行发送子程序
recive:mov A,sbuf
clr ri
cjne A,#52h,re ;是否接收到“ R ”
mov A,#59h ;是,发送“ Y ”
mov sbuf,A
sjmp endtr
re: mov @R1,A ; r1 为接收数据存放地址
inc R1
mov p1,0f0h
sjmp endtr
RET
send:
mov a,@r0 ;发送数据, r0 为存放数据的地址
mov sbuf,a
jnb ti,$
clr ti
inc r0
endtr:reti ;中断返回
end
wjguonet
2006-03-27
打赏
举报
回复
在线等待
flowercity
2006-03-27
打赏
举报
回复
贴代码
我给你调试看看
wjguonet
2006-03-27
打赏
举报
回复
to wanyeye(助人者天助) :
串口中断工作在串口模式2下,好像不用定时器也行触发串口中断。
to flowercity(Love Program,Love Living)
1、依照书上的程序,定时器好像只用来产生波特率的,不会产生复用的情况吧。
2、中断优先设置没有问题,中断控制设置也没有问题。
3、tmod scon没有问题阿
flowercity
2006-03-27
打赏
举报
回复
定时器1是不是复用了?
中断寄存器设置有问题吗?
TMOD、TCON、SCON设置正确吗?
色郎中
2006-03-27
打赏
举报
回复
中断不要定时器么?
汇编实时运行核心
1. K4.ASM:这个文件可能是用于实现操作系统内核的关键部分,比如
中断
处理程序(ISR),它负责响应和处理来自硬件的各种
中断
事件,确保系统的实时性和可靠性。这部分代码可能涉及保存和恢复上下文,以及执行适当的...
串口
中断
服务程序
5,开启
中断
并初始化NVIC(
中断
优先级分组);6,使能串口;7,编写
中断
处理函数;8,串口数据收发;9,串口传输状态获取。 然后就是看见视频里面用了管脚复用但没有在程序里面说明(CSDN搜STM32发103:什么时候用到...
51单片机在什么情况下会产生
串口
中断
子函数:void serial() ...别的
中断
都是在某个I/O口为低电平时产生
中断
,
串口
中断
是在什么情况下产生呢? 首先,你要用软件允许
中断
,即 C语言中 EA = 1; //允许总
中断
ES = 1; //允许
串口
中断
汇编中可用 SETB ...
c51语言中 如何定义一个
中断
服务
子程序
,51单片机
中断
服务
子程序
的设计
中断
系统的运行必须与
中断
服务
子程序
配合才能正确使用。设计
中断
服务
子程序
需要首先明确以下几个问题。
中断
服务
子程序
设计的任务
中断
服务
子程序
设计的基本任务有下列4条:(1)设置
中断
允许控制寄存器IE,允许相应的...
STM32_
串口
中断
接收数据_空闲
中断
STM32_
串口
中断
接收数据_空闲
中断
单片机/工控
27,511
社区成员
28,797
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章