单片机实验报告LED流水灯实验洛阳理工

合集下载

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告1. 实验目的本实验旨在通过使用单片机控制LED灯的亮灭来实现流水灯效果,以加深对单片机控制原理的理解,并培养学生动手实践的能力。

2. 实验器材•单片机开发板•面包板•LED灯•连接线•电源3. 实验原理流水灯是一种常见的LED灯效果,通过控制多个LED灯的亮灭顺序和速度,形成流动的效果。

在本实验中,我们使用单片机通过改变IO口的输出电平来控制LED灯的亮灭。

4. 实验步骤第一步:准备工作•将单片机开发板连接到电脑上,并确保单片机开发环境已经正确安装。

•将面包板连接到单片机开发板上的IO口。

•将LED灯连接到面包板上,确保连接正确。

第二步:编写程序在单片机开发环境中,编写下列代码:#include <reg52.h>sbit LED1=P1^0;sbit LED2=P1^1;sbit LED3=P1^2;sbit LED4=P1^3;void delay(int t) {int i, j;for(i=t;i>0;i--) {for(j=110;j>0;j--);}}void main() {while(1) {LED1=0;delay(1000);LED1=1;delay(1000);LED2=0;delay(1000);LED2=1;delay(1000);LED3=0;delay(1000);LED3=1;delay(1000);LED4=0;delay(1000);LED4=1;delay(1000);}}第三步:烧录程序将编写好的程序烧录到单片机开发板上,确保烧录成功。

第四步:实验测试•将单片机开发板连接到电源上,并打开开关。

•观察LED灯的亮灭情况,是否能够形成流水灯效果。

•如果效果与预期一致,则说明实验成功。

5. 实验结果分析经过实验测试,LED灯能够按照程序中设定的流水灯顺序亮灭,形成了流水灯效果。

说明通过单片机控制IO口输出电平能够实现对LED灯的控制,并且通过改变控制程序中的延时时间可以调整流水灯的速度。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告
实验目的:
通过编程实现单片机控制的流水灯电路的设计与实现,熟悉单片机的输入输出功能和简单的控制逻辑。

实验原理:
流水灯是一种常见的LED灯控制电路,通过依次点亮多个LED灯,从而形成“流水”的效果。

单片机作为控制中心,根据程序设计的指令,通过I/0口控制LED灯的状态。

实验材料:
1. STM32F103C8T6 ARM Cortex-M3开发板
2. 杜邦线
3. LED灯
4. 220 Ω电阻
实验步骤:
1. 将STM32F103C8T6开发板与电脑连接,打开开发板软件。

2. 将LED灯分别连接到开发板的引脚PA0-PA7。

3. 在开发板软件中新建一个工程,选择合适的模板,例如“BlinkLed”模板。

4. 在程序中编写控制流水灯的代码,控制LED灯的点亮和熄灭。

5. 通过编译、下载和运行,将程序烧录到STM32F103C8T6开发板中。

6. 接通电源,观察LED灯的闪烁情况,确认流水灯控制电路的正常工作。

实验结果与分析:
经过实验,我们成功设计和实现了单片机控制的流水灯电路。

LED灯按照预定的顺序依次点亮和熄灭,形成了流水灯的效果。

调整程序中的控制逻辑,可以改变流水的速度和方向,实现不同的灯光效果。

实验总结:
通过这次实验,我们深入了解了单片机的输入输出功能和简单的控制逻辑。

通过编写程序,实现了流水灯的控制,加深了对单片机的理解和应用。

在实验过程中,我们还学会了使用开发板软件进行工程的创建、编译、下载和调试操作,提高了工程能力和实践能力。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告单片机流水灯实验报告引言:单片机是一种集成电路,具有微处理器、存储器和输入输出设备等功能,被广泛应用于各个领域。

流水灯是一种常见的实验项目,通过控制单片机的输出端口,使多个LED灯依次亮起,形成流动的效果。

本实验旨在通过搭建流水灯电路,了解单片机的基本原理和操作方法。

实验目的:1. 掌握单片机的基本工作原理;2. 学习使用单片机控制LED灯的亮灭;3. 熟悉流水灯电路的搭建和控制。

实验器材:1. 单片机开发板;2. LED灯若干;3. 连线电缆。

实验步骤:1. 将单片机开发板连接至电源,并接通电源开关;2. 将LED灯连接至单片机的输出端口,确保极性正确;3. 打开单片机开发板上的编程软件,编写流水灯控制程序;4. 将编写好的程序下载至单片机开发板;5. 按下开发板上的复位按钮,观察LED灯是否依次亮起。

实验结果:经过实验,我们成功搭建了单片机流水灯电路,并通过编写程序实现了流水灯的效果。

当按下复位按钮后,第一个LED灯亮起,随后依次是第二个、第三个……最后一个LED灯亮起,然后再从第一个开始循环。

整个过程形成了一个流动的效果。

实验分析:通过本次实验,我们深入了解了单片机的基本工作原理。

单片机通过控制输出端口的电平状态,来控制外部设备的亮灭。

在流水灯实验中,我们通过改变输出端口的状态,实现了LED灯的顺序亮灭。

同时,本次实验也让我们学会了使用单片机开发板上的编程软件。

