流水灯控制实验

2019-04-15 16:58发布

流水灯控制实验
一、实验目的 1 熟悉Uvision2的使用方法。 2、 掌握单片机I/O的控制方法。   二、实验原理 I/O口是单片机与外界联系的通道。它可对各类外部信号(模拟量、开关量、频率信号)进行检测、判断、处理,并可控制各类外部设备。单片机通过I/O口感知外部世界的存在,而外界也通过I/O口感知单片机的存在。 51单片机共有4个准双向的8位并行I/O端口,分别记为P0P1P2P3,其中输出锁存器属于特殊功能寄存器。端口的每一位均由锁存器、输出驱动器和输入缓冲器组成,这些端口除了按字节输入输出外,还可以按位寻址,便于位控功能的实现。 4I/O口中,P0P2口为双功能端口,当单片机片外扩展存储器时,P0口作为单片机系统复用的地址/数据总线使用,P2口用作地址总线;P1口是单功能的I/O口,引脚输入时,必须先向锁存器写1;由于51单片机的引脚数目有限,因此在P3口电路中增加了引脚的第二功能。   三、实验内容 P1口作为输出口,接8位用作逻辑电平显示的发光二极管。设计程序使8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以200ms间隔全部闪烁5次。重复此过程。 流水灯控制实验

1 输入输出端口控制实验电路原理图 四、实验步骤 1按实验要求在Keil中创建项目,编辑、调试、编译程序。 main:  mov r2,#2    S:     mov a,#0feh           mov r3,#7 S1:    mov p1,a        call D        rl a        djnz r3,S1        mov a,#7fh        mov r3,#7 S2:   mov p1,a        call D        rr a        djnz r3,S2        djnz r2,S        mov  p1 ,#0feh        call D        mov r2,#5 S3:   mov p1,#0ffh         call D         mov p1,#00h        djnz r2,S3        jmp  main    D:     mov r6,#20 D10ms: mov r5,#40    DL: mov r4,#123    nop    djnz r4,$    djnz r5,DL    djnz r6,D10ms      ret      end