文档视界 最新最全的文档下载
当前位置:文档视界 › 流水灯控制电路的设计

流水灯控制电路的设计

流水灯控制电路的设计
流水灯控制电路的设计

流水灯控制电路的设计

1.实验目的

(1)掌握555定时器的基本结构和工作原理。

(2)掌握74SL163,74SL138芯片的功能及应用。

(3)加深对组合和时序逻辑电路的理解。

(4)通过实验掌握基本电路在实际生活中的应用。

2.总体设计方案或技术路线

74SL163为集成4位同步二进制加法计数器,;利用它的同步置数功能可获得N进制计数器。74SL138为3线-8线译码器,它有3个输入端、8个输出端,使8个LED发光二极管实现按一定方向的循环亮灭。

由555定时器构成脉冲发生器,并由LED发光二极管监视电路是否工作;将74SL163接成二进制计数器,在Q D端用LED发光二极管监视计数器工作状态;取74SL163的低三位Q C Q B Q A接到74SL138的地址控制端CBA,74SL138的8个输出端依次与排成一排的8个LED发光管相接。8个发光二极管按一定方向循环亮灭

3.实验电路图

多谐控制电路

J2

流水灯控制电路

4. 仪器设备名称、型号

NE555时基控制芯片 1个

74SL163芯片 1个

74SL138芯片 1个

示波器 1台

电源 1台

LED发光二极管 10个

导线若干

试验箱 1个

5.理论分析或仿真分析结果

在NE555芯片构成的多谐控制电路中,输出信号的频率f=1.43/(R1+2R2)C1,可以通过改变接入的电阻和电容来改变输出信号的频率,从而改变8个LED循环发光的速度。

根据74SL1383线-8线译码器的特点,通过改变LED接入74SL138芯片的输出端从而改变其发光的顺序或者循环的方式。

6.详细实验步骤及实验结果数据记录(包括各仪器、仪表量程及内阻的记录)

7.实验结论

8.实验中出现的问题及解决对策

9.本次实验的收获和体会、对电路实验室的意见或建议

10.参考文献

利用8255A芯片实现流水灯闪烁设计

目录 摘要 (2) 第1章利用8255A芯片实现流水灯闪烁设计的概述 (2) 第2章三种方案的论述与最终方案的确定 (2) 2.1第一种方案的论述 (2) 2.2第二种方案的论述 (5) 2.3第三种方案(最终方案)的论证 (10) 第3章测试结果及体会心得 (13) 第4章致谢 (14) 第5章参考文献 (14) 附录1 方案一Proteus仿真电路效果图 (15) 附录2 方案一源程序代码 (16) 附录3 方案二Proteus仿真电路效果图 (18) 附录4 方案二源程序代码 (19) 附录5 方案三(最终方案)Proteus仿真电路效果图 (20) 附录6 方案三(最终方案)源程序代码 (21)

摘要: 8255A是一种通用的可编程并行I/O接口芯片(Programmable Peripherial Interface),它是为Inter系列微处理器设计的配套电路,也可用于其它微处理器系统中。通过对它进行编程,芯片可工作于不同的工作方式。此次课程设计的目的就是利用端口和8255协同工作来实现LED显示功能,对8255A芯片进行编程使流水灯左移或右移,通过延时程序使流水灯进行顺序点亮。通过这次课程设计掌握8255A的功能特点、工作原理以及显示器接口的基本原理与方法技术。 关键词: 8086芯片AT89C51单片机8255A芯片LED流水灯 第1章利用8255A芯片实现流水灯闪烁设计的概述 流水灯在日常的生活中有着广泛的应用,例如,许多楼面上的彩灯广告就是应用了流水灯设计。此次的课程设计的题目是利用了端口和8255A协同工作来实现LED显示功能,编写程序,使用8255的A口和B口均为输出,接8个或16个发光二极管,实现流水灯的显示效果。在实验中8255A的A和B两个端口不能同时赋值,从而我们可以用通用寄存器BX对所需要赋值的数据进行存储,因为BX可以分从高8位寄存器BH和低8位寄存器BL两部分进行独立的操作,我们用寄存器BH对A口进行赋值,用寄存器BL对B口进行赋值,通过延时一段时间再对BH 和BL进行移位和输出,实现了流水灯的效果。 第2章三种方案的论述与最终方案的确定 2.1第一种方案的论述 第一种方案,我们使用了8086CPU芯片与8255A芯片一起实现了流水灯闪烁的设计,同时还使用了地址锁存器74LS373芯片。74ls373是常用的地址锁存器芯片,它是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74ls373芯片。在方案一中,当8086CPU的引脚ALE(地址锁存允许信号,输出,高电平有效,用作地址锁存器74LS373的锁存控制信号)处于下降沿时将8086CPU输出的地址信息进行锁存,以定义8255A的工作方式。下面先对74LS373芯片进行简介: 1.地址锁存器74LS373的内部电路与工作原理

根据DSP的流水灯系统设计

课程设计说明书题目: 基于DSP的流水灯系统设计 学院: 专业班级: 学号: 学生姓名: 指导教师: 2017年1月13日

安徽理工大学课程设计(论文)任务书电气与信息工程学院

安徽理工大学课程设计成绩评定表

摘要 (1) 第一章TMS320VC5416芯片 (1) 1.1 TMS320VC5416芯片特点 (2) 1.中央处理单元 (2) 2.存储器 (3) 3.数据寻址 (3) 4.程序存储器寻址 (3) 5.中断 (3) 6.流水线 (3) 7.运算速度 (3) 8.低功耗方式 (3) 9.片上的外设 (4) 10.JTAG扫描逻辑电路 (4) 1.2 TMS320VC5416的指令集 (4) 1.算术指令 (4) 2.逻辑指令 (4) 3.程序控制指令 (5) 4.读取和存储指令 (5) 第二章硬件设计 (5) 2.1 整体框图 (5) 2.2 电源电路 (6) 2.3 存储电路 (6) 2.4 时钟电路 (7) 2.5 复位电路 (7) 2.6 JTAG电路 (8) 2.7 键盘电路 (8) 2.8 显示模块 (9) 第三章软件设计 (9) 1.1设计流程 (10) 1.2软件设计步骤 (10) 3.2.1 进入CCS (10) 3.2.2 新建一个项目 (10) 3.2.3 新建一个源文件 (10) 3.2.4 在项目中添加源文件 (11) 3.2.5 程序代码 (11) 1.初始化程序 (11) 2.主函数程序: (12) 3.向量文件 (13) 4.MEMORY程序 (15) 3.2.6对项目进行编译和链接 (15) 3.2.7装载可执行文件 (15) 3.2.8运行程序并查看结果: (16) 设计心得及体会 (16)

三极管流水灯电路设计

三极管流水灯电路设计 王雅 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 电路图

单片机流水灯实验报告

流水灯实习报告 一、实验原理 单片机通过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: 学号:0121209310130 课程设计 题目多功能多路流水灯控制电路的设 计仿真与制作 学院信息工程学院 专业电子信息工程 班级电信1201 姓名鲁玲 指导教师孟哲 2014 年 6 月20 日