通过编写程序,我们可以灵活控制单片机的输出端口,实现各种不同的功能。

在流水灯实验中,我们编写的程序控制了LED灯的亮灭顺序,形成了流动的效果。

实验总结:通过本次实验,我们不仅了解了单片机的基本原理和操作方法,还掌握了流水灯电路的搭建和控制。

单片机作为一种重要的集成电路,在各个领域都有广泛的应用。

通过学习和实践,我们可以进一步探索单片机的更多功能和应用。

在今后的学习和工作中,我们可以运用单片机的知识,设计和实现更加复杂和有趣的项目。

单片机实训报告_流水灯

单片机实训报告_流水灯

一、实验目的1. 掌握单片机的基本原理和操作方法。

2. 熟悉单片机编程环境Keil的使用。

3. 熟悉LED流水灯的原理和编程方法。

4. 培养动手实践能力和团队协作精神。

二、实验原理1. 单片机(Microcontroller Unit,MCU)是一种具有中央处理器(CPU)、存储器(RAM、ROM)和输入输出接口(I/O)等功能的集成电子电路。

它广泛应用于各种电子设备中,如家用电器、工业控制、汽车电子等。

2. LED(Light Emitting Diode,发光二极管)是一种半导体器件,具有单向导电性。

当电流通过LED时,会发出光亮。

3. 流水灯是一种通过控制LED灯的亮灭,模拟流水效果的电子装置。

在单片机控制下,可以实现不同形式的流水灯效果。

三、实验设备1. 单片机实验板(如STC89C52单片机实验板)2. LED灯若干3. 跳线若干4. 电阻若干5. 电源(5V)6. Keil软件四、实验步骤1. 硬件连接(1)将单片机的P1.0-P1.7引脚与LED灯的正极相连,负极接地。

(2)将电阻串联在LED灯和单片机引脚之间,起到限流作用。

(3)将单片机的VCC和GND分别连接到5V电源的正负极。

2. 软件编写(1)在Keil软件中创建一个新的项目,选择相应的单片机型号。

(2)编写主函数main(),实现流水灯的编程。

(3)初始化单片机的P1口为输出模式。

(4)定义延时函数Delay(),实现流水灯的延时效果。

(5)在主循环中,通过改变P1口的高低电平,控制LED灯的亮灭,实现流水灯效果。

(6)保存并编译程序。

3. 程序调试(1)将编译后的程序下载到单片机实验板中。

(2)观察LED灯的流水效果,检查程序是否正确。

(3)如有错误,修改程序并重新编译、下载。

五、实验结果与分析1. 实验结果通过实验,成功实现了LED流水灯效果,实现了不同形式的流水灯效果。

2. 实验分析(1)在实验过程中,学习了单片机的基本原理和操作方法,掌握了Keil软件的使用。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告本实验旨在通过单片机控制LED灯的亮灭,实现流水灯效果。

通过对实验的设计、搭建和调试,我们可以更深入地理解单片机的工作原理和掌握相应的编程技巧。

实验器材和元件:1. 单片机,我们选用了STC89C52单片机作为控制核心;2. LED灯,我们使用8个LED灯作为实验的输出设备;3. 电阻,为了限流,我们使用了适当的电阻;4. 连接线、面包板等。

实验步骤:1. 搭建电路,首先,我们按照电路图将单片机、LED灯和电阻连接在一起,并将电路连接到电源上;2. 编写程序,接下来,我们使用C语言编写单片机的控制程序,实现LED灯的流水灯效果;3. 烧录程序,将编写好的程序通过烧录器烧录到单片机中;4. 调试程序,将烧录好的单片机连接到电路上,进行程序的调试和验证;5. 完善电路,根据实际调试情况,对电路进行必要的调整和完善,确保LED 灯能够按照预期的流水灯效果工作。

实验结果:经过反复调试和完善,我们成功实现了单片机控制LED灯的流水灯效果。

在程序控制下,8个LED灯按照顺序依次亮起并熄灭,形成了流水灯的效果。

整个实验过程非常顺利,取得了预期的效果。

实验心得:通过本次实验,我们对单片机的控制原理有了更深入的理解,也掌握了一定的C语言编程技巧。

在实验的过程中,我们遇到了一些问题,如LED灯未按预期工作、程序逻辑错误等,但通过分析和调试,最终都得到了解决。

实验不仅提高了我们的动手能力,也培养了我们的分析和解决问题的能力。

总结:本次实验不仅让我们熟悉了单片机的控制方法,也让我们体验了从实验设计到调试完善的整个过程。

通过这次实验,我们不仅学到了专业知识,也培养了动手能力和解决问题的能力。

希望在以后的学习和实践中,能够更好地运用所学知识,不断提升自己的能力。

以上就是本次单片机流水灯实验的报告内容,希望对大家有所帮助。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告:实验一:用C51实现流水灯实验实验要求:完成亮流水,即LED从低位流向高位流动,每次流动一位,且每次只亮一个LED灯,其它LED灭。

实验原理:单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。

使用r1或rr a实现位的转换。

