单片机实验报告——流水灯

时间:2024.4.21

电子信息工程学系实验报告

课程名称:  单片机原理及接口

实验项目名称: 实验2  流水灯实验          时间: 20##-10-21      

班级:  电信092           姓名:  蔡松亮        学号:  910706247

                                                                                                                                             

一、实 验 目 的:

进一步熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用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口的位结构

作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。

I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。

三、实 验 环 境:

硬件:PC机,基本配置CPU PII以上,内存2G

软件:keil 2, Proteus 7.5

四、实 验 内 容 及 过 程:

1、用Proteus画流水灯电路图流程:

    1)、运行Proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图 1 所示:

图 1 打开搜索元器件窗口

    2)、搜索添加元器件,如图2 所示:

图2 搜索添加元器件窗口

    3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。总电路图如图 3 所示:

图 3 流水灯电路原理图

   2、用keil建项目流程:

      1)、运行keil 2软件,启动后,点击Project菜单新建项目,新建项目后,选择为AT89C51的仿真单片机的型号,单击File选择New新建程序文件,保存后,右击Source Group1添加入程序文件。

      2)、编写程序,右击Target 1打开设置输出HEX窗口,如图 4 所示:

 

                             图 4 打开设置输出HEX窗口

      3)、设置输出HEX文件,勾选上Output下的Create HEX Fi:,单击确定保存,运行程序得到HEX文件,如图 5 所示:

图5 设置输出HEX文件

 3、实验内容:

      1)、8个LED灯从最高位依次点亮,每次只亮一盏灯,依此循环。

          新建keil文件,编写程序,程序如下:

#include <reg52.h>

#include <intrins.h>

#define uint unsigned int

#define uchar unsigned char

void defay(uint z)

{

uint x,y;

 for(x=100;x>0;x--)

   for(y=z;y>0;y--);

}

uchar temp;

void main()

{  

    temp=0xfe;

    P2=temp;

    while(1)

    {

    temp=_crol_(temp,1);

    defay(500);

    P2=temp;

   

    }

}

            2)、编写程序使8个LED灯从两边向中间循环点亮。

             编写程序,程序如下:

uchar temp,m,n;

uint i;

void main()

{

    m=0xfe;

    n=0x7f;

    while(1)

    {

       P2=m&n;

        m=_crol_(m,1);

        n=_cror_(n,1);

    if(m==0xef)

        {

          m=0xfe;

          n=0x7f;

         }

    defay(500);

    }

}

3)、编写程序使用一根或二根I/O线接一开关控制流水灯流向。

编写程序,程序如下:

sbit p15=P1^5;

void main()

{  

    temp=0xfe;

    P2=temp;

    while(1)

    {

     if (p15==1)

        {

        temp=_crol_(temp,1);

        defay(500);

        }

     if (p15==0)

        {

        temp=_cror_(temp,1);

        defay(500);

        }

    P2=temp;

    }

}

五、实 验 心 得:

通过本次的实验,熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。


第二篇:单片机流水灯实验报告


流水灯实习报告

一、实验原理

单片机通过P0口连接锁存器74ls273,P0同时作为低八位地址,实验板内P2口连接74ls138,任意一个输出连接74ls273片选,再将74ls273接八个LED灯,通过软件控制对74ls273送入显示数据就可以按要求显示了。

二、硬件原理图

三、实验程序

ORG 0000H

AJMP START

ORG 001BH

AJMP INT

ORG 0100H

START:MOV SP,#60H

MOV TMOD,#10H

MOV TL1,#00H

MOV TH1,#4CH

MOV R0,#00H

MOV R1,#20

SETB TR1

SETB ET1

SETB EA

SJMP $

INT:PUSH ACC

PUSH PSW

PUSH DPL

PUSH DPH

CLR TR1

MOV TL1,#B0H

MOV TH1,#3CH

SETB TR1

DJNZ R1,EXIT

MOV R1,#20

MOV DPTR,#DATA

MOV A,R0

MOVC A,@A+DPTR

MOV DPTR,#8000H

Movx @DPTR,A

INC R0

ANL 00,#07H

EXIT:POP DPH

POP DPL

POP PSW

