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

**大学

物理学院

单片机花样流水灯设计实验

课题:花样流水灯设计

班级: 物理***

姓名: ***

学号: ……………

【摘要】

当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。

制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。

本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。

关键字:AT89C51 单片机流水灯数码管

【概述】

1. 单片机及其发展概况

单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。

2. Protues仿真软件简介

Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。

【实验设计目标】

设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED

灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

【设计方案】

1.设计原理

AT89C51单片机内部包括微处理器、存储器(存放程序指令或数据的ROM、RAM等)、输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等。它们通过地址总线、数据总线和控制总线连接起来。

要实现流水灯功能,只要将发光二极管Led1~Led8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯状,设计花样时可依此类推。此外还应注意的是人眼的视觉暂留效应以及单片机执行每条指令的时间很短,所以控制二极管亮/灭的时候应延时一段时间,否则将无法以肉眼观察到“流水”等花样效果。

2.电路原理图

XTAL2

18

XTAL1

19

ALE 30EA

31

PSEN 29

RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01

P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

R1

100

R2

10k

C2

20pF

C1

30pF

X1

CRYSTAL

D1

LED-BIRG D2

LED-BIBY D3

LED-BIGY D4

LED-YELLOW

D5

LED-BIRG D6

LED-BIBY D7

LED-BIGY

D8

LED-YELLOW

C3

1uF

3.器件配置清单

元件

元件

电阻100Ω 15 二位七段数码管 1 电阻10K Ω 1 LED 8 瓷介电容30pF 2 AT89S51 1 电解电容100uF 1 CD4511 1 40脚接插件 1 晶振 1 10脚接插件

2

4.AT89C51简介

AT89C51单片机有多种封装形式,常见的有DIP 封装、PLC 封装、

TQFP封装,为了使用的方便通常使用DIP封装形式的单片机。外部共有40个引脚,图6为引脚的排列图。40个引脚大致可分为4大类:电源、时钟、控制和I/O引脚,

5.芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

6.实验流程

开始

画出原理图

编写程序并关联原理图调试

组装焊接实物

单片机流水灯实验报告

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

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 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亮……一直循环下去. 五、实验总结 通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。而安排课程设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。 尤其是观察、分析和解决问题的实际工作能力。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我

单片机流水灯实验

实验一单片机流水灯实验 一、实验目的 1、熟练掌握实验箱的使用方法和注意事项。 2、了解简单单片机应用系统的设计方法。 3、掌握应用KEIL软件编辑、编译源汇编程序的操作方法。 4、掌握应用仿真器的操作方法。 二、实验内容 在实验箱上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象。 三、实验器材 PC机一台, 仿真器一台, 实验箱一台, 导线若干。 四、实验说明 当AT89C51的P1口有低电平输出时,相应的发光二极管就会点亮。应用这一原理我们可以容易的点亮一个数码管,例如令P1口输出0111 1111时D1就会点亮。若再把0111 1111向右循环一位,利用P1口输出,就会点亮D2。在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水”的现象。 五、实验原理图 单片机的P1口为准双向口,每一位均可独立定义为输入或输出,若要将P1口的某一位所对应的灯熄灭,则需要向该端口写“0”。电路图如下: 图3-1 接线图

六、实验步骤 1.按照实验一中的建立工程的步骤,建立本实验内容相应的工程; 2.单片机的P1口接8个发光二极管L0~L7; 3.运用调试工具,调试软件,观察现象; 4.调试计算延时子程序DELAY定时时间。 七、参考程序。 #include #include int temp; void delay() { int i,j; for(i=0;i<200;i++) for(j=0;j<110;j++); } void main() { temp=0x01; P1=temp; delay(); while(1) { temp=_crol_(temp,1); P1=temp; delay(); } } 八、实验现象 当程序监测无误后,通过translate,build生成hex文件,并将文件烧入单片机中,点击全速运行,会发现P1口连接的LED灯轮流闪烁

单片机流水灯实验报告

单片机流水灯实验报告 引言 单片机是一种集成电路,可以通过编程来控制不同的功能。其中,流水灯是一个最简单的单片机实验项目,也是学习单片机的第一步。本篇实验报告将详细介绍如何通过使用 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 //包含51单片机的头文件 #define LED P1 //定义LED为P1端口 void delay(unsigned int time) //延时函数 { unsigned int i,j; for(i=0;i

