嵌入式系统与单片机 流水灯 实验报告

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学

嵌入式系统与单片机

实验报告

学生姓名

学号

专业班级

指导教师

学院信息科学与工程学院完成时间2012年5月

[实验名称]

单片机流水灯。

[实验目的]

进一步熟悉keil仿真软件、伟福仿真器和实验板的使用。了解并熟悉实验板上单片机I/O口和LED灯的电路结构,掌握C51中单片机I/O口的编程方法,掌握顺序控制程序的简单编程。

[实验原理]

MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。四组并行I/O端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。

图P1口的位结构

本实验用到的P1口内部结构如图3-1所示。作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。为了能读到真实的引脚信号,下面的场效应管必须截止,即锁存器的内容必须是1。为了能正确读取引脚信号,锁存器必须先写1。通过C51程序的编写,可以使I/O口的每根引脚在不同的时间输出不同的0、1信号,从而控制外部的设备。

[实验步骤]

1.keil的使用:

新建项目--选择单片机型号--建C语言程序--添加到项目--设置项目--编译加载--选择仿真板

新建项目添加到项目设置项目选择仿真板

2. 将实验板上51单片机的P1口的8根线与实验板上的8位LED灯连接,I/O口的一根引脚控制一个LED灯。根据实验板上LED的硬件连接,编写程序使8个LED灯从最下面依次点亮,每次只亮一盏灯。依此循环。

代码如下

#include"reg51.h"

void mDelay(unsigned int Delay)

{ unsigned int i;

for(;Delay>0;Delay--)

{ for(i=0;i<124;i++)

{;}

}

}

main()

{int b;

while(1)

{

P1=0X7f;

mDelay(5000);

for(b=0;b<7;b++)

{P1=P1>>1|0X80;//P1=P1<<1;

mDelay(5000);

}

}

截图

3. 每次原来的灯保留

代码如下

#include"reg51.h"

void mDelay(unsigned int Delay)

{ unsigned int i;

for(;Delay>0;Delay--)

{ for(i=0;i<124;i++)

{;}

}

}

main()

{int b;

while(1)

{

P1=0X7f;

mDelay(5000);

for(b=0;b<7;b++)

{P1=P1>>1;//P1=P1<<1;

mDelay(5000);

}

}

截图

[实验心得]

通过本实验,懂得如何安装kell软件以及实验仿真板,懂得KEIL C51单片机仿真软件的调试,初步了解并熟悉实验板上单片机I/O口和LED灯的电路结构,能通过软件修改程序实现仿真板上不同灯的亮灭情况,并希望通过多次试验对它有更多的了解。

相关文档
最新文档