POP ACC

RETI

DATA:DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,0H

END

四、实验功能

以实验机上74LS273做输出口,接八只发光二极管,编写程序,使开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮…… 一直循环下去.

五、实验总结

    在做本次实验时,首先要注意实验要求是用74LS273做输出口,所以不要用P1口作输出口。在引入中断前,要注意保护现场。

更多相关推荐:
51单片机流水灯实验报告

51单片机流水灯试验一实验目的1了解51单片机的引脚结构2根据所学汇编语言编写代码实现LED灯的流水功能3利用开发板下载hex文件后验证功能二实验器材个人电脑80c51单片机开发板三实验原理单片机流水的实质是单...

单片机流水灯实验报告

单片机流水灯实验报告一实验目的1熟练掌握AT89S52型开发板的使用方法和注意事项2了解简单单片机应用系统的设计方法3掌握应用KEIL软件编辑编译源汇编程序的操作方法4掌握应用USBISP烧录软件的操作方法5帮...

流水灯单片机课程设计报告

井冈山大学机电工程学院单片机课程设计报告课程名称单片机设计题目流水灯姓名覃家应陈东阳专业生物医学工程班级10级医工本一班学号100615062指导教师王佑湖20xx年11月10日目录1引言211设计任务212设...

单片机流水灯实验报告 (2)

流水灯实验报告一实验目的1熟练掌握AT89S52开发板的使用方法和注意事项2了解简单单片机应用系统的设计方法3掌握应用KEIL软件编辑编译源汇编程序的操作方法4掌握应用AVRFIGHT烧录软件的操作方法二实验内...

流水灯实验报告

实验报告课程名称单片机实习专业班级姓名戴秀锋学号1104451216电气与信息学院和谐勤奋求是创新1234实验教学考核和成绩评定办法课内实验考核成绩严格按照该课程教学大纲中明确规定的比重执行实验成绩不合格者不能...

单片机并口简单应用(流水灯)实验报告

实验一单片机并口简单应用流水灯一实验目的1了解单片机汇编语言程序的基本结构2了解单片机汇编语言程序的设计和调试方法3掌握顺序控制程序的简单编程二实验仪器单片机开发板万利仿真机稳压电源计算机三实验原理1流水灯硬件...

单片机实验报告花样流水灯

电子工艺学考试作品报告作品名称花样流水灯姓名专业班级学号中南大学物理与电子学院1目录第一章系统整体概述第二章第三章第四章第五章硬件设计软件设计调试与分析制作感受2摘要当今时代的智能控制电子技术给人们的生活带来了...

流水灯实验报告

实验报告实验课程51单片机C语言教程实验内容8孔流水灯院系计算机学院专业通信工程20xx年10月29日单片机原理实验一实验目的1熟练掌握AT89S52型开发板的使用方法和注意事项2了解简单单片机应用系统的设计方...

单片机实验报告

单片机实验验收报告姓名陆依军学号311308070909班级信控1303学院电气学院1单片机核心板实验内容一流水灯实验1实验目的1简单IO引脚的输出2掌握软件延时编程方法3简单按键输入捕获判断2完成功能要求1开...

单片机核心实验板实验报告

实验一流水灯实验一实验目的1简单IO引脚的输出2掌握软件延时编程方法3简单按键输入捕获判断二实验实现的功能1开机是点亮12发光二极管闪烁三下2按照顺时针循环依次点亮发光二极管3通过按键将发光二极管的显示改为顺逆...

实验一 51单片机流水灯实验 实验报告

流水灯实验报告一实验目的1了解单片机IO口的工作原理2掌握51单片机的汇编指令3熟悉汇编程序开发调试以及仿真环境二实验内容通过汇编指令对单片机IO进行编程本实验使用P0口以控制八个发光二极管以一定顺序亮灭即流水...

Proteus硬件仿真(单片机控制流水灯)实 验 报 告

湖州师院实验报告姓名汪健雷班级092833学号07083438一实验目的1了解proteus软件掌握Proteus在单片机仿真中的应用为开发调试单片机应用系统做准备2熟练掌握isis环境电路图的建立流水灯电路图...

单片机流水灯实验报告(26篇)