单片机流水灯实验分析报告

合集下载

单片机流水灯实验报告

单片机流水灯实验报告

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

二、硬件原理图三、实验程序ORG 00HAJMP STARTORG 001BHAJMP INTORG 0100HSTART:MOV SP,#60HMOV TMOD,#10HMOV TL1,#00HMOV TH1,#4CHMOV R0,#00HMOV R1,#20SETB TR1SETB ET1SETB EAINT:PUSH ACCPUSH PSW PUSH DPLPUSH DPHCLR TR1MOV TL1,#B0H MOV TH1,#3CH SETB TR1DJNZ R1,EXIT MOV R1,#20 MOV DPTR,#DATA MOV A,R0 MOVC A,@A+DPTR MOV DPTR,#8000H Movx @DPTR,A INC R0ANL 00,#07H EXIT:POP DPHPOP PSWPOP ACCRETIDATA:DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,0HEND四、实验功能以实验机上74LS273做输出口,接八只发光二极管,编写程序,使开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去.五、实验总结通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。

而安排课程设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。

尤其是观察、分析和解决问题的实际工作能力。

单片机流水灯实验总结

单片机流水灯实验总结

单片机流水灯实验总结引言:单片机流水灯实验是学习嵌入式系统和单片机基础的重要实践环节。

通过设计和搭建流水灯电路,我们可以深入理解单片机的工作机制和时序控制。

本文将总结我在流水灯实验中的心得体会,分享一些有关单片机流水灯设计的经验。

一、实验概述这个实验的目标是设计一个能够连续闪烁的流水灯电路,通过单片机的控制,实现一串灯按照固定的顺序不断亮灭的效果。

我们可以通过改变灯的亮灭时间和顺序,来获得不同的流水灯效果。

二、选材准备在进行单片机流水灯实验之前,我们需要准备一些基本的材料和工具。

首先,我们需要一块单片机开发板,最常用的是STC89C52系列的开发板,该开发板搭载了一颗51单片机。

此外,我们还需要准备串联的LED灯,该灯可以选择常见的5mm直径的LED灯,同时需要配备一定数量的适量电阻用于限流。

三、实验步骤1. 连接电路:首先,需要将电路图中的元件按照连接要求连接好,确保各个元件之间的连接无误且紧固可靠。

2. 编写程序:接下来,我们需要使用Keil等软件编写单片机的程序。

通过学习嵌入式C语言编程,我们可以控制单片机的输入输出,包括控制LED灯的亮灭。

3. 烧录程序:编写完程序后,需要借助烧录器将程序烧录到单片机中。

这样单片机才能按照我们设计的程序来控制灯的状态。

4. 调试与测试:当烧录完成后,可将单片机开发板上的电源与电源线连接,并打开开关,此时,流水灯便会开始闪烁。

通过观察流水灯的灯光变化,我们可以判断我们的程序是否正确。

四、实验心得通过进行单片机流水灯实验,我深刻体会到了嵌入式系统的编程和硬件设计的重要性。

在编写程序时,我们需要仔细思考流水灯的亮灭规律和顺序,以及每个灯亮灭的时间间隔。

这需要我们对嵌入式C语言的基本语法和单片机的时序控制有一定的理解。

另外,在实验过程中,我遇到了一些问题和挑战。

例如,如何控制灯的顺序和亮灭时间,如何调整程序的延时时间等。

在解决这些问题的过程中,通过查阅资料和与同学的讨论,我逐渐积累了解决问题的经验,并在实践中不断调试和优化程序。

单片机流水灯实验报告

单片机流水灯实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机流水灯实验总结800字(6篇)

单片机流水灯实验总结800字(6篇)

单片机流水灯实验总结800字(6篇)关于单片机流水灯实验总结,精选6篇范文,字数为800字。

实验总结是指对某一阶段实验情况的总结,是对已经做过的实验所作的总结,也是对实践进行检验与评价工作的依据。

今天为大家整理了单片机流水灯实验总结,希望对大家有所帮助。

光阴似箭,日月如梭。

转眼,一个月的实习期就要过去了,回顾一个月的实习生活感受颇多。

我于xx年xx 月xx日开始到湖南农业大学金秋期间实习,作为一名刚踏出校门的大学生,我充满期待。

我实习的单位是湖南农业大学金秋期间的实习单位。

单片机流水灯实验总结(范文):1实验总结是指对某一阶段实验情况的总结,是对已经做过的实验所作的总结,也是对实践进行检验与评价工作的依据。

今天为大家整理了单片机流水灯实验总结,希望对大家有所帮助。

光阴似箭,日月如梭。

转眼,一个月的实习期就要过去了,回顾一个月的实习生活感受颇多。

