实习报告-流水灯
- 格式:doc
- 大小:438.00 KB
- 文档页数:15
流水灯实验报告总结一、实验目的本次流水灯实验的主要目的是通过实际操作,深入理解数字电路中时序逻辑电路的工作原理,掌握基本的硬件电路设计和编程方法,提高我们对电子电路的实践操作能力和问题解决能力。
二、实验原理流水灯是通过控制一系列发光二极管(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、排查过程:首先检查电源是否正常,然后使用万用表测量芯片引脚的电压,发现计数器芯片没有正常工作。
一、实验目的1. 掌握电子电路板的基本制作流程,包括电路设计、元件焊接、电路调试等。
2. 熟悉流水灯电路的工作原理,理解其电路设计及编程方法。
3. 提高动手能力和电子电路分析能力。
二、实验原理流水灯电路是一种常见的电子电路,通过单片机或其他控制器控制LED灯的依次点亮和熄灭,形成流水效果。
本实验采用51单片机作为控制器,通过编写程序控制LED灯的亮灭顺序,实现流水灯效果。
三、实验器材1. 51单片机实验板2. LED灯8个3. 电阻(220Ω)8个4. 接线端子5. 编程器6. 电源7. 焊接工具四、实验步骤1. 电路设计根据实验要求,设计流水灯电路原理图。
电路主要由51单片机的P0口输出,连接8个LED灯和8个220Ω电阻组成。
电阻起到限流作用,保护LED灯不被烧毁。
2. 元件焊接根据电路原理图,将元件焊接在实验板上。
注意焊接顺序和焊接质量,确保电路连接正确。
3. 编程使用编程器将编写好的程序烧录到51单片机中。
程序主要实现以下功能:- 初始化P0口为输出模式;- 设置延时函数,控制LED灯的点亮和熄灭时间;- 循环控制P0口的值,实现LED灯的流水效果。
4. 电路调试连接电源,观察LED灯的流水效果。
若流水效果不理想,检查电路连接是否正确,调整延时函数参数,直至达到预期效果。
五、实验结果与分析实验成功制作了一块流水灯电路板,实现了LED灯的流水效果。
实验过程中,遇到以下问题:1. 电阻值选择不当,导致LED灯亮度不稳定。
2. 焊接过程中,个别焊点虚焊,导致电路连接不良。
针对以上问题,采取以下措施:1. 调整电阻值,使LED灯亮度均匀。
2. 重新焊接虚焊点,确保电路连接良好。
六、实验总结通过本次电路板流水灯实训,掌握了以下知识和技能:1. 电子电路板的基本制作流程。
2. 流水灯电路的工作原理及编程方法。
3. 电子元件焊接技巧和电路调试方法。
本次实验提高了自己的动手能力和电子电路分析能力,为以后的学习和工作打下了基础。
一、实训目的1. 熟悉常用电子元器件及其使用方法;2. 掌握电路设计的基本原理和焊接技术;3. 学会使用51单片机编程,实现流水灯的控制;4. 培养动手能力和团队合作精神。
二、实训内容1. 电路设计:设计一个简单的流水灯电路,包括LED灯、电阻、晶振、电容等元器件;2. 焊接:将元器件焊接在电路板上,确保电路连接正确;3. 编程:使用Keil软件编写单片机程序,实现流水灯的控制;4. 测试:将程序下载到单片机,观察流水灯效果,验证电路和程序的正确性。
三、实训步骤1. 电路设计(1)根据设计要求,确定电路的输入、输出和功能;(2)选择合适的元器件,如LED灯、电阻、晶振、电容等;(3)绘制电路原理图,确定元器件的连接方式。
2. 焊接(1)准备好焊接工具,如电烙铁、锡线、助焊剂等;(2)按照电路原理图,将元器件焊接在电路板上;(3)检查焊接质量,确保电路连接正确。
3. 编程(1)打开Keil软件,创建新的项目;(2)编写程序,实现流水灯的控制;(3)编译程序,生成机器码。
4. 测试(1)将单片机插入电路板,连接电源;(2)使用Proteus软件进行仿真,观察流水灯效果;(3)如仿真效果符合要求,将程序下载到单片机;(4)观察实物流水灯效果,验证电路和程序的正确性。
四、实训总结1. 通过本次实训,掌握了电路设计、焊接、编程和测试的基本技能;2. 学会了使用51单片机编程,实现流水灯的控制;3. 提高了动手能力和团队合作精神;4. 认识到理论知识与实践操作相结合的重要性。
五、心得体会1. 在电路设计过程中,要充分考虑电路的稳定性和可靠性,选择合适的元器件;2. 焊接过程中,要严格按照焊接规范进行,确保焊接质量;3. 编程过程中,要掌握编程技巧,提高编程效率;4. 在团队合作中,要相互配合,共同完成任务。
通过本次实训,我深刻认识到电气流水灯制作的重要性,为今后从事相关工作打下了坚实基础。
在今后的学习和工作中,我将继续努力,不断提高自己的专业技能。
一、实验目的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软件的使用。
一、实习背景随着科技的不断发展,电子技术在各个领域得到了广泛应用。
流水灯作为一种常见的电子元件,在装饰、广告、指示等方面发挥着重要作用。
为了提高自己的实践能力,加深对电子技术的理解,我选择了流水灯绘制作为实习项目。
二、实习目的1. 学习流水灯的基本原理和电路设计。
2. 掌握流水灯的编程技巧和调试方法。
3. 培养自己的动手能力和团队合作精神。
三、实习内容1. 流水灯原理学习流水灯是一种通过电子元件实现灯光闪烁的装置,其主要原理是通过控制电子元件的导通与截止,使灯光依次闪烁,形成流水效果。
流水灯电路通常由以下几个部分组成:电源、电阻、电容、开关、三极管、发光二极管(LED)等。
2. 电路设计根据流水灯的原理,我设计了一个简单的流水灯电路。
电路主要包括以下几个部分:(1)电源:使用9V电池作为电源,为电路提供稳定的电压。
(2)电阻:在电路中添加电阻,起到限流作用,保护LED不被烧毁。
(3)电容:电容用于滤波,保证电路的稳定运行。
(4)开关:用于控制流水灯的开关。
(5)三极管:作为开关元件,控制LED的导通与截止。
(6)LED:流水灯的核心元件,负责产生流水效果。
3. 程序编写为了实现流水灯的流水效果,我选择了C语言进行编程。
以下是流水灯的代码示例:```c#include <reg51.h>#define LED P2void delay(unsigned int ms){unsigned int i, j;for(i = 0; i < ms; i++)for(j = 0; j < 120; j++); }void main(){while(1){LED = 0x01; // 第一盏LED亮 delay(500);LED = 0x02; // 第二盏LED亮 delay(500);LED = 0x04; // 第三盏LED亮 delay(500);LED = 0x08; // 第四盏LED亮 delay(500);LED = 0x10; // 第五盏LED亮 delay(500);LED = 0x20; // 第六盏LED亮 delay(500);LED = 0x40; // 第七盏LED亮delay(500);LED = 0x80; // 第八盏LED亮delay(500);LED = 0xFF; // 所有LED亮delay(500);LED = 0x00; // 所有LED灭delay(500);}}```4. 调试与改进在完成流水灯的编程后,我进行了调试。
单片机流水灯实验总结800字(6篇)关于单片机流水灯实验总结,精选6篇范文,字数为800字。
实验总结是指对某一阶段实验情况的总结,是对已经做过的实验所作的总结,也是对实践进行检验与评价工作的依据。
今天为大家整理了单片机流水灯实验总结,希望对大家有所帮助。
光阴似箭,日月如梭。
转眼,一个月的实习期就要过去了,回顾一个月的实习生活感受颇多。
我于xx年xx 月xx日开始到湖南农业大学金秋期间实习,作为一名刚踏出校门的大学生,我充满期待。
我实习的单位是湖南农业大学金秋期间的实习单位。
单片机流水灯实验总结(范文):1实验总结是指对某一阶段实验情况的总结,是对已经做过的实验所作的总结,也是对实践进行检验与评价工作的依据。
今天为大家整理了单片机流水灯实验总结,希望对大家有所帮助。
光阴似箭,日月如梭。
转眼,一个月的实习期就要过去了,回顾一个月的实习生活感受颇多。
我于xx年xx月xx日开始到湖南农业大学金秋期间实习,作为一名刚踏出校门的大学生,我充满期待。
我实习的单位是湖南农业大学金秋期间的实习单位。
我实习的单位是湖南农业大学金秋期间的实习单位,这是一家农业大学的单位,是由湖南省农业大学农业学院的教学与科研单位组成。
我实习的单位是湖南农业大学金秋期间的实习单位。
我实习的单位是湖南农业大学金秋期间的实习单位。
该单位的经济效益良好,在农业生产上也给我们提供了良好的服务,我们作为实习的负责人对他们表示衷心的感谢。
这次实习我主要是在生产部和机电部实习。
通过在机电部参观生产线上的各个岗位的工作,我熟悉和掌握了各个生产部的作业程序及原理和方法,对机电部各个岗位也有了深刻的了解和认识,这次实习不仅仅是对我们专业知识的扩展,同时也是我们的一次综合能力的培养,使我们不仅要能学好专业的知识,也要注意多方面的学习,比如,如何在生产部门的岗位上工作,这就要求我们在以后的学习中要注意知识的积累。
在实习期间我严格按照公司的要求和指导老师的要求,认真做好每日的日常工作,在工作中学习,在实践中提高自己的技术水平。
第1篇实验名称:流水灯实验实验日期:2021年10月25日实验地点:实验室实验者:张三一、实验目的1. 了解流水灯的原理和组成;2. 掌握流水灯的制作方法;3. 培养动手能力和团队合作精神。
二、实验原理流水灯是一种通过改变电路中各个灯泡的连接方式,实现灯光顺序变化的电子装置。
其原理是利用555定时器产生一个周期性的方波信号,通过控制方波信号的占空比,实现不同灯泡的顺序点亮。
三、实验器材1. 555定时器1个;2. 集成电路板1块;3. 灯泡4个;4. 电阻4个;5. 电池1节;6. 导线若干;7. 万用表1个;8. 电烙铁1把;9. 剪线钳1把。
四、实验步骤1. 制作电路板:将555定时器、电阻、灯泡等元件焊接在电路板上。
2. 连接电路:将电池的正负极分别连接到电路板的电源端,将555定时器的输出端分别连接到灯泡的正极,将灯泡的负极分别连接到电路板的GND端。
3. 测试电路:使用万用表测量555定时器的输出电压,确保输出电压在正常范围内。
4. 调整占空比:通过改变电阻的阻值,调整555定时器的占空比,实现不同灯泡的顺序点亮。
5. 验证实验:观察流水灯的运行情况,确认实验是否成功。
五、实验结果与分析1. 实验成功:通过调整电阻的阻值,实现了4个灯泡的顺序点亮,实验成功。
2. 分析:在实验过程中,我们发现调整电阻的阻值可以改变555定时器的占空比,从而改变灯光的顺序。
当电阻阻值增大时,占空比减小,灯光点亮速度变慢;当电阻阻值减小时,占空比增大,灯光点亮速度变快。
六、实验结论通过本次流水灯实验,我们掌握了流水灯的原理和制作方法,提高了动手能力和团队合作精神。
实验结果表明,通过调整电阻的阻值,可以实现不同灯泡的顺序点亮,达到流水灯的效果。
七、实验反思1. 在实验过程中,我们发现电路板焊接过程中容易出现短路现象,因此在焊接过程中要仔细检查,确保电路板焊接正确。
2. 在调整电阻阻值时,要注意观察灯光的变化,以便找到最佳的电阻阻值。
第1篇一、实验目的1. 掌握汽车流水灯电路的设计原理;2. 熟悉汽车流水灯电路的搭建与调试方法;3. 提高动手实践能力,加深对电子电路的理解。
二、实验原理汽车流水灯是一种常见的汽车装饰灯具,其原理是通过控制LED灯的亮灭,形成动态的流水效果。
本实验采用555定时器作为核心元件,通过控制定时器的输出波形,实现LED灯的流水效果。
三、实验器材1. 555定时器1片;2. LED灯8个;3. 电阻10kΩ8个;4. 电阻220Ω1个;5. 电阻1kΩ1个;6. 跳线若干;7. 电路板1块;8. 电源5V。
四、实验步骤1. 搭建电路:根据电路图,将555定时器、LED灯、电阻等元件按照电路图要求连接好。
2. 调试电路:将电源接入电路板,观察LED灯的流水效果。
3. 调整参数:通过调整电阻值,改变LED灯的亮灭时间,实现流水效果的调整。
4. 测试与验证:观察LED灯的流水效果,确保流水灯工作正常。
五、实验结果与分析1. 电路搭建成功,LED灯按照预定效果流水。
2. 通过调整电阻值,可以改变LED灯的亮灭时间,实现流水效果的调整。
3. 实验过程中,注意观察电路板的电压、电流等参数,确保电路安全稳定运行。
六、实验心得1. 通过本次实验,加深了对555定时器、LED灯等电子元件的理解,提高了动手实践能力。
2. 在电路搭建过程中,学会了如何根据电路图进行元件连接,提高了电路搭建速度。
3. 实验过程中,遇到问题及时查阅资料,学会了如何解决问题,提高了自学能力。
4. 通过本次实验,认识到电子电路在实际应用中的重要性,为今后的学习和工作打下了基础。
七、实验总结本次汽车流水灯实验,成功实现了LED灯的流水效果。
通过实验,掌握了汽车流水灯电路的设计原理、搭建与调试方法,提高了动手实践能力。
在今后的学习和工作中,将继续努力,不断提高自己的电子电路水平。
第2篇一、实验目的1. 熟悉汽车流水灯电路的基本组成和工作原理。
2. 掌握汽车流水灯电路的设计和制作方法。
一、前言流水灯,作为一种传统的民间艺术,在我国有着悠久的历史。
它以其独特的艺术魅力,吸引了无数人的目光。
近期,我有幸参加了一次流水灯的制作实践活动,通过亲身体验,我对流水灯有了更加深刻的认识。
以下是我对流水灯实践活动的几点心得体会。
二、流水灯的制作过程1. 选材制作流水灯的第一步是选材。
我们选择了竹子作为主要材料,因为竹子具有良好的韧性和可塑性。
此外,我们还准备了彩纸、剪刀、胶水等辅助材料。
2. 制作灯身首先,我们将竹子裁剪成一定长度的段,作为灯身。
然后,用彩纸将竹子包裹起来,使其呈现出美丽的色彩。
在包裹过程中,我们要注意保持灯身的平衡,以免影响灯光的流动。
3. 制作灯座灯座是支撑整个流水灯的重要部分。
我们用竹子制作了一个简单的灯座,并在底部挖了一个小孔,用于固定灯泡。
4. 制作灯光灯光是流水灯的灵魂。
我们选择了一款节能灯泡,并在灯泡周围缠绕了一层彩纸,使其发出柔和的光芒。
5. 组装流水灯将制作好的灯身、灯座和灯光进行组装,确保各部分连接牢固。
最后,将流水灯放置在水中,让水流带动灯光流动,形成美丽的景象。
三、实践心得体会1. 增强动手能力在流水灯的制作过程中,我充分体验到了动手实践的重要性。
从选材、制作到组装,每一个环节都需要我们亲自动手,这使我更加珍惜自己的劳动成果。
2. 培养团队合作精神流水灯的制作不是一项个人任务,而是需要团队成员共同协作完成的。
在活动中,我们相互学习、相互帮助,共同克服困难,这使我深刻体会到了团队合作的力量。
3. 感受传统文化魅力通过制作流水灯,我更加深入地了解了我国传统文化。
流水灯作为一种民间艺术,承载着丰富的历史和文化内涵。
在制作过程中,我感受到了传统文化的魅力,为我国的传统文化感到自豪。
4. 培养审美情趣流水灯的色彩搭配、造型设计等方面都需要我们具有一定的审美能力。
在制作过程中,我不断尝试、调整,力求使流水灯更加美观。
这使我更加注重培养自己的审美情趣。
5. 增强环保意识在制作流水灯的过程中,我们注重环保,尽量使用可回收的材料。
流水灯实习报告范文一、实习单位简介本次实习是在电子科技有限公司进行的,该公司是一家专业从事LED照明产品生产和销售的企业。
公司拥有完善的生产线和技术团队,主要生产LED灯泡、LED筒灯、LED灯带等各类LED照明产品。
在这个企业里,我主要参与了流水灯的生产线工作。
二、实习内容和目标在实习期间,我主要负责流水灯的组装工作。
流水灯是一种常见的LED照明产品,它可以通过不同颜色的LED灯珠按照特定的顺序变换颜色,呈现出流动的效果。
我通过参与流水灯的组装工作,旨在了解流水灯的生产过程,培养团队合作精神和实际操作能力。
三、实习过程1.了解流水灯的基本原理和组成在正式开始实习工作前,我首先了解了流水灯的基本原理和组成。
流水灯主要由LED灯珠、控制电路和外壳组成,通过电路控制LED灯珠的点亮和熄灭来实现变换颜色的效果。
2.学习流水灯的组装工艺在实际操作之前,我进行了一段时间的培训和学习,了解了流水灯的组装工艺和所需的工具。
掌握了流水灯的组装顺序和注意事项,包括电路连接、灯珠焊接和外壳固定等。
3.实际组装流水灯在掌握了流水灯的基本知识后,我开始正式参与流水灯的组装工作。
根据工艺流程,我先将LED灯珠按照一定的顺序焊接到电路板上,并检查焊接是否牢固。
接着,我将焊接好的电路板装入外壳中,并固定好外壳。
最后,对组装好的流水灯进行外观检查和测试,确保工作正常后进行下一步工序。
4.问题解决和改进在实习过程中,我遇到了一些问题,比如焊接技术不熟练、流水灯颜色变换不流畅等。
我及时向老师和同事请教并改进,通过不断学习和练习,逐渐提高了自己的水平。
同时,我也提出了一些建议,比如改进焊接工艺、优化流水灯的外观设计等,以提高产品的品质和竞争力。
四、实习收获通过这次实习,我对LED照明产品的生产过程有了更深入的了解,掌握了流水灯的组装技术和操作方法。
实习期间,我也锻炼了自己的实际动手能力和团队合作能力。
通过与同事的合作,我学会了分工合作,提高了工作效率,并且通过解决问题的过程,我也提高了自己的解决问题的能力和创新思维。
共享知识分享快乐单片机流水彩灯设计目录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灯便会一亮一暗的做流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
2、硬件设计说明(1)电路图(2)I/O的分配单片机40引脚接+5V的电源,12、13引脚接开关K1、K2,20引脚接地。
使用510 Ω电阻和发光二极管组成12条支路,分别对应连接单片机的8个P0口、4个P2口共12个。
采用共阳极接法40段接上5V 的外加电压,通过单片机的P0、P2口控制输出高电平还是低电平。
当电压为低电平的时候。
二极管发光。
该电路由2个30PF 的电容和一个晶震组成的,其中晶振接在18和19引脚,这个作用是为单片机提供一个正常的工作时钟频率。
(3)电路工作原理该流水灯实际上就是一个带有十二个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
从原理图中可以看出,如果要让接在P0.0口的LED1亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.1~P0.7口与P2.4~P2.7的其他11个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED12依次点亮、熄灭,12只LED灯便会一亮一暗形成“流水灯”。
(4)主要器件介绍AT89S51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89S51单片机时无须外扩存储器。
在MCS-51芯片内部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率范围通常是1.2~12MHz。
晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。
使用晶体振荡器时,C1、C2取值30±10pF。
C1、C2的取值虽然没有严格的要求,但电容的大小影响振荡电路的稳定性和快速性,通常取值20~30pF。
在这里我们取值30 pF在设计印制电路板时,晶振和电容等应尽可能靠近芯片,以减少分布电容,保证振荡器振荡的稳定性。
3、软件设计说明(1)软件设计概述1)设计思路单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。
软件编程是单片机应用系统中一个重要的组成部分,我们编程实现流水灯的方法是循环移位法,即:在程序一开始就给I/O口送一个数,这个数本身就是让这个I/O口先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至I/O口,这样就实现流水效果,另外由于AT89S51系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,所以我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到I/O口,这样也可以实现流水效果。
如果要让接在p0与p2口的发光二极管实现流水的效果,则是用程序改变p0与p2口的电平,由于我采用的为共阳极的接线方式,因此低电平为亮,高电平熄灭。
2)总体功能这次程序总的要实现四个功能,通电后12 个 LED 灯全亮;单个LED灯顺次点亮;每两个LED灯顺次点亮然后再顺次返回;从两端每三个LED灯顺次向中间点亮。
程序的主要功能是p3.2口的按钮为控制启动与停止,p3.3口的按钮为切换三种“流水”的花样:①会出现一个灯从上至下的循环亮灭,后又从下至上的循环亮灭回来;②会出现两个灯从上至下的循环亮灭,后又从下至上的循环亮灭回来;③在灯会产生上3个灯与最下面的三个灯亮到中间6个灯亮的情况;3)程序流程图(2)程序总体结构及程序的执行与工作过程这个程序一共分为四个部分:第一个是对下面需要用到的累加器、寄存器的定义;第二个是编写p3.2接口按钮功能,第三个则是编写p3.3接口按钮功能,而其中有三个花样:第四个则是延时子程序。
其工作过程如下流程:(3)重要程序段说明JUMP1:AJMP STYLE1AJMP STYLE2AJMP STYLE3CLR:是将其后面指定的位清为0,程序中使对应端口输出低电平ACALL:是子程序调用指令,程序中调用了DELAY延时子程序SETB:是将其后面指定的位置成1,程序中使对应端口输出高电平AJMP:是无条件跳转指令,意思是:跳转到指定的标号处继续运行END:是程序结束的伪指令,意思是告诉编译器,程序到此结束。
伪指令只告诉编译器此程序到此有何要求或条件,它不参与和影响程序的执行。
MOV P2, ARR ACALL DELAYJB ACC.4, LOOPBLS2 ;同样,当P2.4为0,即灯亮到P2.4处在上面源程序中"ACALL DELAY"指令的作用是调用DELAY延时子程序。
一定要用该指令才能看到我们需要的"流水"效果。
如果不用该指令,则由于12个LED发光与熄灭的时间都很短,我们肉眼无法看到LED的熄灭与点亮,凭我们肉眼看到的是LED1~LED12都同时亮(半亮),而看不到“流水”效果的!(4)程序清单ORG 0000HAJMP MAINORG 0003H ;外部中断0入口地址外部中断0连接控制流水灯暂停开始MOV DPTR,#JUMP0 ;储存转移地址基址MOV A,R6 ;储存专一地址的变址,可根据基址+变址来执行开始暂停子JMP @A+DPTR ;跳转到中断程序ORG 0013H ;外部中断1入口地址MOV DPTR,#JUMP1MOV A,R7JMP @A+DPTRORG 0100HMAIN:MOV SP,#60HCLR AMOV R7,#00HMOV R6,#00HMOV P0,#00H ;设置12个灯全亮MOV P2,#00HSETB EX0SETB IT0SETB EX1 ;设置外部中断0跟1,开中断SETB IT1SETB EASJMP $ORG 0200HJUMP0: ;外部中断0的中断响应程序SJMP START ;跳转到控制流水灯开始的程序SJMP STOP ;跳转到控制流水灯停止的程序ORG 0210H ;实际开始程序地址START:MOV R6,#2HLJMP STYLE1 ;跳转到样式1 开始流水STOP: ;流水灯停止程序MOV R6,#0HMOV P0,#00H ;12个灯全亮MOV P2,#00HCLR E A ;关总中断JNB P3.2,$ ;等待下一次按键JB P3.2,$SETB EA ;开总中断CALL DELAYMOV P0,#0H ;12个灯全亮MOV P2,#0HRETIORG 0400H ;实际外部中断1 程序地址JUMP1:AJMP STYLE1 ;跳到方式1执行AJMP STYLE2AJMP STYLE3;----------------------------------------;第一种花样ORG 0500HSTYLE1:MOV R7,#2H ;R7储存控制花样地址通过基址+变址来控制花样MOV P0,#0FFH ;从12个灯全灭开始,一个一个亮MOV P2,#0FFHMOV A, #0FEH ;单个LEDLOOPAS1:MOV R0, #8LOOPALS1:MOV P0, ARL ACALL DELAYDJNZ R0, LOOPALS1MOV P0,#0FFH ;P0口8个灯流水完毕;后4个灯~~~~(程序中为P2.4--P2.7,可修改) MOV A, #7FH ;单个LEDLOOPBS1:MOV R0, #4HLOOPBLS1:MOV P2, ARR ACALL DELAYDJNZ R0, LOOPBLS1MOV R1,#3DJNZ R1,STYLE1MOV P2,#0FFHRETI;----------------------------------------;第二种花样STYLE2:MOV R7,#4HMOV P0,#0FFH ;同样从12个灯熄灭然后开始第二种花样MOV P2,#0FFHLOOPAS2:MOV A, #0FCH ;两个LEDLOOPALS2:MOV P0, ARL ACALL DELAYJB ACC.7, LOOPALS2 ;当P0.7为0,即亮到P0.7此处CALL DELAYMOV P0,#07FHMOV P2,#7FHCALL DELAYMOV P0,#0FFH;--------------------MOV A, #3FH ;两个LEDLOOPBLS2:MOV P2, ARR A ;右移,打到流水目的后面的RL跟RR同理CALL DELAYJB ACC.4, LOOPBLS2 ;同样,当P2.4为0,即灯亮到P2.4处;--------------------LOOPCRS2:MOV P2, ARL ACALL DELAYJB ACC.7,LOOPCRS2MOV P2,#3FHCALL DELAYMOV P2,#7FHMOV P0,#7FHCALL DELAYMOV P2,#0FFH;--------------------MOV A,#3FHLOOPDRS2:MOV P0, ARR ACALL DELAYJB ACC.0,LOOPDRS2;--------------------MOV R1,#03HDJNZ R1,STYLE2 ;循环3次RETI;----------------------------------------;第三种花样STYLE3:MOV R7,#0HMOV P0,#0FFHMOV P2,#0FFHLOOPS3:MOV A,#0F8HMOV P0,AMOV A,#8FHMOV P2,ACALL DELAYMOV A,#7HMOV P0,AMOV A,#7FHMOV P2,ACALL DELAYMOV R1,#5HMOV P0,#0FFHMOV P2,#0FFHDJNZ R1,LOOPS3RETI;----------------------------------------;延时子程序DELAY:MOV R4, #2L1:MOV R2, #250L2:MOV R3, #250L3:DJNZ R3, L3DJNZ R2, L2DJNZ R4, L1RETIEND4、制作调试说明(1)制作调试过程及结果启动Keil单片机集成开发环境,建立新工程,将上面的源程序导入到工程中,设置好Keil工程的编译参数,编译得到HEX格式的目标文件,用 ISP编程器将HEX格式的目标文件烧写到AT89S51单片机中,接下来就是将烧写好的AT89S51从编程器上取下,放到我们焊接好的流水灯实验板上,通电,通过控制开关K1、K2我们就看到了LED1~LED12不同的"流水"效果了。