单片机实验一发光二极管流水灯实验实验报告
流水灯实验报告总结

流水灯实验报告总结一、实验目的本次流水灯实验的主要目的是通过实际操作,深入理解数字电路中时序逻辑电路的工作原理,掌握基本的硬件电路设计和编程方法,提高我们对电子电路的实践操作能力和问题解决能力。
二、实验原理流水灯是通过控制一系列发光二极管(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、排查过程:首先检查电源是否正常,然后使用万用表测量芯片引脚的电压,发现计数器芯片没有正常工作。
单片机流水灯实验报告

一、实验目的初步认识单片机实验如何进行操作,明确单片机和计算机的关系学习利用C语言进行编程,在流水灯基础上进一步进行改进设计出独立按键。
二、实验原理使用C语言写出流水灯独立按键的代码并将其转换成单片机可执行和二进制代码即机器语言,将单片机各部分连接好,并将其连接到计算机主机上,通过STC-ISP软件使单片机执行转化好的二进制代码,进而设计出独立按键。
实验原理图:三、实验要求用按键控制流水灯的流动方向、流速、闪烁方式等四、实验内容及步骤1.连接试验相关模块连线。
1.#include <reg52.h>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;48.}49.}50.else51.{52.led=led>>1;53.if(led==0x00)54.{55.led=0x80;56.}57.}58.P0=led;59.delay(speedvalue);60.}61.}编译通过之后,我们需要输出hex文件,也就是单片机可执行的二进制文件。
单片机C51的LED流水灯实验报告

实验3.1.2 数字量输出输出扩展——LED流水灯一、实验目的1、掌握单片机外设扩展的方法2、使用单片机和8255实现LED流水灯的控制。
二、实验内容使用汇编语言编程,功能为:通过KK1脉冲实现LED灯工作方式即时控制,完成LED 开关控制显示和LED左循环、右循环、间隔闪烁功能。
三、实验环境PC机一台,Proteus仿真软件(或TD-PIT实验系统)一套四、实验硬件电路图说明:U2为单片机SST89E554RC,U1为8255A,通过8255A的PB输出使LED工作,BUTTON 为脉冲开关。
五、程序流程图六、实验程序清单ORG 0000HAJMP 0100HORG 0100HMAIN:MOV TMOD,#60H MOV TH1,#0FFHMOV TL1,#0FFHMOV DPTR,#7300HMOV A,#80HMOVX @DPTR,ASETB TR1MOV DPTR,#7100HLEFT:MOV R0,#8MOV A,#01HAG1:MOVX @DPTR,ACALL DELAYRLC ADJNZ R0,AG1JBC TF1,RIGHTAJMP LEFTRIGHT:MOV R0,#8MOV A,#80HAG2: MOVX @DPTR,ACALL DELAYRRC ADJNZ R0,AG2JBC TF1,FLASHAJMP RIGHTFLASH:MOV R0,#8AG3: MOV A,#55HMOVX @DPTR,ACALL DELAYMOV A,#0AAHMOVX @DPTR,ACALL DELAYDJNZ R0,AG3JBC TF1,LEFTAJMP FLASHDELAY:MOV R1,#0FFHDEL0:MOV R2,#0FFHDEL: DJNZ R2,$DJNZ R1,DEL0RETEND七、实验步骤1、按实验电路图接线;2、编写实验程序,编译连接无误后进入调试状态(可用PROTEUS也可以用硬件调试);3、按动BUTTON(PROTEUS下)或KK1(实验箱),观察流水灯工作情况,验证程序功能。
单片机流水灯实验总结

单片机流水灯实验总结引言:单片机流水灯实验是学习嵌入式系统和单片机基础的重要实践环节。
通过设计和搭建流水灯电路,我们可以深入理解单片机的工作机制和时序控制。
本文将总结我在流水灯实验中的心得体会,分享一些有关单片机流水灯设计的经验。
一、实验概述这个实验的目标是设计一个能够连续闪烁的流水灯电路,通过单片机的控制,实现一串灯按照固定的顺序不断亮灭的效果。
我们可以通过改变灯的亮灭时间和顺序,来获得不同的流水灯效果。
二、选材准备在进行单片机流水灯实验之前,我们需要准备一些基本的材料和工具。
首先,我们需要一块单片机开发板,最常用的是STC89C52系列的开发板,该开发板搭载了一颗51单片机。
此外,我们还需要准备串联的LED灯,该灯可以选择常见的5mm直径的LED灯,同时需要配备一定数量的适量电阻用于限流。
三、实验步骤1. 连接电路:首先,需要将电路图中的元件按照连接要求连接好,确保各个元件之间的连接无误且紧固可靠。
2. 编写程序:接下来,我们需要使用Keil等软件编写单片机的程序。
通过学习嵌入式C语言编程,我们可以控制单片机的输入输出,包括控制LED灯的亮灭。
3. 烧录程序:编写完程序后,需要借助烧录器将程序烧录到单片机中。
这样单片机才能按照我们设计的程序来控制灯的状态。
4. 调试与测试:当烧录完成后,可将单片机开发板上的电源与电源线连接,并打开开关,此时,流水灯便会开始闪烁。
通过观察流水灯的灯光变化,我们可以判断我们的程序是否正确。
四、实验心得通过进行单片机流水灯实验,我深刻体会到了嵌入式系统的编程和硬件设计的重要性。
在编写程序时,我们需要仔细思考流水灯的亮灭规律和顺序,以及每个灯亮灭的时间间隔。
这需要我们对嵌入式C语言的基本语法和单片机的时序控制有一定的理解。
另外,在实验过程中,我遇到了一些问题和挑战。
例如,如何控制灯的顺序和亮灭时间,如何调整程序的延时时间等。
在解决这些问题的过程中,通过查阅资料和与同学的讨论,我逐渐积累了解决问题的经验,并在实践中不断调试和优化程序。
流水灯实践学习心得体会doc

流⽔灯实践学习⼼得体会doc流⽔灯实践学习⼼得体会篇⼀:对LED流⽔灯的学习总结单⽚机的学习总结第⼀个实验:⼀、从点亮⼀个发光⼆极管到实现流⽔灯的操作实验报告实验⽬的:(1)知道单⽚机最⼩系统和典型系统(2)知道如何建⽴⼀个⼯程,完成⼀个点亮发光⼆极管的编译和烧写实验器件以及基础知识描述:(1)LED发光⼆极管是⼀种半导体⼆极管,可以把电能转换成光能,有⼀个PN结构成。
(2)晶振:全称为晶体振荡器,其作⽤是产⽣原始的时钟频率,这个频率晶振经过频率发⽣器的放⼤或缩⼩后就成为了电脑中各种不同的总线频率。
(3)IO端⼝的驱动能⼒:每个I/O端⼝允许的做⼤20mA 的灌电流,可以直接驱动LED和继电器;⾼电平输出时⼀般对负载提供电流其提供的电流叫“拉电流”;低电平输出时⼀般是要吸收负载的电流,其吸收的电流叫“灌电流”。
(4)P1.0---P1.7:准双向接⼝(内置上拉电阻),端⼝P1的数据寄存器⽤P1表⽰,端⼝置⼀表⽰⾼电平,设置为0表⽰输出低电平。
(5)如何进⾏程序烧写:5.1、⽤传统的并⾏烧写器5.2采⽤⽬前流⾏的IAP在线下载程序,STC的单⽚机可以不要编程器,通过USB或串⼝下载程序(6)延时函数:每条指令都占有⼀定的时间,如果让机器什么都不⼲机器就会延时,外加循环此数⼀个完整的点亮LED源代码程序如下:#includeSbit LED=P1^0;void main(){LED=1;LED=0;While(1)}有这⼀个简单的程序实现使p1^0端⼝控制的LED灯点亮,如果要实现多个灯同时点亮呢?可以定义多个端⼝,使之输出低电平即可://实现第1、3、5、7个LED灯点亮#includesbit LED0=P1^0;sbit LED2=P1^2;sbit LED4=P1^4;sbit LED6=P1^6;main(void){LED0=0;LED2=0;LED4=0;LED6=0;while(1){}}实现了控制灯亮暗后,程序中添加⼀段延时程序即可实现灯的闪烁:延时函数分为有参延时和⽆参延时;//⼀个简单的有参延时函数:void delay(unsigned int t){While(--t);}//⽆参延时函数:void delay(){for(int i=1000;i>0;i++)for(int j=1000;j>0;j++);}或者: void delay(){Unsigned int i=300;While(--i);}通过进⼀步的分析可以进⾏流⽔灯的设计:设计⽬的:从实际⼯程出发,在理论和实践上掌握流⽔灯系统的基础组成,⼯作原理。
单片机控制发光二极管实验报告

单片机控制发光二极管实验报告发光二极管广东石油化工学院单片机实验一实验报告实验报告实验一发光二极管实验学院: 电信学院专业:班级学生学号:实验时间一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。
2、掌握用查表方式实现AT89C51 单片机IO 口的控制。
3、练习单片机简单延时子程序的编写。
4、熟练运用Proteus 设计、仿真AT89C51 系统。
二、实验内容1、编写延时子程序,延时时间为0.1S。
代码:void delay(){int i, j;for (i = 0; i 100; i++)for (j = 0; j 125; j++);}2、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。
代码:#includereg51.h#includeintrins.hvoid delay(){int i, j;for(i = 0; i 100; i++)for(j = 0; j 125; j++);}void main(){P1 = 0xFE;while(1){P1 (转载于: 写论文网:单片机控制发光二极管实验报告)= _crol_(P1,1);delay();}}运行结果截图:图一3、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。
代码:#includereg51.h#define uchar unsigned char#define uint unsigned intvoid delay(){uint i, j;for (i = 0; i 100; i++){for (j = 0; j 128; j++){//delay 100ms, do nothing.}}}void shangXia(){uchar k;P1 = 0xFE;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,1);}}void xiaShang(){uchar k;P1 = 0x7F;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,-1);}}void main(){while(1){shangXia();xiaShang();}}截图与题一相同,增加由下至上。
流水灯实验报告

流水灯实验报告课程名称:LED流水灯实验报告学院:xxxxx学院专业:姓名:学号:年级:任课教师:【正文】一、实验的背景和意义单片机全称叫单片微型计算机,是一种集成在电路芯片,是采用大规模集成电路技术把CPU随机存储器RAM、只读存储器ROM、多种输入输出口、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的应用。
大致可以分为以下几个范畴: 1、在智能仪器仪表上的应用,例如精确的测量设备;2、在工业控制中的应用,例如用单片机可以构成形式多样的控制系统,与计算机互联网构成二级控制系统等;3、在家用电器中的应用,可以从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话、集群移动通信、无线电话对讲机等;4、在医用设备中的应用,例如医用呼叫机、各种分析仪、超声诊断设备及病床呼叫系统等等;5在各种大型电器中的模块化作用,如音乐集成单片机,看是简单的功能,微缩在电子芯片中,就需要复杂的类似于计算机的原理。
本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发计算器设计做了详细的分析和研究。
本系统就是充分利用了8051芯片的I/O引脚。
系统已采用MCS—51系列单片机为中心器件来设计LED流水灯系统,实现LED左循环显示,并实现循环的速度可调。
二、设计目的1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。
2.掌握汇编语言程序和C 语言程序设计方法。
3.培养实践技能,提高分析和解决实际问题的能力。
三、设计任务及要求 1.用个发光二极管作为显示电路 2.实现LED 动态显示 3.能连续循环显示 四、 设计思路LEDLED如果要让接在P1.0口的LED1亮起来,相反,如果要让接在P1.0口的LED1熄灭,那么只需要把P1.0口的电平变为高电平就可以了;同理,接在P1.1—P1.7口的其他7个LED 的点亮的熄灭的方法同LED1。
单片机课程设计报告流水灯(WORD档)

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),单片机用并行移位方式进行驱动。