流水灯电路图和程序
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code led[]={0xfe,0xfb,0xfd ,0xf7,0xef,0xbf,0xdf,0x7f};
delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
main( )
{
uint i;
while(1)
{
P2=led[];
delay(500);
_crol_(led,1);
}
}
用arm7做一个流水灯的设计。
悬赏分:100 - 解决时间:2009-9-3 20:03
试设计一个闪烁流水灯控制器,该控制器可以控制8个灯顺序亮灭,当按钮K按下1次后,每次顺序点亮一个灯。而且每个点亮的灯在闪烁3次后,才能灭,周而复始,直到按钮K 二次按下。(用状态机设计)
要用PROTEL99画好电路图。还要写好程序。画图的也只能发到我的邮箱里面吧。邮箱:。谢谢各位。
提问者:woxinruozai - 五级
最佳答案
从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。
实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。
从上面中文表示看来实现单片机流水灯很简单,但是我们不能说P1.0你变低,它就变低了。因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”机器代码。我们又怎样来使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。这里的“程序语言”目前主要有汇编语言和C语言两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。
实现8个LED流水灯汇编语言源程序liu01.asm
;----- 主程序开始-----
START: CLR P1.0 ;P1.0输出低电平,使LED1点亮
ACALL DELAY ;调用延时子程序
SETB P1.0 ;P1.0输出高电平,使LED1熄灭
CLR P1.1 ;P1.1输出低电平,使LED2点亮
ACALL DELAY ;调用延时子程序
SETB P1.1 ;P1.1输出高电平,使LED2熄灭
CLR P1.2 ;P1.2输出低电平,使LED3点亮
ACALL DELAY ;调用延时子程序
SETB P1.2 ;P1.2输出高电平,使LED3熄灭
CLR P1.3 ;P1.3输出低电平,使LED4点亮
ACALL DELAY ;调用延时子程序
SETB P1.3 ;P1.3输出高电平,使LED4熄灭
CLR P1.4 ;P1.4输出低电平,使LED5点亮
ACALL DELAY ;调用延时子程序
SETB P1.4 ;P1.4输出高电平,使LED5熄灭
CLR P1.5 ;P1.5输出低电平,使LED6点亮
ACALL DELAY ;调用延时子程序
SETB P1.5 ;P1.5输出高电平,使LED6熄灭
CLR P1.6 ;P1.6输出低电平,使LED7点亮
ACALL DELAY ;调用延时子程序
SETB P1.6 ;P1.6输出高电平,使LED7熄灭
CLR P1.7 ;P1.7输出低电平,使LED8点亮
ACALL DELAY ;调用延时子程序
SETB P1.7 ;P1.7输出高电平,使LED8熄灭
ACALL DELAY ;调用延时子程序
AJMP START ;8个LED流了一遍后返回到标号START处再循环
;----- 延时子程序-----
DELAY: MOV R0,#255 ;延时一段时间
D1: MOV R1,#255
DJNZ R1,$
DJNZ R0,D1
RET ;子程序返回
END ;程序结束
在上面主程序中用到了五条汇编语言指令:CLR、ACALL、SETB、LJMP、END。
CLR:是将其后面指定的位清为0,程序中使对应端口输出低电平
ACALL:是子程序调用指令,程序中调用了DELAY延时子程序
SETB:是将其后面指定的位置成1,程序中使对应端口输出高电平
AJMP:是无条件跳转指令,意思是:跳转到指定的标号处继续运行
END:是程序结束的伪指令,意思是告诉编译器,程序到此结束。伪指令只告诉编译器此程序到此有何要求或条件,它不参与和影响程序的执行。
在上面源程序中"ACALL DELAY"指令的作用是调用DELAY延时子程序。为什么要使用这指令呢?如果不用该指令能够实现"流水"效果吗?答案是肯定的,一定要用该指令才能看到我们需要的"流水"效果。如果不用该指令,则由于8个LED发光与熄灭的时间都很短,我们肉眼无法看到LED的熄灭与点亮,凭我们肉眼看到的是LED1~LED8都同时亮(半亮),而看不到“流水”效果的!注:初学者可以将上面源程序中所有"ACALL DELAY"指令行删除后再编译后烧写到单片机进行验证一下。
产生这种现象主要是因为单片机执行每条指令的时间很短,我们知道实验板上单片机的时钟高达11.0592MHz,在这个时钟信号(即晶体振荡信号)下,一个“机器周期”仅大约
1.08uS(微秒)。本程序中我们用到的SETB P.x和CLR P.x均属于单周期指令,也就是说,执行一句SETB P.x 用时仅1.08uS(微秒),CLR P.x 也是1.08uS(微秒);也就是点亮和熄灭时间都为1.08uS(微秒),在如此高速的流水速度下,8个LED发光与熄灭的时间都很短,当然凭我们的肉眼看不到“流水”效果了!
这里需要说明的是,按汇编语法要求,所编制的程序(下称源程序)之格式和书写要求必须依下列原则:
1、源程序必须为纯文本格式文件,如用Windows“附件”中的“记事本”编写的文本文件或用UltraEdit文本编辑器编辑;
2、源程序的扩展名应是*.ASM;
3、一行只能写一条语句,以回车作为本句的结束,每一语句行长度应少于80个字符(即40个汉字)。
4、每行的格式应为:标号:命令参数;注释。即一行由四部份组成,各部份的顺序不能搞错,依实际要求可以缺省其中的一部份或几部份,甚至全部省去,即空白行。需要使用标号时标号后面必须有“:”(冒号),而命令语句和参数之间必须用空格分开,如果命令有多个参数,则参数与参数之间必须用“,”(逗号)分开,需要注释时注释前必须用“;”(分号),“;”后面的语句可以写任何字符,包括汉字用于解释前面的汇编语句,它将不参与汇编,不生成代码。由于汇编程序对我们还不直观,所以在编写源程序时,应当养成多写注释的习惯,这样有助于今后源程序的阅读和维护。
标号是标志程序中某一行的符号名,编译后标号的数值就是标号所在行代码的地址。在宏汇编ASM51中标号的长度不受限制,但标号中不能包含‘:'或其它的一些特殊符号,也不能用汉字,可以用数字作标号,但必须用字母开头。当标号作参数用(如标号作转移地址),在命令后面出现时,必须舍去‘:'(如上面程序中的AJMP START中的START是不能再有:)。每行只能有一个标号,一个标号只能用在一处,如果有两行用了同一个标号,则汇编时就会出错。由于标号的长度没有限制,可以用有意义的英文或汉语拼音来说明行,使源程序读起来更方便。在源程序中的字母不区分大小写,也就是说start 和START 是一样的,请不要用大小写方式去区分不同的标号。
好啦!我们知道了汇编语言程序的规则,现在就动手编辑源程序吧。马上启动Keil单片机集成开发环境,建立新工程liu01.UV2,将上面的源程序liu01.asm导入到工程中,设置好Keil工程的编译参数,编译得到HEX格式的目标文件liu01.hex,用ISP编程器将目标文件liu01.hex烧写到AT89S51单片机中,接下来就是将烧写好的AT89S51从编程器上取下,放到“ S51增强型单片机实验板”上通电,我们就看到了LED1~LED8的"流水"效果了。
到此,我们做的流水灯已成功,工作原理也清楚啦,若你完全掌握了上面程序,那么你就可以将“流水灯”的流向改变一下,可以将从"左向右流"改为从"右向左流",也可以改为"两边向内流"、"内部向外流"......,我想你一定能用前面学到的方法实现这些功能。可能有些高手说,前面的编程方法是最最笨的!不错!但初学单片机初期可以不必讲究语言的简练,只要能实现预先要求就好,最主要的是学好基本指令(111条)的用法,清楚各个指令的功能,
这是初学者要知道的。那么还有更好的编程思路吗?当然有!请跟随站长继续学习下面的内容。
在前面学习的程序中我们让LED流水是去逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们就采用新的思路来编程。新的编程思路如下:我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后让这个数据向高位移动不就实现“流水”效果啦?的确如此!8051指令中没有让P1数据移动的指令,但有对累加器ACC中数据左移或右移的指令,ACC在指令中常写为A,累加器A数据左移指令为"RL A",累加器数据右移指令为"RR A",累加器在数据传输和数据处理过程中作用十分重要,累加器ACC为8位。他可与片内所有单字节寄存器交换数据,实际上P1和其他端口在单片机中也是一个寄存器。这样我们可以将需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。下面程序就是采用新的编程思路源程序liu02.asm。
实现8个LED流水灯汇编语言程序liu02.asm
;----- 主程序开始-----
START: MOV ACC,#0FEH ;ACC中先装入LED1亮的数据(二进制的11111110)MOV P1,ACC ;将ACC的数据送P1口
MOV R0,#7 ;将数据再移动7次就完成一个8位流水过程
LOOP: RL A ;将ACC中的数据左移一位
MOV P1,A ;把ACC移动过的数据送p1口显示
ACALL DELAY ;调用延时子程序
DJNZ R0,LOOP ;没有移动够7次继续移动
AJMP START ;移动完7次后跳到开始重来,以达到循环流动效果
;----- 延时子程序-----
DELAY: MOV R0,#255 ;延时一段时间
D1: MOV R1,#255
DJNZ R1,$
DJNZ R0,D1
RET ;子程序返回
END ;程序结束
接下来,我们将上述程序编译,并烧写到实验芯片中,放到实验板上可以看到程序的"流水"效果是一样的,但源程序看起来更加简洁,直观。其实8051单片机有111条指令,有的指令常用,有的指令不常用,只要遵守语法规则,你可以用这些指令“组合”成你想象到的任何程序。当然,有时一条指令可以替代很多条指令,这样会使程序简洁,程序代码减少,
在编写较大程序时可以让程序存储器放得下你需要的代码,这也是单片机高手所追求的“程序简洁高效”。当然,初学者不必刻意去追求程序的简洁高效,主要是要全面地掌握各种指令的应用,只要你对基本指令都熟悉了,那么你也就可以编出简洁高效的程序了,不过这编程“内功”是需要你勤学苦练,日积月累的练习、实验才能达到的哦!马上拿起你的实验板,现在就开始动手吧:)
上面我们学习的两个程序都是比较简单的流水灯程序,"流水"花样只能实现单一的"从左到右"流方式。下面介绍一个实用的流水灯程序,程序能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水。只要将下面的程序稍稍修改一下,通过S51增强型单片机实验板的扩展接口连接到霓虹灯高压驱动接口板就可以驱动真正的霓虹灯了。
实用的查表方式多功能流水灯程序liu03.asm
;----- 主程序开始-----
ORG 0000H ;上电复位,程序从0000H开始执行
START: MOV SP,#60H ;堆栈初始化为60H
MOV DPTR,#LIU_TAB ;流水花样表首地址送DPTR
LOOP: CLR A
MOVC A,@A+DPTR
CJNE A,#0FFH,SHOW ;检查流水结束标志
AJMP START ;所有花样流完,则从头开始重复流
SHOW: MOV P1,A ;将数据送到P1口
ACALL DELAY
INC DPTR
AJMP LOOP
;----- 延时子程序-----
DELAY: MOV R0,#255 ;延时一段时间
D1: MOV R1,#255
DJNZ R1,$
DJNZ R0,D1
RET ;子程序返回
;----- 下面是流水花样数据表-----
LIU_TAB:
DB 01111111B ;二进制表示的流水花样数据
DB 10111111B
DB 11011111B
DB 11101111B
DB 11110111B
DB 11111011B
DB 11111101B
DB 11111110B
DB 11111110B
DB 11111101B
DB 11111011B
DB 11110111B
DB 11101111B
DB 11011111B
DB 10111111B
DB 01111111B
DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH ;十六进制表示DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
DB 7EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,7EH
DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H
DB 0FFH ;流水花样结束标志0FFH
END ;程序结束
井冈山大学 机电工程学院 单片机 课程设计报告 课程名称:单片机 设计题目:心形流水灯 姓名:玉红 专业:生物医学工程 班级:11级医工本一班 学号:110615017 指导教师:王佑湖 2013年11月27日
目录 1引言 (2) 1.1设计任务 (2) 1.2设计要求……………………………………………… ..2 2 课题综述 (2) 2.1课题的来源 (2) 2.2面对的问题 (2) 3 系统分析 (2) 3.1 STC89C52单片机引脚图及引脚功能介绍 (2) 4 系统设计 (4) 4.1硬件设计 (4) 4.1.1硬件框图 (4) 4.1.2硬件详细设计 (5) 4.2 软件设计 (5) 4.3 硬件原理图 (6) 4.4 元件清单 (6) 4.5 硬件焊接
图 (6) 4.6 代码编写 (7) 5心得体会 (7) 6致 (8) 参考文献 (8) 1 引言 单片机课程设计主要是为了让我们增进对STC89C51单片机电路 的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目 的。 1.1设计任务 设计一个单片机控制的流水灯系统 1.2设计要求 (1)32个LED灯; (2)可实现多种的亮灯(如左循环,右循环,间隔闪,90度交叉闪等)。 2 课题综述
2.1 课题的来源 当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。 2.2 面对的问题 这次课程设计是通过STC89C52位单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。而更为严峻的就是设计的最后还要将软硬件相结合。 3 系统分析 3.1 STC 89C52单片机引脚图及引脚功能介绍 本次设计的目的在于加深STC89C52单片机的理解,首先来简单认识一下,它的引脚如图3-1所示: 图3.1 STC89C52
三极管流水灯电路设计 王雅 20111041105;韦梦娜 20111041107 摘要:3组12只LED流水灯是特别针对电子装配与调试技能设计出来的,值得学习和电路分析。本文分析了该流水灯电路的特点及其电路工作原理的说明。 关键字:3组12只LED流水灯;电路设计;循环。 1 引言 随着科学技术的发展,电力电子设备与人们的工作、生活的关系日益密切。各种小套件层出不穷,功能多样。本文所设计的电子制作可以说是电子初学者学习电子的最佳入门制作!其制作方式容易,趣味横生,更能提高初学者的动手能力!让初学者在制作学习中感受电子技术带来的乐趣! 2 系统的功能描述 这款3组12只LED流水灯具有制作容易、有趣易学的特点,电路焊接成功后,装入电池,即可正常工作,3组12只发光二极管便会被轮流点亮,不断的循环发光,达到流动的效果。 3 设计原理 3.1 电路工作原理说明: 本电路是由3只三极管组成的循环驱动电路。每当电源接通时,3只三极管会争先导通,但由于元器件存在差异,只会有1只三极管最先导通。这里假设V1最先导通,则V1集电极电压下降,使得电容C2的左端下降,接近0V。由于电容两端的电压不能突变,因此此时V2的基极也被拉到近似0V,V2截止,V2的集电极为高电压,故接在它上面的发光二极管LED5-LED8被点亮。此时V2的高电压通过电容C3使V3基极电压升高,V3也将迅速导通,因此在这段时间里,V1、V3的集电极均为低电压,因此只有LED5-LED8被点亮,LED1-LED4、LED9-LED12熄灭。但随着电源通过电阻R3对C2的充电,V2的基极电压逐渐升高,当超过0.7V时,V2由截止状态变为导通状态,集电极电压下降,LED5-LED8熄灭。与此同时,V2的集电极下降的电压通过电容C3使V3的基极电压也降低,V3由导通变为截止,V3的集电极电压升高,LED9-LED12被点亮。接下来,电路按照上面叙述的过程循环,3组12只发光二极管便会被轮流点亮,不断的循环发光,达到流动的效果。改变电容C1、C2、C3的容量可以改变循环速度,容量越小,循环速度越快。电源使用2节5号干电池即可。 3.2元件清单: 3.3 电路图
流水灯电路的制作 一、概述: 随着电子技术的快速发展尤其是数字技术的突飞猛进,多功能流水灯凭着简易,高效,稳定等特点得到普遍的应用。在各种娱乐场所、店铺门面装饰、家居装潢、城市墙壁更是随处可见,与此同时,还有一些城市采用不同的流水灯打造属于自己的城市文明,塑造自己的城市魅力。目前,多功能流水灯的种类已有数十种,如家居装饰灯、店铺招牌灯等等。所以,多功能流水灯的设计具有相当的代表性。 多功能流水灯,就是要具有一定的变化各种图案的功能,主要考察了数字电路中一些编码译码、计数器原理,555定时器构成时基电路,给其他的电路提供时序脉冲,制作过程中需要了解相关芯片(NE555、CD4017)的具体功能,引脚图,真值表,认真布局,在连接过程中更要细致耐心。 二、电路原理图 三、电路工作原理 多功能流水灯原理电路图如上图所示。原理电路图由振荡电路、译码电路和光源电路三部分组成。本文选用的脉冲发生器是由NE555与R2、R3及C1组成的多谐振荡器组成。主要是为灯光流动控制器提供流动控制的脉冲,灯光的流动速度可以通过电位器R3进行调节。由于R3的阻值较大,所以有较大的速度调节范围。灯光流动控制器由一个十进制计数脉冲分配器CD4017和若干电阻组成。 CD4017的CP端受脉冲发生器输出脉冲的控制,其输出端(Q0~Q9)将输入脉冲按输入顺序依次分配。输出控制的脉冲,其输出控制脉冲的速度由脉冲发生器输出的脉冲频率决定。10
个电阻与CD4017的10个输出端Q0~Q9相连,当Q0~Q9依次输出控制脉冲时10个发光二极管按照接通回路的顺序依次发光,形成流动发光状态,即实现正向流水和逆向流水的功能。电源电路所采用的电源为。 四、板的设计 五、元器件清单 六、电路的组装与调试 1、电路的组装方法和步骤 (1)筛选元器件。对所有购置的元器件进行检测,注意它们的型号、规格、极性,应该保质量。 (2)按草图在PCB板上组装并焊接。 要求:①元器件布局整齐、美观,同类型元器件高度一致;
基于51单片机心形流水灯C语言源程序
#include
P0=0x04; delayms(50); P0=0x08; delayms(50); P0=0x10; delayms(50); P0=0x20; delayms(50); P0=0x40; delayms(50); P0=0x80; delayms(50); P0=0x00; P2=0x01; delayms(50); P2=0x02; delayms(50); P2=0x04; delayms(50); P2=0x08; delayms(50); P2=0x10; delayms(50); P2=0x20; delayms(50); P2=0x40; delayms(50); P2=0x80; delayms(50); P2=0x00; P3=0x80; delayms(50); P3=0x40; delayms(50); P3=0x20; delayms(50); P3=0x10; delayms(50); P3=0x08; delayms(50); P3=0x04; delayms(50);
单片机课程设计 2014年 6月 15日 课 程 单片机课程设计 题 目 花样流水灯 院 系 电气工程及其自动化系 专业班级 1112班 学生姓名 温亿锋 学生学号 201111631227 指导教师 张瑛
一丶任务 设计一款以AT89C51单片机作为主控核心,按键控制电路、流水灯显示电路以及单片机最小系统等模块组成的核心主控制电路。 二丶设计要求 通过发光二极管显示不同的花样(至少有六种花样),并且可以通过按键来控制流水灯的速度。 三丶设计方案 本方案主要是通过对基于单片机的多控制、多闪烁方式的LED流水灯循环系统的设计,来达到本设计的要求。其硬件构成框图如下图所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED 发光二极管和5V直流电源组成。 单片机流水灯循环控制系统硬件框图 此设计方案中单片机的P1口接5路按键控制电路,实现流水灯花型的切换功能;单片机的P3.7引脚接上一个按钮开关以实现对流水灯闪烁频率的控制,即实现了快慢两种节拍实现花型的变换;单片机上的P2口接八路LED发光二极管组成流水灯电路,显示流水灯循环情况。 四丶系统硬件设计 4.1 直流稳压电源电路
对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。电子设备除用电池供电外,还采用市电(交流电网)供电。通过变压、整流、滤波和稳压后,得到稳定的直流电。直流稳压电源是电子设备的重要组成部分。本项目直流稳压电源为+5V。 直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。下图为稳压电源采用的是三端集成稳压器7805构成的正5V直流电源。 三端固定式集成稳压电源电路图 AT89C51单片机的工作电压范围:4.0V---5.5V,所以通常给单片机外接5V 直流电源。此处用3节1.5V的干电池供电。 4.2 单片机最小系统 要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成,单片机最小系统如图所示。 时钟电路:本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz 石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。 复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。
涸洲湾职业技术学院 七彩心形流水灯说明书 别: 级: 专业: _______ 学号: _______ 职称: 实验师 班 姓名: 导师姓名
2016年11月20日 目录 1.前言.............................................. 错误!未定义书签。 2.系统设计技术参数要求............................... 错误!未定义书签。 3.系统设计........................................... 错误!未定义书签。 3.1系统设计总体框图.............................. 错误!未定义书签。 3.2各模块原理说明................................ 错误!未定义书签。 3.3系统总原理阁说明.............................. 错误!未定义书签。 3.4系统印刷电路板的制作图........................ 错误!未定义书签。 3.5系统的操作说明................................ 错误!未定义书签。 3.6系统操作注意事项.............................. 错误!未定义书签。 系统设计参考文件................................. 错误!未定义书签。 致谢词........................................... 错误!未定义书签。 附录............................................. 错误!未定义书签。
流水灯电路的制作与测试 【知识目标】 ●理解时序逻辑电路的基本概念及分类。 ●掌握同步和异步时序逻辑电路的分析方法。 ●理解计数器的逻辑功能及原理。 ●掌握寄存器电路的基本工作原理,理解移位寄存器的逻辑功能。 【技能目标】 ●能用触发器制作与调试各种同步计数器。 ●能用集成计数器制作任意进制的计数器。 ●熟悉集成移位寄存器逻辑功能和各控制端的作用,能构成实用电路。 ●多种方法实现流水灯电路,且进一步完善流水灯功能。 任务一用移位寄存器构成流水灯电路 一、分析任务 在一些数字系统中,有时需要系统按照事先规定的顺序进行一系列的操作。这就要求系统的控制部分能给出一组在时间上有一定先后顺序的脉冲,再用这组脉冲形成所需要的各种控制信号。 二、相关知识 在数字系统中,常常需要将一些数码、运算结果和指令等暂时存放起来,然后在需要的时候再取出来进行处理或运算。这种能够用于存储少量二进制代码或数据的时序逻辑电路,称为寄存器。 寄存器用于暂时存放二进制代码,它是数字系统中重要的部件之一。寄存器的主要组成部分是具有记忆功能的双稳态触发器。一个触发器可以存储一位二进制代码,所以要存放n位二进制代码,就需要n个触发器。 按照功能的不同,可将寄存器分为数码寄存器和移位寄存器两大类。 1. 数码寄存器 数码寄存器具有寄存数据和清除原有数据的功能。现以集成四位数据寄存器74LSl75来说明数据寄存器的电路结构和功能。74LSl75是用D触发器组成的四
位数据寄存器。它的逻辑图和管脚排列图如图7-11所示。 (a)逻辑图 (b)管脚排列图 图7-11 四位集成数码寄存器74LS175 74LS175的功能表见表7-11,CP 是时钟端,CR 是异步清零端,D 0~D 3是数据输入端,Q 0~Q 3是数据输出端。其功能如下。 表7-11 74LS175的功能表 ①异步清零。只要CR =0,就可使输出端清零,而与时钟无关。清零后,将 CR 接高电平,数据才能正常存人。 ②并行输入/输出。在CR =1的前提下,(将需要存人的四位二进制数据送到数据输入端D 0~D 3),在CP 脉冲上升沿的作用下,将D 0~D 3的数据并行存入Q 0~Q 3,同时也可取出存人的数码的反码。 ③记忆保持。当只CR =1且CP =0时,各触发器保持原状态不变,数据寄存器处于保持状态。 无论寄存器中原来的内容是什么,只要送数控制时钟脉冲CP 上升沿到来,加在并行数据输入端的数据D 0~D 3将立即被送入寄存器中,有 32103210Q Q Q Q D D D D
LED心形流水灯加程序 1.原件清单:一个万能板,一个底座,一个STC89C52芯片,32个LED 灯,32个贴片电阻,两个30uf电容,一个晶振。 2.原理图: 注:电源处的复位可以不用;就是上面红框里的内容 3.正面图
背面图: 亮灯图: 4. 程序代码: #include