课程设计任务书 学生姓名:鲁玲专业班级:电信1201 指导教师:孟哲工作单位:信息工程学院 题目: 多功能多路流水灯控制电路的设计仿真与制作 初始条件: 集成译码器、计数器、555定时器、移位寄存器、LED和必要的门电路或其他器件。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具 体要求) 1、课程设计工作量:1周内完成对数字频率计的设计、仿真、装配与调试。 2、技术要求: 错误!未找到引用源。设计一个具有16路(或矩阵)LED不同显示方式或显示图形的控制电路。 错误!未找到引用源。不同显示方式的控制可以是自动结合按键手控等。 ③确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分 电路,画出总体电路原理图,阐述基本原理。 3、查阅至少5篇参考文献。按《武汉理工大学课程设计工作规范》要求撰写设计报告 书。全文用A4纸打印,图纸应符合绘图规范。 时间安排: 1)第1-2天,查阅相关资料,学习设计原理。 2)第3-4天,方案选择和电路设计仿真。 3)第4-5天,电路调试和设计说明书撰写。 4)第6天,上交课程设计成果及报告,同时进行答辩。 指导教师签名:年月日

系主任(或责任教师)签名:年月日

前言 (2) 1 设计方案 (3) 1.1 设计意义 (3) 1.2 设计目的 (3) 1.3 原理图及工作原理 (3) 2 电路板焊接技术介绍 (4) 2.1 焊接操作要领 (4) 2.2 注意事项 (5) 2.3.焊接调试 (6) 3 电路板的安装与制作 (6) 3.1 确定电路板整体布线图 (6) 3.2 555振荡电路 (6) 3.3 74LS191计数部分 (7) 3.4 74LS138译码电路和LED显示部分 (7) 3.5 5V直流稳压电源电路 (7) 4 电路板的调试 (8) 4.1 调试方法和步骤 (8) 4.2 出现的问题及处理方法 (8) 5 电路实拍图 (10) 6 总结及心得体会 (12) 7 元件清单 (13) 8 参考文献 (14) 附件 (15)

单片机课程设计报告--心形流水灯

井冈山大学 机电工程学院 单片机 课程设计报告 课程名称:单片机 设计题目:心形流水灯 姓名:玉红 专业:生物医学工程 班级: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

CD4017流水灯电路设计

CD4017流水灯电路设计 摘要:随着LED技术的不断发展以及LED在低功耗、长寿命、环保等方面的优势,LED应用领域逐渐增多。同时,许多国家在看到LED巨大的市场潜力后,纷纷出台各项鼓励措施大力推动LED在各领域中的应用。目前,LED的应用已经从最初的指示灯应用转向更具发展潜力的显示屏,景观照明、背光源、汽车车灯、交通灯、照明等领域,LED应用正呈现出多样化发展趋势。 本次毕业设计就是用小功率LED作为发光体替代实验室中价格昂贵的钠光灯或白炽灯。并利用555定时器、可变电阻普通电阻、电解电容以及普通电容构成可调驱动电路,驱动CD4017计数器构成的译码电路,使LED依次循环发光,从而组成循环流水灯。 关键词: CD4017 555定时器 LED

目录 设计任务和要求 (3) 1.引言 (4) 2.总体设计方案选择与说明 (5) 2.1 方案选择 (5) 2.2 电路工作原理: (5) 3.单元硬件设计说明 (5) 3.1 555定时器 (6) 3.2 自激多谐振荡器 (10) 3.3 十进制计数/分频器CD4017 (11) 3.3.1 CD4017内容说明: (11) 3.3.2 CD4017十进制计数器内部电路图: (12) 3.3.3 CD4017时序波形图: (13) 3.3.4 CD4017引脚图如下: (14) 3.3.5 CD4017引脚功能: (14) 3.4 发光二极管(LED) (15) 3.4.1 LED 特点 (13) 3.4.2 LED光源的特点 (16) 3.5 元件明细表 (17) 4.软件说明 (18) 4.1 Protel99简介 (18) 4.2 Proteus简介 (19) 5.安装调试方法 (19) 5.1 安装方法 (19) 5.2 调试方法 (20) 6.总结 (20) 7.致谢 (21) 8.参考文献 (22) 附录一 (22) 附录二 (24) 附录三 (25) 附录四 (26)

流水灯电路的制作

