本系列共6篇文章,本文作为本系列的第一篇文章,介绍实验一 :数字量输入输出,本系列文章基于Dais-52PRO实验箱。
本系列文章链接:
—————————————————————————–
51单片机汇编语言实验(一)—–数字量输入输出(附参考代码及注释)
51单片机汇编语言实验(二)—–中断控制实验(附参考代码及注释)
51单片机汇编语言实验(三)—–定时/计数器实验(附参考代码及注释)
51单片机汇编语言实验(四)—-串行通信实验(附参考代码及注释)
51单片机汇编语言实验(五)—–A/D 0809模数转换和DA0832数模转换实验(附参考代码及注释)
51单片机汇编语言实验(六)—–8255键盘与显示设计(附参考代码及注释)
—————————————————————————–
一、实验目的:
学习单片机IO口的输入输出操作
二、实验设备:
PC计算机一台,Dais-52PRO+实验系统一套。
三、实验内容:
1. P1口I/O实验
2. P1口流水灯实验
四、P1口I/O实验:
1、实验原理:
数字量从P1口的低4位输入,从P1口的高4位输出控制发光二极管的亮灭,输入与输出一一对应。
2、实验步骤:
①将试验箱IO区的P1.0 到P1.3与拨码开关区的K0~K3按下图连线;
② 将试验箱IO区的P1.4 到P1.7与LED区的L0~L3按下图连线;
③ 编写程序,经编译、链接无语法错误后装载到实验;
④ 运行程序,拨动K0到K3,观察L0~L3的对应显示;
⑤ 实验完毕后,使用暂停命令中止程序的运行。
3、参考代码:
//实验一 P1口I/O实验
ORG 0000H
AJMP 0100H
ORG 0100H
MAIN: ORL P1,#0FH ;声明低4位为输入
MOV A,P1 ;读P1口状态
SWAP A ; 高低位交换
MOV P1,A ;回送P1口
SJMP MAIN
END
五、P1口流水灯实验:
1、实验原理:
P1口作为输出口,控制8位发光二极管作流水灯显示。
2、实验步骤:
① 将试验箱IO区的P1.0到P1.7与LED区的L0~L7按下图连线;
② 编写程序,经编译、链接无语法错误后装载到实验系统;
③ 运行程序,发光二极管L0~L7循环点亮;
④ 实验完毕后,应使用暂停命令中止程序的运行。
3、参考代码:
//实验一 P1口流水灯实验
ORG 0000H
AJMP 0100H
ORG 0100H
MAIN: MOV P1,#0FFH ;P1初始化
MOV A, #0FEH ;从最低位开始 若高电平点亮0000 0001 则改为01FH
LP1: MOV P1,A
CALL DELAY500MS ;延时
RL A ;左移位
SJMP LP1 ;循环
DELAY500MS: ;误差 0us
MOV R7,#17H
DL1:
MOV R6,#98H
DL0:
MOV R5,#46H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
END
本文介绍的内容完整的工程文件我会放在附件里,需要者自取,放的时候都是免费,它会自己涨,链接失效或者需要的可以在评论区留言,我直接发给你。本文附件链接如下: