基于单片机控制的LED汉字显示

基于单片机控制的LED汉字显示
基于单片机控制的LED汉字显示

分类号 TP 单位代码 11395 密级公开学号 0605230

学生毕业设计(论文)

题目LED汉字显示

作者

院 (系) 能源工程学院

专业电气工程及自动化

指导教师

答辩日期2010年月日

毕业设计(论文)诚信责任书

本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。

论文作者签名:

年月日

LED汉字显示

摘要

目前,作为方便、快捷的信息显示方式,LED汉字显示的应用非常广泛。车站、银行、超市等大型公共场所的即时信息及广告的显示,无不应用LED汉字显示屏。在能源日渐危机以及信息日渐重要的今天,具有低耗能、频更新、易维护的LED汉字显示屏必将受到广泛的应用,其具有非常的发展前景。

本文从LED的发展及单片机的简单原理开始,深入的研究了基于AT89C51单片机16×16 LED汉字滚动显示屏的设计并运用Proteus软件的仿真和实现。主要介绍了LED汉字显示屏的硬件电路设计、汇编程序设计与调试、Proteus 软件仿真和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。

关键词:单片机 LED 点阵 Proteus仿真

ABSTRACT

Now, as a convenient, quick, LED display mode of information that is very extensive application. Station, bank, supermarket and large public places of instant messaging and advertisement of the application of Chinese characters, LED display screen. In the energy crisis and information increasingly more important today, with low energy consumption, easy maintenance and update frequency of the Chinese character screen will be LED by the widespread application, it has very development prospects.

In this paper, based on AT89C51 microcontroller 16 × 16LED scrolling display character design and the use of software in the simulation and realization of Proteus. Introduces the character LED display hardware design, assembly programming and debugging, Proteus software simulation and other aspects of physical production, the design of the screen is small, less hardware, the circuit structure is simple and easy to implement. Can help the fans understand the character of the lattice electronic display principle, understanding the basic structure of SCM, working principle and application of methods and technologies to improve knowledge and ability to use single chip.

Keywords:microcontroller, LED dot matrix ,Proteus simulation.

LED汉字显示

目录

摘要 (1)

ABSTRACT (2)

目录 (2)

1 引言 (1)

1.1 LED汉字显示研究背景及意义 (2)

1.2本设计的研究内容及方法 (2)

1.3 本设计的主要工作 (3)

2 硬件电路组成及工作原理 (4)

2.1 硬件电路组成 (4)

2.1.1 A T89C51简介 .......................................................................................... (4)

2.1.2 时钟电路设计 (7)

2.1.3复位电路设计 (15)

2.1.4 16×16LED点阵屏 (9)

2.2 元器件选择 (10)

2.3 硬件电路工作原理 (19)

3 LED汉字显示原理及字库代码获取方法 (20)

3.1 汉字的点阵显示原理 (20)

3.2 字库代码获取方法 (20)

3.3 LED屏的显示 (22)

4 程序设计 (25)

4.1 主程序 (25)

4.2 显示子程序、延时子程序 (25)

4.3 程序编译、仿真 (19)

5 基于PROTEUS的电路仿真 (30)

5.1用PROTEUS 绘制原理图 (30)

5.2 PROTEUS 对单片机内核的仿真 (31)

6 结束语 (33)

参考文献 (35)

致谢 (37)

1 引 言

1.1 LED 汉字显示研究背景及意义

受到体育场馆用LED 显示屏需求快速增长的带动,近年来,中国 LED 显示屏应用逐步增多。目前,LED 已经广泛应用在银行、火车站、广告、体育场馆之中。而随着奥运会、世博会的到来,LED 显示屏将广泛的应用在体育场馆以及道路交通指示中,LED 显示屏在体育广场中的应用将出现快速增长。

2007年,中国LED 显示屏市场需求额为49.5亿元,比2006年增长

22.2%,这其中全彩显示屏需求额达到21.1亿元,占整体市场的42.6%,双色显示屏的需求额位于第二位,需求额为18.3亿元,占整体市场的40%,单色显示屏需求额为10.1亿元。[1]

2008年奥运会的召开将会直接推动体育场用屏幕数量的快速增加,同时,由于奥运会用屏对LED 显示屏的质量要求也较高,因此,高端屏幕的使用比例也将会增加,数量和质量的提高带动LED 显示屏市场的增长。除了体育场馆之外,奥运会和世博会等重大活动召开的另一直接推动领域就是广告领域国内外的广告公司必然会看好奥运会和世博会带来的商机,因此必然会增加广告用屏的数量来提高自身收入,从而促进了广告用屏市场的发展。

奥运会和世博会等重大活动的召开必然会伴随着很多大型活动,政府、新闻媒体和各种组织都可能会在奥运会和世博会之间举办各种相关活动,某些活动可能需要大屏LED

,这些需求直接带动显示屏市场。

图1-1 2006-2010年中国LED 显示屏市场规模

LED汉字显示

目前,国内从事LED显示屏生产的企业众多,同时,受到外资企业LED 显示屏价格过高的影响,在中国LED显示屏市场上多以本土企业为主。目前,本土LED

显示屏生产企业除供应国内需求外,还不断把产品出口到国外市场。而近年来,受到成本压力的影响,国际上一些知名的LED显示屏企业也逐步把生产基地移到了中国,如巴可在北京设立了显示屏生产基地,Lighthouse在惠州也拥有生产基地,Daktronics、莱茵堡都在国内设立了生产工厂。随着国际LED 显示屏生产大厂不断把生产基地转移至国内,加之国内众多的LED显示屏本土企业,中国正在成为全球LED显示屏的主要生产基地。

因此研究研究LED汉字滚动显示屏的设计方法具有重要的理论和现实意义。

1.2本设计的研究内容及方法

使用传统方法设计LED汉字按显示,即使用AT89C51单片机控制16*16LED 屏显示动态汉字,其中主要包括硬件元件及硬件电路,软件编程等。该方案控制灵活,显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。

LED汉字点阵显示系统是通过控制与组成这些文字的各个点所在位置相对应的LED器件发光来实现的。通常事先把需要显示的文字转换成点阵图形,在按照显示控制的要求以一定的格式形成显示数据。对于只控制通断的文字显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LED器件发光的数据中相应的位填1,否则填0。当然,根据控制电路的安排,相反的定义同样时可行的。这样依照所需显示的文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件,其格式相对自由,只要能够满足显示控制的要求即可。文字的点阵格式比较规范,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有16×16、24×24、32×32、48×48等不同规格。用点阵方式构成文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。因而对于文字经常需要变化的信息,采用LED汉字点阵显示系统是非常有效的。为了增强

显示效果,LED汉字点阵显示系统可以有多种显示模式。最简单的显示模式是静态显示。与静态显示

模式相对应,有各种动态显示模式,它们所显示的文字是动态的。按照文字运动的特点可分为闪烁、平移、旋转、缩放等多种显示模式。产生不同显示模式的方法可以通过一定的算法从原来的显示数据直接生成。例如,按顺序调整行号,可以使显示图文产生上下平移;而顺序调整列显示数据的位置,就可以达到左右平移的目的;同时调整行列顺序,就能得到对角线平移的效果。其它模式的数据刷新,也可找到相应的算法。不过当算法太复杂,太浪费时间的话,也可以考虑预先生成刷新数据,存储备用。

本设计以实践为主,通过仿真与实际的演示来完成。

1.3 本设计的主要工作

1、用单片机AT89C51及LED点阵显示器为核心器件,制作一个点阵式汉字电子显示屏。

本文介绍了LED点阵汉字显示屏的设计与实现过程。文中从显示原理和显示屏驱动电路设计,到计算机软件的全部过程都分别做了分析和阐述,并给出了整套系统的解决方案。

该系统以单片机为主来控制整个系统的运行,采用动态扫描方式驱动显示屏主要包括三大部分:底层硬件的设计、硬件驱动程序设计、PC机方的主控程序。显示屏的驱动电路设计是整个系统的关键,它的质量优劣直接关系到显示的效果和系统的稳定性。如何获得最优良的显示效果,如何降低硬件借口复杂度提高系统稳定性,如何降低硬件成本等一系列问题成为设计显示屏系统的重点。显示屏的控制板是整个显示系统的中枢机构,它是衡量系统的性能的重要指标。它不仅仅是简单的文字显示功能,而且要表现各种各样的显示效果,还要配合计算机来更新显示信息。计算机端的软件是控制整个系统的运行控制和信息的加工,它包括信息点阵的提取、参数的设置和信息的传输。

2、完成电路原理图、元器件采购、装配及调试工作。

使用画图软件完成硬件电路的绘制,根据需要采购元器件并进行组装调试。

3、完成该课题的程序设计、提交程序设计框图及程序设计清单。

4、完成硬件与软件的综合调试,能实现预定的功能和主要技术指标。

LED汉字显示

2硬件电路组成及工作原理

2.1 硬件电路组成

本硬件电路采用以AT89C51单片机为核心芯片的电路来实现,主要由

AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HC154)、16×16 LED 点阵5部分组成,如图2-1所示。

图2-1 硬件电路组成图

2.1.1 AT89C51简介

AT89C51是一种带4 kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌入式控制系统提供了一种

灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。[2]

2.1.1.1主要特性:

·与MCS-51 兼容

· 4K字节可编程闪烁存储器

寿命:1000写/擦循环

数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

· 128*8位内部RAM

· 32可编程I/O线

·两个16位定时器/计数器

· 5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

2.1.1.2管脚说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内

部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

LED汉字显示

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。[3]

2.1.1.3振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.1.1.4芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.1.2 时钟电路设计

时钟电路由AT89C51的18,19脚的时钟端(XTALl及XTAL2)以及12 MHz晶振X1、电容C2,C3组成,采用片内振荡方式。

在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体震荡器和微调电容,从而构成一个稳定的自激震荡器,这就是单片机的数字电路。数字电路产生的震荡脉冲经过触发器进行二分频之后,才成为单片机的数字脉冲信号。一般地,电容C1和C2取30pF左右,可使系统更稳定,避免杂波干扰而导致死机,系统数字电路如图2-2。

晶体的震荡频率范围是 1.2~12MHz。晶体震荡频率高,则系统的数字频率也高,单片机运行速度也就快。MCS-51在通常情况下,使用震荡频率为6MHz或12MHz。

时钟电路一般有两种接法:内部时钟方式和外部时钟方式;不同计算机的时钟电路接法是不完全相同的;

(1)内部时钟方式:通过在引脚XTAL1和XTAL2两端跨接晶体或陶瓷谐振器,再

利胙芯片内部的振荡电路,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路;

(2)外部时钟方式:此方式是利用外部振荡脉冲接入XTAL1,对于AT89C52单片

LED汉字显示

机,因为内部时钟发生器的信号取自反相放大器的输入端,故采用外部时钟源时,接线方式为外时钟信号接至XTAL1,XTAL2悬空,注意:外接晶振时,C1和C2值通常选择为20~30PF;外接陶瓷谐振器时,C1和C2为30~50PF;C1 、C2对频率有微调作用,影响振荡的稳定性和起振速度。

图2-2 单片机的时钟电路

2.1.3复位电路设计

复位电路采用简易的上电复位电路,主要由电阻R1,R2,电容C1,开关

