单片机项目结题报告之流水灯3
流水灯实验报告总结
![流水灯实验报告总结](https://img.taocdn.com/s3/m/2bacf60c24c52cc58bd63186bceb19e8b9f6ec66.png)
流水灯实验报告总结一、实验目的本次流水灯实验的主要目的是通过实际操作,深入理解数字电路中时序逻辑电路的工作原理,掌握基本的硬件电路设计和编程方法,提高我们对电子电路的实践操作能力和问题解决能力。
二、实验原理流水灯是通过控制一系列发光二极管(LED)依次点亮和熄灭,从而产生一种流动的视觉效果。
其实现的核心原理是利用计数器和译码器来控制 LED 的亮灭状态。
在数字电路中,计数器可以对输入的时钟脉冲进行计数,从而产生不同的计数值。
译码器则将计数器输出的计数值转换为对应的控制信号,使得相应的 LED 点亮或熄灭。
例如,使用常见的 74LS161 四位二进制同步计数器和 74LS138 三线八线译码器,可以构建一个简单的八路流水灯电路。
计数器在时钟脉冲的驱动下不断计数,译码器根据计数器的输出值依次选通不同的输出端口,从而实现 LED 的顺序点亮。
三、实验设备及材料1、数字电路实验箱2、 74LS161 计数器芯片3、 74LS138 译码器芯片4、发光二极管(LED)若干5、电阻、电容等基本电子元件6、杜邦线若干7、数字万用表8、示波器四、实验步骤(一)电路设计1、根据实验原理,在实验箱上规划好芯片的布局和连线方式。
2、使用杜邦线将计数器、译码器和 LED 等元件按照设计好的电路连接起来。
3、注意连接的正确性,避免短路和断路现象。
(二)硬件搭建1、仔细对照电路设计图,将芯片插入实验箱的相应插槽中。
2、确保芯片引脚与插槽接触良好,无松动现象。
(三)编程与调试1、使用数字电路实验箱提供的编程工具,对计数器和译码器进行编程设置。
2、例如,设置计数器的计数模式、初始值等参数。
3、打开电源,观察 LED 的亮灭情况。
4、如果流水灯效果不符合预期,使用数字万用表和示波器等工具检测电路中的信号和电压,排查故障。
五、实验中遇到的问题及解决方法(一)LED 不亮1、问题描述:接通电源后,所有 LED 均不亮。
2、排查过程:首先检查电源是否正常,然后使用万用表测量芯片引脚的电压,发现计数器芯片没有正常工作。
单片机流水灯实验报告
![单片机流水灯实验报告](https://img.taocdn.com/s3/m/71e095140166f5335a8102d276a20029bd646322.png)
单片机流水灯实验报告
实验目的:
通过编程实现单片机控制的流水灯电路的设计与实现,熟悉单片机的输入输出功能和简单的控制逻辑。
实验原理:
流水灯是一种常见的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灯按照预定的顺序依次点亮和熄灭,形成了流水灯的效果。
调整程序中的控制逻辑,可以改变流水的速度和方向,实现不同的灯光效果。
实验总结:
通过这次实验,我们深入了解了单片机的输入输出功能和简单的控制逻辑。
通过编写程序,实现了流水灯的控制,加深了对单片机的理解和应用。
在实验过程中,我们还学会了使用开发板软件进行工程的创建、编译、下载和调试操作,提高了工程能力和实践能力。
单片机流水灯实验总结
![单片机流水灯实验总结](https://img.taocdn.com/s3/m/9767add0112de2bd960590c69ec3d5bbfd0adade.png)
单片机流水灯实验总结引言:单片机流水灯实验是学习嵌入式系统和单片机基础的重要实践环节。
通过设计和搭建流水灯电路,我们可以深入理解单片机的工作机制和时序控制。
本文将总结我在流水灯实验中的心得体会,分享一些有关单片机流水灯设计的经验。
一、实验概述这个实验的目标是设计一个能够连续闪烁的流水灯电路,通过单片机的控制,实现一串灯按照固定的顺序不断亮灭的效果。
我们可以通过改变灯的亮灭时间和顺序,来获得不同的流水灯效果。
二、选材准备在进行单片机流水灯实验之前,我们需要准备一些基本的材料和工具。
首先,我们需要一块单片机开发板,最常用的是STC89C52系列的开发板,该开发板搭载了一颗51单片机。
此外,我们还需要准备串联的LED灯,该灯可以选择常见的5mm直径的LED灯,同时需要配备一定数量的适量电阻用于限流。
三、实验步骤1. 连接电路:首先,需要将电路图中的元件按照连接要求连接好,确保各个元件之间的连接无误且紧固可靠。
2. 编写程序:接下来,我们需要使用Keil等软件编写单片机的程序。
通过学习嵌入式C语言编程,我们可以控制单片机的输入输出,包括控制LED灯的亮灭。
3. 烧录程序:编写完程序后,需要借助烧录器将程序烧录到单片机中。
这样单片机才能按照我们设计的程序来控制灯的状态。
4. 调试与测试:当烧录完成后,可将单片机开发板上的电源与电源线连接,并打开开关,此时,流水灯便会开始闪烁。
通过观察流水灯的灯光变化,我们可以判断我们的程序是否正确。
四、实验心得通过进行单片机流水灯实验,我深刻体会到了嵌入式系统的编程和硬件设计的重要性。
在编写程序时,我们需要仔细思考流水灯的亮灭规律和顺序,以及每个灯亮灭的时间间隔。
这需要我们对嵌入式C语言的基本语法和单片机的时序控制有一定的理解。
另外,在实验过程中,我遇到了一些问题和挑战。
例如,如何控制灯的顺序和亮灭时间,如何调整程序的延时时间等。
在解决这些问题的过程中,通过查阅资料和与同学的讨论,我逐渐积累了解决问题的经验,并在实践中不断调试和优化程序。
单片机实训报告_流水灯
![单片机实训报告_流水灯](https://img.taocdn.com/s3/m/e7845c70cec789eb172ded630b1c59eef8c79a8e.png)
一、实验目的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软件的使用。
单片机流水灯实验总结800字(6篇)
![单片机流水灯实验总结800字(6篇)](https://img.taocdn.com/s3/m/1719e940a7c30c22590102020740be1e650ecc14.png)
单片机流水灯实验总结800字(6篇)关于单片机流水灯实验总结,精选6篇范文,字数为800字。
实验总结是指对某一阶段实验情况的总结,是对已经做过的实验所作的总结,也是对实践进行检验与评价工作的依据。
今天为大家整理了单片机流水灯实验总结,希望对大家有所帮助。
光阴似箭,日月如梭。
转眼,一个月的实习期就要过去了,回顾一个月的实习生活感受颇多。
我于xx年xx 月xx日开始到湖南农业大学金秋期间实习,作为一名刚踏出校门的大学生,我充满期待。
我实习的单位是湖南农业大学金秋期间的实习单位。
单片机流水灯实验总结(范文):1实验总结是指对某一阶段实验情况的总结,是对已经做过的实验所作的总结,也是对实践进行检验与评价工作的依据。
今天为大家整理了单片机流水灯实验总结,希望对大家有所帮助。
光阴似箭,日月如梭。
转眼,一个月的实习期就要过去了,回顾一个月的实习生活感受颇多。
我于xx年xx月xx日开始到湖南农业大学金秋期间实习,作为一名刚踏出校门的大学生,我充满期待。
我实习的单位是湖南农业大学金秋期间的实习单位。
我实习的单位是湖南农业大学金秋期间的实习单位,这是一家农业大学的单位,是由湖南省农业大学农业学院的教学与科研单位组成。
我实习的单位是湖南农业大学金秋期间的实习单位。
我实习的单位是湖南农业大学金秋期间的实习单位。
该单位的经济效益良好,在农业生产上也给我们提供了良好的服务,我们作为实习的负责人对他们表示衷心的感谢。
这次实习我主要是在生产部和机电部实习。
通过在机电部参观生产线上的各个岗位的工作,我熟悉和掌握了各个生产部的作业程序及原理和方法,对机电部各个岗位也有了深刻的了解和认识,这次实习不仅仅是对我们专业知识的扩展,同时也是我们的一次综合能力的培养,使我们不仅要能学好专业的知识,也要注意多方面的学习,比如,如何在生产部门的岗位上工作,这就要求我们在以后的学习中要注意知识的积累。
在实习期间我严格按照公司的要求和指导老师的要求,认真做好每日的日常工作,在工作中学习,在实践中提高自己的技术水平。
实验三流水灯实验(io口和定时器实验)
![实验三流水灯实验(io口和定时器实验)](https://img.taocdn.com/s3/m/09388fe17d1cfad6195f312b3169a4517723e5b6.png)
实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。
二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。
2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。
3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。
5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。
三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。
当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。
E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。
综上,画出实验电路原理图。
2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。
图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。
实验5程序流程图如图3-5,3-6所示。
图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。
单片机课程设计报告流水灯(WORD档)
![单片机课程设计报告流水灯(WORD档)](https://img.taocdn.com/s3/m/999adb2caa00b52acec7ca44.png)
XX工程学院单片机课程设计报告题目:流水灯学生姓名:学号:系部名称:职业技术学院班级:机电一体化Z11-1 指导教师:目录摘要 (3)一、课程设计题目 (4)二、设计任务及要求 (4)三、实验方案 (4)四、流程图 (4)五、硬件电路 (6)六、软件设计 (6)1 主体程序 (6)2 键扫描子程序 (6)3 闪烁控制程序 (6)4 延时子程序 (6)5 源程序设计 (7)七、功能调试 (12)八、设计总结 (12)九、参考文献 (13)【摘要】单片机课程设计主要是为了让我们增进对单片机芯片电路的感性认识,加深对理论方面的理解。
了解软硬件的有关知识,并掌握软件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。
另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。
一、课程设计题目:流水灯二、设计任务及要求:任务:完成对接在P1,P3口的发光二极管闪亮控制程序的设计1.用程序延时方法让P1的一个LED小灯每隔1S交替闪亮2.用程序延时方法让P1的8个LED小灯循环(每个亮50MS)闪亮3.用程序延时方法让P1的8个LED小灯追逐闪亮(50MS间隔变化)4.用程序延时方法让P1、P3的16个LED小灯循环(每个亮50MS)闪亮要求:1. 根据硬件电路原理,画出接线2. 设计出相应的软件程序三、实验方案:方案:单片机采用40脚的89C52标准双列直插系列,有4个标准输入/输出端口共32位控制端口。
本次设计采用并行口低电平(吸电流)直接驱动LED发光管发光形式,选择了P1和P3口的16个端口进行模拟LED小灯控制,如要多些小灯单元可再将P2口、P0口及其他空余端口用LED小灯驱动控制。
因系统功能要求能控制灯亮的方式,在P0.0—P0.3端口接了4个按键小开关,每个小开关可控制一种亮灯方式。
在端口较紧张的情况下,LED小灯驱动也可用串入/并出移位寄存器(如74HC595),单片机用并行移位方式进行驱动。
实训报告单片机流水灯
![实训报告单片机流水灯](https://img.taocdn.com/s3/m/c36b1faef71fb7360b4c2e3f5727a5e9846a2756.png)
一、实验目的1. 熟悉单片机的基本原理和组成,掌握51单片机的编程方法。
2. 理解单片机I/O口的使用,学会利用单片机控制LED灯的流水灯效果。
3. 提高动手实践能力,培养团队协作精神。
二、实验环境1. 实验设备:51单片机开发板、LED灯、面包板、电源、连接线等。
2. 实验软件:Proteus仿真软件、Keil uVision5集成开发环境。
三、实验原理流水灯实验是单片机入门级实验之一,通过控制单片机的I/O口输出高低电平,使LED灯依次点亮,形成流水灯效果。
实验中,利用单片机的定时器产生定时中断,每隔一定时间改变I/O口的输出状态,实现LED灯的流水灯效果。
四、实验步骤1. 打开Proteus软件,新建一个工程项目,添加51单片机开发板和LED灯等元件,绘制电路图。
2. 打开Keil uVision5,新建一个C51工程项目,选择对应的单片机型号。
3. 编写程序:(1)初始化I/O口:将P0口设置为输出模式,将P1口设置为输出模式。
(2)设置定时器:选择合适的定时器,设置定时时间,使其产生定时中断。
(3)编写中断服务程序:在中断服务程序中,改变I/O口的输出状态,实现LED灯的流水灯效果。
(4)编写主程序:在主程序中,启动定时器,进入中断服务程序。
4. 编译程序,生成HEX文件。
5. 将生成的HEX文件导入Proteus软件,运行仿真实验。
6. 观察实验现象,检查LED灯的流水灯效果是否正常。
五、实验结果与分析1. 实验现象:在Proteus软件中,LED灯依次点亮,形成流水灯效果。
2. 实验分析:通过设置定时器,每隔一定时间改变I/O口的输出状态,实现LED 灯的流水灯效果。
实验过程中,可以调整定时器的定时时间,改变流水灯的速度。
六、实验总结1. 本实验使我们对单片机的基本原理和组成有了更深入的了解。
2. 通过编写程序,掌握了51单片机的编程方法,提高了编程能力。
3. 实验过程中,我们学会了利用单片机控制LED灯,实现了流水灯效果。
单片机流水灯实验总结
![单片机流水灯实验总结](https://img.taocdn.com/s3/m/4524a1cb70fe910ef12d2af90242a8956becaac7.png)
单片机流水灯实验总结单片机流水灯实验是学习单片机编程的基础实验之一,通过这个实验可以了解单片机的基本输入输出功能,掌握单片机的编程和控制方法。
下面我将对单片机流水灯实验进行总结,包括实验原理、实验步骤、实验结果以及实验中遇到的问题和解决方法。
实验原理。
单片机流水灯实验是利用单片机的GPIO口控制LED灯的亮灭,通过不同的控制方式实现LED灯的流水效果。
在单片机中,通过将相应的GPIO口输出高电平或低电平来控制LED的亮灭,从而实现流水灯的效果。
实验步骤。
1. 硬件连接,将单片机和LED灯按照电路图连接好,确保连接正确无误。
2. 编写程序,利用单片机编程软件编写流水灯控制程序,设置相应的GPIO口输出高低电平的时间间隔和顺序。
3. 烧录程序,将编写好的程序通过编程器烧录到单片机中。
4. 调试程序,连接好电路后,通过上电测试程序,观察LED灯的流水效果是否符合预期。
实验结果。
经过以上步骤,我们成功实现了单片机流水灯的效果。
LED灯按照设定的顺序依次亮起和熄灭,形成了流水灯的效果。
实验结果符合预期,证明了程序编写和硬件连接的正确性。
实验中遇到的问题和解决方法。
在实验过程中,我们遇到了一些问题,例如LED灯未按照预期顺序亮起、熄灭或者有闪烁现象。
经过检查和调试,发现是程序编写中的逻辑错误或者硬件连接接触不良导致的。
通过仔细排查和调试,我们成功解决了这些问题,确保了实验的顺利进行和结果的准确性。
总结。
通过本次单片机流水灯实验,我们深入了解了单片机的GPIO口控制LED灯的方法,掌握了单片机编程和控制的基本技能。
同时,实验过程中遇到的问题也让我们学到了很多调试和排查的方法,提高了我们的实际操作能力和解决问题的能力。
希望通过这次实验,能够为我们今后的学习和实践打下坚实的基础。
结语。
单片机流水灯实验是单片机编程学习的重要实验之一,通过这个实验可以加深对单片机控制方法的理解,提高实际操作能力。
希望大家能够认真对待这个实验,通过自己的努力和实践,掌握单片机编程的基本技能,为今后的学习和工作打下坚实的基础。
单片机流水灯实验报告
![单片机流水灯实验报告](https://img.taocdn.com/s3/m/4c954afaf524ccbff12184ec.png)
单片机流水灯实验报告:实验一:用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转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机流水灯实验报告
![单片机流水灯实验报告](https://img.taocdn.com/s3/m/2e30b85011a6f524ccbff121dd36a32d7275c772.png)
实验目的:实现单片机流水 灯功能
实验结果:LED灯按照预设 顺序依次点亮,实现流水灯
效果
分析与讨论:实验结果与预 期相符,验证了单片机流水
灯功能的实现。
实验结果分析
实验目的:验证单片 机流水灯控制电路的
设计与实现
实验设备:单片机、 LED灯、电阻、电源
等
实验步骤:编写程序、 连接电路、运行程序、
观察现象
实验过程中,对实验结果 的分析不够全面,容易导 致实验结论不准确。
实验过程中,对实验数据 的记录不够详细,容易导 致实验数据丢失。
实验过程中,对实验设备 的维护不够重视,容易导 致实验设备损坏。
实验过程中,对实验环境 的控制不够严格,容易导 致实验结果不准确。
对未来实验的展望
创新实验方法:尝试新的实 验方法,提高实验效果
掌握流水灯电路 的搭建方法
学习单片机的编 程和调试方法
掌握流水灯电路 的调试方法
添加标题
添加标题
添加标题
添加标题
培养实践操作和问题解决能力
通过实验操作, 提高动手能力
学习单片机的基 本原理和编程方
法
培养发现问题、 分析问题和解 决问题的能力
提高团队合作和 沟通能力
02
实验设备
单片机开发板
添加标题 添加标题 添加标题 添加标题 添加标题 添加标题
编写流水灯程序
确定流水灯的 硬件连接方式
编写流水灯控 制程序
编译并下载程 序到单片机
调试程序,确 保流水灯正常 工作
0
0
0
0
1
2
3
4
烧录程序到单片机
准备烧录器:选择合适的烧录器,如USB烧录器 连接单片机:将烧录器连接到单片机的烧录接口 打开烧录软件:启动烧录软件,选择要烧录的程序文件 开始烧录:点击烧录按钮,开始烧录程序到单片机 检查烧录结果:烧录完成后,检查单片机的运行情况,确保程序正常运行
51单片机流水灯实验报告
![51单片机流水灯实验报告](https://img.taocdn.com/s3/m/dfecef2202d8ce2f0066f5335a8102d276a261d4.png)
51单片机流水灯实验报告竭诚为您提供优质文档/双击可除51单片机流水灯实验报告篇一:51单片机流水灯实验报告51单片机流水灯试验一、实验目的1.了解51单片机的引脚结构。
2.根据所学汇编语言编写代码实现LeD灯的流水功能。
3.利用开发板下载hex文件后验证功能。
二、实验器材个人电脑,80c51单片机,开发板三、实验原理单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LeD灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的p2端口,对8个LeD灯进行控制,要实现逐个亮灯即将p2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。
使用rl或rra实现位的转换。
A寄存器的位经过rra之后转换如下所示:然后将A寄存器转换一次便送给p2即moVp2,A便将转换后的数送到了p2口,不断循环下去,便实现了逐位置一操作。
四、实验电路图五、通过仿真实验正确性代码如下:oRg0moVA,#00000001bLoop:moVp2,ARLAAcALLDeLAYsJmpLoopDeLAY:moVR1,#255DeL2:moVR2,#250DeL1:DJnZR2,DeL1DJnZR1,DeL2ReTend实验结果:六、实验总结这次试验我通过proteus仿真实现对流水灯功能的实现。
受益匪浅,对80c51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51还有一定距离,但我会一如既往的同困难作斗争。
在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。
这些错误令我明白以后在试验中要步步细心,避免出错。
篇二:实验(:51单片机流水灯实验报告)一51单片机流水灯实验实验报告“流水灯”实验报告一、实验目的1.了解单片机I/o口的工作原理。
2.掌握51单片机的汇编指令。
3.熟悉汇编程序开发,调试以及仿真环境。
二、实验内容通过汇编指令对单片机I/o进行编程(本实验使用p0口),以控制八个发光二极管以一定顺序亮灭。
实习报告-流水灯
![实习报告-流水灯](https://img.taocdn.com/s3/m/0a58bbbf5727a5e9856a6191.png)
单片机流水彩灯设计目录1、方案设计说明 (2)(1)设计项目概述 (2)(2)设计项目功能及操作介绍 (2)(3)方案设计思路 (2)2、硬件设计说明 (3)(1)电路图 (3)(2)I/O的分配 (3)(3)电路工作原理 (4)(4)主要器件介绍 (4)3、软件设计说明 (5)(1)软件设计概述 (5)1)设计思路 (5)2)总体功能 (6)3)程序流程图 (7)(2)程序总体结构及程序的执行与工作过程 (8)(3)重要程序段说明 (8)(4)程序清单 (9)4、制作调试说明 (13)(1)制作调试过程及结果 (13)(2)所遇到的问题及解决方法 (13)5、总结 (14)1、方案设计说明(1)设计项目概述本次设计的题目是单片机流水彩灯设计通过综合掌握单片机编程的基本思想,以及中断,定时程序的基本编写方法。
利用单片机设计并制作流水彩灯。
该流水彩灯设置用一个AT89S51单片机来控制12LED灯产生不同的发光效果。
(2)设计项目功能及操作介绍其中两个按键 K1 和 K2,上电后,12 个 LED 灯全亮;两个按键一个用于控制“流水灯”的启动和停止,另一个用于选择“流水”的花样。
其中流水灯花样有三种:1)单个LED灯顺次点亮。
2)每两个LED灯顺次点亮然后再顺次返回。
3)从两端每三个LED灯顺向中间次点亮。
(3)方案设计思路按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
流水灯实际上就是一个带有12个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
如果要让接在P0.0口的LED亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED熄灭,就要把P0.0口的电平变为高电平;同理,接在其他接口上LED灯的点亮和熄灭的方法也如此。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED12依次点亮、熄灭,12只LED灯便会一亮一暗的做流水灯了。
单片机项目结题报告之流水灯3
![单片机项目结题报告之流水灯3](https://img.taocdn.com/s3/m/abe0feec69dc5022aaea0073.png)
单片机项目结题报告项目名称:花样流水灯项目组员:张曌、张丹丹、张浩、章江班级:通信1502指导教师:张天飞填表日期:2017/5/5目录第1章概述................................... 错误!未定义书签。
1、1项目简介 .................................................. 错误!未定义书签。
1、2项目方案 ................................................ 错误!未定义书签。
第2章硬件电路设计 ................. 错误!未定义书签。
第3章软件程序设计 ................... 错误!未定义书签。
第4章仿真结果 ........................... 错误!未定义书签。
第5章小结ﻩ错误!未定义书签。
附录A 程序 ................................... 错误!未定义书签。
附录B 电路图 ............................... 错误!未定义书签。
附录C焊接实物图ﻩ错误!未定义书签。
第1章概述1、1项目简介本项目要求在单片机得P0端口得P0、0~P0、7引脚外接8个LED发光二极管D1~D8,在P2端口得P2、0~P2、7引脚外接8个LED发光二极管D9~D16实现各种灯亮得效果,具体要求为: (1)D1~D16发光二级管自上而下依次轮流点亮;(2)D1~D16发光二级管自下而上依次轮流点亮;(3)D1~D16发光二级管自上而下每间隔一个依次点亮;(4)上下交替点亮(5)全亮(6)全灭(7)重复循环以上6个过程1、2项目方案(项目整体方案描述及方案框图)1、2、1若要实现流水灯不同功能得展现,则要根据实际得条件设计相应得硬件电路与软件程序得设计。
本课题使用AT89C51单片机进行流水灯得功能演示,本流水灯实际上就就是一个带有16个发光二极管得单片机最小得应用系统,由发光二极管、晶振、复位、电源等电路与必要得软件组成得单个单片机.如果要让接在P1、0口得LED1灯亮起来,那么只要把P1、0口得电平变为低电平就可以了;相反,如果要接在P1、0口得LED 灯熄灭,就要把P1、0口得电平变为高电平;同理,接在P1、1~P1、7口得其她7个LED灯点亮与熄灭得方法同LED1;同理P2、0~P2、7也如此。
单片机实验流水灯报告
![单片机实验流水灯报告](https://img.taocdn.com/s3/m/796f3b2d4b35eefdc8d333c3.png)
姓名
XXXX
学号
106032010128
学院
光电学院
班级
电子信息工程四班
实验目的
1、掌握单片机IO工作原理;
2、掌握单片机IO驱动工作方式
实验环境
PC机一台和HC6800单片机实验箱一台及KEIL程序设计调试软件、仿真软件等。
内容与步骤
内容:
驱动LED闪烁,闪烁节奏和方式可自定义。
3、新建程序文本,并另存为该文件为.C格式:(1)“File/New”,(2) File/Save As/键入欲使用的文件名及后缀名,即“文件名.C”。并“保存”;
4、添加该文件该工程:回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,单击“Add File to Group‘Source Group 1’”选择刚才新建的.C文件;
EA=1;
ET0=1;
TR0=1;
}
void timer0() interrupt 1
{
int k=0;
for(;k<=3;k++)
{ P0=0;
delay();
P0=0xff;
delay();
}
main();
}
教师评阅
成绩
}
TH0=(65536-50000)/256;//赋初值;
TL0=(65536-50000)%256;
EA=1;//开CPU中断;
ET0=1;//开T0中断;
TR0=1;//开始计数;
}
void timer0() interrupt 1 //中断函数;
{பைடு நூலகம்
单片机流水灯实验总结
![单片机流水灯实验总结](https://img.taocdn.com/s3/m/a98f956ba26925c52cc5bf42.png)
篇一:单片机实验报告——流水灯电子信息工程学系实验报告课程名称:单片机原理及接口实验项目名称:实验2 流水灯实验时间: 2011-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。
实验三 流水灯控制实验
![实验三 流水灯控制实验](https://img.taocdn.com/s3/m/0ca50ec48bd63186bcebbc64.png)
实验三流水灯控制实验一、实验目的1.熟练掌握单片机控制系统硬件电路的设计、测试;单片机监控程序的编写、调试及运行。
二、实验设备1.PC计算机;2.NEC全系列微控制器(单片机)开发工具EM/EZ-1系统;3.实验系统。
三、实验内容1.参考附录中的“LED灯控制电路原理图”及“实验DEMO程序”,编写并运行单片机监控程序,观察在实验板上实现对每个LED灯(LED1~LED12)的亮、灭控制。
2.编写程序实现流水灯功能(方案自行设计)。
四、实验要求1. 实验完成后,应请老师确认后再离开实验室,同时将实验报告写好,填写上班级和姓名后交实验教师。
2. 实验报告中要有完成实验内容2的实验步骤、过程、程序流程图、源程序代码清单、实验结果等内容,并对实验结果进行分析和总结。
1附录:1. LED灯控制电路原理图:2. LED灯控制单片机DEMO程序:#pragma sfrvoid delay( void ) /*软件延时函数*/{int i,j;for(i=0;i<=20000;i++)for(j=0;j<=200;j++);}void main( void ){/* initialize the port registers */P13 = 0x0; /*接在P130~P133上的LED灯熄灭*/P14 = 0x0; /*接在P140~P143上的LED灯熄灭*/P15 =0x0; /*接在P150~P153上的LED灯熄灭*//* initialize the mode registers */2PM13 = 0xf0; /*P00~P03为输出口*/PM14 = 0xf0; /*P20~P23为输出口*/PM15 = 0xf0; /*P50~P07为输出口*/while(1){P13 = 0x0f; /*接在P130~P133上的LED灯点亮*/ delay(); /*延时*/P13 = 0x0; /*接在P130~P133上的LED灯熄灭*/ P14 = 0x0f; /*接在P140~P143上的LED灯点亮*/ delay(); /*延时*/P14 = 0x0; /*接在P140~P143上的LED灯熄灭*/ P15 = 0x0f; /*接在P150~P153上的LED灯点亮*/ delay(); /*延时*/P5 = 0x0; /*接在P150~P153上的LED灯熄灭*/ }}3。
单片机实验报告流水灯
![单片机实验报告流水灯](https://img.taocdn.com/s3/m/687fac5a974bcf84b9d528ea81c758f5f61f2925.png)
单片机实验报告流水灯单片机实验报告:流水灯引言:单片机是现代电子技术中非常重要的一部分,它广泛应用于各个领域,如家电、汽车、通信等。
单片机实验是学习单片机的基础,通过实际操作来理解单片机的原理和应用。
本报告将介绍一个常见的单片机实验项目——流水灯实验。
一、实验目的流水灯实验旨在通过控制单片机的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口控制,还提高了我们的动手能力和解决问题的能力。
六、实验总结通过这个实验,我们深入了解了单片机的原理和应用。
单片机作为一种微型计算机,具有体积小、功耗低、成本低等优点,广泛应用于各个领域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机项目结题报告之流水灯3单片机项目结题报告项目名称:花样流水灯项目组员:张曌、张丹丹、张浩、章江班级:通信1502指导教师:张天飞填表日期:2017/5/5目录第1章概述 (4)1.1 项目简介 (4)1.2 项目方案 (5)第2章硬件电路设计 (7)第3章软件程序设计 (10)第4章仿真结果 (11)第5章小结 (14)附录A 程序 (15)附录B 电路图 (26)附录C 焊接实物图 (27)第1章概述1.1 项目简介本项目要求在单片机的P0端口的P0.0~P0.7引脚外接8个LED发光二极管D1~D8,在P2端口的P2.0~P2.7引脚外接8个LED 发光二极管D9~D16实现各种灯亮的效果,具体要求为:(1)D1~D16发光二级管自上而下依次轮流点亮;(2)D1~D16发光二级管自下而上依次轮流点亮;(3)D1~D16发光二级管自上而下每间隔一个依次点亮;(4)上下交替点亮(5)全亮(6)全灭(7)重复循环以上6个过程1.2 项目方案(项目整体方案描述及方案框图)1.2.1若要实现流水灯不同功能的展现,则要根据实际的条件设计相应的硬件电路和软件程序的设计。
本课题使用AT89C51单片机进行流水灯的功能演示,本流水灯实际上就是一个带有16个发光二极管的单片机最小的应用系统,由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
如果要让接在P1.0口的LED1灯亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED灯熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED灯点亮和熄灭的方法同LED1;同理P2.0~P2.7也如此。
因此,要实现流水灯功能,我们只要将发光二极管的依次点亮,熄灭,LED灯便会一亮一暗的做流水灯。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”的效果了。
基本功能:利用AT89C51作为主控制器组成一个LED流水灯系统,实现16个LED灯的演示。
基本器件:AT89C51单片机、16个LED灯和电阻1.2.2系统原理组成框图:复第2章硬件电路设计类似第1章,分小节介绍硬件电路设计(分模块介绍各子电路的功能及原理)2.1各电路模块2. 1. 1 子系统模块一AT89C51复位模块图2.1.1 复位模块通过人工按键复位实现单片机的复位。
按键复位通过对RST端经过两个电阻对电源Vcc接通分压产生的高电平来实现。
2. 1. 2 子系统模块二AT89C51晶振模块(内部时钟方式)图2.1.2AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2,这两个引脚外部跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。
2. 1. 3 子系统模块三功能播放模块播放模块由16个发光二极管和16个上拉电阻构成,通过对软件程序的调用,让16个发光二极管在不同时刻产生不同的效果,使其实现基本的流水灯功能,能够近一步的实现从理论到实际的转变。
图2.1.3 功能播放模块P0.0~P0.7引脚外接8个LED发光二极管D1~D8并且分别连接8个上拉电阻且共阳极,同在P2端口的P2.0~P2.7引脚外接8个LED 发光二极管D9~D16也接8个上拉电阻且共阳极,实现各种灯亮的效果。
第3章软件程序设计3.1软件流程3.1.1 总流程图↓↓第4章仿真结果4.1 D1~D16发光二级管自上而下依次轮流点亮4.2 D1~D16发光二级管自下而上依次轮流点亮4.3 D1~D16发光二级管自上而下每间隔一个依次点亮4.4 D1~D16发光二级管上下交替点亮4.5 D1~D16发光二级管全亮4.6 D1~D16发光二级管全灭第5章小结总结描述项目设计过程中遇到的问题及解决方法、团队队员的感悟与收获等通过这次单片机课程设计,我们小组收获很多。
在这次设计过程中,硬件的设计跟焊接都要我们自己动手,软件的编程也要我们不断的调试,最终才能够完成自己所要完成的目标,获得相关的知识。
在实习之前,我们要对所用单片机的内部结构有一个比较系统的了解;要从哪些途径获得单片机理论知识的储备;要有一个清晰的思路和一个完整的软件流程图。
在设计程序时,不能想着一步就将整个程序设计好,只有不断修改才是程序设计完美的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让所有人能明白你的思路,这样也为资料的保存与交流提供了方便;在实习过程中遇到问题是很正常的,但我们应该讲每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
但是从中学到的知识会让我们受益终身。
发现、提出、分析、解决问题和实践能力提高都会受益于我在今后的学习、工作和生活中。
在设计过程中和完成后,我们小组认真总结,有以下体会:1.此次课程设计是在本学期《单片机原理与技术》的基础上进行的,整个实验设计过程相对比较熟悉,是把以前学习的零碎的内容系统的整合学习。
2.程序调试时,应该讲各模块单独调试。
3.本实验要充分了解AT89C51的程序,按照要求编译相关程序。
4.在设计过程中,通过大量的查阅资料,认真的研究教材,并向指导老师请教很多问题,我们对单片机有了更为深刻的理解。
我们认真演技原理,画出程序流程图,通过源程序,做出电路图,在仿真中发现很多问题,通过仔细研究,不但解决了问题,还学到了在平时的学习中学不到的东西。
5.在设计过程中,进一步的掌握Proteus、Word、Wave、Keil等软件的应用,也了解了单片机开发的基本环节。
附录A 程序#include <reg52.h>void Delay10ms(unsigned int c);unsigned char LED,LCD,l;void main(){unsigned char i;while (1){//--LED往左闪烁--// LED = 0x01;for (i = 0 ;i < 8 ; i++) {P0 = ~LED;Delay10ms(50);LED = LED << 1;if( LED ==0x80){LED == 0x00;}P0 = ~LED;///////////////////////////////// LED = 0x01;for (i = 0 ;i < 7 ; i++){P2 = ~LED;Delay10ms(50);LED = LED << 1;if( LED == 0x80){LED == 0x00;}P2 = ~LED;}///////////////////////////////////// LED = 0x80;for (i = 0 ;i < 8 ; i++){P2 = ~LED;Delay10ms(50);LED = LED >> 1;if( LED == 0x01){LED == 0x00;P2 = ~LED;}///////////////////////////////// LED = 0x80;for (i = 0 ;i < 8 ; i++){P0 = ~LED;Delay10ms(50);LED = LED >> 1;if( LED == 0x01)LED == 0x00;}P0 = ~LED;}/////////////////////////////// LED = 0x01;for (i = 0 ;i < 4 ; i++){P0 = ~LED;Delay10ms(50);LED = LED << 2 ;if( LED == 0x40){LED == 0x00;}P0 = ~LED;}////////////////////////////// LED = 0x01;for (i = 0 ;i < 4 ; i++){P2 = ~LED;Delay10ms(50);LED = LED << 2;if( LED == 0x40){LED == 0x00;}P2 = ~LED;}////////////////////////LED = 0x01;LCD = 0x80;l = 0xff;for (i = 0 ;i < 8 ; i++){P0 = ~LED;Delay10ms(50);P0 = l;LED = LED << 1;P2 = ~LCD;Delay10ms(50);P2 = l;LCD = LCD >> 1 ;}LED = 0x00;LCD = 0xff;P2 = LED;P0 = LED;Delay10ms(50);P0 = LCD;P2 = LCD;}}void Delay10ms(unsigned int c) //延时函数误差 0us {unsigned char a, b;//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}附录B 电路图附录C 焊接实物图-。