流水灯电路的制作 一、概述: 随着电子技术的快速发展尤其是数字技术的突飞猛进,多功能流水灯凭着简易,高效,稳定等特点得到普遍的应用。在各种娱乐场所、店铺门面装饰、家居装潢、城市墙壁更是随处可见,与此同时,还有一些城市采用不同的流水灯打造属于自己的城市文明,塑造自己的城市魅力。目前,多功能流水灯的种类已有数十种,如家居装饰灯、店铺招牌灯等等。所以,多功能流水灯的设计具有相当的代表性。 多功能流水灯,就是要具有一定的变化各种图案的功能,主要考察了数字电路中一些编码译码、计数器原理,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板上组装并焊接。 要求:①元器件布局整齐、美观,同类型元器件高度一致;

流水灯控制系统设计

微机原理课程设计 目录 第1章方案的论述以及与最终方案的确定·····································- 1 - 1.1第一种方案的论述 (1) 1.2第二种方案的论证 (1) 1.3第三种方案的论述 (1) 1.4最终方案的确定 (1) 第2章硬件设计 .................................................................................- 2 -2.1总体方案设计分析 .. (2) 2.2系统逻辑框图 (2) 2.3主要元器件简介 (2) 2.3.1 8086CPU ················································································································ - 2 - 2.3.2 地址锁存器74LS373的内部电路与工作原理····················································· - 4 - 2.3.3 可编程外围接口芯片8255A的简介···································································· - 5 -第3章软件设计 ·················································································- 9 - 3.1程序流程设计 (9) 3.1.1 主程序流程··········································································································· - 9 - 3.1.2 程序流程图········································································································· - 10 - 3.1.3 系统硬件连接图 ································································································· - 11 - 3.1.4 源程序设计(附录) ............................................................................................... - 11 -3.2设计最终理想结果及原理 (11) 3.2.1 左向移动流水灯 ································································································· - 11 - 3.2.2 右向移动流水灯 ································································································· - 11 -设计心得 ·····························································································- 12 -参考文献 ·····························································································- 13 -附录······································································································- 14 - - 1 -

基于单片机的LED流水灯设计

基于单片机的LED流水灯设计 设计任务 1掌握MCS-51系列8051、8255的最小电路及外围扩展电路的设计方法 2了解单片机数据转换功能及工作过程 3设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示4完成主要功能模块的硬件电路设计 5用proteus软件完成原理电路图的绘制 一设计方法 本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED 的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到

“流水”效果了。 二方案论证与比较 2.1循环移位法 在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。由于8051系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。 2.2查表法 上面的两个程序都是比较简单的流水灯程序,“流水”花样只能实现单一的“从左到右”流方式。运用查表法所编写的流水灯程序,能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水灯效果。我们首先把要显示流水花样的数据建在一个以TAB为标号的数据表中,然后通过查表指令“MOVC A,@A+DPTR”把数据取到累加器A中,然后再送到P1口进行显示。具体源程序如下,TAB标号处的数据表可以根据实

嵌入式系统流水灯,按键,定时器实验报告

嵌入式系统应用 实验报告 姓名: 学号: 学院: 专业: 班级: 指导教师:

实验1、流水灯实验 1.1实验要求 编程控制实验板上LED灯轮流点亮、熄灭,中间间隔一定时间。 1.2原理分析 实验主要考察对STM32F10X系列单片机GPIO的输出操作。 参阅数据手册可知,通过软件编程,GPIO可以配置成以下几种模式: ◇输入浮空 ◇输入上拉 ◇输入下拉 ◇模拟输入 ◇开漏输出 ◇推挽式输出 ◇推挽式复用功能 ◇开漏式复用功能 根据实验要求,应该首先将GPIO配置为推挽输出模式。 由原理图可知,单片机GPIO输出信号经过74HC244缓冲器,连接LED灯。由于74HC244的OE1和OE2都接地,为相同电平,故A端电平与Y端电平相同且LED灯共阳,所以,如果要点亮LED,GPIO应输出低电平。反之,LED灯熄灭。 1.3程序分析 软件方面,在程序启动时,调用SystemInit()函数(见附录1),对系统时钟等关键部分进行初始化,然后再对GPIO进行配置。 GPIO配置函数为SZ_STM32_LEDInit()(见附录2),函数中首先使能GPIO 时钟: RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); 然后配置GPIO输入输出模式: GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 再配置GPIO端口翻转速度:

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 最后将配置好的参数写入寄存器,初始化完成: GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure)。 初始化完成后,程序循环点亮一个LED并熄灭其他LED,中间通过Delay()函数进行延时,达到流水灯的效果(程序完整代码见附录3)。 实验程序流程图如下: 硬件方面,根据实验指南,将实验板做如下连接: 1.3实验结果