K1组成,分别接至AT89C51的RST复位输入端。

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第一个取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。AT89C51的系统重置是由RESET引脚控制的,如图2-3所示。当此引脚送入高电位超过24个震荡周期时(即2个机器周)。AT89S51即进入芯片内部重置状态,而且一直在此状态下等待,直到RESET为低电位后,才检测EA为高电位或是低电位,若为高电位,则实行内部的程序代码,若为低电位,则实行外部的程序代码。复位时,ALE和/PSEN呈输入状态,即ALE=/PSEN=1,片内RAM 不受复位影响;但在系统刚上电(也称为“冷启动”)时,RAM的内容是随机的。复位后,P0~P3口输出高电平且使这些双向口皆处于输入状态,并将07H 写入堆栈掼针SP,同时将PC和其余专用寄存器清0,此时单片机从起始地址0000H开始重新执行程序。因此,单片机运行出错或进入死循环时,可使其复位后重新运行。

AT89C51主要由接收与发送缓冲寄存器SBUF、输入移们寄存器以及串行控制寄存器SCON等组成。波特率发生器可以利用定时器T1或T2控制发送和接收的速率。特殊功能寄存器SCON用于存放串行口的控制和状态信息;发送数据缓冲寄存器SBUF用于存准备发送出去的数据;接收数据缓冲寄存器SBUF用于接收由外部输入到输入移位寄存器中的数据。80C52串行口正是通过对上述专用寄存器的设置、检测与读取来管理串行通信的;在进行串行通信时,外界数据通过引脚RXD输入。输入数据首先逐位进入输入移位寄存器,由串行数据转换为并行数据,然后再送入接收寄存器。在接收寄存器中采用了双缓冲结构,以避免在接收到第2帧数据前,CPU未及时响应接收寄存器前一帧的中断请求,没把前一帧数据读走,而造成2帧数据重叠的错误。在发送时,串行数据通过引脚TXD输出。由于CPU是主动的,因此不会产生写重叠问题,一般不需要双缓冲器结构。要发送的数据通过发送控制器控制逻辑门电路逐位输出。[4]

2.1.4 16×16L ED点阵屏

LED点阵显示屏采用16×16共256个象素的点阵,通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布,如图2-4所示

LED汉字显示

图2-4 LED点阵显示屏底视图

我们把行列总线接在单片机的IO口,然后把上面分析到的扫描代码送人总线,就可以得到显示的汉字了。但是若将LED点阵的行列端口全部直接接入89S51单片机,则需要使用32条IO口,这样会造成IO资源的耗尽,系统也再无扩充的余地。因此,我们在实际应用中只是将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4-16线译码器74HC154来选择控制,这样一来列选控制只使用了单片机的4个IO口,节约了很多IO资源,为单片机系统扩充使用功能提供了条件。考虑到P0口必需设置上拉电阻,我们采用4.7 kΩ排电阻作为上拉电阻。

2.2 元器件选择

本设计所需元器件如表2-1所示.

表2-1元器件的选择

基于单片机的声光控制灯

基于单片机的声光控制模拟路灯 (程序部分) 前言:单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。本次我们采用at89c51单片机设计一种基于单片机控制的声光控制模拟路灯。该灯有声控,光控,声光同时控制楼道灯三种模式,经过调查,现在绝大多数小区的楼道灯都是纯电路形式实现声光控制的,这较之智能控制缺乏功能多样性,稳定性,而未来肯定是智能化的天下,所以我们用单片机模拟这一个多功能灯的系统。 关键字:单片机,at89c51,智能社区,楼道灯 目录: 一、设计目的 (2) 二、总体设计 (2) 方案选择: (2) 三、硬件设计 (3) 原理说明: (3) 四、软件设计 (3) 主要程序清单: (3) 程序框图: (5) 五、实验结果 (6) 六、总结 (6)

通过此次设计,主要是为了巩固我们的单片机相关知识及对单片机的相关应用,培养电子系统设计与实践的能力,学会设计使用简易的声、光传感器,并能用这些传感器设计一个声光控制的路灯(楼道灯)。 完成功能: 1)、声控灯模式。当传感器接收到声音信号时,单片机控制灯亮,并在5秒后灯自动熄灭。 2)、光控等模式。当光电传感器接收到为暗光时,灯自动点亮,接收到为亮光时,等自动熄灭。 3)、楼道灯模式。声光控制结合,即模拟当天暗并且楼道里有人走过的时候灯自动点亮5秒后熄灭。 二、总体设计 此次设计的声光控制灯包括三个基本模块,即声音处理模块、光处理模块、单片机小系统。总体设计框图如下: 图1、总体设计框图 方案选择: 1)、单片机部分。由于此次设计对单片机的要求较低,所以我们选择最为常用的at89c51单片机作控制部分。 2)、声控部分 一:选择专用的声音传感器模块来完成,能得到正确的波形、电压、频率等参数,且设计电路简单省事,但成本较高。 二:用驻极体话筒通过相应的信号处理电路对声音信号进行处理,成本较低,但电路设计麻烦。 综上所述:我们选择方案二,因为此次设计对声音信号的波形等参数要求较小,只要单片机接收到并能判断为高电平即可。 3)、光控部分 一:用光敏二极管作光电元件,光敏二极管对光转换为相应的电流。 二:用光敏电阻作光电元件,光敏电阻对光转换为相应的电阻。 综上所述:我们选用光敏电阻作光控部分的核心元件,因为光敏二极管转换成的是电流,而我们需要判断的是电压信号,将电流转换为电压信号的电路较复杂。

基于单片机控制LED灯亮度调节 邓宇锋

基于单片机控制LED灯智能亮度调节 系部:机电工程系 学生姓名:邓宇锋 专业班级:电气 11C3 班 学号: 6 指导教师:茅阳 2014年3月10日

声明 本人所呈交的基于单片机控制LED灯亮度调节,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 2014年3月10日

摘要 本文介绍LED灯智能亮度调节驱动电路设计,智能照明控制系统在确保灯具能够正常工作的条件下,给灯具输出一个最佳的照明功率,既可减少由于过压所造成的照明眩光,使灯光所发出的光线更加柔和,照明分布更加均匀,又可大幅度节省电能,智能照明控制系统节电率可达20%-40%。智能照明控制系统它可在照明及混合电路中使用,适应性强,能在各种恶劣的电网环境和复杂的负载情况下连续稳定地工作,同时还将有效地延长灯具寿命和减少维护成本。 【关键词】:智能控制;LED;智能光补

目录 引言 (1) 一、智能的概述 (2) (一)智能的定义 (2) (二)智能的分类 (2) 二、LED发光二极管的认识 (2) (一)LED的构造 (2) (二) LED的发光原理 (3) (三)LED的优势 (3) 三、LED亮度控制系统 (3) (一)脉冲宽度调制 (3) (二)调制LED的驱动电流 (3) (三)线性调光法 (3) 四、单片机及程序设计 (3) (一)概述 (4) (二)单片机STC89C51芯片简介 (4) (三)程序 (7) 此套控制分主程序与子程序,截取主程序代码在附件中。 (7) 五、控制系统电路设计 (7) (一)LED驱动电路 (7) (二)光电传感器的选择 (8) (三)电气原理图 (9) 六、实物调试 (9) 总结 (1) 参考文献 (2) 谢辞 (3) 附件 (4)

51单片机控制LED灯程序设计

51单片机:LED灯亮灯灭程序设计 1.功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。 程序: 01: MOV A , #11111110B ; 存入欲显示灯的位置数据 02: MOV P1,A ; 点亮第一只灯 03: JMP $ ; 保持当前的输出状态 04: END ; 程序结束 2.功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。 程序:

01:START: MOV A , #00010010B ; 存入欲显示灯的位置数据 02:MOV P1,A ; 点亮灯 03:JMP START ; 重新设定显示值 04:END ; 程序结束 3.功能说明:单片机P1端口接8只LED,每次点亮一只,向左移动点亮,重复循环。 程序: 01:START: MOV R0, #8 ;设左移8次 02:MOV A, #11111110B ;存入开始点亮灯位置

03:LOOP: MOV P1, A ;传送到P1并输出 04:RL A ;左移一位 05:DJNZ R0, LOOP ;判断移动次数 06:JMP START ;重新设定显示值 07:END ;程序结束 4.功能说明:单片机P1端口接8只LED,每次点亮一只,向右移动点亮,重复循环。 程序: 01:START: MOV R0, #8 ;设右移8次

02:MOV A, #01111111B ;存入开始点亮灯位置03: LOOP: MOV P1, A ;传送到P1并输出 04: ACALL DELAY ;调延时子程序05: RR A ;右移一位 06: DJNZ R0, LOOP ;判断移动次数07: JMP START ;重新设定显示值08: DELAY: MOV R5,#50 ; 09:DLY1: MOV R6,#100 ; 10: DLY2: MOV R7,#100 ;

用单片机控制LED亮灭

用单片机控制LED亮灭 1.实验任务如图所示,监视开关K1(接在P3.0端口上),用发光二极管 L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打 开,L1熄灭。2.电路原理图3.系统板上硬件连线(1).把“单片机系统”区 域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上;(2).把“单片机系统”区域中的P3.0端口用导线连接到“四路拨动开关”区域中 的K1端口上;4.程序设计内容(1).开关状态的检测过程单片机对开关状态 的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只 有高电平和低电平两种,当拨开开关K1拨上去,即输入高电平,相当开关断 开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。单片机可以采用 JB BIT,REL或者是JNB BIT,REL指令来完成对开关状态的检测即可。(2).输出控制如图3所示,当P1.0端口输出高电平,即P1.0=1时,根据发 光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电 平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0 端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。 ?5.程序框图 ? ? ?6.汇编源程序ORG 00HSTART: JB P3.0,LIG CLR P1.0 SJMP STARTLIG: SETB P1.0 SJMP START END7.C语言源程序#includesbit K1=P3;sbit L1=P1;void main(void){ while(1) { if(K1==0) { L1=0; //灯 亮} else { L1=1; //灯灭} }}

单片机中断控制LED灯(精)

/* TCNT0定时中断,TCNT1定时输出,LED灯闪烁并逐渐变亮 */ #include #include int main(void { DDRD |= 0xff;//LED灯端口,按位或运算 TCNT0 = 55;//计数器0初值 TIMSK |= (1< 使能 T/C0 溢出中断 sei(;//开全局中断 TCCR0 |= 0B00000010; //64分频 TCCR1A |= 0B10100000;/*OC1A、OC1B端口设为输出,比较匹配时清零,TOP时置位,OC1A__PD5,OC1B__PD4*/ TCCR1A |= 0B00000000;//相位与频率修正PWM模式 TCCR1B |= 0B00010000; TCCR1B |= 0B00000010;//8分频 ICR1H = 0XFF;//TOP值 ICR1L = 0XFF; OCR1AH = 0X00;//输出比较寄存器A OCR1AL = 0X7f; OCR1BH = 0X00;//输出比较寄存器B OCR1BL = 0X7f; TCNT1H = 0X00;//计数器1初值