我于xx年xx月xx日开始到湖南农业大学金秋期间实习,作为一名刚踏出校门的大学生,我充满期待。

我实习的单位是湖南农业大学金秋期间的实习单位。

我实习的单位是湖南农业大学金秋期间的实习单位,这是一家农业大学的单位,是由湖南省农业大学农业学院的教学与科研单位组成。

我实习的单位是湖南农业大学金秋期间的实习单位。

我实习的单位是湖南农业大学金秋期间的实习单位。

该单位的经济效益良好,在农业生产上也给我们提供了良好的服务,我们作为实习的负责人对他们表示衷心的感谢。

这次实习我主要是在生产部和机电部实习。

通过在机电部参观生产线上的各个岗位的工作,我熟悉和掌握了各个生产部的作业程序及原理和方法,对机电部各个岗位也有了深刻的了解和认识,这次实习不仅仅是对我们专业知识的扩展,同时也是我们的一次综合能力的培养,使我们不仅要能学好专业的知识,也要注意多方面的学习,比如,如何在生产部门的岗位上工作,这就要求我们在以后的学习中要注意知识的积累。

在实习期间我严格按照公司的要求和指导老师的要求,认真做好每日的日常工作,在工作中学习,在实践中提高自己的技术水平。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告:实验一:用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转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

流水灯实验报告

流水灯实验报告

流水灯实验报告单片机流水灯实验一、任务让8个LED灯轮流亮起来,实现流水灯的功能。

二、思路让接在P0.0口的LED灯亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED灯熄灭,就要把P0.0口的电平变为高电平就可以了。

要实现流水灯功能,只要将8个LED灯依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

我们应该注意一点,由于单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

三、步骤1、用proteus画电路图。

如下图:2、用keil建工程。

1) 运行keil C51软件,点击Project菜单新建项目,选择为AT89C52的单片机型号。

然后单击File选择New新建程序文件,保存成 .c 文件,右击Source Group1添加入程序文件。

2) 用C语言编写程序代码如下:#includevoid delay (unsigned char tmp);code unsigned char tmpled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void main(void) {unsigned char i; while (1) {for(i=0;i<8;i++) { P0=tmpled[i]; delay(50); } } }void delay(unsigned char tmp) {unsigned char i,j; i=tmp; while(i) { i--; j=255; { j--; } } }3) 右击Target 1打开设置,Output菜单下勾选上create hex file。

4) 调试运行程序后,在proteus中双击单片机,添加hex文件,运行看到流水的的效果。

四、实验中遇到的问题。

1、用proteus仿真时候,发现错误:error variable not found parsing property resistance of RN1-Rnvalue expected for RN1-R(n=1~8)而且led灯亮度十分微弱。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告单片机流水灯实验报告一、实验目的本实验旨在通过单片机控制八个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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机流水灯实验报告
————————————————————————————————作者:————————————————————————————————日期:
51单片机流水灯试验
一、实验目的
1.了解51单片机的引脚结构。

2.根据所学汇编语言编写代码实现LED灯的流水功能。

3.利用开发板下载hex文件后验证功能。

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

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

A寄存器的位经过rr a之后转换如下所示:
A0A1A2A3A4A5A6A7
然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。

四、 实验电路图 a11
a22
3
a3
4a4b1b2b3b45678GND
0a11
a22
3
a34
a4P2.4P2.5P2.6P2.75678a11
a22
3
a34
a4P2.0P2.1P2.2P2.35678Vcc10+5
v
80C51
五、 通过仿真实验正确性
代码如下:ORG 0 MOV A,#00000001B LOOP:MOV P2,A RL A
ACALL DELAY SJMP LOOP
DELAY:MOV R1,#255 DEL2:MOV R2,#250 DEL1:DJNZ R2,DEL1
DJNZ R1,DEL2
RET
End
实验结果:
六、实验参考程序
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
sbit P00=P0^0;
sbit P01=P0^1;
void delay(uchar t)
{
uchar i,j;
for(i=0;i<t;i++)
for(j=0;j<110;j++);
}
void main()
{
uchar i;
while(1)
{
P00=1;
delay(2000);
P00=0;
for(i=0;i<8;i++)
{
P1=table[i];
P2=table[i];
delay(2000);
}
P01=1;
delay(2000);
P01=0;
}
}
实物展示:
(1)单片机最小系统板
(2)自己焊制的集成最小系统板
(3)自己制作的心形流水灯实验板
(4)系统板与实验板的连接展示
七.实验总结:
这次试验我通过Proteus仿真实现对流水灯功能的实现。

受益匪浅,对80c51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51还有一定距离,但我会一如既往的同困难作斗争。

在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。

这些错误令我明白以后在试验中要步步细心,避免出错。

相关文档
最新文档