本系列共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的对应显示;
  ⑤ 实验完毕后,使用暂停命令中止程序的运行。
  1  

 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循环点亮;
  ④ 实验完毕后,应使用暂停命令中止程序的运行。
  2  

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
  本文介绍的内容完整的工程文件我会放在附件里,需要者自取,放的时候都是免费,它会自己涨,链接失效或者需要的可以在评论区留言,我直接发给你。本文附件链接如下:

     51单片机汇编语言实验(一)-----数字量输入输出(附参考代码及注释)附件链接