while(1; } /*中断服务程序,LED灯逐渐变亮*/ volatile unsigned int cnt = 0; SIGNAL(SIG_OVERFLOW0 { TCNT0 = 55; cnt ++; if(cnt == 10000//延时约1秒=1/(16000000/8*200*10000 { OCR1AH = 0X00;//输出比较寄存器A OCR1AL = 0XFF; OCR1BH = 0X00;//输出比较寄存器B OCR1BL = 0XFF; } if(cnt == 20000//延时约1秒 { OCR1AH = 0X08; OCR1AL = 0XFF; OCR1BH = 0X08; OCR1BL = 0XFF; } if(cnt == 30000//延时约1秒 {

用单片机控制的LED流水灯

用单片机控制的LED流水灯 设计报告 专业:电子信息工程(自动化方向) 班级:09级 姓名:

1.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文用A T89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。A T89C51单片机是美国A TMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz 工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。 其具体硬件组成如图1所示。 图1 流水灯硬件原理图

从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED 灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。 3.软件编程 单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。软件编程是单片机应用系统中的一个重要的组成部分,是单片机学习的重点和难点。下面我们以最简单的流水灯控制功能即实现8个LED灯的循环点亮,来介绍实现流水灯控制的几种软件编程方法。 3.1位控法 这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,从而来控制相应LED灯的亮灭。程序如下: ORG 0000H ;单片机上电后从0000H地址执行 AJMP START ;跳转到主程序存放地址处 ORG 0030H ;设置主程序开始地址 START:MOV SP,#60H ;设置堆栈起始地址为60H 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 ;调用延时子程序

单片机控制LED灯闪烁原理

一、电路图 二、原理 对于较长时间的定时,应采用复合定时的方法。这里使T/C0工作在定时器方式1,定时100ms,定时时间到后P1.0反相,即P1.0端输出周期200ms的方波脉冲。另设T/C1共作的计数器方式2,对T1输出的脉冲计数,当计数满5次时,定时1时间到,将P1.7端反相,改变灯的状态! 三、源程序 #include /*头文件的定义*/ sbit P1_0=P1^0; /* 定义p1.0端口*/ sbit P1_7=P1^7; timer0() interrupt 1 using 1 { /* 定时器0的中断服务程序*/ P1_0=!P1_0; /* P1.0取反*/ TH0=(65536-50000)/256; /* 赋高八位初值*/ TL0=(65536-50000)%256; /* 赋低八位初值*/ } timer1() interrupt 3 using 2 { /*定时器1中断服务程序*/ P1_7=!P1_7; /*p1.7取反*/ } main() { /*主函数*/ P1_7=0; /* 置灯初始灭*/ P1_0=1; /* 保证第一次反相便开始计数*/ TMOD=0x61; /* 定时器定时和计数*/ TH0=(65536-50000)/256; /* 赋初值*/ TL0=(65536-50000)%256; /* */ TH1=256-5; TL1=256-5; IP=0x08; /* 设置寄存器优先级*/ EA=1; /* CPU开中断*/ ET0=1; /* 开T/C0中断*/ ET1=1; /* 开T/C1中断*/ TR0=1; /* 启动T/C0 */ TR1=1; /* 启动T/C1 */ for(;;)/* */ { } } 四、Keil调试程序过程与结果: 1.新建一个项目

用单片机控制的LED流水灯设计(电路、程序全部给出)

1.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATM EL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz 工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 图1 流水灯硬件原理图 从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一

利用单片机PWM控制LED

/*******************************************************************/ // PWM 控制LED 灯渐亮渐灭程序 // 晶振为11.0592M // 利用定时器控制产生占空比可变的PWM 波 // 按K1,PWM值增加,则占空比减小,LED 灯渐暗。 // 当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。 /*********************************************************/ #include < reg51.h > //#include < intrins.h > #define uchar unsigned char uchar PWM sbit K1 =P1^0 ; sbit BEEP =P1^5 ; void Beep(); void delayms(uchar ms); void delay(uchar t); /*********************************************************/ void main() { P1=0xff; TMOD=0x21 ; TH0=0xfc ; //1ms延时常数 TL0=0x66 ; //频率调节 EA=1; ET0=1; ET1=1; TR0=1 ; while(1) { do{ if(PWM!=255) { PWM++ ;delayms(10); } else Beep() ; } while(K1==0); }

/*********************************************************/ // 定时器0中断服务程序. /*********************************************************/ void timer0() interrupt 1 { TR1=0 ; TH0=0xfc ; TL0=0x66 ; TH1=PWM ; TR1=1 ; P3=0x00 ; //启动输出 } /*********************************************************/ // 定时器1中断服务程序 /*********************************************************/ void timer1() interrupt 3 { TR1=0 ; P3=0xff ; //结束输出 } /*********************************************************/ //蜂鸣器子程序 /*********************************************************/ void Beep() { uchar i ; for (i=0 ;i<100 ;i++) { delay(100) ; BEEP=!BEEP ; //Beep取反 } BEEP=1 ; //关闭蜂鸣器 delayms(100); } /*********************************************************/ // 延时子程序 /*********************************************************/ void delay(uchar t)

单片机开关控制LED

单片机开关控制LED 专业班级: 学生姓名: 指导教师: 完成日期: 电气与信息工程系课程设计任务书

教研室主任(签名)系(部)主任(签名)年月日 新疆工业高等专科学校电气与信息工程系 课程设计评定意见

设计题目:单片机开关控制LED 学生姓名:徐涛专业工业网络技术班级工网09-2班评定意见: 评定成绩: 指导教师(签名):年月日评定意见参考提纲: 1.学生完成的工作量与内容是否符合任务书的要求。 2.学生的勤勉态度。 3.设计或说明书的优缺点,包括:学生对理论知识的掌握程度、实践工作能力、表现出的创造性和综合应用能力等。

摘要 1)摘要正文 本设计基于Protuse自动设计能力、高速有效的编辑功能、简捷方便的设计过程管理PDM,并且可以完整地实现单片机的仿真,从单片机概念设计到生成物理生产数据的全过程,以及这中间的所有分析、仿真和验证功能详细阐述了电路原理图的绘制、实现功能。本设计还基于keil软件的使用编写程序,生成可被protuse软件识别的.hex文件,实现自己设计想要的功能。以及在自学过程和制作过程中所遇到的种种问题。并且给了相应的解决方法。 2)关键词: Protuse软件; keil软件;仿真;程序;

目录 1、单片机 (1) 1.1、单片机介绍 (1) 1.2、单片机分类 (1) 1.3、单片机应用: (1) 1.4、AT8951系列优点: (3) 1.5、PIC系列 (4) 1.6、AVR系列 (5) 1.7单片机类型 (5) 1.8、中国主要应用51单片机的总类 (7) 2、Proteus软件 (8) 2.1、功能介绍 (8) 2.2、独有特点 (8) 2.3功能模块 (8) 2.5、丰富资源 (10) 3、Keil (11) 3.1、系统概述 (11) 3.2、Keil C51单片机软件开发系统的整体结构 (12) 4、本组设计 (13) 4.1、以下是本人利用protuse软件的绘图过程 (13) 4.2、下面是我利用keil软件编写的程序 (17) 4.3、仿真 (21) 总结 (24) 致谢 (25) 参考文献 (26)

LED灯的单片机控制

开发研究 LED灯的单片机控制 谭志鹏,王伟 (沈阳工学院,辽宁沈阳113122) 摘要:本文探讨单片机控制LED灯方式,并采用单片机的外部中断方式进行编程控制。 关键词:外部中断;单片机控制 1单片机控制器 单片机是一种集成电路芯片,是一个微型计算机系统。由中央处理器、存储器、I/O口、定时器、寄存器等部分组成。单片机由于质量轻、体积小、价格低廉,广泛应用于各个领域。2外部中断程序的编制 程序的编制采用单片机外部中断控制模式。单片机外部中断过程:先采样,再查询,后响应。采样是第一步,若在2个连续周期采样电平先高后低则中断请求有效,IEO/IE1置“1”,否则继续为“0”。查询就是由CPU检测中断请求的发生,确定是哪一个中断请求。响应就是对中断请求的接受,在查询之后进行,当查询确定后就进行1次中断响应。 8个LED小灯闪烁,按下按钮,则LED小灯变成顺序依次闪烁,依次闪烁3次后变为原来的同时闪烁。 2.1程序如下 #include #define LED Pl void delaylms(int); void left(int); mainO {IE=0x81; IT0=l; LED=0x00; while(l) {delaylms(250); LED—LED;}} void my_intO(void)interrupt0 {unsigned saveLED=LED; left⑶; LED=saveLED;} 通讯作者:王伟(1957-),男,汉族,山东菜州市人。沈阳工学院教师,工学硕士,副教授,研究方向:机电一体化技术,机床电气与PLC技术. void delaylms(int x) lint i,j; for(i=0;i

单片机控制LED调光系统的实现开题报告

杭州电子科技大学信息工程学院毕业设计(论文)开题报告 题目单片机控制LED调光系统的实现 系电子通信 专业电子信息工程 姓名 班级 学号 指导教师

一、综述本课题国内外研究动态,说明选题的依据和意义 1.国内外研究动态 随着经济的发展,LED照明产业的美好发展前景使人们对LED照明市场充满信心,受21世纪能源短缺的情况下国家政府大力支持以提倡节能环保政策下,众多企业不断的加大在LED照明市场的投入与支持。随着LED照明灯具的迅速发展,由最先应用于户外照明如道路照明、景观照明等得到广泛的应用,至今LED照明灯具的发展应用有节奏地推广趋向室内照明即普通家用照明、商业照明等这么巨大潜力的照明应用领域。 LED照明市场中的渗透率预计在2015年将达到16.8%。报告中亦提到在政府政策的刺激之下,家用照明与路灯在LED应用中的渗透率将大幅提升,例如中国大陆的十 日光灯管在日本市场也逐年成长,主要的原因是来自于2011年三月份的大地震之后,日本政府的补助政策与节能意识的抬头。与此同时,许多新的LED供应商加入战局,并且很快的开始生产。 全球照明行业市场发展迅速主要得益于:1)民用照明市场:节能灯具替代传统白炽灯具的步伐进一步加快,除美国、欧洲等发达国家以外,中国、俄罗斯、巴西等新兴国家和经济体也加入了节能灯具普及的潮流。由于节能灯具价格相对较高,使全球照明市场规模进一步扩大;2)商用照明市场:半导体LED 灯具在商用照明领域的发展呈现快速增长态势。目前LED 灯具的价格较普通灯具高出数倍,使全球照明市场规模进一步扩大。 2.选题依据和意义 通过一种LED的照明驱动装置,能够方便的控制LED的光强。随着二极管技术的发展,LED由于其长寿命,低功耗及色彩可控方面的优势,使其在景观照明、牌匾照明以及大屏幕显示器等方面显示出越来越广泛的发展前景和发展潜力。 作为一种新的、最有潜力的光源,LED照明以其节能、环保的优势越来越受到人们重视。加上国家和地方政府的政策鼓励,我国的LED照明产业进入了加速发展阶段,运用市场迅速增长。近年来,随着能源短缺现象越来越严重,节能成为全世界共同关注的话题。绿色节能照明的研究也越来越受到重视。 LED近年来在各行业应用得到快速发展。目前,LED应用主要集中在两个方面:一个是低亮度应用场合,包括手机、PDA等小型电子产品的背光照明,电子仪表的照明等。另一种是需要高亮度的应用场合,主要采用高功率大晶粒LED光点集中,可以得到较高的亮度,利于光学设计。