利用电位器改变流水灯速度控制程序

#include #include #include #include unsigned int x; unsigned int y; unsigned int mode = 1; unsigned int AD_value; main() { bit key_mode1 = 1; bit key_mode2 = 1; PORT_INI(); CLK_ICKR|=0x01; //开启内部HSI while(!(CLK_ICKR&0x02));//HSI准备就绪 CLK_SWR=0xe1; //HSI为主时钟源 CLK_CKDIVR=0x00; _asm("rim");//开总中断 TIM1_CR1 = 0b10000100; TIM1_PSCRH = 0x00; //定时时间0.6S TIM1_PSCRL = 1; //20分频 TIM1_ARRH = 0xEA; TIM1_ARRL = 0x60;//自动重装载寄存器 TIM1_IER|=0X01; //中断使能寄存器 TIM1_CNTRH = 0X00; TIM1_CNTRL = 0X00; TIM1_EGR |=0X01; //软件产生更新事件,让预分频立即有效。TIM1_SR1 = 0; //状态寄存器 TIM1_CR1 |=0X01; //TIM1_RCR=0; ADC_CR1 = 0x00; //分频系数为4 单次转换模式 ADC_CR2 = 0x00; //非外部触发数据右对齐 ADC_CSR = 0x05; //禁止转换结束中断设置转换通道ADC_CR1 |= 0x01; //第一次写1是从低功耗模式唤醒

基于51单片机的流水灯设计说明

基于51单片机的流水灯设计 一.基本功能 利用AT89c51作为主控器组成一个LED流水灯系统,实现8个LED 灯的左、右循环显示。 二.硬件设计 图1.总设计图

1.单片机最小系统 1.1选用AT89C51的引脚功能 图2. AT89C51 XTAL1:单芯片系统时钟的反向放大器输入端。 XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。 RESET:重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得部特殊功能寄存器容均被设成已知状态。 P3:端口3是具有部提升电路的双向I/O端口,通过控制各个端口的高低电平了实现LED流水灯的控制。

1.2复位电路 如图所示,当按下按键时,就能完成整个系统的复位,使得程序从新运行。 图3.复位电路 1.3时钟电路 时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。 在AT89C51芯片部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。此电路采用12MHz的石英晶体。

图4.时钟电路 2.流水灯部分 图5.流水灯电路 三.软件设计 3.1编程语言及编程软件的选择 本设计选择C语言作为编程语言。C语言虽然执行效率没有汇编语言

LED流水灯设计

单片机课程设计报告 LED流水灯的设计 专业: 姓名:学号: 姓名:学号: 姓名:学号: 2015年月日

目录 LED流水灯的设计0 第一章绪论1 设计目的1 设计任务1 设计方法1 第二章设计内容与所用器件1 基本功能1 LED彩灯错误!未定义书签。 循环移位法2 第三章硬件系统设计2 单片机时钟电路2 第四章软件设计2 汇编语言和C语言的特点及编程 2 LED显示原理3 第五章系统调试与存在的问题4 程序下载4 硬件调试5 软件调试5 总结5 参考文献 6 LED流水灯的设计 [摘要]:当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。 单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片微型计算机是微型计算机称单片机,特别适用于控制领域,故又称为微控制器。 本系统就是充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示,并实现循环的速度可调。 [关键字]:单片机技术;系统设计;LED流水灯

