流水灯控制实验
2019-04-15 16:58发布
生成海报
流水灯控制实验
一、实验目的
1、
熟悉Uvision2的使用方法。
2、
掌握单片机I/O的控制方法。
二、实验原理
I/O口是单片机与外界联系的通道。它可对各类外部信号(模拟量、开关量、频率信号)进行检测、判断、处理,并可控制各类外部设备。单片机通过I/O口感知外部世界的存在,而外界也通过I/O口感知单片机的存在。
51单片机共有4个准双向的8位并行I/O端口,分别记为P0、P1、P2、P3,其中输出锁存器属于特殊功能寄存器。端口的每一位均由锁存器、输出驱动器和输入缓冲器组成,这些端口除了按字节输入输出外,还可以按位寻址,便于位控功能的实现。
4个I/O口中,P0、P2口为双功能端口,当单片机片外扩展存储器时,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
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