基于51单片机控制的LED点阵显示屏(c 语言)

基于51单片机控制的LED点阵显示屏(c 语言) 本点阵屏由单片机控制4块8x8点阵,显示一个16x16点阵的汉字,如下图所示。 一个汉字循环显示的50次。这里采用的芯片有74LS254(增大单片机P0、P2的驱动能力)、行扫描由P1.0~P1.3经74LS154译码后产生标号为ROW0~ROW15的16控制行线。列数据由P0、P2分别提供高8位和低8位。这里的P0口做普通的I\O口用。 程序:

#include #define uint unsigned int #define uchar unsigned char uchar code table[]={ 0x08,0x80,0x08,0x44,0x0F,0xFE,0x10,0x00,0x10,0x08,0x37,0xFC,0x50,0x00, 0x90,0x08,0x17,0xFC,0x10,0x00,0x13,0xF8,0x12,0x08, 0x12,0x08,0x12,0x08,0x13,0xF8,0x12,0x08, /*信*/ 0x02, 0x00, 0x04, 0x10, 0x1F, 0xF8, 0x10, 0x10, 0x10, 0x10, 0x1F, 0xF0, 0x10, 0x10, 0x1F, 0xF0, 0x10, 0x10, 0x10, 0x10, 0x1F, 0xF0, 0x02, 0x00, 0x51, 0x84, 0x50, 0x92, 0x90, 0x12, 0xF, 0xF0 /*息*/ }; uint a,b,c,i,j,d; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void xianshi() { for(j=0;j<50;j++) { a=0; b=0; c=d; for(i=0;i<16;i++) { a=b; //a=0; P1=a; b++; a=c; P0=table[a]; c++; a=c; P2=table[a]; c++; delay(1); P0=0; P2=0; } } } void main()

