基于单片机AT89C51控制的键控流水灯的设计—课程设计报告
基于单片机AT89C51控制的键控流水灯课程设计报告
基于单片机AT89C51控制的键控流水灯课程设计报告————————————————————————————————作者:————————————————————————————————日期:宁波技师学院课程设计报告论文题目键控流水灯专业班级 ___学生姓名指导教师 _____宁波技师学院电气技术系二零一三9年21月摘要:单片机是一种集成电路芯片,采用超大规模技术,把具有数据处理能力的微处理器、随机存取数据存储器、只读程序存储器、输入输出电路、可能还包括定时计数器、串口通信口、显示驱动电路,脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一块芯片上,构成一个最小而完善的计算机系统.这些电路在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务.键控流水灯设计通过编写代码实现16个LED灯5种流水灯显示方式。
在设计中主要采用AT89C51这款芯片作为控制主体,用按钮来切换流水灯的发光方式来显示流水灯的发光模式。
系统通过P1口外接16个发光二极管,P3口接2个按键,一个按键进行方式选择,数码管显示方式编号;用一个键来控制流水灯流动的速度。
数码管接在AT89C51的P0和P2口上,而流水灯的发光二极管经过电阻接在P1口上。
设计中辅以简单的设备和必要的电路,设计了一款流水灯,最终达到预期的目的。
目录概述 .......................................................................................................... 错误!未定义书签。
1引言 ......................................................................................................... 错误!未定义书签。
2课题综述 .................................................................................................................... 错误!未定义书签。
基于AT89C51单片机花式流水灯的设计与实现
科技风2019年1月电子信息4通过protus 软件设计的电路图如下图示:基于AT 89C 51单片机花式流水灯的原理图输出部分电路:发光二极管采用共阳极接法,阴极通过限 流电阻R 与+5v 电源连接,阴极连接到单片机的H ) 口的引脚 上。
要实现发光二极管的点亮,考虑到二极管的单向导电性, 若P 0 口输出低电平,二极管点亮,若P 0 口输出髙电平,则二极 管熄灭。
输入电路部分:在P 1.0接控制电路,按下S 1键时,P 1.0引 脚接地,所以P 1.0引脚电平被降为低电平,因此,可以通过检 测P 1.0引脚的电平判断按键S 1是否按下。
if (k %2= = l ) //若奇数次按下按钮,则流水灯执行第二 种状态| P 0 = 0xA A ; //01、03、05、1)7亮,02、1)4、06、08灭delay (30000);P 0 = 0x 55; //02、1)4、1)6、08亮,01、03、05、07灭delay (30000);m其中k 的值通过按键S 1控制,每按下S 1时,k 就自增1;当 k %2 = 0时,说明k 为偶数,执行流水灯依次点亮的程序,当k % 2 = 1时,说明k 为奇数,执行流水灯4亮4灭闪烁的程序。
若 需要在3种状态之间切换,则对3求余即可,以此类推。
按下按键时,通常都会有抖动,表面上看来是按按键一次, 但是因为按键的抖动,单片机会判断出按按键很多次,从而输 入不可控。
此问题可以用“软件消抖”来解决。
当第一次检测 到按键按下时,不采取动作,延时一段时间后,按键按下信号依 然存在,则认为按键被按下,再执行相应的动作。
3总结本以AT 89C 51单片机为主控芯片,以8个发光二极管 为载体,设计流水灯的硬件电路和软件程序,通过k e il 和Proms 软件仿真对结果进行验证,达到了预期的效果。
参考文献:[1] 王东锋,王会良,董冠强.单片机C 语言应用100例•电 子工业出版社,2009,07.[2] 吴文兵,脱建智.基于51单片机的流水灯的设计与实 现[J ].电子技术与软件工程,2016(08) :258.作者简介:范昭君(1987-),女,硕士,讲师,研究方向为智 能机器人。
毕业设计34基于AT89C51单片机和keilc软件的流水灯设计
目录摘要 (1)关键词 (1)Abstract (2)Keyword (2)1 AT89C51单片机简介 (3)1.1 单片机的发展 (3)1.2 单片机的分类 (3)1.3 AT89C51的介绍 (3)1.3.1 AT89C51的结构 (3)1.3.2 AT89C51主要特性 (4)1.3.3 AT89C51的管脚说明 (4)2 keilc软件及ledkey控件介绍 (6)2.1 keilc软件介绍 (6)2.2 ledkey控件介绍 (7)2.2.1 ledkey控件的开发 (7)2.2.2 ledkey控件原理图 (7)2.2.4 ledkey控件的使用 (7)2.2.5举例说明 (8)3多花样流水灯硬件设计 (9)3.1 Ledkey控件原理图 (9)3.2 功能介绍 (9)4多花样流水灯软件设计 (11)4.1程序功能 (11)4.2程序流程图 (12)5 多花样流水灯的仿真 (13)结语 (14)参考文献 (15)附录1:花样流水灯的程序代码 (16)附录2:花样流水灯功能表 (19)附录3:keilc软件和ledkey控件介绍相关图片 (20)基于AT89C51单片机和keilc软件的流水灯设计摘要:本文介绍了花样流水灯的软件设计过程,重点给出了其软件编程的方法,使学者对汇编语言有个初步了解。
通过对单片机发展、分类、硬件原理图的介绍,特别是AT89C51的介绍,具体到其结构、特性、管脚说明等,让单片机学者对51系列单片机有了初步的认识。
在程序实现方面通过文字说明和相应的图片又充分的介绍了keil软件及控件使用方法。
关键词:单片机;编程;控件;仿真Design of glide light base on single chip of AT89C51 and keilcsoftwareAbstract:This paper introduces an software design procedure for multiform pomadeng,especially lies out the method of the program software, so that scholars can have a preliminary understand for program language. According to introduce the development, sort of single chip and hardware illustrative diagram, especially the introduce of AT89C51, in particular , referring to the explain of its structure , specialty ,pin’ instruction. For this introduce , the scholars of single chip can have an initial understand for the sort of single chip. And then We have sufficient introduce for the keil software and widget of using method by means of the words and pictures, in aspect of the program’ realization.Key word: single chip; program; widget; emulate1 AT89C51单片机简介1.1单片机的发展单片机(又称为微控制器)的出现是计算机发展史上的一个重要里程碑,它以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占熬头。
流水灯课程设计报告
流水灯课程设计报告1、概述随着科学技术水平的不断向前提高以及社会经济的不断向前发展,人们越来越意识到广告宣传的重要性,越来越多的丰富多彩、新颖夺目的LED广告宣传牌充斥在城市的公共场所中,为灯红酒绿的城市增加了炫目多姿的色彩。
这些LED 广告宣传牌动态显示的背后,则是以流水灯的原理为基础,以单片机为控制核心,按照广告商的宣传需求,通过炫目的多彩和新颖的方式来吸引人们的眼球来完成广告宣传。
基于单片机的流水灯的设计,主要是以单片机为控制核心,通过自身的数据输入输出端口完成与流水灯显示电路的数据联通,通过内部的程序运行来实现对流水灯显示电路的动态控制,进而实现显示电流的循环亮灭的操作。
所以对于基于单片机的流水灯系统的深入研究与学习对于学习单片机控制系统以及LED广告宣传系统的工作机制进来说具有非常重要的现实意义。
2、基于单片机的流水灯的系统电路流水灯的显示电路就是多个二极管通过一端公共连接而构成的显示电路,并将另一端分别与单片机的多个数据输入输出端口进行连接,当单片机向这些端口发送相应的数据时,根据二极管的工作特性,从而实现对其的亮灭控制。
当然,单片机工作还需要复位电路和晶振电路配合单片机芯片构成单片机工作的最小系统,从而满足单片机正常工作的基本条件。
如图1所示,为基于单片机的流水灯控制系统硬件电路图,该硬件电路以AT89C51为基本的控制核心,实现对8为二极管流水灯显示电路的亮灭控制。
该控制系统是以AT89C51为系统的控制单片机,它是美国ATMEL公司生产的高性能的CMOS 8位处理器,同时配备了丰富的硬件资源,有128字节的RAM供用户使用,并提供2个16为定时器/计数器完成定时和计数的工作以及32根数据输入输出端口来单片机与外部电路的数据连通的工作。
8位二极管构成的流水灯显示电路是用共阳极的连接方法来构成的显示电路的。
常见的LED显示灯电路中的二极管连接方法有两种,一种是共阳极连接,一种是共阴极连接,它们是根据显示电路中二极管公共连接的方式来决定的。
基于51单片机的流水灯设计
基于51单片机的流水灯设计一.基本功能利用AT89c51作为主控器组成一个LED流水灯系统,实现8个LED 灯的左、右循环显示。
二.硬件设计图1.总设计图1.单片机最小系统1.1选用AT89C51的引脚功能图2. AT89C51XTAL1:单芯片系统时钟的反向放大器输入端。
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语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。
而汇编语言使用起来并没有这么方便。
本设计选用了Keil作为编程软件,.Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
单片机流水灯课程设计
单片机流水灯课程设计第一篇:单片机流水灯课程设计单片机原理及系统课程设计报告基于AT89C51单片机的流水灯引言1.1 课题简介单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用,例如精密的测量设备;在工业控制中的应用,用单片机可以构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等;在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
单片机在医用设备领域中的应用,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等;在各种大型电器中的模块化应用,如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。
推荐-基于单片机AT89C51控制的中断控制流水灯课程设计
宁波技师学院课程设计报告设计课题:单片机——中断控制流水灯摘要随着计算机技术的迅猛发展,计算机越来越广泛地应用于人们工作和生活的各个领域。
作为计算机领域里的一个重要方面单片机及其应用技术近年来也得到了长足的发展。
单片机被广泛地应用在工业自动化控制、智能仪器仪表、数据采集、通讯以及家用电器等领域。
单片机以其与通用微机完全不同的发展模式,不断满足工业测控、恶劣环境下可靠运行的要求。
、单片机已成为现代工业领域中不可缺少的重要角色。
单片机技术的发展速度十分迅速,速度更快、功能更强的16位、32位单片机以及陆续问世,但8位机,特别是新一代高档8位机具有优异的性能,已能满足大部分单片机应用领域的需要,另外,它还具有可靠性高、外围芯片配套、系统结构简单、应用软件丰富、技术成熟、开发应用方便等优点,在单片机市场中依旧据有一定地位。
目录一总体设计方案1.1系统设计方案流水灯系统主要由:复位电路、晶振电路、数码管显示电路、LED灯指示电路、速度与方式选择电路等部分电路组成。
各器件的选用:1 单片机的选用:单片机芯片选用A T89C51。
2数码管的选用:数码管选用共阳极数码管。
3晶振的选用:晶振选用的是12MHZ。
1.2系统结构框图框图如图1.2-1。
图1..2-1系统结构框图二系统硬件设计复位电路、晶振电路、数码管显示电路迪电路组成。
2.1晶振电路图2.1-1晶振电路内部方式时钟电路如图2.1-1所示。
在XTAL2和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。
2.2复位电路图2.2-1按键复位电路按键手动复位有电平方式和脉冲方式。
而此次选用的便是按键电平复位。
按键电平复位是通过复位端经电阻与Vcc接通而实现的。
电路如图2.2-1所示。
2.3数码管电路图2.3-1数码管电路此电路可以十分清楚的体现出当前LED指示灯所运行的模式。
图2.3-2数码管2.4LED指示电路与模式电路图2.4-1 LED指示电路此电路可以明显的反映出LED的运行状态,如图2.4-1所示。
基于单片机AT89C5控制的花样调速流水灯课题设计报告
基于单片机AT89C5控制的花样调速流水灯课题设计报告宁波技师学院课程设计报告论文题目花样调速流水灯专业班级学生姓名学号指导教师宁波技师学院电气技术系2013 年9月目录第1章系统设计 (1)1.1 数码管显示方案 (1)1.2 按键输入方案 (1)第2章硬件电路设计 (2)2.1电路原理 (2)2.2系统工作流程 (2)第3章软件设计 (3)3.1系统资源分配 (4)3.2软件模块设计 (6)第四章调试¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨94.1 正常现象¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨104.2出现的故障¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨11第5章总结 (7)参考文献 (7)附录1硬件电路图 (8)附录2软件代码 (14)第1章系统设计1.1 数码管显示方案通常数码管显示有两种方式:动态显示和静态显示。
静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。
电子信息工程专业毕业论文--基于AT89C51单片机的音乐流水灯设计
摘要随着科技和经济的快速发展,人们对生活质量和生活环境的要求不断的提高,多彩多样的彩灯成了现今装饰和美化的时尚和潮流。
千姿万态的流水灯能给人一种视觉冲击。
拟采用单片机AT89C51去实现这种千变万化的流水灯。
单片机技术是一种传统和典型的技术,具有智能化、体积小、集成度高和价格低廉等许多独特的优点。
而且单片机明显优越于其他电子电路,其硬件电路和软件方面都不是特别复杂。
本设计将所学的单片机的理论和动手实践结合起来,主要利用AT89C51单片机设计并制作一个音乐流水灯。
首先设计一个稳定的直流电源电路,然后设计一个复位电路,为单片机的正常工作提供条件,然后再设计时钟电路和声音驱动电路,可以使单片机能够更好的控制与编译音乐部分,另外还设计一个通信电路以方便单片机和PC机的连接与通信,最后还需要设计按键电路用来控制音乐流水灯。
为了使蜂鸣器能够正常的发生还需设计一个音频电路。
硬件电路设计后要将各模块连接起来进行仿真和调试。
软件设计部分则需要将各电路模块进行编译,并设计音乐频率程序、流水灯程序和按键程序,同时将其进行仿真调试和组合调试。
以实现在播放音乐时LED灯有千变万化的效果,以满足对视觉上的享受。
关键词:单片机;音乐;流水灯;仿真;ABSTRACTWith the science and technology and the economy the rapid development, people pairs quality of life and living environment the requirements of continuously improve, colorful and diverse of the lantern became a nowadays decorative and beautify's fashion and trend. Zi million-state of flowing water lamp can give a person one kinds visual impact. Intends to adopt AT89C51 microcontroller to go achieve such kaleidoscopic of flowing water lights. MCU technology is a kind of tradition and typical technical, with intelligent, the volume is small, high integration and price inexpensive and so on many unique advantages. Moreover single-chip obviously superior to other electronic circuit, its hardware circuits and software aspects of are not particularly complicated.The single-chip design will combine theory and practice, the main use AT89C51 single-chip design of a musical water lights. First, design a stable DC power supply circuit, and then design a reset circuit for the microcontroller to provide normal working conditions, and then design a clock circuit and sound driver circuit, will enable MCU to better control and compile music part, in addition to design a to facilitate communication circuit chip and PC connectivity and communication, and finally also need to design the circuit to control the music keys light water. In order to make the buzzer to normal design an audio circuit needs to happen. After the hardware circuit design to connect the modules for simulation and debugging. Software design will need to be compiled each circuit module, and the design frequency of the music program, water lights and key procedures, and its combination of simulation debugging and debugging. When playing music in order to achieve a kaleidoscopic effect LED lights to meet the visual enjoyment.Key words:MCU; Music; Light water;Simulation目录摘要 (I)ABSTRACT (II)目录 (1)1. 绪论 (1)1.1 单片机的概念 (1)1.2 单片的历史、发展和应用 (4)2. 总体设计 (6)2.1 设计要求 (6)2.2 设计方案选择 (6)2.3 整体设计思路 (6)3. 系统硬件设计与部分电路说明 (8)3.1 硬件设计框图 (8)3.2 部分电路说明 (8)3.2.1 电源及启动电路 (8)3.2.2 复位电路 (9)3.2.3 时钟电路 (10)3.2.4 通信电路 (10)3.2.5 键盘电路 (11)3.2.6 流水灯电路 (11)3.2.7 音频电路 (12)3.3 电路原理图及说明 (12)4. 系统软件电路设计与分析 (13)4.1 音乐程序设计 (13)4.1.1 音乐程序流程图 (14)4.2 流水灯设计 (16)4.2.1 流水灯程序流程图 (16)4.2.2 流水灯程序 (16)4.3 音乐流水灯程序 (16)4.3.1 音乐流水灯程序流程图 (16)4.3.2 音乐流水灯程序 (17)5. 系统调试与仿真 (19)5.1 硬件调试 (19)5.2 软件调试 (19)5.3 软件仿真 (19)总结 (22)致谢 .................................................................................................... 错误!未定义书签。
单片机流水灯实验报告
单片机流水灯实验报告单片机流水灯实验报告一、实验目的本实验旨在通过单片机控制八个LED灯,实现流水灯效果。
通过本实验,我们希望达到以下目的:1.深入理解单片机的I/O端口的工作原理和使用方法。
2.掌握单片机定时器/计数器的工作原理和使用方法。
3.学会编写简单的单片机程序,实现特定的LED灯控制。
4.通过实践操作,提高单片机软硬件的综合应用能力。
二、实验设备1.单片机开发板2.电脑一台3.八个LED灯4.杜邦线若干5.电阻、电容等电子元件三、实验原理本实验采用AT89C51单片机作为主控芯片。
八个LED灯分别连接到P1端口的P1.0到P1.7。
通过编程控制P1端口的每一个引脚,实现对LED灯的亮灭控制。
使用定时器/计数器实现延时,达到流水灯效果。
四、实验步骤和内容1.搭建硬件电路将八个LED灯、一个上拉电阻以及相应的杜邦线连接至单片机开发板。
确保电源正确连接,并注意LED灯的长脚为正极,短脚为负极。
2.编写程序使用Keil C51编写程序,实现如下功能:点亮每个LED灯一定的时间,然后熄灭。
重复此过程,形成流水灯效果。
代码如下:#include <reg51.h> //包含51单片机的头文件#define LED P1 //定义LED为P1端口void delay(unsigned int time) //延时函数{unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<1275;j++);}void main() //主函数{while(1) //程序一直循环执行{unsigned char i=0; //定义一个变量i,用于循环控制LED灯while(i<8) //循环点亮每个LED灯{LED=~(0x01<<i); //点亮第i个LED灯delay(50000); //延时50ms(50*1275us)i++; //变量i加1,控制下一个LED灯}}}3.编译程序将程序编译为二进制文件,生成HEX文件。
基于STC-89C51的流水灯的设计与实现
开放与创新实验设计报告设计题目:基于STC-89C51的流水灯的设计与实现指导老师:设计时间:开放与创新实验任务书一、设计任务设计题目:按键式流水灯设计。
设计内容:本设计是按键式流水灯设计,给出如下需求:整个流水灯系统由按键控制,实现各种状态(4种状态)之间的转换,即按键第一次压下,流水灯进入到第一种状态;按键第二次压下,流水灯进入到第二种状态;以此类推。
二、系统需求基本要求:利用STC-89C51单片机作为系统核心控制部分,用16个发光二极管模拟流水灯的显示部分,自己设计电路和程序完成流水灯设计。
发挥部分:1.使用外部中断作为对按键的控制。
2.用硬件定时器完成流水灯状态转换间的延时,延时误差小于20×10-6s.开放与创新实验_流水灯设计报告流水灯控制系统设计摘要:本系统由单片机系统、数码显现管、LED 显示等部分组成。
系统能够实现以下功能:往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄灭。
用两个数码管来显示被点绿亮的指示灯还将点亮多久。
往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。
当南北方向为绿灯或黄灯时,东西方向的红灯点亮禁止通行;而东西方向为绿灯或黄闪灯时,南北向的红灯点亮禁止通行。
交通信号灯控制方式很多。
本设计采用MSC-51系列单片机STC89C51和可编程并行I/O接口芯片8255,8155为中心器件来设计交通灯控制器,实现了用,8155芯片控制数码显现管,PC口进行段选,PB进行位选,来设置红、绿灯点亮倒计时的功能;由8255芯片控制12个LED 灯来实现红绿黄灯状态,红绿灯循环点亮,倒计时结束后黄灯闪烁警示。
在设计中采用了硬件技术与软件技术相结合的方法,用STC-89C51的定时器T0,设定30秒倒计时时间,然后再利用软件进行技术,从而产生秒信号。
定时器T0用了中断方式,当定时时间到时,在T0断服务程序中实现秒的倒计数,从而控制LED显示器倒计数显示准行或禁行时间。
基于51单片机的流水灯系统设计
基于51单片机的流水灯系统设计介绍:流水灯系统是一种常见的电子灯光效果,通过多个方向或位置的灯光按照一定的规则顺序闪烁,形成一种流动的效果。
这种系统在舞台演出、广告等领域广泛应用。
本文将基于51单片机设计一个简单的流水灯系统。
设计目标:本设计的主要目标是实现一个简单的有5个LED灯的流水灯系统,通过51单片机控制闪烁的频率和方向。
设计原理:1.51单片机:使用常见的AT89C51单片机,作为整个系统的控制核心。
2.LED灯:选用5个LED灯作为流水灯的灯光源。
3.节拍控制电路:通过一个定时器电路来生成节拍信号,控制LED闪烁的频率。
详细设计:1.系统硬件设计选用的51单片机AT89C51与外部晶振连接,为单片机提供时钟信号。
5个LED灯分别通过多路开关连接到51单片机的I/O口上,通过单片机控制I/O口输出高或低电平来控制LED灯的亮灭。
定时器电路通过8051单片机内部的定时器模块来实现。
2.系统软件设计使用C语言编写程序,实现流水灯的控制逻辑。
1)初始化:设置51单片机的I/O口为输出模式,并将所有LED灯都设置为关闭状态。
2)闪烁控制:使用一个循环,通过依次改变LED灯的亮灭状态实现流水灯的效果。
可以通过循环变量的增加或减少来改变流水灯的方向。
3)节拍控制:使用编写好的定时器中断服务函数,来控制流水灯的闪烁频率。
可以通过调整定时器的工作模式和计数值来调整闪烁的频率。
测试与调试:总结:本文基于51单片机设计了一个简单的流水灯系统,通过控制LED灯的闪烁频率和方向,实现流水灯的效果。
通过学习和理解该设计,我们可以进一步探索更复杂的灯光系统设计,并在实际应用中进行扩展和优化。
基于AT89C51的流水灯选择器的设计
2.2 数码管显示原理
LED 数码管是由多个发光二极管封装在一起组成“8”字行的器件,引线已在内部连接 完成,只需引出它们的各个笔划及公共电极。LED 数码管常用段数一般为 7 段,有的另加 一个小数点。LED 数码管根据 LED 的接法不同分为共阴和共阳两类。数码管的引脚如图 1 所示,共有 10 个引脚,abcdefg 引脚主要用于显示字段, DP 引脚用于显示小数点,当我们 要显示数字时只需将相对应的字段接电平即可,共阴型的接高电平,共阳的接低电平。以共 阳型为例, 如果我们想显示 0, 则应该将数码管的 abcdef 接低电平, 其他引脚接高电平即可。 设计中用到的 LED 数码管为共阴型 7 段数码管,当要显示数据时只需向相对应的段传送高 电平即可。
lamp3[10]={0x3b,0x7b,0x54,0xcf,0x66,0x9d, 0x73,0x7c,0x83,0x96}; //------------------延迟 1ms----------------// void delay(uint z) { uint x,y; for (x=z;x>0;x--) for (y=123;y>0;y--); } // --按下按键 1 时对数码管及 LED 的显 示控制--// void play1() {
4.调试结果
以按键 1 为例 初始化程序时结果如图 6 所示,初始化时 P0=0x3f;P2=0x00,故当按键未按下时数码管 显示 0,LED 全灭。
图 6 初始化时图片
当按键按下时,LED 灯开始闪烁,闪烁间隔时间为 0.8S,因 lamp1[0]=0xa6;故刚开始 时自左往右可看到灯 2、3、6、8 亮,灯 1、4、 5、7 灭, lamp1[8]=0x97,故在第九个状态 时自左往右可看到灯 4 、6、7 灭,其他都为亮。第一个状态时灯的亮灭情况如图Байду номын сангаас7 所示, 第 九个状态时灯的亮灭情况如图 8 所示。
基于单片机AT89C51控制的花样调速流水灯课题设计报告.
宁波技师学院课程设计报告论文题目花样调速流水灯专业班级学生姓名学号指导教师宁波技师学院电气技术系2013 年9月目录第1章系统设计 (2)1.1 数码管显示方案 (2)1.2 按键输入方案 (1)第2章硬件电路设计 (2)2.1电路原理 (2)2.2系统工作流程 (2)第3章软件设计 (3)3.1系统资源分配 (4)3.2软件模块设计 (6)第四章调试¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨94.1 正常现象¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨104.2出现的故障¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨11第5章总结 (7)参考文献 (7)附录1硬件电路图 (8)附录2软件代码 (14)第1章系统设计1.1 数码管显示方案通常数码管显示有两种方式:动态显示和静态显示。
静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。
但占用I/O口线多,每一个LED都要占用一个I/O口,硬件开销大,电路复杂。
单片机花样流水灯设计实验报告
单片机花样流水灯设计实验报告* * 大学物理学院单片机花样流水灯设计实验课题: 花样流水灯设计班级: 物理 *** 姓名: ***学号:【摘要】当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。
制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。
本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。
本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。
该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
关键字:AT89C51 单片机流水灯数码管2【概述】1. 单片机及其发展概况单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。
单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。
2. Protues仿真软件简介Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。
利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。
【实验设计目标】设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。
基于AT89C51单片机的水位控制系统的课程设计报告书
基于单片机的水位控制系统设计目录1概述 (3)2设计的基本任务和要求 (5)2.1基本功能 (5)2.2塔水位控制原理 (5)2.3系统硬件总体方案 (6)3控制系统方案设计 (6)3.1系统硬件方案 (6)3.2核心芯片 AT89C51 单片机 (7)3.3系统软件总体方案 (8)4.Proteus 设计与仿真 (10)4.1 元器件清单 (10)4.2 基于单片机水位控制原理图5 (11)4.3 基于单片机的水位控制PCB 图 6 (11)4.4 水位检测的主程序 (12)4.5 实验仿真结果 (16)4.6 结语 (16)5 设计体会 (17)参考文献 (18)1概述液位控制系统是以液位为被控参数的控制系统,它在工业生产的各个领域都有广泛的应用。
在工业生产过程中,有很多地方需要对容器内的介质进行液位控制,使之高精度地保持在给定的数值,如在建材行业中,玻璃窑炉液位的稳定对窑炉的使用寿命和产品的质量起着至关重要的作用。
液位控制一般指对某一液位进行控制调节,使其达到所要求的控制精度。
液体的液位的自动控制,是近年来新开发的一项新技术,它是微型计算机软件、硬件、自动控制等几项技术紧密结合的产物 ,工程作业采用的是微机控制和原有的仪表控制,微机控制有以下明显优势 :1)直观而集中的显示各运行参数,能显示液位状态。
2)在运行中可以随时方便的修改各种各样的运行参数的控制值,并修改系统的控制参数 ,可以方便的改变液位的上限、下限。
3)具有水体控制过程的自动化处理以及监控软件良好的人机界面,操作人员在监控计算机上能根据控制效果及时修运行参数,这样能有效地减少工人的疲劳和失误,提高生产过程的实时性、安全性综合以上的种种优点可以预见采用计算机控制系统是行业的大势所趋。
单片机是在一块芯片上集成了一片微型计算机所需的CPU、存储器、输入、输出等部件。
单片机自问世以来 ,性能不断提高和完善 ,体积小、速度快、功耗低的特点使它的应用领域日益广泛。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告论文题目键控流水灯专业班级 ___学生姓名指导教师 _____摘要:单片机是一种集成电路芯片,采用超大规模技术,把具有数据处理能力的微处理器、随机存取数据存储器、只读程序存储器、输入输出电路、可能还包括定时计数器、串口通信口、显示驱动电路,脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一块芯片上,构成一个最小而完善的计算机系统。
这些电路在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
键控流水灯设计通过编写代码实现16个LED灯5种流水灯显示方式。
在设计中主要采用AT89C51这款芯片作为控制主体,用按钮来切换流水灯的发光方式来显示流水灯的发光模式。
系统通过P1口外接16个发光二极管,P3口接2个按键,一个按键进行方式选择,数码管显示方式编号;用一个键来控制流水灯流动的速度。
数码管接在AT89C51的P0和P2口上,而流水灯的发光二极管经过电阻接在P1口上。
设计中辅以简单的设备和必要的电路,设计了一款流水灯,最终达到预期的目的。
目录概述................................ 错误!未定义书签。
1引言 ............................... 错误!未定义书签。
2课题综述 ........................... 错误!未定义书签。
1.1课题来源与意义................. 错误!未定义书签。
1.2面临的问题..................... 错误!未定义书签。
3 系统设计.......................... 错误!未定义书签。
3.1总体设计....................... 错误!未定义书签。
3.2模块设计 (5)3.3硬件设计 (9)4代码编写 (9)5系统调试 (16)6系统运行结果与分析 (16)7电路个人分工及组员分工 (16)结论 (17)参考文献 (18)附录 (19)1 引言单片机控制系统能够取代以前利用复杂电子线路或者数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。
现在的单片机的控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。
2 课题综述2.1课题来源与意义随着经济的发展、科技的突飞猛进,芯片业得到了迅速的发展,是单片机技术在各种民用和工业控制等领域得到更广泛的应用。
单片机凭借其低成本、高性能的不可代替优势已经成为了微电脑控制的主力军。
学习单片机的有效方法是将理论与实践并重,因此通过对单片机可控流水灯的设计和研究,鼓励学生在熟悉基本原理的前提下,与实际应用相联系,提出自己的方案,来完善设计,使得他们更好的掌握单片机的应用。
2.2面临的问题本次课程设计的要求是对16个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;用一个键来控制流水灯流动的速度,并用一个数码管显示方式编号。
所要解决的问题有流水灯显示方式的设计,LED灯的驱动问题,七段显示数码管的驱动问题以及系统对外界按钮的相应问题。
下面将对各个问题展开论述。
3 系统设计3.1总体设计实现这个课题我们使用AT89C51作为控制主体,使用十六个共阳极发光二极管作为LED显示流水灯,两个七段显示数码管来显示流水灯显示方式,外接两个按钮,其中用一个按键进行方式选择,并用一个数码管显示方式编号;用一个键来控制流水灯流动的速度,并用一个数码管显示方式编号。
外接一个晶振来提供外接时钟脉冲。
- 2 - 模块图如下:流程图如下:3.2模块设计3.2.1主体控制模块芯片AT89C51是核心,P0、P1、P2、P3口均可以作为I/O口使用。
两个数码管经过电阻接在AT89C51的P0和P2口上,P1口外接16个发光二极管,P3口接2个按键,一个按键进行方式选择,数码管显示方式编号;用一个键来控制流水灯流动的速度,数码管显示方式编号。
图3-3主体控制模块图3.2.2按键控制模块、按键控制模块采用独立式按键接口设计。
独立式按键是每一个按键占用一根I/O端线。
特点:各个按键相互独立,电路配置灵活;按键数量较多时,I/O端线耗费较多,电路复杂;软件结构简单图3-4按钮控制模块图3.2.3时钟模块时钟电路用于产生单片机工作时所需的时钟信号,在芯片的外部通过18脚、19脚接晶体振荡器和微调电容,形成反馈电路,构成一个稳定的自激振荡器。
电路中的C1、C2取30Pf左右,二晶体振荡器的频率范围通常是 1.2-12MHZ,晶体振荡器的频率越高,振荡频率越高。
图3-5时钟模块图3.2.4 显示模块显示模块主体是八段显示数码管。
共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。
通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
图3-4显示模块图3.2.5流水灯模块发光二极管就是LED,是一种由磷化镓等半导体材料制成的、能直接将电能转换成光能的发光显示器件。
当其内部有一定电流通过时,就是发光。
发光二极管具有功耗低、体积小、可靠性高、寿命长和相应快等优点。
流水灯模块采用16个LED发光二极管,通过代码的编写,实现五种流水移动,其中电阻的作用是保护二极管,向它提供较小的电流,防止二极管因为电流过大而烧毁。
设计中,发光二极管是共阳极接法的,我们只需要将其初值不断的左移就会看到LED轮流的被点亮,也就实现了流水灯的功能。
图3-5流水灯模块图3.3硬件设计图3-6 键控流水灯图4代码编写#include<reg51.h>#define smg1 P0#define lsd1 P1#define smg2 P2unsigned int i=1,u=7,j,n,c,k,h=7,s=1;unsigned char sj=20;unsigned char js;code unsigned c hara[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};code unsigned char b[]={0xf9,0xa4,0xb0,0x99,0x92};code unsigned c har d[]={0xf9,0xa4,0xb0,0x99,0x92};bit wnen1=0;bit anj=0;sbit aj1=P3^0;sbit aj2=P3^1;void wnlsd1(void);void wnlsd2(void);void wnlsd3(void);void wnlsd4(void);void wnlsd5(void);void sjms1(void);void sjms2(void);void sjms3(void);void sjms4(void);void sjms5(void);void msms1(void);void msms2(void);void msms3(void);void msms4(void);void msms5(void);void zd1(void);void zd2(void);void csh(void);void sjkz(void);void ddh(void); main(){csh();while(1){if(anj){anj=0;sjkz();ddh();}if(i==1){if (wnen1){wnen1=0;wnlsd1();sjms1();}}else if(i==2){if(wnen1){wnen1=0;wnlsd2();sjms2();}}else if(i==3){{wnen1=0;wnlsd3();sjms3();}}else if(i==4) {if(wnen1){wnen1=0;wnlsd4();sjms4();}}else if(i==5) {if(wnen1){wnlsd5();sjms5();}}if(s==1){msms1(); }else if(s==2) {msms2(); }else if(s==3) {msms3(); }else if(s==4) {msms4(); }else if(s==5){msms5();}}}void csh(void){TMOD=1;TH0=0x3c;TL0=0xb0;TH1=0xec;TL1=0x78;EA=1;ET0=1;TR0=1;ET1=1;TR1=1;js=sj;}void zd1(void) interrupt 1 {TH0=0x3c;TL0=0xb0;js=js-4;if(js==0){wnen1=1;js=sj;}}void zd2(void) interrupt 3 {TH1=0xec;TL1=0xb0;anj=1;}void sjkz(void){if(aj1==0){while(!aj1);sj=sj-4;if(sj==0){sj=20;}js=sj;s=s+1;if(s>5){s=1;}}}void ddh(void) {if(aj2==0){while(!aj2);i=i+1;if(i>5){i=1;}}}void wnlsd1(void) {lsd1=a[n];n++;if(n>7){n=0;}}void wnlsd2(void) {lsd1=a[n];n=n+2;if(n>7){n=0;}}void wnlsd3(void) {lsd1=a[u];u=u-2;if(u==-1){u=7;}}void wnlsd4(void) {lsd1=a[c];c=c+4;if(c>7){c=0;}}void wnlsd5(void) {lsd1=a[h];h--;if(h==-1){h=7;}}void sjms1(void) {smg1=b[0]; }void sjms2(void) {smg1=b[1]; }void sjms3(void) {smg1=b[2];}void sjms4(void) {smg1=b[3]; }void sjms5(void) {smg1=b[4]; }void msms1(void) {smg2=d[0]; }void msms2(void) {smg2=d[1]; }void msms3(void) {smg2=d[2]; }void msms4(void) {smg2=d[3]; }void msms5(void){smg2=d[4];5 系统调试通过对编写好的代码用keil进行编译后,由于对软件不是很熟悉导致编好的代码一直找不到目标,然后请同学帮忙后,很快就编写成功了6 系统运行结果与分析通过接线端子口接通提供电源后,再通过稳压电路将12V交流电压转换成5V直流电压,数码管和led灯能正常显示,数码管显示1,led灯以两个灯亮的形式开始右移,当显示完毕后,按下第一个键,数码管显示2,led灯以两个灯亮的形式开始跳两个灯显示。