第一章绪论 设计目的 通过本次课题设计,应用《单片机原理及应用》等所学相关知识及查阅资料,完成简易LED流水灯系统设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。 通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。 设计任务 在本次课程设计中,主要完成如下方面的设计任务: 1、掌握MCS-51系列8051的最小电路及外围扩展电路的设计方法; 2、了解单片机数据转换功能及工作过程; 3、设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示; 4、完成主要功能模块的硬件电路设计。 设计方法 本课题使用STC89C52RC单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。 如果要让接在口的LED1亮起来,那么只要把口的电平变为低电平就可以了;相反,如果要接在口的LED1熄灭,就要把口的电平变为高电平;同理,接在~口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。 由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。 第二章设计内容与所用器件 基本功能 利用STC89C52RC作为主控器组成一个LED流水灯系统,实现8个LED霓虹灯的左、右循环显示。 可选器件 51系列单片机、电容C104、、18?和1K的电阻、LED灯、按键、晶振等。 总体框架图

左右来回循环的流水灯实验报告

青 岛 科 技 大 学 微机原理与接口技术综合课程设计(报告) 题 目 __________________________________ 指导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________院(部)____________________________专业________________ 班 ______年 ___月 ___日 直流电机控制综合实验 周艳平 宋雪英 01 信息科学技术学院 计算机科学与技术0961 2012 12 27

摘要 (2) 1、单片机概述 (2) 2、仿真软件介绍 (2) 3、需求分析 (2) 一、课程设计目的 (3) 二、课程设计要求 (3) 三、实验内容 (3) 1、设计任务与要求 (3) 2、系统分析 (3) 1).硬件电路设计(画出原理图、接线图) (4) 2)软件框图 (5) 3、用keil建项目流程 (7) 4、程序清单 (7) 4、系统调试 (9) 四、设计总结(结论) (10)

摘要 近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。 关键字:单片机、LED流水灯 1、单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微 型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。 单片机经过1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2、仿真软件介绍 (1).Keil uv3 运行Keil uv3 新建工程:菜单“Preject->New Preject”,保存为*.uv2,选择芯片型号,copy否 新建文件:菜单“File->New”,保存为*.c,编写程序 将源文件添加到工程:在左侧project workspace的source group1点右键选择addfile加入*.c 设置工程:点菜单栏上的,选Target,设晶振值;选Output,点create Hex file以生成少些文件;选Debug,选择软件仿真(simulator)或硬件仿真(Keil Monitor)方式。 编译链接:点菜单栏上的进行编译,或点菜单栏上的进行编译链接,或点菜单栏上的进行重新编译链接,或点菜单栏上的停止编译。 编译链接后生成*.hex文件,可烧写到单片机。 (2).Proteus 使用Proteus仿真 点击单片机,在Program Files处选择*.hex文件,OK,进行仿真 RESPACK--8 排阻,就是好多电阻连载一起,有一个公共端,1端为公共端接VCC(上拉)或地(下拉) 一般接在51单片机P0口,因P0口内没有上拉电阻,不能输出高电平,所以要接上拉电阻。 3、需求分析

51单片机LED流水灯拖尾效果

高级流水灯--水滴效果(渐变带拖尾效果)实现和讲解 简介 学习嵌入式第一个例子通常都是控制一个LED亮灭,然后是花样繁多的流水灯,但不管灯的花样如何变化,单个LED的亮度没有变化,只有亮、灭两个状态,本章我们实现如何控制LED的亮度。 1 什么是PWM 脉冲宽度调制(Pulse Width Modulation,简称PWM),是利用微处理器的数字输出来对模拟电路进行控制的一种技术。 在本章的应用中可以认为PWM就是一种方波。比如图1: https://www.docsj.com/doc/9f15229508.html,/bbs_upload782111/files_48/ourdev_701979FVHE6E.png (原文件名:120611_0.png) 图1 方波 是周期为10ms,占空比为60%的PWM。 占空比:高电平在一个周期之内所占的时间比率。 2 硬件设计 在例说51单片机的第三章,我们讲过如何控制开发板上LED的亮灭。首先译码器输出端LEDS6为低,T10导通,给8个LED供电,然后通过缓冲器8个输出端BD0~BD7的控制LED的亮灭(低亮高灭)。https://www.docsj.com/doc/9f15229508.html,/bbs_upload782111/files_48/ourdev_701980ZDAXQ9.png (原文件名:120611_1.png) 图2 LED硬件连接 如果BD口输出高低不断变化,则LED会闪烁;如果这种高低电平变化非常快,由于人的视觉暂留现象,LED就会出现不同的亮度。 3 软件设计 3.1 PWM能否控制亮度 下面我们就用实践验证PWM是否能够控制LED的亮度,测试代码如下: 程序清单L1:验证PWM能否控制LED的亮度 1 #include 2 #include "my_type.h" 3 #include "hw_config.h" 4 5 6 void main(void) 7 { 8 u8 i = 0; 9 10 //使能独立LED的供电,即LEDS6输出低电平 11 LEDEN = 0; 12 ADDR0 = 0; 13 ADDR1 = 1; 14 ADDR2 = 1; 15 ADDR3 = 1;

单片机跑马灯(流水灯)控制实验报告

单片机实验报告 姓名: 学号: 一、 实验实现功能: 1:计数器功能 2:流水灯 二、 具体操作: 1、计数器功能 数码管的动态显示。每按一次K2键计数器加1通过数码管显示出来,计数器可以实现从0计数到9999。 2、流水灯 当在计数器模式下的时候按下K3键时程序进入跑马灯模式,8个小灯轮流点亮每次只点亮一个,间隔时间为50ms 。 三、 程序流程图 开始 定时器T0 设置初值,启动定时器, 打开中断 复位 Key2按下 中断关闭 计数器模式 计数器加1 Key3按下 流水灯模式 数码管显示数字加1 跑马灯点亮间隔50ms Key1按下中断打开

四、程序 #include typedef unsigned char uint8; typedef unsigned int uint16; //类型定义 sbit P2_1 = P2^1; sbit P2_2 = P2^2; sbit P2_3 = P2^3; sbit P2_4 = P2^4; //位声明四个数码管开关 sbit Key2 = P3^2; sbit Key3 = P3^3; //位声明2个按键K2和K3 sbit Ledk = P2^0 ; //LED 开关 void delay(uint16 i); //延时函数声明 void refresh (); // 数码管刷新函数声明 void liushuideng(); //流水灯函数声明 uint8 number[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //数码管的真值表 uint8 out[4] = {0}; // 数组变量 uint16 counter=0; //用作计数器的变量 uint16 Time_counter=0; //用作定时器的变量 void main() //主函数 { TMOD = 0x01; //定时器0,工作方式一 TH0 = 0xFC; TL0 = 0x18; //定时器初值使每次循环为1ms TR0 = 0; //定时器0开始作 ET0 = 0; // 定时器中断关 EA = 0; // 关中断 while(1) //计数器模式 { Ledk =1 ; //led开关关 out[0]=number[counter%10]; //取个位 out[1]=number[counter%100/10]; //十位 out[2]=number[counter%1000/100]; //百位 out[3]=number[counter/1000]; //千位 if (!Key2) //计数器加1 { ++counter; //自加 out[0]=number[counter%10]; //取个位 out[1]=number[counter%100/10]; //十位 out[2]=number[counter%1000/100]; //百位 out[3]=number[counter/1000]; //千位

相关文档