首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

串口接收(51汇编)

串口接收(51汇编)

org 0000h
ajmp main
org 0023h ;串行口中断入口地址
ajmp serial ;跳转至中断服务程序
main: clr p1.5
mov p0,#01h ;让8 个led 从右到左依次为亮、灭(注意跳线jmp0 置于12)
mov scon,#50h ;单片机工作于方式1,可以接受数据
mov tmod,#20h ;T1 设置为工作方式2
mov tl1,#0f4h ;按照波特率为2400 计算初值
mov th1,#0f4h ;把计数初值送入常数缓冲器
mov pcon,#80h ;smod=1,波特率变成4800
setb tr1 ;启动定时器T1 开始定时
setb ea ;cpu 开放中断
setb es ;开放串行口中断
ajmp $ ;等待中断
serial: clr ea ;cpu 关闭中断
clr ri ;清除串口接受中断标志
mov a,p0
rl   a
mov p0,a ;p0 口灯光变化
setb ea ;cpu 开放中断
reti ;返回主程序,等待下一次响应中断
end
返回列表