单片机流水灯实验总结

篇一:单片机实验报告——流水灯 电子信息工程学系实验报告 课程名称:单片机原理及接口 实验项目名称:实验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

心形流水灯实验报告

【数字电路课程设计】 非遥控音乐桃心闪灯 实 验 报 告 学院:物理电气信息学院 专业:通信(1)班 姓名:刘发虎 学号:12011244070 指导老师:王国金

一.实验目的: 1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计 步骤,培养综合设计与调试能力。 2学习和掌握单片机的基本知识。 3.培养实践技能,提高分析和解决实际问题的能力。。 二.实验器材: 品名型号数量元件符号 单片机 MCU8051 1 U1 电容 30pf 2 C1 C2 10uf 1 C3 100uf 1 C4 电阻 1K 30 R1 R2 R3 R4...R28 R29 R30 10K 1 R31 3.6K 1 R32 晶振 12M 1 Y0 电源 5 1 VCC 三级管8550 1 Q1 8050 1 Q2 开关 2 RESET 喇叭 1 SPK LED灯 6mm 30 p1 p2p p3...p28 p29p p30 三.单片机MCU8051主要功能; 8位CPU·4kbytes 程序存储器(ROM) (52为8K) ·256bytes的数据存储器(RAM) (52有384bytes的RAM) ·32条I/O口线·111条指令,大部分为单字节指令 ·21个专用寄存器 ·2个可编程定时/计数器·5个中断源,2个优先级(52有6个) ·一个全双工串行通信口 ·外部数据存储器寻址空间为64kB ·外部程序存储器寻址空间为64kB ·逻辑操作位寻址功能·双列直插40PinDIP封装 ·单一+5V电源供电

CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据; ROM:用以存放程序、一些原始数据和表格; I/O口:四个8位并行I/O口,既可用作输入,也可用作输出; T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式; 五个中断源的中断控制系统; 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为12M。 四.实验内容 本课题使用MCU8051单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有三十个LED灯的单片机最小应用系统,即为由 LED灯、晶振、复位、电源等电路和必要的软件组成的单个单片机。 如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.30口的其他29个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED30依次点亮、熄灭,30只LED灯便会一亮一暗的做流水灯了。同样的道理,可以30个灯左移

单片机流水灯实验报告

单片机流水灯实验报告 姓名: 学号: 班级: 一、项目背景 当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计为一种简单实用的单片机花样流水灯设计与制作方案。 二、项目整体方案设计 根据时钟信号的脉冲输入,我们以改变每个LED点亮状态的保持的时间来改变LED的变换间隔时间,根据LED的循环点亮和时间间隔的改变设计成为一个直观的LED花样流水灯自动循环系统,由此思路我们就可以很容易的着手流水灯控制程序的设计。 三、硬件设计

四、软件设计 include #define uint unsigned int #define uchar unsigned char const tab[]={Oxfe,Oxfd,Oxfb,Oxef,Oxdf,Oxbf,Ox7f,Oxbf, Oxdf,Oxef,Oxf7,Oxfb,Oxfd,Oxfe,Oxff,Oxaa,0x55,0xaa,0x55,0xaa ,Ox5 5, Oxff,Oxf0,OxOf,Oxf0,OxOf,Oxff,Ox33,Oxcc,0x33,Oxcc,Ox33,Oxcc ,Oxff} void Delay1ms(unsigned int count) unsigned int ij; for(i=O;i

for(j=O;j120;j++); main (void) uchar i; while(1) for(i=O;i<35;i++) P1=tab[i]; Delay1ms(500); } 五、实验结果 六、项目总结 通过这次实验设计,锻炼我们综合运用知识,提出问题,分析问题,及解决问题的能力。我感慨颇多,在着手设计的这段日子里,我又学到了很多东西。特别是理论联系实际。

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

流水灯实验 实验内容 实验说明: 如上图所示,板载 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 0000H LJMP START START: MOV A, #0FFH CLR C MOV R2, #8 LOOP1: RRC A MOV P1,A LCALL DELAY DJNZ R2,LOOP1 SJMP START DELAY: MOV R3,#7 D1: MOV R4,#50 D2: MOV R5,#250 DJNZ R5,$ DJNZ R4,D2

单片机流水灯实验报告

一、实验目的 初步认识单片机实验如何进行操作,明确单片机和计算机的关系 学习利用C语言进行编程,在流水灯基础上进一步进行改进设计出独立按键。 二、实验原理 使用C语言写出流水灯独立按键的代码并将其转换成单片机可执行和二进制代码即机器语言,将单片机各部分连接好,并将其连接到计算机主机上,通过STC-ISP软件使单片机执行转化好的二进制代码,进而设计出独立按键。 实验原理图: 三、实验要求 用按键控制流水灯的流动方向、流速、闪烁方式等 四、实验内容及步骤 1.连接试验相关模块连线。 1.#include 2.sbit k1=P1^0; 3.sbit k2=P1^1;

4.sbit k3=P1^2; 5.unsigned char direction=0x00; 6.unsigned char speed=0x00; 7.int speedvalue=10000; 8.unsigned char led=0x01; 9.void delay(int t) 10.{ 11.while(t) 12.t--; 13.} 14.void main() 15.{ 16.while(1) 17.{ 18.if(k1==0) 19.{ 20.direction=~direction; 21.} 22.if(k2==0) 23.{ 24.delay(1000); 25.speedvalue+=5000;

26.if(speedvalue==60000) 27.{ 28.speedvalue=10000; 29.} 30.while (!k2); 31.} 32.if(k3==0) 33.{ 34.delay(1000); 35.speedvalue-=5000; 36.if(speedvalue==0) 37.{ 38.speedvalue=30000; 39.} 40.while(!k3); 41.} 42.if(direction==0x00) 43.{ 44.led=led<<1; 45.if(led==0x00) 46.{ 47.led=0x01;

单片机流水灯实验总结

单片机流水灯实验总结 引言: 单片机流水灯实验是学习嵌入式系统和单片机基础的重要实践环节。通过设计和搭建流水灯电路,我们可以深入理解单片机的工作机制和时序控制。本文将总结我在流水灯实验中的心得体会,分享一些有关单片机流水灯设计的经验。 一、实验概述 这个实验的目标是设计一个能够连续闪烁的流水灯电路,通过单片机的控制,实现一串灯按照固定的顺序不断亮灭的效果。我们可以通过改变灯的亮灭时间和顺序,来获得不同的流水灯效果。 二、选材准备 在进行单片机流水灯实验之前,我们需要准备一些基本的材料和工具。首先,我们需要一块单片机开发板,最常用的是STC89C52系列的开发板,该开发板搭载了一颗51单片机。此外,我们还需要准备串联的LED灯,该灯可以选择常见的5mm直径的LED灯,同时需要配备一定数量的适量电阻用于限流。 三、实验步骤 1. 连接电路:首先,需要将电路图中的元件按照连接要求连接好,确保各个元件之间的连接无误且紧固可靠。 2. 编写程序:接下来,我们需要使用Keil等软件编写单片机的

程序。通过学习嵌入式C语言编程,我们可以控制单片机的输入输出,包括控制LED灯的亮灭。 3. 烧录程序:编写完程序后,需要借助烧录器将程序烧录到单 片机中。这样单片机才能按照我们设计的程序来控制灯的状态。 4. 调试与测试:当烧录完成后,可将单片机开发板上的电源与 电源线连接,并打开开关,此时,流水灯便会开始闪烁。通过观察流 水灯的灯光变化,我们可以判断我们的程序是否正确。 四、实验心得 通过进行单片机流水灯实验,我深刻体会到了嵌入式系统的编程 和硬件设计的重要性。在编写程序时,我们需要仔细思考流水灯的亮 灭规律和顺序,以及每个灯亮灭的时间间隔。这需要我们对嵌入式C 语言的基本语法和单片机的时序控制有一定的理解。 另外,在实验过程中,我遇到了一些问题和挑战。例如,如何控 制灯的顺序和亮灭时间,如何调整程序的延时时间等。在解决这些问 题的过程中,通过查阅资料和与同学的讨论,我逐渐积累了解决问题 的经验,并在实践中不断调试和优化程序。 总结: 通过单片机流水灯实验,我深入理解了单片机的工作原理和嵌入 式系统的设计思路。我通过设计和搭建流水灯电路,实现了一串灯按 照固定顺序连续闪烁的效果。在实验的过程中,我不仅提高了自己的 编程和硬件设计能力,还培养了耐心和细致的品质。 单片机流水灯实验是嵌入式系统和单片机基础的重要实践环节, 通过对实验内容的深入理解和实践,我们可以进一步提高自己的能力

单片机实训报告——花样流水灯的制作

单片机实训报告——花样流水灯的制作 班级:电气一班 学号:110101127 姓名:李亚龙

一、花样流水灯的设计方案 流水灯实际上就是一个带有八个发光二级管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。 如果要让P0.0口的LED2亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.0~P0.7口的其他7个LED的电亮和熄灭的方法同LED2。因此,要实现流水灯功能我们只要将发光二极管LED2~LED9依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。 对8段LED数码管显示器的控制,包括“显示段”和“公共端”两个地方的控制。其中显示段用来控制字符的形状,公共端用来控制若干个LED中的那一只被选中,前者称为“段选”,后者称为”位选”。只有二者结合起来,才能在指定的LED上显示指定的字形。显然,要显示某种字形就应该使此字形的相应字段点亮,按照dp、g、e、f、e、d、c、b、a的顺序,dp为最高位,a为最低位,引脚输入不同的8位二进制编码,可显示不同的数字或字符。 二、花样流水灯的硬件电路设计 时钟电路是计算机的心脏,它控制着计算机的工作节奏,CPU 就是通过复杂的时序电路完成不同的指令功能的,89C52的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号;另一种为外部方式,时钟信号由外部引入。

单片机有多种复位电路,本系统采用电平式复位与上电复位方式,如下图所示当上电时C1相当于短路时,使单片机复位,在正常工作时,按下复位键是单片机复位。 显示部分主要是由八个LED和四个七段数码管组成,八个LED 由限流电阻限流后接入89C52的P0口。

2023年单片机花样流水灯设计实验报告

**大学 物理学院 单片机把戏流水灯设计试验 课题:把戏流水灯设计 班级: 物理*** 姓名: *** 学号: ……………

【摘要】 当今时代旳智能控制电子技术,给人们旳生活带来了以便和舒适,而每到晚上五颜六色旳霓虹灯则把我们旳都市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯旳措施有诸多种,有老式旳分立元件,由数字逻辑电路构成旳控制系统和单片机智能控制系统等。本设计简介一种简朴实用旳单片机把戏流水灯设计与制作,采用基于MS-51旳单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要旳软件构成旳以AT89C51为关键,辅以简朴旳数码管等设备和必要旳电路,设计了一款简易旳流水灯电路板,并编写简朴旳程序,使其可以自动工作。 本设计用AT89C51单片机为关键自制一款简易旳把戏流水灯,并简介了其软件编程仿真及电路焊接实现,在实践中体验单片机旳自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管

【概述】 1.单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机旳基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定期/计数器及终端系统等)所有集成在一种半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多旳元件数据库、原则化旳仿真仪器、直观旳捕捉界面、简洁明了旳操作、强大旳分析测试、可信旳测试成果, 为电子工程设计节省研发时间,节省了工程设计费用。运用Protues软件设计一款通过数码管显示计数时间旳流水灯电路及Keil C软件编程后,再将两者关联则可以简朴迅速旳进行仿真。 【试验设计目旳】 设计规定以发光二极管作为发光器件,用单片机自动控制,对8个LE D灯设计至少3种流水灯显示方式,每隔20秒变换一次显示把戏,计时通过一种二位七段数码管显示。

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

单片机花样流水灯设计实验报告 * * 大学 物理学院 单片机花样流水灯设计实验 课题: 花样流水灯设计班级: 物理 *** 姓名: *** 学号: 【摘要】 当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。 本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管 2 【概述】 1. 单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集

成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。 【实验设计目标】 设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。 3 【设计方案】 1.设计原理 AT89C51单片机内部包括微处理器、存储器(存放程序指令或数据的 ROM、RAM等)、输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等。它们通过地址总线、数据总线和控制总线连接起来。 要实现流水灯功能,只要将发光二极管Led1,Led8依次点亮、熄灭,8只LED 灯便会一亮一暗的做流水灯状,设计花样时可依此类推。此外还应注意的是人眼的视觉暂留效应以及单片机执行每条指令的时间很短,所以控制二极管亮/灭的时候应延时一段时间,否则将无法以肉眼观察到“流水”等花样效果。 2.电路原理图 3.器件配置清单 4

单片机流水灯实验报告

单片机流水灯实验报告 本实验旨在通过单片机控制LED灯的亮灭,实现流水灯效果。通过对实验的设计、搭建和调试,我们可以更深入地理解单片机的工作原理和掌握相应的编程技巧。 实验器材和元件: 1. 单片机,我们选用了STC89C52单片机作为控制核心; 2. LED灯,我们使用8个LED灯作为实验的输出设备; 3. 电阻,为了限流,我们使用了适当的电阻; 4. 连接线、面包板等。 实验步骤: 1. 搭建电路,首先,我们按照电路图将单片机、LED灯和电阻连接在一起,并将电路连接到电源上; 2. 编写程序,接下来,我们使用C语言编写单片机的控制程序,实现LED灯的流水灯效果; 3. 烧录程序,将编写好的程序通过烧录器烧录到单片机中; 4. 调试程序,将烧录好的单片机连接到电路上,进行程序的调试和验证; 5. 完善电路,根据实际调试情况,对电路进行必要的调整和完善,确保LED 灯能够按照预期的流水灯效果工作。 实验结果:

经过反复调试和完善,我们成功实现了单片机控制LED灯的流水灯效果。在程序控制下,8个LED灯按照顺序依次亮起并熄灭,形成了流水灯的效果。整个实验过程非常顺利,取得了预期的效果。 实验心得: 通过本次实验,我们对单片机的控制原理有了更深入的理解,也掌握了一定的C语言编程技巧。在实验的过程中,我们遇到了一些问题,如LED灯未按预期工作、程序逻辑错误等,但通过分析和调试,最终都得到了解决。实验不仅提高了我们的动手能力,也培养了我们的分析和解决问题的能力。 总结: 本次实验不仅让我们熟悉了单片机的控制方法,也让我们体验了从实验设计到调试完善的整个过程。通过这次实验,我们不仅学到了专业知识,也培养了动手能力和解决问题的能力。希望在以后的学习和实践中,能够更好地运用所学知识,不断提升自己的能力。 以上就是本次单片机流水灯实验的报告内容,希望对大家有所帮助。

《单片机原理与应用》流水灯设计实验

《单片机原理与应用》流水灯设计实验 一、实验目的和要求 1、学习单片机IO口的使用方法 2、学习延时子程序的编写和使用 3、熟悉GL10实验箱的使用,能利用GL10实验箱提供的例程完成程序的烧写等操作。 二、实验内容和原理 实验电路原理图与图所示,图中8只LED指示灯接于P0口,且都接有上拉电阻。时钟电路、复位电路、片选电路与前面的实验电路相同。 在编程软件的配合下,要求实现如下功能:8只发光二极管做循环点亮控制,且亮灯顺序为D1-D2-D3-D4-D5-D6-D7-D8,无限循环,两次亮灯的时间间隔约为0.5s。软件编程原理为: 首先使P0.0置1,其余端口置0,这样可使D1灯亮,其余灯灭;软件延时0.5s后,使P0口整体左移一位,得到P0.1置1,其余端口置0,这样可使D2灯亮其余灯灭;照此思路P0整体左移7次,再右移7次,如此无限往复即可实现上述功能。 三、主要仪器设备 电脑、keil c51、Protues软件 四、操作方法与实验步骤 P0~3口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P0~3口用作输入口时,必须先对口的锁存器写“1”,若不先对

它写“1”,读入的数据是不正确的。P0口作为通用IO口做输出时,必须采用上拉的方式。 1、启动PC机,按照GL10硬件安装指导书(附件2)和 GL10驱动程序安装指导书(附件3)完成PC和GL10实验箱的连接 2、了解GL10实验箱中LED硬件电路,电路如图2-1所示 图2-1 LED硬件电路 3、打开预习完成的LED流水灯程序,建立本实验的项目文件,接着建立源程序,编译无误后,生成HEX文件。 4、利用杜邦线完成单片机IO口和CN19接插件电气连接。 5、运行STC-ISP软件,将程序烧写到单片机中,观察程序运行结果。 五、实验数据记录和处理

流水灯单片机实验报告

流水灯单片机实验报告 流水灯单片机实验报告 引言: 单片机是一种集成电路芯片,具有微处理器的功能。它广泛应用于各个领域,包括家电、电子产品、汽车等。在本次实验中,我们将使用单片机实现一个简单的流水灯效果,通过这个实验,我们可以深入了解单片机的原理和应用。 实验目的: 1. 了解单片机的基本原理和工作方式; 2. 掌握单片机的编程方法和流程; 3. 实现流水灯效果,并通过调整参数改变灯光的亮度和频率。 实验器材: 1. 单片机开发板; 2. LED灯若干; 3. 连接线。 实验步骤: 1. 连接电路:将LED灯与单片机开发板相连,确保连接正确无误。 2. 编写程序:使用C语言编写单片机程序,实现流水灯效果。 3. 烧录程序:将编写好的程序通过编程器烧录到单片机中。 4. 调试程序:将烧录好的单片机插入开发板,启动电源,观察LED灯的亮灭情况。 5. 调整参数:根据需要,可以通过修改程序中的参数来改变流水灯的亮度和频率。

实验结果: 经过调试和调整参数,我们成功实现了流水灯效果。LED灯在单片机的控制下,按照一定的顺序依次亮起和熄灭,形成了流水灯的效果。通过修改程序中的参数,我们还可以调整灯光的亮度和频率,使得流水灯的效果更加丰富多样。 实验分析: 通过这个实验,我们深入了解了单片机的原理和应用。单片机作为一种集成电 路芯片,具有微处理器的功能,可以通过编程来实现各种各样的功能。在流水 灯实验中,我们通过编写程序,控制LED灯的亮灭,实现了流水灯的效果。通 过调整参数,我们还可以改变灯光的亮度和频率,使得流水灯的效果更加丰富 多样。 结论: 本次实验通过使用单片机实现了流水灯效果,深入了解了单片机的原理和应用。通过编写程序和调整参数,我们成功控制了LED灯的亮灭,实现了流水灯的效果。这个实验不仅提高了我们对单片机的理解和应用能力,还培养了我们的动 手能力和解决问题的能力。希望通过这个实验,我们能够更好地掌握单片机的 原理和应用,为今后的学习和工作打下坚实的基础。

单片机流水灯实验报告

51单片机流水灯试验 一、实验目的 1.了解51单片机的引脚结构。 2.根据所学汇编语言编写代码实现LED灯的流水功能。 3.利用开发板下载hex文件后验证功能。 二、实验器材 个人电脑,80c51单片机,开发板 三、实验原理 单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。 A存放器的位经过rr a之后转换如下所示: 然后将A存放器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。

四、实验电路图 五、通过仿真实验正确性

代码如下: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 #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

单片机流水灯实验报告

单片机流水灯实验报告 引言: 在现代科技的急剧发展下,单片机作为一种重要的控制元件,广泛应用于各个领域。流水灯作为单片机的一个经典实验,旨在让学生接触并掌握单片机的基本原理和操作方法。本次实验将介绍单片机流水灯的实验过程以及结果分析。 实验目的: 通过单片机流水灯实验,我们的目标是: 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灯的亮灭状态会出现错误,可能与电路连接有关,需要仔细检查电路连接的正确性。其次,流水灯的速度调节范围有限,可能需要通过引入外部元件来扩大调节范围。 结论: 通过单片机流水灯的实验,我们深入了解了单片机的基本原理和操作方法。通过编程实现流水灯效果,我们培养了实验设计和数据分析的能力。同时,在实验过程中发现的问题也为后续实验和学习提供了一定的启示,我们将进一步完善和改进实验方案,以提高实验效果。 总结: 单片机流水灯实验作为一种常见且经典的实验,在学习单片机相关知识时起到了重要的作用。通过亲自动手操作和实践,我们对单片机的原理有了更深入的了解,并通过调试和改进解决了实验中出现的问题。在今后的学习和工作中,我们将继续探索单片机的应用领域,并不断提高自己的实验设计和数据分析能力。

相关文档
最新文档