实验内容:通过仿真来实现实验电路图代码如下;for(x=0;x<8;x++){P0=num[x];delay();}for(x=6;x>0;x--){P0=num[x];delay();}P0=0xfe;实验结果:实验程序:#include<REG51.H>void delay();//延时函数声明void main()//主函数{unsigned charx,num[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};while(1){for(x=0;x<8;x++){P0=num[x];delay();}for(x=6;x>0;x--){P0=num[x];delay();}P0=0xfe;}}void delay()//延时函数,无符号字符型变量i为形式参数{unsigned int j,k;//定义无符号字符型变量j和kfor(k=0;k<500;k++)//双重for循环语句实现软件延时for(j=0;j<100;j++);}实验总结:这次试验通过仿真实验软件实现流水灯实验,充分学会了keil 软件和Proteus电路仿真的联合调试,为后期的实验做足了功课。

也认识到仿真实用性。

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告引言单片机是一种集成电路,可以通过编程来控制不同的功能。

其中,流水灯是一个最简单的单片机实验项目,也是学习单片机的第一步。

本篇实验报告将详细介绍如何通过使用 AVR 单片机来实现一个流水灯的控制器。

实验原理流水灯的原理很简单,就是通过一个方向控制信号,以及一定的时间延时控制来逐步点亮和熄灭多个 LED 灯。

在本次实验中,我们将使用 AVR ATmega328P 单片机,它可以通过编程来实现流水灯的控制功能。

实验步骤1. 硬件准备将 ATmega328P 单片机插入到开发板中,并使用杜邦线将单片机的引脚连接到各个 LED 灯。

我们需要将一个引脚连接到方向控制信号,用于控制灯的点亮方向。

同时,我们还需要连接一个电位器,用于调节流水灯的速度。

2. 程序设计使用 Arduino 开发环境来编写 AVR 单片机的程序。

首先需要包含头文件 avr/io.h 和 util/delay.h,并定义输入输出引脚。

然后,我们需要定义一个名为“led” 的一个数组,来存储各个 LED 灯的输出状态。

同时,还需要定义一个变量“dir”,来表示流水灯的方向。

在程序主循环中,我们使用 for 循环来遍历各个 LED 灯。

同时,根据“dir”变量的不同,我们可以实现流水灯的正向和反向控制。

另外,我们还需要使用“_delay_ms()”函数来延时一定的时间,实现流水灯的闪烁效果。

3. 程序烧录使用 AVR ISP 编程器将编写好的程序烧录到单片机中。

在烧录过程中需要设置正确的程序和芯片类型,并选择正确的口线连接方式。

实验结果经过实际测试,我们成功地实现了一个流水灯控制器。

在调节电位器之后,灯的闪烁速度可以得到不同的调整。

同时,也可以通过改变方向控制信号来改变流水灯的运动方向。

结论通过本次实验可以学习到如何使用 AVR 单片机来实现一个简单的流水灯控制器。

通过编写程序、烧录编译等过程,可以加深对单片机的基础知识和理解。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告单片机流水灯实验报告一、实验目的本实验旨在通过单片机控制八个LED灯,实现流水灯效果。

通过本实验,我们希望达到以下目的:1.深入理解单片机的I/O端口的工作原理和使用方法。

2.掌握单片机定时器/计数器的工作原理和使用方法。

3.学会编写简单的单片机程序,实现特定的LED灯控制。

4.通过实践操作,提高单片机软硬件的综合应用能力。

二、实验设备1.单片机开发板2.电脑一台3.八个LED灯4.杜邦线若干5.电阻、电容等电子元件三、实验原理本实验采用AT89C51单片机作为主控芯片。

八个LED灯分别连接到P1端口的P1.0到P1.7。

通过编程控制P1端口的每一个引脚,实现对LED灯的亮灭控制。

使用定时器/计数器实现延时,达到流水灯效果。

四、实验步骤和内容1.搭建硬件电路将八个LED灯、一个上拉电阻以及相应的杜邦线连接至单片机开发板。

确保电源正确连接,并注意LED灯的长脚为正极,短脚为负极。

2.编写程序使用Keil C51编写程序,实现如下功能:点亮每个LED灯一定的时间,然后熄灭。

重复此过程,形成流水灯效果。

代码如下:#include <reg51.h> //包含51单片机的头文件#define LED P1 //定义LED为P1端口void delay(unsigned int time) //延时函数{unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<1275;j++);}void main() //主函数{while(1) //程序一直循环执行{unsigned char i=0; //定义一个变量i,用于循环控制LED灯while(i<8) //循环点亮每个LED灯{LED=~(0x01<<i); //点亮第i个LED灯delay(50000); //延时50ms(50*1275us)i++; //变量i加1,控制下一个LED灯}}}3.编译程序将程序编译为二进制文件,生成HEX文件。

单片机流水灯实验报告

单片机流水灯实验报告

实验目的:实现单片机流水 灯功能
实验结果:LED灯按照预设 顺序依次点亮,实现流水灯
效果
分析与讨论:实验结果与预 期相符,验证了单片机流水
灯功能的实现。
实验结果分析
实验目的:验证单片 机流水灯控制电路的
设计与实现
实验设备:单片机、 LED灯、电阻、电源

