多按键花样流水灯设计实习报告
流水灯实验报告总结

流水灯实验报告总结一、实验目的本次流水灯实验的主要目的是通过实际操作,深入理解数字电路中时序逻辑电路的工作原理,掌握基本的硬件电路设计和编程方法,提高我们对电子电路的实践操作能力和问题解决能力。
二、实验原理流水灯是通过控制一系列发光二极管(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. 培养自己的动手能力和团队合作精神。
三、实习内容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. 调试与改进在完成流水灯的编程后,我进行了调试。
花样流水灯实训报告

51 单片机的时钟信号通常用两种电路形式得到:内部振荡方式和 外部振荡方式。
在引脚 XTAL1 和 XTAL2 外接晶体振荡器(简称晶振)或陶瓷谐振器, 就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器, 当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡 方式的外部电路如图 3-3 所示。
复位电路分为手动复位和自动复位,其中手动复位电路如图 3-1 所示,自动复位电路如图 3-2 所示。
图 3-1 手动复位电路
图 3-2 自动复位电路
图 3-1 所示的手动复位电路包含了自动复位的功能,当单片机上
7
电后,系统能够自动对单片机进行复位。当按下按钮时,也能起到复 位的功能。图 3-2 所示的自动复位电路只有在单片机上电时,才能起 到复位的功能。
4
连,从而实现了 4 个按键共用一个中断源的形式,节省了单片机的资 源。
当中断发生时单片机将正在执行的程序暂时放下而去处理中断 事件,当中断事件处理完毕后再接着去处理之前的事情,这样可以大 大降低单片机的资源,提高执行效率。
5
3 系统硬件设计
3.1 单片机介绍
单片机一词最初源于“Single-Chip Microcomputer”,简称 “SCM”。单片机也叫做“微控制器”或者“嵌入式微控制器”。它 不是完成某一个逻辑功能的芯片(芯片也称为集成电路块,它是 1958 年 9 月 12 日,在 Robert Noyce 的领导下,科研小组发明集成电路后 开始出现的一个名称),而是把一个微型计算机系统集成到一个芯片 上。概括的讲:一块芯片就成了一台计算机。它体积小、质量轻、价 格便宜,为学习、应用和开发提供了便利条件。近年来,微处理器已 广泛应用于多种领域,尤其是在智能仪器仪表中的应用更是如此,这 不仅引起了产品本身的变革,也深深地影响设计的理念的变革。智能 仪器仪表作为一种智能系统,其核心在于微处理器。基于微处理器的 智能系统设计,已成为目前电子设计领域的一个热点。智能系统是一 个复杂的系统,一般包含微处理器、按键与显示人机界面、A/D 转换、 D/A 转换等基本功能部件,同时也包含与应用领域相关的其他特殊部 件。智能系统一般需要在恶劣的环境下长期连续地工作,因此在满足 功能的基础上,其可靠性也是设计时需要考虑的一个方面,目前已经 普遍应用于通信、雷达、遥控和自动控制等各个领域中。在本次设计 中我选用的是 AT89S52 单片机。
花样流水灯实验报告

始
编
写数组 主
循环 逐个
点亮 24 灯
同时闪烁 逐个
熄灭 2、程序清单及说明 #include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char uchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//逐个点 亮 0~7
黄淮学院信息工程学院
单片机原理及应用课程设计性实验报告
实验名称
花样流水灯控制实验
实验时间
2017 年 3 月
24 日
学生 姓名
1024
实验 地点
070320
同组
1024
专业
电子科学与技
人员
班级 术1501B
一、实验目的
1、会使用单片机 4 个并行 I/O 端口连接外部设备并构建单片机最
小应用系统。
2、能使用工具软件绘制单片机硬件原理图、能编写简单的汇编程
序。
3、会编写常见的顺序程序、循环程序、延时子程序和查表程序。
二、实验主要仪器设备和材料
Keil 软件;Proteus 软件 三、任务设计要求
采用 STC89C52 单片机构建最小系统,在 P0-2 口外接 24 只发光二极 管,编程实现 24 只灯的花样显示控制。
四、总体设计方案
P0 接口
电
A
并 行
八、项目总结 在本次花样流水灯试验中,使用循环程序、数组语句实现了实验要求, 设计过程中遇到了很多的问题,但经过努力,最终设计出了合理的解决方 案。通过此次实验,对多个 led 灯的控制能力进一步得到提升。
流水灯实习报告范文

流水灯实习报告范文一、实习单位简介本次实习是在电子科技有限公司进行的,该公司是一家专业从事LED照明产品生产和销售的企业。
公司拥有完善的生产线和技术团队,主要生产LED灯泡、LED筒灯、LED灯带等各类LED照明产品。
在这个企业里,我主要参与了流水灯的生产线工作。
二、实习内容和目标在实习期间,我主要负责流水灯的组装工作。
流水灯是一种常见的LED照明产品,它可以通过不同颜色的LED灯珠按照特定的顺序变换颜色,呈现出流动的效果。
我通过参与流水灯的组装工作,旨在了解流水灯的生产过程,培养团队合作精神和实际操作能力。
三、实习过程1.了解流水灯的基本原理和组成在正式开始实习工作前,我首先了解了流水灯的基本原理和组成。
流水灯主要由LED灯珠、控制电路和外壳组成,通过电路控制LED灯珠的点亮和熄灭来实现变换颜色的效果。
2.学习流水灯的组装工艺在实际操作之前,我进行了一段时间的培训和学习,了解了流水灯的组装工艺和所需的工具。
掌握了流水灯的组装顺序和注意事项,包括电路连接、灯珠焊接和外壳固定等。
3.实际组装流水灯在掌握了流水灯的基本知识后,我开始正式参与流水灯的组装工作。
根据工艺流程,我先将LED灯珠按照一定的顺序焊接到电路板上,并检查焊接是否牢固。
接着,我将焊接好的电路板装入外壳中,并固定好外壳。
最后,对组装好的流水灯进行外观检查和测试,确保工作正常后进行下一步工序。
4.问题解决和改进在实习过程中,我遇到了一些问题,比如焊接技术不熟练、流水灯颜色变换不流畅等。
我及时向老师和同事请教并改进,通过不断学习和练习,逐渐提高了自己的水平。
同时,我也提出了一些建议,比如改进焊接工艺、优化流水灯的外观设计等,以提高产品的品质和竞争力。
四、实习收获通过这次实习,我对LED照明产品的生产过程有了更深入的了解,掌握了流水灯的组装技术和操作方法。
实习期间,我也锻炼了自己的实际动手能力和团队合作能力。
通过与同事的合作,我学会了分工合作,提高了工作效率,并且通过解决问题的过程,我也提高了自己的解决问题的能力和创新思维。
流水灯电子实习报告

一、实习目的本次流水灯电子实习旨在通过对流水灯电路的搭建、调试和优化,加深对电子电路原理的理解,提高动手实践能力,培养创新意识。
通过实习,使学生掌握以下技能:1. 熟悉流水灯电路的基本原理和设计方法;2. 掌握电子元件的识别、选用和测试方法;3. 学会使用万用表、示波器等电子测量工具;4. 提高电路故障排查和解决能力;5. 培养团队协作和沟通能力。
二、实习内容1. 理论学习(1)流水灯电路原理:流水灯电路通常由多个LED灯、电阻、电容、三极管等元件组成。
通过控制三极管的导通和截止,使LED灯依次点亮,形成流水效果。
(2)电路设计:根据实际需求,确定LED灯的数量、电路拓扑结构、电源电压等参数,选择合适的元件。
2. 电路搭建(1)根据电路图,选用合适的电子元件,包括LED灯、电阻、电容、三极管等。
(2)按照电路图连接元件,注意电路的接线和布局。
(3)检查电路连接是否正确,确保无短路、断路等问题。
3. 电路调试(1)接通电源,观察LED灯是否按预期点亮。
(2)调整电路参数,如电阻值、电容值等,优化流水灯效果。
(3)使用万用表测量电路关键点电压,确保电路正常工作。
4. 电路优化(1)分析流水灯电路的优缺点,提出改进方案。
(2)优化电路设计,提高电路性能。
(3)对优化后的电路进行测试,验证改进效果。
三、实习过程1. 实习前期,通过查阅资料、请教老师等方式,了解流水灯电路的基本原理和设计方法。
2. 实习中期,根据电路图,选用合适的电子元件,进行电路搭建。
在搭建过程中,注意电路的接线和布局,确保电路连接正确。
3. 实习后期,对电路进行调试和优化。
通过调整电路参数,使流水灯效果达到最佳。
同时,对优化后的电路进行测试,验证改进效果。
四、实习成果1. 成功搭建了一款流水灯电路,实现了流水灯效果。
2. 通过实习,掌握了流水灯电路的基本原理和设计方法,提高了动手实践能力。
3. 学会了使用万用表、示波器等电子测量工具,提高了电路故障排查和解决能力。
多功能流水灯设计实验报告

多功能流水灯的设计一.设计要求:1.设计一8盏彩灯控制电路,使彩灯可以向左,向右流动、全亮、全灭四种功能。
功能变换可以手控也可以自控。
2.自动功能变换时间10秒。
二.总体方案构思:用Verilog语言来为单片机编程,通过编程来控制单片机各引脚在不同时间输出的不同的电平,进而控制个发光二级管的亮灭,以及控制流水灯的流速和流动方向。
1.使用按钮(auto)来控制手动或自动。
2.因为需要向左,向右,全亮,全灭四种功能,所以需要两个开关(btn1和btn2),分别用开和关两种状态表示,即(00,01,10,11)。
3.使用clk时钟来记时和触发事件。
三.实验器材:电脑和LED设备四.程序如下:module LED(clk,auto,btn1,btn2,led);input clk;input auto;input btn1;input btn2;output reg [7:0] led;reg [29:0] count;//1ns的计数器reg [3:0] count_10;//10秒的计数器reg [1:0] status;//记录当前LED灯流动的情况:"00左到右,01右到左,10全亮,11全灭"reg [1:0] type;reg second_1;//1秒的标志reg second_10;//10秒的标志initialbeginstatus<=2'b00;type<=2'b00;count<=30'b0;count_10<=4'b0;second_1<=1'b0;second_10<=1'b0;endalways@(posedge clk)//给出1s的标志和10s的标志beginif(count<25000000)//等待1s的到来begincount<=count+1;second_1<=0;second_10<=0;endelsebegincount<=0;second_1<=1;count_10<=count_10+1;if(count_10>=4'd10)beginsecond_10<=1;endendendalways@(posedge clk)//当自动的情况时,每10s变化一次流动状态beginif(auto==1 && second_1==1)beginif(second_10==1)beginif(status==2'b11)beginstatus<=2'b00;endelsebeginstatus<=status+1;endendendendalways@(posedge clk)//设置总变化状态等于手动或自动的状态beginif(second_1==1)beginif(auto==1)//自动begintype<=status;endelse//手动begintype<={btn1,btn2};endendendalways@(posedge clk)//根据type设置LED灯情况beginif(second_1==1)beginif(type==00)//左到右beginif(led==8'b00000000 || led==8'b11111111)beginled<=8'b10000000;endelsebeginled<=led>>1;endendelse if(type==01)//右到左beginif(led==8'b00000000 || led==8'b11111111)beginled<=8'b00000001;endelsebeginled<=led<<1;endendelse if(type==10)//全亮beginled<=8'b11111111;endelse//全灭beginled<=8'b00000000;endendendendmodule五.测试图如下:六.个人体会:在这次实验中收货颇丰,我学会了使用简单的Verilog语言,更加深入的学习了数字逻辑,还有更多的,我学会和同学们合作,讨论,去解决问题。
流水灯绘制实习报告

实习报告实习时间:xxxx年xx月xx日实习单位:xxxxxx科技有限公司实习岗位:电子工程师实习内容:流水灯绘制一、实习背景随着科技的不断发展,电子产品日益普及,电子设计技术也得到了广泛的传播和应用。
作为电子工程专业的学生,为了提高自己的实际操作能力和理论知识的应用能力,我选择了流水灯绘制作为实习内容,以期在实践中提高自己的电子设计水平。
二、实习目的1. 掌握流水灯的基本原理和设计方法;2. 熟悉电子元器件的选型和应用;3. 提高自己的实际操作能力和团队协作能力;4. 培养自己的创新意识和解决问题的能力。
三、实习过程1. 实习准备:在实习开始前,我对流水灯的基本原理和设计方法进行了学习,了解了流水灯的工作原理和常见的电路图。
同时,我还对电子元器件的选型和应用进行了一定的研究,为实习打下了坚实的基础。
2. 设计思路:根据所学知识,我确定了流水灯的设计思路。
首先,选择合适的电子元器件,包括LED灯、限流电阻、开关等;其次,设计电路图,并焊接电路;最后,编写程序,实现流水灯的功能。
3. 电路设计:在电路设计阶段,我选择了5个LED灯作为显示器件,并通过限流电阻与电源相连。
开关用于控制流水灯的开启和关闭。
同时,我还设计了一个简单的电路保护电路,以防止电路过载和短路。
4. 焊接电路:根据电路图,我认真焊接了电路板,并进行了多次检查,确保电路连接正确无误。
5. 程序编写:在程序编写阶段,我使用了C语言编写了控制流水灯的程序。
程序通过控制LED灯的亮灭,实现了流水灯的效果。
在程序调试过程中,我不断优化代码,提高了程序的稳定性和可靠性。
6. 实习总结:在实习过程中,我深入了解了流水灯的设计原理和制作过程,熟练掌握了电子元器件的选型和应用,提高了自己的实际操作能力和团队协作能力。
同时,我也认识到了自己在电子设计方面的不足,为今后的学习和工作打下了坚实的基础。
四、实习收获1. 提高了自己的电子设计水平,掌握了流水灯的设计方法和制作过程;2. 熟悉了电子元器件的选型和应用,为今后的电子设计积累了宝贵的经验;3. 培养了团队协作能力和沟通技巧,增强了团队合作意识;4. 认识到了自己在电子设计方面的不足,明确了今后的学习方向。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国电子科技大学实习总结报告实习类型生产实习实习单位电子科学学院实习基地实习起止时间 201X年7月X日至202X年6月X日指导教师所在院(系)电子科学学院班级电信X班学生姓名学号202X年 6月 20日多按键花样流水灯设计一、设计目的与要求通过学习51单片机开发软件及其实验箱掌握51单片机与外部扩展芯片连接方式和外部芯片的初始化编程方法。
进一步学习掌握8031内部计数器的使用和编程方法。
进一步掌握中断处理程序的编程方法。
利用74LS273扩展8031的I/O口通过编程实现流水灯实验。
1、设计目的(1)掌握51系列单片机的基本硬件结构及工作原理;(2)掌握51系列单片机的汇编语言及基本程序设计方法;(3)学习并掌握使用51系列单片机开发控制系统的基本步骤及方法。
2、设计要求(1)选择一个I/O口控制八只流水灯。
(2)设置四个按键K1—K4,按下K1跑马灯,K2流水灯,K3鸳鸯戏水,K4则循环三种控制方式。
(3)跑马灯:共8个LED逐次点亮,每隔100ms点亮一个LED,点亮100ms后关闭。
(4)流水灯:共8个LED逐次点亮,每隔100ms点亮一个LED,点亮100ms后下一个LED点亮,当所有LED灯全部点亮后,延时100ms,然后全灭;然后继续上次操作。
(5)鸳鸯溪水灯:共8个LED,第一次1、3、5、7号灯点亮,延时100ms,关闭,延时100ms,2、4、6、8号灯点亮,延时100ms,关闭,延时100ms。
然后继续上次操作。
二、单片机开发板原理整个系统工作由软件程序控制运行,根据需要,可以上电后系统经过初始化,进入用户设定模式状态。
基于AT89C52单片机的彩灯控制方案,实现对LED彩灯的控制。
本方案以AT89C52单片机作为主控核心,与驱动等模块组成核心主控制模块。
在主控模块上设有晶振电路和8个LED显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。
1、单片机板原理图图1单片机实验板原理图2、AT89C52单片机的硬件结构一个8位CPU;一个时钟电路;4Kbyte程序存储器;128byte数据存储器;两个16位定时/计数器;64Kbyte扩展总线控制电路;四个8-bit并行I/O端口;一个可编程串行接口;五个中断源,其中包括两个优先级嵌套中断3、STC89C52结构示意图P0 口:P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL 逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外接上拉电阻。
P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4个TTL 逻辑电平。
对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出。
P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用)。
P1.6 MISO(在系统编程用)。
P1.7 SCK(在系统编程用)。
P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。
对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器时,P2 口送出高八位地址。
在这种应用中,P2 口使用很强的内部上拉发送1。
在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个TTL 逻辑电平。
对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。
P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
图2 AT89C52花样流水灯是一个带有八个发光二极管的单片机小应用系统,由发光二极管,晶振,复位,电源等电路和必要的软件组成的单个单片机。
若让接在P1.0口的LED1亮起来,只要把P1.0口的电平变为低电平就可以了;相反,若要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
4、主要引脚功能(1)电源引脚Vcc和VssVcc:电源端,接+5V。
Vss:接地端。
通常在Vcc和Vss引脚之间接0.1μ高频滤波电容。
(2)时钟电路引脚XTAL1和XTAL2XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。
(3)地址锁存允许ALE在系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
当单片机上电正常工作后,ALE端就周期性地以时钟频率的1/6的固定频率向外输出正脉冲信号,ALE的负载能力为8个LSTTL器件。
(4)外部程序存储器读选通信号PSENPSEN是读外部程序存储器的选通信号,低电平有效。
CPU从外部存储器取指令时,它在每个机器周期中两次有效。
(5)程序存储器地址允许输入端 EA/VPP当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。
当EA为低电平时,CPU只执行片外程序存储器指令。
对于8031,由于其无片内ROM,故EA必须接低电平。
(6)复位信号RST该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。
此外,该引脚还有掉电保护功能,若在该端接+5V备用电源,在使用中若Vcc掉电,可保护片内RAM中信息不丢失。
(7)输入/输出口引脚P0、P1、P2和P3P0口(P0.0~P0.7):该端口为漏极开路的8位准双向口,负载能力位8高LSTTL 负载,它为8位地址线和8位数据线的复用端口。
P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。
P2口(P2.0~P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。
在访问外部程序存储器时,它作存储器的高8位地址线。
P3口(P3.0~P3.7):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。
5、复位电路当要对晶片重置时,只要按此开关就能完成LED和开关的重置。
复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
单片机的RST管脚为主机提供了一个外部复位信号输入口。
复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。
单片机的复位方式可由手动复位方式完成。
RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续24个振荡周期以上才能完成复位操作,若使用6MHz晶振,则需持续4μS以上才能完成复位操作。
图2.10中,在通电瞬间,由于RC的充电过程,在RST端出现一定宽度的正脉冲,只要该正脉冲保持10ms以上,就能使单片机自动复位6、震荡电路为彩灯循环系统提供稳定频率波在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,引入唯一的外部脉冲信号作为各单片机的振荡脉冲。
这时外部的脉冲信号是经单片机89C51的XTAL2引脚注入的;在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率范围通常是1.2~12MHz。
晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。
由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。
晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。
时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。
CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。
振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。
振荡脉冲在片内通过一个时钟发生电路二分频后才作为系统的时钟信号。
片内时钟发生电路实质上是一个二分频的触发器,其输入来自振荡器,输出为二相时钟信号,即状态时钟信号,其频率为fosc /2;状态时钟三分频后为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。