单片机控制LED显示电路

内蒙古工业大学信息工程学院实验报告 课程名称:电子线路CAD与仿真 实验名称:单片机控制LED显示电路设计 实验类型:验证性□ 综合性□ 设计性■ 实验室名称:信息学院机房 班级:通信11-2班学号: 姓名:组别: 同组人:成绩: 实验日期: 2012年11月01日

实验报告撰写要求 一、实验前用预习报告纸撰写预习报告,预习报告包括以下内容 1、实验目的 2、实验用仪器设备、器材或软件环境 3、实验原理、方案设计、程序框图、预编程序等 4、实验过程中需要记录的实验数据表格 二、实验过程中,要认真观察,仔细记录 三、完成实验后用实验报告纸撰写实验报告,包括以下内容 1、仪器设备型号及编号 2、实验器材或软件环境 3、实验步骤、程序调试方法 4、实验数据处理及结果分析 5、实验中存在的问题 6、体会及思考题 四、报告撰写时,要求格式规范、书写整齐

预习报告成绩:指导教师审核(签名):年月日 预习报告 1、实验目的 (1)了解完整的PCB板设计工序及方法; (2)掌握原理图的设计方法; (3)掌握PCB板基础知识及设计方法; (4)了解PCB的设计规则。 2、实验用仪器设备、器材或软件环境 (1)微机(最低配置: Pentium 4 CPU, 128M内存); (2)Protel DXP软件(最低版本:V7.0); (3)Windows2000/XP环境、MS Office 2000以上版、Adobe Acrobat 5.0以上版。 3、设计要求 本实验要求在Protel DXP软件平台上设计单片机控制的LED显示的PCB板。 具体要求如下: (1)采用双面板设计PCB(外形及尺寸根据具体电子系统合理布局); (2)PCB板中的过孔为穿透式、元件安装方式为单面安装; (3)PCB板中的信号导线的宽度≥10mil、电源、地导线宽度≥30mil,其他参数自定。 4、实验报告要求 (1)首先设计电路原理图,要求在设计原理图时要按步骤来设计,具体可以参照教材上的设计实例,要添加图形来说明实验过程; (2)其次设计电路的PCB板,具体要求如下: ①元件的布局采用手工布局的方式,布局时要考虑元件布局的规则; ②布线采用自动布线的方式,布线前要设计布线的规则; ③要分步骤来说明PCB的设计过程,要时添加图形来说明实验过程; (3)实验报告中要写明实验中遇到的问题、解决的方法和实验体会。

实验2单片机控制LED灯点亮

实验2 单片机控制LED灯点亮 一、实验目的 1、熟悉实验板的电路结构。 2、完成简单的功能,并掌握程序调试的方法。 二、实验准备 1.实验电路连接 实验板LED电路图 2.实验中常见问题: ●区别中英文字符,区别字母O和数字0 ●注意关键字的拼写 include、void、main ●SFR寄存器需要大写 三、实验内容

一、基础实验 (一)、点亮1个LED 分别用汇编和C语言编程,对比2种语言的相同和不同 1.用汇编语言编写 ORG 0000H LJMP MAIN ORG 0030H MAIN: CLR CLR ;可随意指定一个输出口作为驱动,点亮LED灯 END 2.用C语言编写 #include <> //包含头文件,一般情况不需要改动, //头文件包含特殊功能寄存器的定义 sbit P1_0=P1^0;// 用sbit 关键字定义LED到端口, //LED是自己任意定义且容易记忆的符号 /*---------------主函数-------------------*/ void main (void) { P1_0=0; //将口赋值0,对外输出低电平 } (二)、1个LED闪烁 分别用汇编和C语言编程,对比2种语言的相同和不同 问题:若想改变闪烁的频率,应该修改程序的哪部分? 1.用汇编语言编写 ORG 0000H LJMP MAIN ORG 0030H MAIN: CLR ;点亮LED灯 CLR LCALL DELAY SETB ;熄灭LED灯

SETB LCALL DELAY LJMP MAIN DELAY: M OV R6,#125 ;延时50ms子程序 LOOP2: MOV R7,#200 LOOP1: DJNZ R7,LOOP1 DJNZ R6,LOOP2 RET END 2.用C语言编写 #include "" sbit P1_0=P1^0; //延时50ms子程序 void delay50ms() { unsigned char i,j; for (i=125;i>0;i--) { for(j=200;j>0;j--) {} } } //主程序段 void main() { while(1) //重复循环执行,实现闪烁 { P1_0=0; delay50ms(); P1_0=1; delay50ms(); } } 思考: 对比2中语言编写的延时子程序的相同和不同

单片机课程设计— 个按键控制 个LED自动设定控制流水灯

东北石油大学 实习总结报告实习类型生产实习 实习单位东北石油大学实习基地 实习起止时间 2018年7月7日至2018年7月16日 指导教师刘东明、孙鉴 所在院(系)电子科学学院 班级电子科学与技术15-2 学生姓名 学号 1509012402 2018年 7月 16日