实验步骤:编写程序、 连接电路、运行程序、
观察现象
实验过程中,对实验结果 的分析不够全面,容易导 致实验结论不准确。
实验过程中,对实验数据 的记录不够详细,容易导 致实验数据丢失。
实验过程中,对实验设备 的维护不够重视,容易导 致实验设备损坏。
实验过程中,对实验环境 的控制不够严格,容易导 致实验结果不准确。
对未来实验的展望
创新实验方法:尝试新的实 验方法,提高实验效果
掌握流水灯电路 的搭建方法
学习单片机的编 程和调试方法
掌握流水灯电路 的调试方法
添加标题
添加标题
添加标题
添加标题
培养实践操作和问题解决能力
通过实验操作, 提高动手能力
学习单片机的基 本原理和编程方

培养发现问题、 分析问题和解 决问题的能力
提高团队合作和 沟通能力
02
实验设备
单片机开发板
添加标题 添加标题 添加标题 添加标题 添加标题 添加标题
编写流水灯程序
确定流水灯的 硬件连接方式
编写流水灯控 制程序
编译并下载程 序到单片机
调试程序,确 保流水灯正常 工作
0
0
0
0
1
2
3
4
烧录程序到单片机
准备烧录器:选择合适的烧录器,如USB烧录器 连接单片机:将烧录器连接到单片机的烧录接口 打开烧录软件:启动烧录软件,选择要烧录的程序文件 开始烧录:点击烧录按钮,开始烧录程序到单片机 检查烧录结果:烧录完成后,检查单片机的运行情况,确保程序正常运行

单片机流水灯的实训报告

单片机流水灯的实训报告

一、实验目的1. 熟悉单片机的基本原理和结构;2. 掌握单片机编程的基本方法和技巧;3. 学会使用单片机进行LED流水灯的编程和控制;4. 培养动手实践能力和团队协作精神。

二、实验原理流水灯实验是单片机入门级的经典实验,通过编程控制单片机的I/O口输出高低电平,从而驱动LED灯依次点亮,形成流水灯效果。

本实验采用AT89C52单片机作为核心控制单元,利用其P0端口连接8个LED灯,通过编写程序控制LED灯的点亮和熄灭,实现流水灯效果。

三、实验器材1. 单片机实验板一块;2. AT89C52单片机一个;3. 8个LED灯;4. 连接线若干;5. 电阻若干;6. 5V电源。

四、实验步骤1. 准备实验器材,搭建实验电路;2. 在Keil C51集成开发环境中编写流水灯程序;3. 编译、调试程序,确保程序正常运行;4. 将编译好的程序下载到单片机实验板上;5. 观察LED灯流水效果,分析程序运行过程。

五、实验内容1. 流水灯程序编写(1)初始化P0端口为输出模式,设置初值为0xFF,即8个LED灯全部熄灭;(2)通过延时函数实现LED灯的点亮和熄灭,形成流水效果;(3)编写循环语句,使LED灯依次点亮,实现流水灯效果;(4)编写延时函数,控制LED灯点亮和熄灭的时间间隔。

2. 流水灯控制(1)通过按键控制流水灯的开关;(2)通过按键控制流水灯的速度;(3)通过按键控制流水灯的方向(正向或反向)。

3. 流水灯程序调试(1)检查程序语法错误;(2)检查程序逻辑错误;(3)观察LED灯流水效果,确保程序正常运行。

六、实验结果与分析1. 实验结果通过编写程序,成功实现了LED流水灯的点亮和熄灭,实现了正向、反向流水效果,并可通过按键控制流水灯的开关、速度和方向。

2. 实验分析(1)流水灯程序编写过程中,掌握了单片机编程的基本方法和技巧,熟悉了延时函数、循环语句等编程语句的运用;(2)实验过程中,学会了使用单片机进行LED灯的控制,掌握了单片机I/O口编程的基本方法;(3)通过按键控制流水灯,提高了程序的功能性和实用性;(4)实验过程中,培养了动手实践能力和团队协作精神。

LED流水灯显示实验,单片机实验报告(2页)

LED流水灯显示实验,单片机实验报告(2页)

LED流水灯显示实验,单片机实验报告(2页)第第PAGE 1 页LED流水灯显示实验,单片机实验报告D LED 流水灯显示实验单片机实验报告一.实验目的1.熟悉单片机I/O 口的功能。

2.熟悉延时子程序的编写和使用。

3.初步熟悉单片机软硬件设计方法。

二.实验仪器计算机、Keil 编程环境、普中下载软件、单片机开发实验仪。

三.实验原理与内容P0 口做输出口,引脚接一只发光二极管,编写程序,使该发光二极管循环亮灭。

1. LED 流水灯显示2. 开幕和闭幕显示四. 实验线路及原理五. 注意事项1.安装实验仪时,先接通讯串口线,再开电源开关。

2.实验过程中,在进行接插线操作时,必须先关闭电源。

六六. 实验步骤1、主机连线说明:JP10 单片机0 P0 口(8 8 位)J12 74HC245( 数码管段选) ) 2. 短路块J21 P10VccJ21 七. 实验步骤1.打开Keil 编程软件编写程序,并进行汇编产生HEX 文件。

