菜鸟请教com问题 看到的例子都用查询法,自己想尝试下中断法。不知道为什么,使用中断法处理串口就会出问题 用单片机实验发现数码管乱跳,说明跑飞了,用keil软件断点仿真发现reti后就跑飞了。请教各位怎么
回事。谢谢 ORG 0000H ; LJMP main ;跳到main
org 0023h ;串口调试入口 ljmp buf1
main:lcall chsh ddd:ljmp ddd
chsh:clr p2.0 ;开一个数码管显示 mov sp,#50h ;堆栈 MOV TMOD,#21H ;T1自动加载波特 MOV TL1,#0fdH ;波特9600定时初值 MOV TH1,#0fdH ; mov pcon,#0 ;不倍增 SETB EA ;总中断开放 setb es ;开串口中断 setb ps ;串口优先 mov scon,#70h ;允许接受 setb tr1 ;开启T1定时器 ret ;只开放了串口一个中断
buf1:push acc ;压栈 push psw
clr es ;关闭串口中断 clr ri ;清串口标志位 mov a,sbuf mov p0,a
bufout:setb es ;开串口退出 push psw push acc reti
|