单片机原理及应用实验报告
文章简介
51单片机原理及应用实验报告,使用Proteus 7 Professional+keil5 for C51实现。主要使用汇编语言编写,实验2思考题使用C语言编写。
实验一:I /O口输出实验—LED流水灯实验
一、实验要求
利用单片机及8个发光二极管等器件,构成一个流水灯单片机系统
二、实验目的
1、掌握单片机最小系统的构成
2、掌握I/O口的使用及驱动能力的概念
3、熟悉移位指令和软件延时程序
三、实验电路及连线
1.硬件连接表
MCU | STC89C51 |
---|---|
P1.0~P1.7 | D1~D8 |
5V | VCC |
GND | GND |
2.注意事项
(1)仿真电路需要先搭建好最小系统
(2)LED灯正极接5V,负极接P1口
四、实验说明
1、主要知识点概述
本实验涉及到三个知识点:单片机最小系统的构成、单片机I/O口的使用以及软件延时程序的编写。
(1)单片机最小系统由单片机芯片、时钟电路以及复位电路构成。
(2)I/O口的正确使用。
(3)延时子程序的延时计算问题。根据晶振时钟的大小以及指令周期,计算延时时间所要执行的指令数目。
2、实验效果说明
发光二级管进行流水灯操作,从上到下依次点亮。
五、实验流程图
六、实验代码
代码如下:
ORG 0000h
START: MOV R2,#8
MOV A,#0FEH
LOOP: MOV P2,A
LCALL DELAY
RL A ;循环左移
DJNZ R2,LOOP ;判断移动是否超过8 位,未超过继续循环
LJMP START
DELAY: MOV R5,#20 ;延时程序,延时0.2s
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
七、仿真效果图
八、思考题
增加LED灯的显示花样,丰富实验的效果
答:流水灯先正向流动,再反向流动,如此反复循环
代码如下:
ORG 0000h
START: MOV R2,#