(1)流程图:(2)汇编程序ORG 0000H ; 初始地址0000H LJMP MAIN ; 跳转MAIN 主程序ORG 0100H ; 主程序MAIN 从从0100H 开始存放MAIN :MOV P0,#55H; 赋值P0 口0101 0101B CALL DELAY ; 调用延时子程序,延时MOV P0,#0AAH ; 赋值给P0 口1010 1010B CALL DELAY ; 调用延时子程序,延时SJMP main ; 跳转main 主程序DELAY: MOV R6,#200 ; 延时子程序,R6=200 dey2: MOV R7,#0 ;R7=0 DEY1: NOP ; 空指令DJNZ R7,DEY1;R7≠0 跳转DEY1 DJNZ R6,DEY2;R6≠0 跳转DEY2 RET ; 返回主程序END ; 结束点击普中下载软件,检查设置是否正确。

2.运行程序看结果。

反复修改和下载。

洛阳理工单片机实验报告1只LED灯闪烁控制

洛阳理工单片机实验报告1只LED灯闪烁控制

洛阳理工单片机实验报告1只LED灯闪烁控制
本实验利用洛阳理工学院提供的51单片机开发板和Keil编程软件,实现了控制一只LED灯的闪烁。

完成了以下内容:
1. 确定硬件连接
2. 确定软件流程
3. 编写程序代码
4. 下载程序到开发板中测试
5. 总结
1. 确定硬件连接
本次实验使用的硬件为洛阳理工学院提供的51单片机开发板,其主要的硬件连接如下:
- P1口:控制LED灯的亮灭
- VCC口:正电源
- GND口:地
2. 确定软件流程
根据硬件连接,本次实验的软件流程可大致分为以下几步:
- 配置P1口
- 设置LED灯亮、灭的时间间隔
- 循环控制LED灯的闪烁
3. 编写程序代码
下面是本次实验的程序代码:
```c
#include <reg52.h>
sbit LED = P1^0; // 定义LED连接的口
void Delay(unsigned int time) // 等待函数
{
unsigned int i,j;
for(i=0; i<time; i++)
{
for(j=0; j<1275; j++);
}
}
4. 下载程序到开发板中测试
将程序代码编译成HEX文件后,使用下载工具将程序下载到51单片机开发板中。

下载完成后,控制板上的LED灯会开始闪烁。

5. 总结
本次实验学习了51单片机的开发环境和基本语法,并实现了控制一只LED灯闪烁的功能。

在此过程中,对计算机基础和电路原理有了更深入的认识,也加强了是对单片机开发的理解,为以后的学习打下了坚实的基础。

单片机流水灯实验程序实验报告

单片机流水灯实验程序实验报告

单片机流水灯实验程序实验报告实验题目:流水灯实验2(利用查表方式)一、实验目的:1、学习利用查表的方式,使发光二极管(L1—L8)做舞台灯光效果的变化。

2、学习实用程序的编程规则。

二、实验仪器设备计算机一台、单片机在线系统一套(AY—MPU89S51E)三、实验电路:同实验一电路。

四、实验内容:灯光效果按如下规律显示:00111100,10000001,11000011,11100111,11111111,11100111,11000011,10000001,00000000,00011000,00111100,01111110 11111111,00000000,10101010,10101010,11001100,10000000,11000000,11100000,11110000,11111000,11111100 11111110,11111111,11111110,11111100,11111000,11110000 11100000,11000000,10000000,00000000。

扩展:自行设计花色效果表。

五、实验步骤:1、画出程序流程图。

3、程序输入到编程软件Keilc51中。

3、编译下载程序到系统实验板上的单片机中。

4、分析调试记录的内容和结果,找出程序中可能出错的地方,然后修改程序,继续调试、记录、分析,直到调试成功。

实验电路:U11939XTAL1P0.0/AD038P0.1/AD137P0.2/AD21836XTAL2P0.3/AD335P0.4/AD434 P0.5/AD533P0.6/AD6932RSTP0.7/AD721P2.0/A822P2.1/A923P2.2/A102924PSENP2.3 /A113025ALEP2.4/A123126EAP2.5/A1327P2.6/A1428P2.7/A15110P1.0/T2P3.0/RXD2 11P1.1/T2EXP3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T0615P1.5 P3.5/T1716P1.6P3.6/WR817P1.7P3.7/RDAT89C52程序流程图:开始(21H) 00HDPTR #TAB,(A) (21H)(A) @A+DPTR显示灯亮(A) (21H)+1N Y(A)=33?程序代码:ORG 0000HLJMP STARTORG 0100HSTART:MOV P1,#0FFHMOV 21H,#00HLOOP:MOV DPTR,#TABMOV A,21HMOVC A,@A+DPTRCPL AMOV P1,ALCALL DELAYINC 21HMOV A,21HCJNE A,#33,LOOPMOV 21H,#00HLJMP LOOPTAB: DB00111100,10000001,11000011,11100111,11111111,11100111,11000011,10000001 DB00000000,00011000,00111100,01111110,11111111,00000000,10101010,10101010 DB11001100,10000000,11000000,11100000,11110000,11111000,11111100,11111110 DB11111111,11111110,11111100,11111000,11110000,11100000,11000000,10000000, 00000000DELAY: MOV R5,#03HD0:MOV R6,#0FFHD1:MOV R7,#0FFHDJNZ R7,$DJNZ R6,D1DJNZ R5,D0RETEND程序运行正确,写入单片机后,二极管按照上述数值亮灭,展现灯光舞台效果。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告引言:在现代科技的急剧发展下,单片机作为一种重要的控制元件,广泛应用于各个领域。

流水灯作为单片机的一个经典实验,旨在让学生接触并掌握单片机的基本原理和操作方法。

本次实验将介绍单片机流水灯的实验过程以及结果分析。

实验目的:通过单片机流水灯实验,我们的目标是:1. 熟悉并掌握单片机流水灯的基础原理;2. 学习单片机编程的基本方法;3. 培养实验设计和数据分析的能力。

实验原理:单片机流水灯实验基于LED灯的控制,通过改变LED的亮灭状态实现流水灯效果。

具体原理如下:1. 单片机通过IO口控制LED灯的亮度,通过改变IO的输出电平来控制LED的亮灭状态。

2. 流水灯效果通过轮流改变LED灯的亮灭状态实现,即依次控制相邻LED的亮度和灭度。

实验步骤:1. 准备实验材料:单片机开发板、LED灯、面包板、跳线等。

2. 按照电路图连接实验电路:将LED灯依次连接到单片机的IO口上。

3. 首先需要完成单片机的初始化工作,包括设置IO口的方向和初始状态。

4. 设计并编写流水灯的控制程序,包括控制LED灯的亮灭状态和延时时间。

5. 将编写好的程序烧录到单片机中。

6. 运行程序,观察LED灯的亮灭状态是否符合预期效果。

实验结果与分析:根据实验步骤,我们成功地完成了单片机流水灯的实验。

LED 灯按照预期的顺序轮流点亮和熄灭,呈现出流水般的效果。

通过调整延时时间,我们可以改变流水灯的速度,使其呈现出不同的闪烁效果。

在实验过程中,我们也发现了一些问题。

首先,有时LED灯的亮灭状态会出现错误,可能与电路连接有关,需要仔细检查电路连接的正确性。

其次,流水灯的速度调节范围有限,可能需要通过引入外部元件来扩大调节范围。

结论:通过单片机流水灯的实验,我们深入了解了单片机的基本原理和操作方法。

通过编程实现流水灯效果,我们培养了实验设计和数据分析的能力。

同时,在实验过程中发现的问题也为后续实验和学习提供了一定的启示,我们将进一步完善和改进实验方案,以提高实验效果。

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

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

流水灯实验实验内容实验说明:如上图所示,板载 8个 LED 的阳极经排阻 RP1 上拉至 VCC,阴极连接至端口 J9。

实验中,使用杜邦线将单片机的 P1 端口(端口地址:0x90)顺序连接至 J9 端口。

程序功能:先将 P1 端口全部置高(LED 均熄灭),延时 0.2s 左右后,P1.0 置低(LED1 点亮),再延时 0.2s 左右后,P1.0 置高(LED1 熄灭),同时 P1.1 置低(LED2 点亮),如此循环,实现流水灯功能。

实验步骤:1.打开 Keil,新建工程:Project/New Project,输入工程名,并保存;2.选项选择器件:Atmel 的 89C52;3.新建程序文本,并另存该文件为汇编文件格式: (1)“File/New”,(2) File/Save As/键入欲使用的文件名及后缀名,即“文件名.asm”。

再单击“保存”;4.添加该文件到工程:回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,单击“Add File to Group ‘Source Group 1’”,选择刚才新建的汇编文件。

5.在 keil 的汇编文件中输入程序代码,并编译,调试。

6.编译通过后,将生成的HEX文件下载到单片机实验板中,观察实验现象。

参考代码:(1)ORG 0000HLJMP STARTSTART:MOV A, #0FFHCLR CMOV R2, #8LOOP1:RRC AMOV P1,ALCALL DELAYDJNZ R2,LOOP1SJMP STARTDELAY: MOV R3,#7D1: MOV R4,#50D2: MOV R5,#250DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETEND(2)ORG 0000HLJMP START START:MOV A, #00H SETB CMOV R2, #8LOOP1: RRC A MOV P1,ALCALL DELAYDJNZ R2, LOOP1 SJMP START DELAY: MOV R3, #7 D1: MOV R4, #50 D2: MOV R5, #250 DJNZ R5, $DJNZ R4, D2DJNZ R3, D1RETEND(3)ORG 0000HLJMP START START: MOV A, #00H SETB CMOV R2, #8LOOP1: RRC AMOV P1,ALCALL DELAYDJNZ R2, LOOP1 MOV R2, #7LOOP2: RLC AMOV P1,ALCALL DELAYDJNZ R2,LOOP2 SJMP START DELAY: MOV R3, #7 D1: MOV R4, #50D2: MOV R5, #250 DJNZ R5, $DJNZ R4, D2DJNZ R3, D1RETEND实验结果。

最新单片机实验流水灯报告

最新单片机实验流水灯报告

最新单片机实验流水灯报告在本次实验中,我们设计并实现了一个基于单片机的流水灯系统。

该系统的主要功能是通过编程控制LED灯按照一定的顺序和时间间隔依次点亮和熄灭,从而形成流水灯效果。

以下是实验的详细报告:实验目的:1. 熟悉单片机的基本操作和编程。

2. 掌握GPIO(通用输入输出)的配置和使用。

3. 提高编程能力,理解时间控制的概念。

实验材料:- 单片机开发板- LED灯若干- 杜邦线若干- 电源适配器- 计算机及相应的编程软件实验步骤:1. 首先,将LED灯通过杜邦线连接到单片机的GPIO端口上。

确保每个LED连接正确,并且限流电阻已经安装以保护LED不被烧毁。

2. 使用编程软件编写单片机程序。

程序的主要逻辑是通过循环结构控制每个GPIO端口的高低电平,从而控制LED的亮灭。

3. 在程序中设置适当的延时函数,以控制LED点亮和熄灭的时间间隔,实现流水灯的效果。

4. 将编写好的程序通过编程软件下载到单片机中。

5. 连接电源,观察LED灯是否按照预期进行流水式点亮。

实验结果:通过实验,我们成功实现了流水灯效果。

LED灯按照预定的顺序依次点亮和熄灭,形成了流畅的动态效果。

通过调整延时参数,我们还可以改变流水的速度,从而观察不同设置下的灯光变化。

实验分析:在实验过程中,我们发现GPIO端口的配置对于LED的亮灭至关重要。

同时,延时函数的精确度直接影响了流水灯效果的平滑度。

通过对程序的不断调试和优化,我们加深了对单片机编程和硬件控制的理解。

结论:本次单片机实验不仅锻炼了我们的编程技能,而且增强了我们对电子硬件的认识和操作能力。

通过实际操作,我们更加深刻地理解了理论知识,为未来的电子设计和创新打下了坚实的基础。

单片机实验报告流水灯

单片机实验报告流水灯

单片机实验报告流水灯单片机实验报告:流水灯引言:单片机是现代电子技术中非常重要的一部分,它广泛应用于各个领域,如家电、汽车、通信等。

单片机实验是学习单片机的基础,通过实际操作来理解单片机的原理和应用。

本报告将介绍一个常见的单片机实验项目——流水灯实验。

一、实验目的流水灯实验旨在通过控制单片机的IO口,实现多个LED灯按照顺序依次点亮和熄灭的效果。

通过这个实验,可以加深对单片机IO口的控制和编程的理解。

二、实验器材1. 单片机开发板:我们使用的是STC89C52开发板,它是一种基于8051内核的单片机开发板。

2. LED灯:我们使用了8个LED灯,分别连接到单片机开发板的8个IO口上。

3. 连接线:用于连接单片机开发板和LED灯。

三、实验原理流水灯实验的原理很简单,通过控制单片机的IO口输出高低电平来控制LED灯的亮灭。

当某个IO口输出高电平时,对应的LED灯点亮;当IO口输出低电平时,对应的LED灯熄灭。

四、实验步骤1. 连接电路:将8个LED灯分别连接到单片机开发板的8个IO口上,确保连接正确。

2. 编写程序:使用C语言编写单片机程序,控制IO口的高低电平变化。

程序的主要逻辑是通过一个循环,依次将某个IO口输出高电平,然后延时一段时间,再将该IO口输出低电平,再延时一段时间,以此循环实现流水灯的效果。

3. 烧录程序:将编写好的程序烧录到单片机开发板中,确保程序能够正确运行。

4. 调试实验:将单片机开发板连接到电源,观察LED灯是否按照预期的顺序点亮和熄灭。

如果有问题,可以通过调试程序或检查电路连接来解决。

五、实验结果经过调试和实验,我们成功地实现了流水灯的效果。

8个LED灯按照顺序依次点亮和熄灭,形成了一个流动的灯光效果。

这个实验不仅让我们学习了单片机的IO口控制,还提高了我们的动手能力和解决问题的能力。

六、实验总结通过这个实验,我们深入了解了单片机的原理和应用。

单片机作为一种微型计算机,具有体积小、功耗低、成本低等优点,广泛应用于各个领域。

洛阳理工学院实验报告

洛阳理工学院实验报告
if(key4==0)
danxiang();
//while(key4!=0);
}
if(key5==0)
{
delay(10);
if(key5==0)
shuangxiang();
//while(key5!=0);
}
}
实验电路图:
for(j=0;j<7;j++)
{
delay(500);
P1=_crol_(P1,1);
}
for(i=0;i<7;i++)
{
delay(500);
P1=_cror_(P1,1);
}
}
void main()
{
if(key1==0)
{
delay(10);
if(key1==0)
dianliang7();
//while(key1!=0);
洛阳理工学院实验报告
系别
计算机系
班级
B100502
学号
B10050221
姓名
郭洋
课程名称
单片机原理及应用基于Proteus和Keil C
实验日期
2012.03.23
实验名称
LED指示灯循环控制
成绩
实验目的:1.进一步熟悉编程和程序调试;2.学习P1口的使用方法;3.学习延时子程序的编写和使用
实验条件:在KeilC环境下编写程序,并在Proteus仿真环境下实现动画效果。
}
if(key2==0)
{
delay(10);
if(key2==0)
dianlaing1256();
//while(key2!=0);
}

单片机流水灯闪烁实训报告

单片机流水灯闪烁实训报告

一、实验目的1. 熟悉单片机基本原理和组成,掌握单片机编程的基本方法。

2. 理解单片机I/O口控制LED灯的原理,实现流水灯闪烁功能。

3. 提高单片机实际应用能力,为以后从事相关领域工作打下基础。

二、实验原理1. 单片机简介:单片机(Microcontroller Unit,MCU)是一种将中央处理器(CPU)、存储器(RAM、ROM)、输入/输出接口(I/O)、定时器/计数器、串行通信接口等集成在一个芯片上的微型计算机。

2. LED灯简介:LED(Light Emitting Diode)是一种发光二极管,具有体积小、亮度高、寿命长、响应速度快等优点,广泛应用于各种显示、照明等领域。

3. 流水灯闪烁原理:通过单片机的I/O口控制LED灯的亮与灭,实现流水灯效果。

本实验中,采用定时器中断的方式,定时改变LED灯的状态,从而实现闪烁效果。

三、实验设备1. 单片机开发板:选用STC89C52单片机开发板。

2. LED灯:8个LED灯。

3. 电阻:8个220Ω电阻。

4. 连接线:若干。

5. 仿真软件:Proteus。

四、实验步骤1. 搭建电路:将8个LED灯依次连接到单片机的P1口,每个LED灯串联一个220Ω电阻,以保护LED灯。

2. 编写程序:使用C语言编写单片机程序,实现流水灯闪烁功能。

3. 编译程序:将编写好的程序编译成机器码。

4. 仿真测试:在Proteus中加载编译好的程序,观察LED灯的闪烁效果。

5. 实际测试:将程序烧录到单片机中,观察LED灯的闪烁效果。

五、程序设计1. 初始化:设置单片机的I/O口、定时器等。

2. 定时器中断:设置定时器中断,定时改变LED灯的状态。

3. 主循环:在主循环中不断读取定时器中断标志,根据标志改变LED灯的状态。

4. 代码示例:```c#include <reg51.h>#define LED P1void Timer0_Init(void) {TMOD = 0x01; // 设置定时器0为模式1TH0 = 0xFC; // 设置定时器0初始值TL0 = 0x66;ET0 = 1; // 开启定时器0中断EA = 1; // 开启全局中断TR0 = 1; // 启动定时器0}void main(void) {unsigned char i = 0;LED = 0xFF; // 初始化LED灯Timer0_Init(); // 初始化定时器while (1) {if (TF0) { // 定时器0溢出中断TF0 = 0; // 清除溢出标志TH0 = 0xFC; // 重新加载定时器0初始值TL0 = 0x66;for (i = 0; i < 8; i++) {LED = ~(1 << i); // 改变LED灯状态delay(1000); // 延时1秒}}}}void delay(unsigned int ms) {unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 120; j++);}```六、实验结果与分析1. 实验结果:LED灯按照预设的规律闪烁,实现了流水灯效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
系别 计 算机系 班级 09 学号 B120509xx 姓名 2014.9.19 课 程名称 实 验名称 单 片机原 理及应 用 LED 流水灯 实验 实 验日期 成绩
实 验目的 : 1.学会 用 keil4 和 proteus 软件进 行流水 灯程序 的编 写和电 路仿真 。 2 .掌 握驱动 软件的 使用方 法, 用 STC-ISP 将 程序下 载到 实验板 中, 进 行实物 验证。 实 验条件 : 1.一 台装 有 Keil C 和 proteus 的 计算机 。 2.单片 机实验 箱。 实 验内容 : ( 一) 用 keil4 软件进 行编程 、调试 。 ( 1)分 析:先 把 0xfe 赋 给 P2 口,然后 用 for 语句循 环,进行 左移;再 把 0x80 赋 给 P2 口, 进行右 移。注 意在每 次移位 时调 用一个 延时函 数进行 延时。 ( 2) 源程 序: #include<reg51.h> void delay() {unsigned int j=15000; for(;j>0;j--) ; } void main() {unsigned char i; P2=0xfe; delay(); while(1){ for(i=0;i<7;i++) {P2<<=1; P2=P2|0x01; delay(); } for(i=0;i<7;i++) {P2>>=1; P2=P2|0x80; delay(); } }}
( 二) 在 proteus 中连 接仿真 电路图 ,然后 把把程 序加载 到芯片 中,进 行仿真 。 ( 1)仿 真器件 主要有 :单片 机, LED 灯, VCC ,电阻 。 ( 2)仿 真电路 图:
( 三)实 验箱中 进行验 证。 在电 脑上安 装驱动 ,用 STC-ISP 下 载软件 把 HEX 文件 下载到 实验 箱的单 片机 上 进行结 果验证 。
实 验总结 经 过这次 实验我 了解 到 Keil C 编译软 件的结 构及使 用方法 ,锻 炼了独 立思 考 解决问 题的能 力。通 过 keil4 软 件进行 程序的 编写, 我熟悉 了软 件,同 时对 C51 语言编 程有了 较大的 提高。我 进一步 提高使 用 protues 软件仿 真的能 力。电 路 连接无 误后, 把 keil 中 生成 的 HEX 文 件加载 到单片 机上进 行仿真 。然后 把程 序 下载到 实验室 提供的 单片机 实验箱 ,在电 路板 上测试 。
相关文档
最新文档