📄 a5_6.asm
字号:
;///////////////////////////////////////////
;本程序源代码由单片机培训网提供.
;单片机培训网,让更多人学习单片机更容易.
;第一网址----www.mcuedu.com
;第二网址----http://51_train.nease.net
;创办人------刘永忠
;热线电话----(0755)27529998
;email-------aa815@163.com
;程序难易等级--------稍难
;两个8051做串行多工数据传输之中断法
;///////////////////////////////////////////
org 00h
jmp start
org 23h
jmp uarti ;uart中断子程序
start: mov tmod,#20h ;timer1工作在mode2
mov scon,#50h ;uart工作在mode1
mov th1,#0f3h ;波特率2400
setb tr1 ;启动timer1
mov ie,#10010000b ;uart中断使能
mov 30h,#0ffh ;指拨开关初值
l1: mov a,p1 ;读入指拨开关
cjne a,30h,keyin ;指拨开关有变化否?
jmp l1
keyin: mov 30h,a ;指拨开关存入新值
mov sbuf,a ;发送出去
wait: jbc ti,l1 ;发送完毕否?
jmp wait
uarti: push acc ;压入堆栈
push psw
jbc ri,l2 ;是否接收中断?
jmp return
l2: mov a,sbuf ;将sbuf载入acc
mov p2,a ;输出至p2
return: pop psw
pop acc ;取回acc
reti
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -