基于单片机的流水灯设计

合集下载

毕业设计34基于AT89C51单片机和keilc软件的流水灯设计

毕业设计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单片机的发展单片机(又称为微控制器)的出现是计算机发展史上的一个重要里程碑,它以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占熬头。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告
实验目的:
通过编程实现单片机控制的流水灯电路的设计与实现,熟悉单片机的输入输出功能和简单的控制逻辑。

实验原理:
流水灯是一种常见的LED灯控制电路,通过依次点亮多个LED灯,从而形成“流水”的效果。

单片机作为控制中心,根据程序设计的指令,通过I/0口控制LED灯的状态。

实验材料:
1. STM32F103C8T6 ARM Cortex-M3开发板
2. 杜邦线
3. LED灯
4. 220 Ω电阻
实验步骤:
1. 将STM32F103C8T6开发板与电脑连接,打开开发板软件。

2. 将LED灯分别连接到开发板的引脚PA0-PA7。

3. 在开发板软件中新建一个工程,选择合适的模板,例如“BlinkLed”模板。

4. 在程序中编写控制流水灯的代码,控制LED灯的点亮和熄灭。

5. 通过编译、下载和运行,将程序烧录到STM32F103C8T6开发板中。

6. 接通电源,观察LED灯的闪烁情况,确认流水灯控制电路的正常工作。

实验结果与分析:
经过实验,我们成功设计和实现了单片机控制的流水灯电路。

LED灯按照预定的顺序依次点亮和熄灭,形成了流水灯的效果。

调整程序中的控制逻辑,可以改变流水的速度和方向,实现不同的灯光效果。

实验总结:
通过这次实验,我们深入了解了单片机的输入输出功能和简单的控制逻辑。

通过编写程序,实现了流水灯的控制,加深了对单片机的理解和应用。

在实验过程中,我们还学会了使用开发板软件进行工程的创建、编译、下载和调试操作,提高了工程能力和实践能力。

单片机流水灯课程设计

单片机流水灯课程设计

添加标题
添加标题
添加标题
添加标题
闪烁频率:测量流水灯每秒闪烁的 次数
稳定性:测试流水灯在长时间工作 下的稳定性,确保其不会因长时间 工作而损坏或失效
流水灯系统的可靠性测试
测试目的:验证流水灯系统的稳定性和可靠性 测试方法:使用不同的输入信号,观察流水灯的反应 测试内容:包括但不限于电源电压、电流、温度、湿度等环境因素 测试结果:记录流水灯在不同环境下的表现,分析其稳定性和可靠性
单片机的 特点:体 积小、功 耗低、可 靠性高、 编程简单 等
单片机的编程语言和开发环境
编程语言: C语言、 汇编语言 等
开发环境:
Keil
uVision、
IAR
Embedd
e
d
Workbe
nch等
编译工具: GCC、 AVR Studio等
仿真工具: Proteus、 Multisim 等
调试工具: J-Link、 ST-Link 等
Part Five
流水灯软件设计
单片机控制程序的编写
编写目的:实现流水灯的动态 效果
编程语言:C语言或汇编语言
程序结构:主程序、子程序、 中断服务程序等
程序功能:控制流水灯的亮灭、 速度、方向等
流水灯的程序流程图设计
初始化:设置流 水灯的初始状态
循环:循环执行 流水灯的显示过

判断:判断流水 灯的当前状态
流水灯的电路板布局和布线
电路板布局:根 据流水灯的功能 和需求,合理布 局各个元器件的 位置
布线原则:遵循 信号传输的优先 顺序,避免信号 干扰和串扰
布线技巧:采用 合理的布线方式, 如蛇形布线、星 形布线等,提高 信号传输速度和 稳定性

基于单片机的流水灯设计讲义

基于单片机的流水灯设计讲义

黄河科技学院LED流水灯的设置LED流水灯的设计引言发光二极管(LED),是一种把电能变成光能的特种器件,主要由PN结芯片、电极和光学系统构成。

当系统受到外界激发后,会从稳定的低能态跃迁到不稳定的高能态,当系统由不稳定的高能态重新回到稳定的低能态时,能量差以光的形式辐射出来,就会产生发光现象。

当在PN结上加以正向电压之后,P区的空穴注入至N区,N区的电子注入至P区,相互注入的电子与空穴相遇后即产生复合,这些多数载流子在结的注入和复合中产生辐射而发光。

它是自发辐射发光,不需要较高的注入电流产生粒子数反转分布,也不需要光学谐振腔,发射的是非相干光。

LED大约是在80年代中期开始在电子显示屏中使用的。

进入90年代以后,由于半导体工业的迅猛发展,带动了LED制造材料和工艺的改进,在颜色与亮度方面都有了质的飞跃。

早期的LED显示屏,由于受材料和工艺的限制,视角仅有200-300左右,从而制约了LED显示屏的发展。

在分辨率方而,由于受当时数字技术、集成电路技术和控制技术等技术的限制,很难作出高密度的LED显示屏。

今后随着半导体工业的不断发展,无论是材料,还是加工工艺,都会不断地提高,LED显示屏在颜色、视角、亮度、密度、寿命等方面也会逐步完善,价格也会进一步降低。

目前LED产业大多以2英寸或4英寸的蓝宝石基板为主,如能采用硅基氮化镓技术,至少可节省75%的原料成本。

据日本三垦电气公司估计,使用硅衬底制作大尺寸蓝光氮化镓LED的制造成本将比蓝宝石衬底和碳化硅衬底低90%。

国内外芯片技术差异很大,在国外,欧司朗、美国普瑞、日本三垦等一流企业已经在大尺寸硅衬底氮化镓基LED研究上取得突破,飞利浦、韩国三星、LG、日本东芝等国际LED巨头也掀起了一股硅衬底上氮化镓基LED的研究热潮。

其中,在2011年,美国普瑞在8英寸硅衬底上研发出高光效氮化镓基LED,取得了与蓝宝石及碳化硅衬底上顶尖水平的LED器件性能相媲美的发光效率160lm/W;在2012年,欧司朗成功生产出6英寸硅衬底氮化镓基LED。

基于单片机的流水灯的设计与制作

基于单片机的流水灯的设计与制作
P1=temp;
while(1)
{ temp=_crol_(temp,1);DelayM源自(800);P1=temp;
DelayMS(800);
}
}
五.收获与展望
在老师的要求下,我们完成了“基于单片机的流水灯的设计与制作”这一课题。从理论到实践,学到了很多知识。不仅巩固了以前书本上学到的东西,同时也学到了很多书本上没有的知识。不但理论基础知识要扎实,而且动手能力也非常重要,完美的诠释了理论与实践结合的重要性。不管是在以后的生活还是工作中,单片机的应用都非常广泛,所以很有必要掌握这一重要技能。
(d)实现流水灯的加速和减速;
(3)设计电路并画出电路图;
(4)设计软件控制流程图,用C语言完成流水灯控制的程序;
(5)撰写设计报告。
三.硬件电路设计
3.1 STC89C52RC简介
STC89C52RC/RD+系列单片机具有成本低、性能高的特点,支持ISP(在系统编程)及IAP(在应用编程)技术。使用ISP技术可不需要编程器,而直接在用户系统板上烧录用户程序,修改调试非常方便。利用IAP技术能将内部部分专用Flash当作EEPROM使用,实现停电后保存数据的功能,12时钟周期/机器周期。外形及引脚排列如图2.1所示:
采用单片机可以完成很多功能,现在很多电子产品都要用到单片机。
(1)制作一个基于单片机控制的普通的流水灯(8盏),电路接通电源后流水灯正常跑动(如每次亮2盏);
(2)可以实现流水灯的四个特殊功能(通过按键按钮实现功能间的切换)。
(a)实现亮灯数目的增加;
(b)实现亮灯数目的减少;
(c)改变亮灯的跑动方向;
ledat89c51单片机控制系统流水灯单片机课程设计的目的和意义单片机是一种集成在电路芯片是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu随机存储器ram只读存储器rom多种io口和中断系统定时器计时器等功能可能还包括显示驱动电路脉宽调制电路模拟多路转换器ad转换器等电路集成到一块硅片上构成的一个小而完善的计算机系统

基于51单片机的花样流水灯设计

基于51单片机的花样流水灯设计

摘要摘要计算机技术的飞速发展和提高,把我们带入了崭新的时代,现在,计算机的应用已经深入到千家万户。

单片微型计算机是制作在一块集成电路芯片上的计算机,简称单片机。

单片机在现在社会有着广泛的应用,小到人们的日常电子用品,大到航天飞机、宇宙飞船,上面都有单片机的广泛应用。

单片机具有体积小、功能强大、低功耗、应用广泛等特点。

以AT公司的芯片AT89C51 单片机来实现流水灯的设计。

本系统由单片机控制,I/O口接LED的负极,而LED的正极则直接与5V电源相连。

通过I/O口输出的低电平点亮LED灯。

因此可以通过控制单片机的I/O口的电平高低以达到控制LED,从而实现不同花样的流水灯的目的。

关键词:LED,单片机,高低电平变化ABSTRACTThe rapid development of computer technology and improving, bring us to the new era, now, the application of computer has been deep into the thousands. Single chip microcomputer is made on an integrated circuit chip computer, hereinafter referred to as single chip microcomputer. SCM has been widely used in the present society, small to People's Daily electronic products, big to aerospace aircraft, spacecraft, above has the wide application of single-chip microcomputer. SCM has small volume, powerful function, low power consumption, wide application, etc. AT the company's chip AT89C51 single-chip microcomputer to realize the water lamp design. This system controlled by single chip microcomputer, I/O ports connect the LED the cathode, and LED the anode is directly connected to 5V power supply. Through the I/O port output low level light leds. So you can single chip microcomputer control through the I/O ports to control LED, the level of high and low so as to realize the purpose of the different pattern of flowing water light.Key words:LED , MCU ,High and Low output leve目录第1章引言 (1)1.1 研究背景及意义 (1)1.2 国内外研究现状以及本系统的重点问题 (1)1.3 本文章节安排 (2)第2章系统设计方案论证 (3)2.1 控制器模块方案论证 (3)2.2 键盘模块方案 (4)2.3 电源模块方案 (4)第3章系统硬件设计方案 (5)3.1 系统设计框图 (5)3.2 硬件电路设计 (5)3.2.1 电源电路 (5)3.2.2 单片机89C52最小系统 (6)3.2.3 按键电路 (13)3.3.4 LED灯电路 (13)第4章程序设计及软件仿真 (15)4.1 软件设计框图 (15)4.2 软件开发平台选择 (15)4.3 软件系统功能模块 (16)4.3.1 初始化模块 (16)4.3.2 延时函数 (17)4.3.3 定时器控制模块 (17)4.3.4 键盘扫描模式 (17)4.3.5 LED灯输出控制模块 (18)4.4 程序调试仿真 (19)4.4.1 仿真平台介绍 (19)4.4.2 仿真测试 (19)第5章硬件调试 (21)5.1 硬件设计 (21)5.2 硬件调试 (21)5.2.1 下载功能调试 (21)5.2.2 LED电路测试 (21)5.2.3 模式选择功能调试 (22)5.2.4 速度加减功能调试 (22)5.2.5 复位电路调试 (22)5.2.6 稳定性测试 (22)总结 (23)致谢 (25)参考文献 (26)附录 (27)附录一:原理图 (27)附录二:硬件实物 (28)附录三:程序代码 (29)第1章引言第1章引言1.1 研究背景及意义现如今,随着集成化芯片的飞速发展,分立元件或数字逻辑电路正逐步被集成电路所取代,而单片机作为一种集成电路,其价格低廉,且可靠性强、控制简单但控制方法多样。

基于8051单片机的流水灯设计毕业设计

基于8051单片机的流水灯设计毕业设计

目录摘要 (1)ABSTRACT (2)前言 (3)第1章系统方案设计 (4)1.1 系统总体设计方案 (4)1.2 基本功能简介 (4)1.3 系统程序 (4)第2章8051单片机原理分析及硬件电路 (6)2.1 8051单片机简述 (6)2.1.1 8051单片机的基本组成 (6)2.1.2 8051的信号引脚 (8)2.2 晶体振荡电路 (10)2.3 上电复位电路 (11)2.4 8051单片机的并行I/O口 (12)2.5 8051单片机的中断系统 (12)2.6 8051单片机的定时/计数器 (13)2.6.1 定时/计数器的定时功能 (13)2.6.2 用于定时/计数器控制的寄存器 (14)第3章8051单片机与8155的接口设计 (15)3.1 并行I/O接口8155 (15)3.1.1 8155内部功能结构及引脚 (15)3.1.2 作片外RAM使用 (16)3.1.3 作扩展I/O口使用 (16)3.1.4 I/O口的工作方式 (18)3.1.5 定时/计数器使用 (18)3.28051单片机并行I/O扩展 (19)3.2.1 8051并行扩展总线 (19)3.2.2 8051单片机与8155的接口 (19)第4章单片机与8155的接口设计的应用 (21)4.1 LED显示 (21)4.2 按键扫描 (22)第5章结论 (24)参考文献 (26)毕业设计小结 (27)附录 (28)摘要二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

因为它体积小,通常都藏在被控机械的“肚子”里。

它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告引言单片机是一种集成电路,可以通过编程来控制不同的功能。

其中,流水灯是一个最简单的单片机实验项目,也是学习单片机的第一步。

本篇实验报告将详细介绍如何通过使用 AVR 单片机来实现一个流水灯的控制器。

实验原理流水灯的原理很简单,就是通过一个方向控制信号,以及一定的时间延时控制来逐步点亮和熄灭多个 LED 灯。

在本次实验中,我们将使用 AVR ATmega328P 单片机,它可以通过编程来实现流水灯的控制功能。

实验步骤1. 硬件准备将 ATmega328P 单片机插入到开发板中,并使用杜邦线将单片机的引脚连接到各个 LED 灯。

我们需要将一个引脚连接到方向控制信号,用于控制灯的点亮方向。

同时,我们还需要连接一个电位器,用于调节流水灯的速度。

2. 程序设计使用 Arduino 开发环境来编写 AVR 单片机的程序。

首先需要包含头文件 avr/io.h 和 util/delay.h,并定义输入输出引脚。

然后,我们需要定义一个名为“led” 的一个数组,来存储各个 LED 灯的输出状态。

同时,还需要定义一个变量“dir”,来表示流水灯的方向。

在程序主循环中,我们使用 for 循环来遍历各个 LED 灯。

同时,根据“dir”变量的不同,我们可以实现流水灯的正向和反向控制。

另外,我们还需要使用“_delay_ms()”函数来延时一定的时间,实现流水灯的闪烁效果。

3. 程序烧录使用 AVR ISP 编程器将编写好的程序烧录到单片机中。

在烧录过程中需要设置正确的程序和芯片类型,并选择正确的口线连接方式。

实验结果经过实际测试,我们成功地实现了一个流水灯控制器。

在调节电位器之后,灯的闪烁速度可以得到不同的调整。

同时,也可以通过改变方向控制信号来改变流水灯的运动方向。

结论通过本次实验可以学习到如何使用 AVR 单片机来实现一个简单的流水灯控制器。

通过编写程序、烧录编译等过程,可以加深对单片机的基础知识和理解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

二. 硬件设计

B
U
S
[
0
.
.
7
]
BUS7
BUS6BUS5BUS4BUS3BUS2BUS1BUS0BUS0BUS1BUS3
BUS5
BUS6

BUS2
BUS4

BUS7

XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD3
36P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52C110uR110kC233pFC333pFX1CRYSTAL2345
6
7
8
9

1
RP1

RESPACK-8
D1

LED-RED
R2

1k
R3

1k
R4

10k
R5

10k
R6

10k
R7

10k
R8

10k

D2
LED-RED
D3
LED-RED
D4

LED-RED
D5

LED-RED

D8
LED-RED

D6
LED-RED

D7
LED-RED

R9
10k

图1.总设计图
1. 单片机最小系统
选用AT89C51的引脚功能

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

RST
C4
10u

R10
10k

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

33pF

X2
CRYSTAL

图4.时钟电路
2. 流水灯部分

图5.流水灯电路
三. 软件设计
编程语言及编程软件的选择
本设计选择C语言作为编程语言。C语言虽然执行效率没有汇
编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型
多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自
由度大,有很好的可重用性,可移植性等特点。 而汇编语言使用
起来并没有这么方便。
本设计选用了Keil作为编程软件,.Keil C51生成的目标代码
效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开
发大型软件时更能体现高级语言的优势。

LED灯的显示
LED灯在低电平,即I/O口置‘0’时,会亮,相反就灭。此设计就是
通过程序来控制I/O口的电平变化来实现流水灯左右循环闪烁。

四. 程序
#include<>
#include<>
#define uint unsigned int
#define uchar unsigned char
#define kou P3
uchar code
dp1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code dp2[]={0x80,0x40,0x20} ;
void delayms(uint z) //延时函数
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
int i;
for(i=0;i<8;i++)
{
kou=dp1[i];
delayms(500);
}
for(i=0;i<7;i++)
{
kou=dp1[i]+0x80;
delayms(500);
}
for(i=0;i<6;i++)
{
kou=dp1[i]+0x40;
delayms(500);
}
for(i=0;i<5;i++)
{
kou=dp1[i]+0x20;
delayms(500);
}
for(i=0;i<4;i++)
{
kou=dp1[i]+0x10;
delayms(500);
}
for(i=0;i<3;i++)
{
kou=dp1[i]+0x08;
delayms(500);
}
for(i=0;i<2;i++)
{
kou=dp1[i]+0x04;
delayms(500);
}
for(i=0;i<1;i++)
{
kou=dp1[i]+0x02;
delayms(500);
}
for(i=0;i<3;i++)
{
kou=0x00;
delayms(500);
kou=0xff;
delayms(500);
}
}

相关文档
最新文档