目录 第1章按键控制流水灯设计 (1) 1.1 实习目的.............................................. 1.2 实习要求.............................................. 第2章电路工作原理 (2) 2.1 STC89C52单片机工作原理 (2) 2.2 LED工作原理 (3) 2.3按键工作原理 (3) 2.4整体电路图 (5) 2.5 本章小结 (6) 第3章 C程序设计 (7) 3.1 程序设计流程图 (7) 3.2实验结果 (8) 3.3 本章小结 (9) 总结及体会 (10)

参考文献 (11) 附录 (12)

第1章按键控制流水灯设计 1.1实习目的 本次实习以STC89C52单片机为控制核心。通过它实现对八盏LED灯的亮灭进行设定,并在设定完成之后能够按照之前的设定实现流水灯效果。外部电路为按键控制流水灯。P0口控制八盏灯,P1口控制矩阵键盘,P2口控制独立按键,程序利用单片机内部计时器中断实现流水效果。要求流水灯能够自行设定、暂停、复位,工作稳定,可靠性高。 生产实习的主要目的是培养理论联系实际的能力,提高实际动手操作能力。本专业的生产实习旨在广泛了解实际单片机电子产品工作的全过程,熟悉电子产品的主要技术管理模式,并在实习的操作过程中学习掌握电子产品的焊接安装调试的实际操作技能。巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养高素质大学本科人才打下必要的基础。透过学习,是理论与实际相结合,能够使学生加深对所学知识的理解,并为后续专业课的学习带给必要的感性知识,同时直接了解本业的生产过程和生产资料,为将来走上工作岗位带给必要的实际生产知识。 1.2实习要求 1.深入学习单片机开发软件Keil的使用,熟悉单片机电路设计,根据

01[1]了解单片机的原理控制一个LED灯的亮和灭.

第一课,了解单片机及单片机的控制原理和DX516的用法,控制一个LED灯的亮和灭 本章学习内容: 单片机基本原理,如何使用DX516仿真器,如何编程点亮和灭掉一个LED灯,如何进入KEILC51uV 调试环境,如何使用单步,断点,全速,停止的调试方法 聂小猛 2006年6月 单片机现在是越来越普及了,学习单片机的热潮也一阵阵赶来,许多人因为工作需要或者个人兴趣需要学习单片机。可以说,掌握了单片机开发,就多了一个饭碗。 51单片机已经有30多年的历史了,在中国,高校的单片机课程大多数都是51,而51经过这么多年的发展,也增长了许多的系列,功能上有了许多改进,也扩展出了不少分支。而国内书店的单片机专架上,也大多数都是51系列。可以预见,51单片机在市场上只会越来越多,功能只会越来越丰富,在可以预见的数十年内是不可能会消失的。 作为一个初学者,如何单片机入门?需要那些知识和设备呢?知识上,其实不需要多少东西,会简单的C语言,知道51单片机的基本结构就可以了。一般的大学毕业生都可以快速入门,自学过这2门课程的高中生也够条件。 就算你没有学过单片机课程,只掌握了C语言的皮毛,通过本系列的教程,您也会逐渐的进入单片机的大门。当然在学习的过程中,您还是必须多去研读单片机书籍,了解他们的基本结构及工作方式。 下面以51为例来了解一下单片机是什么东西,控制原理又是什么? 在数字电路中,电压信号只有两种情况,高电平和低电平,用数字来记录就是1和0。单片机内部的CPU,寄存器,总线等等结构都是通过1和0两种信号来运作的,数据也是以1或者0来保存的。单片机的输入输出管脚,也就是IO口,也是只输出或识别1和0两种信号,也就是高电平和低电平。当单片机输出一个或一组电平信号到IO口后,外部的设备就可以读到这些信号,并进行相应操作,这就是单片机对外部的控制。当外部一个或一组电平信号送到单片机的IO口时,单片机也可以读到这些信号,并进行分析操作,这就是单片机对外部设备信号的读取。当然实际的操作中,这些信号可能十分复杂,必须严格地按照规定的时间顺序(时序)输入输出。每种设备也都规定了自己的时序,只要都严格遵守,就可以控制任何设备,做出只要你想象得出的任何事情。 您可能会再问,我如何让单片机去控制和分析外部设备呢?答案是程序,您可以编写相关的程序,并且把他们烧写到单片机内部的程序空间,单片机在上电时,就会一步一步按照您写的程序去执行指令,做您想做的事情。 在51标准芯片中,有32个输入输出IO,分为4组,每组8个,分别为P0口,P1口,P2口,P3口。P1口的8条脚就用P1.0至P1.7表示,其余类似。51就是用这32个口来完成所有外部操作的。对于51的内部结构,如果您已经了解,那是最好;如果不懂,也可以先放下,在完成了本教程开始的几个章节之后,您就会大有兴趣,自己去寻找资料阅读了。当然,如果您希望成为一个优秀的单片机开发程序员,还是必须熟悉单片机的内部结构及工作原理,切不可偷懒! 在这一章,您将用程序去控制一个LED发光管的亮和灭。你应该知道,LED发光管在通过一定电流时亮,不通电就灭。为了不让LED通过太大的电流把它烧坏,我们还要串上限流电阻。51的IO是弱上拉的方式,在输出高电平时,只能输出几十微安的电流到地,而在输出低电平时,VCC电源可以输入几十毫安的电流到IO。一般LED需要10毫安左右电流点亮,我们就将LED接在电源VCC和IO口之间,中间串上电阻,当IO输出低电平时,灯就亮了,反之,灯就灭了。我们在这个程序里要控制的是P1.0。请参考一下我们将要使用的试验板的电路图,这个试验板是在购买dx516仿真器是赠送的。

相关主题
相关文档
最新文档