文档库 最新最全的文档下载
当前位置:文档库 › 闪烁小灯控制设计

闪烁小灯控制设计

闪烁小灯控制设计
闪烁小灯控制设计

1 引言

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。随着社会的发展,商业竞争也越来越激烈,要想自己的商品为人所知,就必须做好广告和宣传工作,在大都市的晚上商家用来宣传的霓虹灯闪亮此起彼伏,绚烂无比,很是吸引人的眼球,可见用闪烁灯来宣传是很受商家欢迎的。利用单片机可实现小灯轮流点亮,逐点点亮,间隔闪亮等闪烁方式更是是霓虹灯广告花样百出,层出不穷。单片机控制闪烁灯的功能远不止这些,比如还可以用于交通灯控制,可以根据车流量来控制红绿灯的亮灭等等,根据不同的要求,来设计我们需要的闪烁功能。闪烁灯的控制,越来越有实际意义,越来越贴近我们的生活。

本设计的闪烁小灯控制器,可使小灯轮流点亮、逐点点亮、间隔点亮。如要控制交流彩灯,可在P3端口加接继电器或可控硅接口电路。本设计可应用在广告彩灯控制器、舞台灯光控制器等领域。

2 单片机概述

2.1 单片机基本结构与工作原理

2.1.1单片机的基本结构

典型系列单片机是由CPU系统、外围功能单元和归一化I/O端口三部分组成1.CPU系统

CPU系统包括CPU、时钟系统和总线控制逻三部分,其功能如下:

(1)CPU:包含运算器和控制器,专门为面向控制对象、嵌入式特点而设计,有突出控制功能的指令系统。

(2)时钟系统:包含振荡器、外接谐振元件,可关闭振荡器或CPU时钟,(3)总线控制逻辑:主要用于管理外部并行总线时序及系统的复位控制,外部引脚有RST、ALE、EA、PSEN。

RET:系统复位用。

ALE:数据(地址)复用控制。

EA:外部/内部程序存储器选择。

PSEN:外部程序存储器的取指控制。

2.CPU外围电路

CPU外围电路包括ROM、RAM、I/O口和SFR四部分。

(1) ROM:程序存储器。地址范围为0000H-FFFF(64KB)。89S51为flashROM (2) RAM:数据存储器。地址范围00H-FFH(256B),是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、地址等空间。

(3) I/O端口:80S51系列单片机集邮个8位I/O端口,分别为P0、P1、P2、P3。P0为数据总线端口,P2、P0组成6位地址总线,P1为用户端口,P3用于基本输入/输出以及并行扩展总线的读/写控制。P0、P2可作用户I/O 端口,P3不作基本功能单元的输入/输出端口时,可作用户I/O端口。

(4) SFR:特殊功能寄存器。是单片机中的重要控制单元,CPU对所有片内功能单元的操作都是通过访问SFR实现的。

3 . 基本功能单元

89S51系列单片机具有定时/计数器、中断系统和串行接口三个基本功能单元。

(1)定时/计数器:89S51有2个16位定时/计数器,定时时靠内部的分频时钟频率计数实现;作计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。

(2)中断系统:89S51共有5个中断源,即2个外部中断源INT0、INT1、2个定时器溢出中断(T0、T1)和1个串行中断。

(3)串行接口UART:一个带有移位寄存器工作方式的通用异步收发器,不仅可以作串行通信,还可用于移位寄存器方式的串行外围扩展。RXD(P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。

4 . 单片机内部资源可按需要进行扩展与删减,单片机中许多型号系列是在基核

的基础上扩展部分资源形成的。这些可扩展的资源有:

(1)时钟系统的速度扩展,从12MHz-40MHz。

(2) ROM的容量扩展,从8KB、16KB到64KB。

(3) RAM的容量扩展,从256B、512B到1024B。

(4) I/O口的数量扩展,从4个I/O口到7个I/O口。

(5) SFR的功能扩展,如ADC、PWM、WDT、模拟比较器等。

(6)中断系统的中断源扩展。

(7)定时器/计数器的数量扩展、功能扩展。

(8)串行口的增强扩展。

(9)电源供给系统的宽电压适应性扩展(从2.7V-6V)。

为了满足小型廉价的要求,可将单片机的某些资料删减,某些功能加强,以达到不同场合使用要求。这些删减增加资源的内容有:

(1)总线删减。

(2)功能删减。

(3)某些功能加强。如增加模拟比较器、计数器捕捉能力等。

2.1.2单片机的种类

单片机可按应用领域、通用性、总线结构分类。]

(1)按应用领域可分为:家用类、工控类、通信类、个人信息终端等。

(2)按通用性可分为:通用型和专用型(如计费率电表、电子记事本)。

(3)按总线结构可分为:总线型和非总线型。

单片机的供应状态

按提供的存储器类型可分为以下五种状态。

(1) MASKROM类:程序在芯片封装过程中掩膜工艺制作到ROM区中,如80C51,适合大批生产。

(2) EPROM类:紫外线可擦写存储器如87C51,价格较贵。

(3) ROMless类:无ROM存储器,如80C31,电路扩展复杂,较少用。

(4) OTPROM类:可一次性写入程序。

(5) FlashROM(MTPROM)类:可多次编程写入的存储器,如89C51、89C52,其成本低开发调试方便,在恶劣环境下可靠性不及OTPROM。

2.1.3单片机的应用开发过程

单片机的应用开发分为以下五个过程。

(1)硬件系统设计调试。如电路设计、PCB印制版绘制等。

(2)应用程序设计。可使用如KEIL等汇编工具软件进行源程序编写、编译调试等。

(3)应用程序的仿真调试。指用仿真器对硬件进行在线调试或软件仿真调试,在调试中不断修改、完善硬件及软件。

(4)单片机应用程序的烧写。用专用的单片机烧写器可将编译过的二进制源程序文件写入单片机芯片中。

(5)系统脱机运行检查。进行全面检查,针对出现的问题修正硬件、软件或总体设计方案。

2.1.4 89S51各引脚说明

I/O端口:P0.0~P0.7,P1.0~1.7,P2.0~P2.7,P3.0~P3.7。

89S51共有4个I/O端口,为P0、P1、P2、P3,4个I/O口都是双向的,且每个口都具有锁存器。每个口有8条线,共计32条I/O线。各端口的功能叙述如下:

1. P0有三个功能:

(1)外部扩充存储器时,当作数据总线(D0~D7)。

(2)外部扩充存储器时,当作地址总线(A0~A7)。

(3)不扩充时,可做一般I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

2. P1 只做I/O口使用,其内部有上拉电阻。

3. P2有两个功能:

(1)扩充外部存储器时,当作地址总线(A8~A15)使用。

(2)做I/O使用,其内部有上拉电阻。

4. P3 有两种功能。

除了作为I/O使用外(内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。

5. 主电源引脚

Vss——(20脚):电路低电平

Vcc——(40脚):正常运行和编程校验(80151/8052)时为+5V电源

6. RST/VPD——(9脚):RST即Reset(复位)信号输入端。振荡器工作时,

由该引脚输入脉宽2个以上机器周期的高电平时复位单片微机。当外部在RST 与Vcc之间接一个电容(约10μF)和在RST与Vcc之间接一个电阻(约8.2kΩ)时,就可实现加电复位功能。VPD为备用电源输入端,即当VCC 掉电时,由此引脚提供备用电源,以保持内部RAM的信息。

7. ALE/PGOG——(30脚):ALE,允许地址锁存信号输出。当访问外部存储器时,

ALE 信号的负跳变将P0口上的低8位地址送入锁存器。在非访问外部存储器间,ALE仍以1/16振荡频率固定不变的速率输出,因此它能作外部时钟或定时信号用。当访问外部数据存储器时,将以1/12振荡频率输出。PROG 为编程脉冲输入端,即当选用8751单片微机时,对片内程序存储器进行编程时,由此引脚输入编程脉冲。

8. PSEN——(29脚):程序储存使能端。

(1)内部程序存储器读取;不动作。

(2)外部程序存储器读取(ROM):在每个机器周期会动作两次。

(3)外部程序存储器读取(RAM):两个/PSEN脉冲被跳国不会输出。

(4)外接ROM时,与ROM的/OE脚连接。

9. EA/VPP——(31脚)

(1)接高电平时:

CPU读取内部程序存储器(ROM),如8051/8/052。

扩充外部ROM:当读取内部程序存储器超过0FFF(8051)时,自动读取外部ROM。

(2)接低电平时:CPU读取外部程序存储器(ROM),如8031/8032。

(3)8751烧写内部EPROM时,利用此脚输入21V的烧写电压。

10. XTAL1——(19脚) XTAL2——(18脚):接石英晶体振荡器。

机器周期=石英晶体/12,如12MHz石英晶体/12=1微秒。

2.2 89S51系列单片机引脚功能分类

基本引脚:电源VCC、VSS,时钟XTAL2、XTAL1和复位RST。

并行扩展总线:数据总线P0口,地址总线P0口(低8位)、P2口(高8位)和控制总线ALE、PSEN、EA。

串行通信总线:发送口TXD和接受口RXD。

I/O端口:P1口为普通I/O口,P3口可复用作普通I/O口,P0、P2口不作并行口时也可作普通I/O口。

2.3 单片机的引脚应用特性

1. 并行总线的构成

并行总线特点:

(1) P0口为地址/数据复用口。

(2)两个独立的并行扩展空间。程序存储器使用PSEN取指控制信号,数据采用WR、RD存取控制信号。

(3)外围扩展统一编址。在64KB的空间上,可扩展外数据存储器或其他外围器件。

2. 引脚复用特性

P3口、P0口、P2口均可用作普通I/O口。

3. I/O的驱动特性

由于采用CMOS电路,输入电流极微,通常不考虑I/O端口的扇出能力,当负载为LED、继电器等功率驱动元件时才考虑驱动能力。

89S51单片机的内部结构主要由8个部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器、I/0口(PO口、pl口、PZ口、P3口)、串行

口、定时器/计数器、中断系统和特殊寄存器(SFR)。其中,微处理器由运算器

和控制逻辑组成,主要包括累加器(A CC)、B寄存器、临时存储器(T MPITMPZ)、算术运算单元ALU等。特殊功能寄存器SFR(Special FunctionRegister)是用来对片内各功能单元进行管理、控制、监视的控制寄存器和状态寄存器,是位于片内数据存储器上的一个特殊功能的RAM区,其地址范围为80H一

FFH。SFR主要包括PO口锁存器、PI口锁存器、PZ口锁存器、P3口实现复位之后PC的值是O00OH,因此,程序的入口地址为0000H,CPU从O000H开始执行操作。模式控制寄存器TMOD为OOH,表示定时器/计数器都处于方式O 工作状态,而THO、TLO、THI、TLI均为OOH则表示定时器/计数器复位后都清零。PO、Pl、PZ和P3端口复位后锁存器都处于“1”状态。工作状态下,每当ALE是高电平的第一个时钟(S1P2、S4P2),P2口被拉低而PO口为高阻态。实际进行芯片解剖时,可以根据寄存器复位状态下的特殊值来判断功能电路块。

3 系统电路及程序的设计

3.1系统硬件电路的设计

图3.1为闪烁小灯控制器的电路原理图,其中:单片机采用89S51,P1.0-P1.3接四个发光二极管L1-L4,P3.0~P3.2口为闪烁方式控制开关K1,K2, K3按键接口,P3.3为备用,实现小灯轮流点亮,逐点点亮,间隔闪亮。

3.2 印刷电路板图

3.3系统主要程序的设计

(1)主程序

通过扫描P3.0~P3.2口,判断是否有按键按下,然后再20H内存单元的低3位的对应位置1标志,确定应执行的闪烁功能。当20H.0为1时,发光管轮流点亮;当20H.1为1时,发光管逐点点亮;当20H.2为1时,发光管间隔闪亮。在主程序对20H的低3位进行位值判定后,转入相应的闪烁控制程序。上电初始化时,对20H的最低置1,系统进入轮流点亮方式。

(2)键扫描子程序

因按键较少,采用直接端口扫描键开关,用软件延时消抖确认后,对20H内存单元相应的位置1,并把其余位清零。

(3)闪烁控制程序

闪烁控制程序用来控制P3口的发光管发光变化方式,其中:

执行功能程序0(FUN0)时的P1口输出值变化为11111110 →延时→

11111101→延时→11111011→延时→11110111→延时→结束转主程序。

执行功能程序1(FUN1)时的P1口输出值变化为11111110→延时11111100→延时→11111000→延时→11110000→延时→结束转主程序。

执行功能程序2(FUN2)时的P1口输出值变化为11111010→延时→11110101→延时→结束转主程序。

(4)延时子程序

延时子程序有10ms和0.5s两个,用作键扫描消抖及发光管闪烁延时。3.4主程序流程图

主程序流程图如图3.2所示。

3.2主程序序流程图

3.5系统控制程序

本控制器在使用中,如要改变闪烁的方式,可按下相应的功能键。当一个完整的闪烁循环结束后,即可转入新的闪烁方式。由于键扫描是在闪烁循环结束时进行,因此,功能开关按下的时间应较长才能被读入。改进的方法是把DL05S延时子程序用键扫描子程序来代替,这样,只要按下按键即可被键扫描程序读入。以下是LED小灯闪烁控制器的完整源程序:

小灯控制程序;

中断入口程序;

ORG 0000H ;程序执行开始地址

LJMP START ;跳至START执行

ORG 0003H ;外中断0中断入口地址

RETI ;中断返回(不开中断)

ORG 000BH ;定时器T0中断入口地址

RETI ;中断返回(不开中断)

ORG 0013H ;外中断1中断入口地址

RETI ;中断返回(不开中断)

ORG 001BH ;定时器T1中断入口地址

RETI ;中断返回(不开中断)

ORG 0023H ;串行口中断入口地址

RETI ;中断返回(不开中断)

LEAR: MOV 20H,#00H ;20H单元内存清0(闪烁标志清0)[初始化程序]

SETB 00H ;20H.0位置1(上电时自动执行闪烁功能1)

RET ;子程序返回

START:ACALL CLEAR ;调用初始化子程序

MAIN: LCALL KEYWORK ;调用键扫描子程序

JB 00H,FUN0 ;20H.0位为1时执行FUN0

JB 01H,FUN1 ;20H.1位为1时执行FUN1

JB 02H,FUN2 ;20H.2位为1时执行FUN2

JB 03H,MAIN ;备用

AJMP MAIN ;返回主程序MAIN

FUN0: MOV A,#0FEH ;累加器赋初值[第1种闪烁功能程序]

FUN00:MOV P1,A ;累加器值送至P1口

LCALL DL05S ;延时

JNB ACC.3,MAIN ;累加器最高位为0时转MAIN

RL A ;累加器A中数据循环左移1位

AJMP FUN00 ;转FUN00循环

FUN1:MOV A,#0FEH ;累加器赋初值[第2种闪烁功能程序] FUN11:MOV P1,A ;累加器值送至P1口

LCALL DL05S ;延时

JZ MAIN ;A为0转MAIN

RL A ;累加器A中数据循环左移1位

ANL A,P1 ;A同P1口值相与

AJMP FUN11 ;转FUN11循环

FUN2:MOV A,#0AAH ;累加器赋初值[第3种闪烁功能程序] MOV P1,A ;累加器值送至P1口

LCALL DL05S ;延时

CPL A ;A中各位取反

MOV P1,A ;累加器值送至P1口

LCALL DL05S ;延时

AJMP MAIN ;转MAIN

KEYWORK:MOV P3,#0FFH ;置P3口为输入状态[扫键程序 ] JNB P3.0,KEY0 ;读P3.0口,若为0转KEY0

JNB P3.1,KEY1 ;读P3.1口,若为0转KEY1

JNB P3.2,KEY2 ;读P3.2口,若为0转KEY2

JNB P3.3,KEY3 ;读P3.3口,若为0转KEY3

RET ;子程序返回

KEY0:LCALL DL10MS ;延时10毫秒消抖[ 闪烁功能0键处理程序]

JB P3.0,OUT0 ;P3.0为1,子程序返回(干扰)

SETB 00H ;20H.0位置1(执行闪烁功能1标志)

CLR 01H ;20H.1位清0

CLR 02H ;20H.2位清0

CLR 03H ;20H.3位清0

OUT0:RET ;子程序返回

KEY1:LCALL DL10MS [闪烁功能1键处理程序] JB P3.1,OUT1

SETB 01H ;20H.1位置1(执行闪烁功能2标志)

CLR 00H

CLR 02H

CLR 03H

OUT1:RET

KEY2:LCALL DL10MS [闪烁功能2键处理程序]

JB P3.2,OUT2

SETB 02H ;20H.2位置1(执行闪烁功能3标志)

CLR 01H

CLR 00H

CLR 03H

OUT2:RET

KEY3:LCALL DL10MS [;闪烁功能(备用)键处理程序] JB P3.3,OUT3

SETB 03H ;20H.3位置1(执行备用闪烁功能标志)

CLR 01H

CLR 02H

CLR 00H

OUT3:RET

DL10MS:MOV R3,#14H [10毫秒延时子程序(调用20次0.5毫秒延时子程序)]

LOOP2: LCALL DL512

DJNZ R3,LOOP2

RET

DL512:MOV R2,#0FFH [ 0.5毫秒延时子程序,执行一次时间为513微秒]

LOOP1: DJNZ R2,LOOP1

RET

END ;程序结束

用proteus仿真结果如下:

参考文献

[1]孙涵芳, MCS-51/96系列单片机原理及应用(修订版)北京航空航天大学

出版社,1994

[2]阎石,数字电子电路,北京:中央广播电视大学出版社

[3]实用电子电路手册。北京:高等教育出版社

[3]《MCS-51单片机原理及应用》赵晓安。天津大学出版社,2001

[4]《单片机基础第一版》李广第。北京航空航天大学出版社,1999

[5]《单片机高级教程第一版》何立民。北京航空航天大学出版社,2001

[6]《单片微型计算机原理接口与应用第1版》徐惠民、安德宁。北京邮电

大学出版社,1996

致谢

最后感谢电气工程教研室各位老师悉心教导和不倦的教诲,和与我同在一组的同学共同努力,相互帮助相互鼓励,一起发现问题,一起解决问题,我们在您的帮助下顺利地完成了课程设计任务。在此表示衷心的感谢!

闪烁灯控制系统

闪 烁 灯 控 制 系 统 河南工院 院系:电气工程系 班级:电气1001 指导教师:赵阳

第1章概述 (3) 1.1设计的目的及意义 (3) 1.2单片机的概述与应用 (3) 第2章设计原理 (4) 2.1设计要求与基本思路 (4) 2.2设计方案选择 (5) 2.3设计框图 (5) 第3章硬件电路设计 (7) 3.1时钟电路 (7) 3.2扩展电路 (8) 第4章程序设计 (9) 4.1 程序设计思路与流程图 (9) 4.2程序清单与代码 (11) 4.3程序调试 (12) 第5章原件明细表 (13) 总结 (14) 参考文献 (15)

第1章概论 ? 1.1设计的目的与意义 随着单片机的问世和飞速发展,掀起了计算机工程应用的一场新革命,使计算机控制技术广泛的应用于工业控制系统、自动测试系统、数据采集系统、智能仪表、智能家电以及各类功能模块等广泛领域,它已经成为实现许多控制系统的常规性工具。本次的课程设计使我们把所学的知识和实践结合起来,是对平时学习成果的检验,使我们对所学的单片机知识有了系统全面的理解和认识,锻炼了我们查阅资料和设计开发的初步能力,为以后的学习和工作奠定了基础。 竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。 闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础 1.2单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。 (4)商用产品:如自动售货机、电子收款机、电子秤。

单灯闪烁程序

实验一单灯闪烁实验 一、实验要求 发光二极管按照设定的时间间隔闪烁。 二、实验目的 1、了解单片机内部结构和最小系统。 2、掌握单片机与LED的硬件连接。 3、掌握单片机C51语言的程序框架。 4、了解Keil软件和Proteus软件的使用。 5、参考电路图一般最小系统 包括单片机、电源、时钟 电路、复位电路四部分。 根据编写的程序P1.0 口 接发光二极管。

三、实验说明 Proteus仿真时注意与LED连接的电阻阻值,若阻值过大LED 将没有反应。编写程序时,注意for语句于简单延时语句的运用。 四、实验框图 五、实验程序 ORG 0 START: CLR P1.0 LCALL DELAY

SETB P1.0 LCALL DELAY LJMP START DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END

实验二LED流水灯实验 一、实验要求 编写一段流水灯控制程序,用P1 口作为输出控制端,实现八只发光二极管从左至右循环亮灭。 二、实验目的 1、进一步熟悉keil仿真软件、proteus仿真软件的使用。 2、了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。 3、掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。。

三、参考电路图复位电路、时钟电路的基础连线。P1端口分 别连接八只发光二极管。 四、实验说明编写程序时注意对延时子程序的使用,以及了解 _crol函数的使用。 unsigned char _crol_(unsigned char c,unsigned char b); 描述: 将字符c循环左移b位。_crol_函数有返回值,返回的是将c循环左移之后 的值。这是c51库自带函数,包含在intrins.h文件中。五、实验框图

点亮P1口的多个LED灯闪烁

点亮P1口的多个LED灯闪烁 功能:点亮P1口的多个LED灯闪烁 该程序是单片机学习中最简单最基础的, 通过程序了解如何控制端口的高低电平 ------------------------------------------------*/ #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit LED0=P1^0;// 用sbit 关键字定义LED到P1.0端口,LED是自己任意定义且容易记忆的符号 sbit LED1=P1^1; sbit LED2=P1^2; sbit LED3=P1^3; sbit LED4=P1^4; sbit LED5=P1^5; sbit LED6=P1^6; sbit LED7=P1^7; void Delay(unsigned int t); //函数声明 /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { //此方法使用bit位对单个端口赋值 unsigned char i; //定义一个无符号字符型局部变量i 取值范围0~255 while (1) //主循环 { for(i=0;i<10;i++) //加入for循环,表明for循环大括号中 //的程序循环执行10次 { LED0=0; //将P1.0口赋值0,对外输出低电平 LED2=1; LED4=0; Delay(5000); //调用延时程序;更改延时数字可以更改延时长度; //用于改变闪烁频率 LED0=1; //将P1.0口赋值1,对外输出高电平 LED2=0; LED4=1; Delay(5000); } for(i=0;i<10;i++)

用C语言编写程序实现通过按键使LED灯周期闪烁

用C语言编写程序实现通过按键使LED灯周期闪烁(2010-02-24 21:12:44)标签: 循环闪烁周期led灯按键杂谈 一、设计题目 二、程序功能: 开机复位后,LED0到LED7全部点亮,所有LEDPort持续2S后熄灭,然后等待按键,按0键LED7以 0.8S周期闪烁,按1键LEDPort以1S周期闪烁。 三、总体设计思想 用中断方式实现定时器的定时,然后通过键盘中断程序实现通过对按键的操作来实现相应的周期闪烁。 在我编写的实验程序中我用到了定时器中断和外部中断。程序共分为两个模块,一个为定时器模块,一个为键盘中断程序模块,在主函数中,首先实现所有LEDPort点亮,然后通过中断方式实现定时2S,在定时器num==20时,设定全局变量为标志位flag=1,然后再主函数中设定条件,通过标志位的变化实现所有LEDPort持续2S后熄灭。然后进入循环,等待按键,在按键中断服务程序中使用switch语句实现通过改变num1的值来实现LED7的闪烁周期。设定标志位b=0,在主函数中使用if语句通过判断b的值来改变LED7的亮灭情况,同时相应的b值会取反。 四、程序具体实现 实验要求开机复位后,LED0到LED7全部点亮2S后熄灭。在主函数中使用LEDPort=0x00;这条语句实现所有灯都亮,使用中断方式实现定时器定时2S,因为实验要求20ms溢出,所以设定num=100,在定时器中断服务程序中使用if语句判断条件,当num加到100,也就是说2S时间到时,执行flag=1;语句(先设定全局变量flag=0)。然后在主函数中使用while语句规定只有在flag=0时才执行所有LEDPort点亮的操作。2S时间到后,所有灯熄灭。然后进入while循环,

闪烁警示灯电路的设计

东北石油大学课程设计 2015年3月13日

东北石油大学课程设计任务书 课程光电检测技术 题目闪烁警示灯电路的设计 专业电子科学与技术姓名学号 主要内容: 应用Y976报警专用集成电路,光敏电阻等电子原器件,设计一当夜幕来临时,它能驱动红色警示灯闪闪发光,以起到告警指示作用。 基本要求: 1)研究Y976报警专用集成电路,光敏电阻的功能特性。 2)设计闪烁警示灯电路的功能框图。 3)设计光电检测电路、音频电路、信号控制电路 4)设计5伏直流电源电路。 5)调试安装。 6)完成课程设计总结报告。 主要参考资料: 1)陈有卿编著. 新颖集成电路制作精选[M].人民邮电出版社, 2005.4. 2) 陈振官,陈宏威等编著.光电子电路制作实例[M]. 2006.4. 3) 黄继昌等编著.检测专用集成电路及应用[M]. 2006.10. 完成期限 2015.3.9~2015.3.13 指导教师 专业负责人 2015年3月6日

第1章概述 随着改革开放的发展,电子电器也得到了飞速的发展。人们生活水平有很大提高。各种电器生活用品如:电动自行车、摩托车、汽车等贵重东西也为许多家庭所拥有。警示灯在我们日常生活中用处非常广泛,例如:警示灯一般用在维护道路安全,通常是用在警车﹑工程车、消防车﹑急救车﹑防范管理车﹑道路维修车﹑牵引车﹑紧急A/S车、机械设备等开发。然而,这时候,一些不法分子也越来越多。人们的安全意识还依然很淡薄,导致了许多严重的事故。因此,为了减少这样的事情发生,人们便发明了示警闪光灯,提示人们道路上注意安全,因此减少了许多不该发生的事故。随着科技的进步闪烁警示灯也将更加广泛的应用与推广。 1.1 闪烁警示灯的介绍、意义和作用 在我们日常生活中和工农业生产中,有好多情况下需要安装警示灯或标志灯以提醒人们注意。例如道路施工时,需在施工现场挂上红色安全警示灯以确保行人和行车的安全。高层建筑物的顶端按有关的规定必须设置红色警示灯以确保飞机安全飞行。为引起大家注意,在一般情况下,多采用红色的警示灯且最好能发出闪烁光。但有时后在某些情况下又不需要其工作比如某些大型的器物,白天很明显,只需在夜间提醒人们注意。 光源采用φ10mm四元素超高亮度发光二极管(LED),使用寿命≥10万小时;发光二极管角度在25-30°时光源饱满,使可视角度范围扩大;太阳能黄闪灯均采用单晶硅太阳能供电,蓄电池功率15W,电池充满电,可连续工作170个小时;所含LED的管粒为120粒,增加使用寿命和发光亮度,有较强的视觉冲击感,提醒司机、行人注意前方有危险;透光镜片的外表面采用倾斜面设计,能防止透光镜片积累灰尘; 外观为LED光源所设计,结构为超薄化,灯具厚度(φ400mm透光面的灯具为150mm);外壳采用聚碳酸酯(PC)材料一次注塑成型,密封采用硅橡胶密封件,防尘、防水、阻燃、抗老化,灯具外壳使用寿命≥10年。 一般情况下,警示灯是按车种和用处可以提供多样的长度的产品的,有灯罩组合的构造,需要时一边方向的灯罩可以组合复合颜色。此外,还可以根据光源形式的不同,分为:1灯泡转灯;2 LED闪光;3 氙气灯管频闪,其中LED闪光形式的是灯泡转灯形式的升级版,使用寿命更长,更节能,更低热! 由于人们越来越重视警示灯的作用,对它工作原理的掌握也变的越来越重要,所以本文主要介绍闪烁警示灯的主要原理,它的主要组成的部件的原理。

单片机闪烁灯跑马灯控制课程设计

闪烁灯跑马灯控制系统 河南工院

第1 章概述 1.1设计的目的及意义?????????????????????..3 1.2单片机的概述与应用????????????????????..3 第2 章设计原理??????????.. ??????????????4 2.1设计要求与基本思路??????.??????????????4 2.2设计方案选择?????.??????????????????5 2.3设计框图??????????. ?????????????5 第3 章硬件电路设计???????.. ??????????????7 3.1时钟电路???????????????????????.?.7 3.2扩展电路????????????????????????..8 第4 章程序设计???????????????????????9 4.1程序设计思路与流程图??..???????????????? (9) 4.2程序清单与代码???????????????????.?..?11 4.3程序调试??????????????????????.?.?12 第 5 章原件明细表????????????????????13 总结???????????????????????????????14 参考文献15

第1 章概论 1.1设计的目的与意义 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。 闪烁灯控制系统是利用8051单片机的P1控制的8 个发光二极管。可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1 秒,如此循环,紧急情况下,控制P3.1 进行报警2S停止。 闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础 1.2单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O 接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70 年代推出单片机以来,作为微型计算机的一个分支,单片机经过30 多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等 (1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。

8个LED灯循环闪烁课程设计

摘要 “微机原理与接口技术”是高等学校电子信息工程、通信工程、自动化、电气工程及其自动化等工科电气与电子信息类各专业的核心课程。该课程以INTER 8086微处理器和IBM PC系列微机为主要对象,系统。深入地介绍了微型计算机的基本组成、工作原理、接口技术及应用,把微机系统开发过程中用到的硬件技术和软件技术有机地结合起来。 本文详述了8个LED灯循环闪烁的课程设计。设置8个LED灯,首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。然后是2、4、6、8号LED 依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。 本课程设计,由于自身能力和学习水平有限,可能存在一定的错误和不当之处,敬请批评和指正。 一、设计目的 1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件; 2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力; 3.进一步了解8255A各引脚的功能, 8255A和系统总线之间的连接, 8255A和CPU 之间的数据交换,以及8255A的内部逻辑结构。深入掌握8255A显示电路的基本功能及编程方法,8255等芯片的工作方式、作用。 4.培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。 二、设计内容 根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器和8255A可编程并行接口芯片和8个LED等连成硬件电路。设计8个LED灯,实现如下要求:首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。然后是2、4、6、8号LED依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。 三、设计要求 使用8255A可编程接口芯片实现8个LED灯以十种不同的方式显示。画出硬件电路图,能在PROTEUS中模拟实现。

单片机8个闪烁灯控制

河南工业职业技术学院Henan Polytechnic Institute 单片机应用技术 课程设计说明书 题目:闪烁灯控制系统(6) 班级:电气1001班 姓名:张志海 学号:0401100136 指导教师:赵阳

第1章概述 1.1 设计的目的与意义 1)了解系统的工作原理。 2)掌握8051单片机的工作原理和应用。 3)通过课程设计培养学生自学能力和分析问题、解决问题的能力。 4)闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,增强制图能力以及查阅手册的能力和一定的文字表达能力。 5)通过设计使学生具有一定增强自我的动手、动脑能力,以及发现问题,解决问题。 1.2 单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统等。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。 (4)商用产品:如自动售货机、电子收款机、电子秤。 (5)通信方面。用于调制解调器、程控交换技术以及各种通信设备。 (6)多机分布式系统。可用单片机构成分布式测控系统,它使单片机进入 了一个新的水平。

闪烁LED小灯的设计毕业设计论文 精品

学生姓名指导老师职称课题名称闪烁LED小灯的设计 课题工作内容 交通灯的硬件电路主要由单片机控制电路、数码管显示电路、时钟电路、LED显示电路、按键控制电路组成。主要实现: 1、交通灯指挥通行的实现:通过时钟电路、LED显示电路与数码管显示电路,实现通行灯的亮、灭与时间的显示。 2、特殊情况的处理实现:通过按键控制电路,实现发生交通事故与有救护车要紧急通行时的交通灯状况。 指标要求1、自动控制 2、显示时间 进程安排第一天:下达任务、了解课题要求、查阅资料;第二天:方案论证与确定,采购元器件; 第三天、第四天:硬件制作与调试; 第五天~第八天:软件设计与调试; 第九天:撰写报告; 第十天:作品掩饰与答辩考核。 主要参考文献《单片机原理及应用技术》范力旻电子工业出版社 《51系列单片机设计实例》楼然苗李光飞北航出版社 《单片机的C语言应用程序设计》马忠梅籍顺心北京航空航天大学出版社《51单片机应用开发案例精选》王为青邱文勋人民邮电出版社 《51系列单片机设计实例》楼然苗李广飞北京航空航天大学出版社《单片机原理与接口技术》胡汉才清华大学出版社 《单片机原理与应用》丁元杰机械工业出版社 地点起止日期2012.6.10~6.23

目录 第一章、设计目的 (1) 第二章、硬件设计 (1) 2.1单片机最小系统 (1) 2.1.1单片机 (1) 2.1.2震荡电路 (2) 2.1.3复位电路 (2) 2.2外接电路 (2) 2.2.1串行口扩展 (3) 2.2.2显示电路 (3) 2.2.3十字路口交通灯显示电路 (4) 第三章、软件设计及调试 (4) 3.1 流程图 (5) 3.2程序 (6) 3.2.1子程序 (9) 3.2.2延时子程序 (9) 3.2.3显示子程序 (10) 3.3软件调试结果与说明 (13) 第四章、实物调试 (13) 第五章、课程设计小结 (14) 附录A仿真 (16) 附录B系统程序 (21) 元件清单 (28)

单片机控制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.新建一个项目

闪烁灯设计

1 引言 1. 1 课题简介 随着人们生活环境的不断改善和美化,在许多场合可以看到闪烁的彩灯。LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。但目前市场上各式样的 LED 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。 事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有单片机1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC 机和其他计算的总和,甚至比人类的数量还要多。 1. 2 设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要环节。通过课程设计,熟悉和掌握单片机系统的硬件设计的方法、原理、设计步骤。熟练掌握单片机系统与接口扩展电路的设计方法,熟练应用汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤。不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 通过本次工程实践,运用单片机原理与接口技术所学知识及查阅相关资料,完成闪烁灯系统的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。

实验一LED灯闪烁

单片机小系统设计与制作实验报告 姓名:李文浩 学号:1423102 班级:14级电仪维 指导教师:陈雪莲

实验一八个LED灯闪烁 一、实验要求 仿照图1-1在Proteus中绘制一个基于AT89C51单片机控制八个LED灯进行闪烁。 现象: 八个LED灯闪烁,为黄灯; 图1-1 八个LED灯闪烁电路图 二、实验目的 (1)学会使用Proteus ISIS绘制硬件电路图,掌握加载程序和仿真运行等基本操作。 (2)掌握c语言里调用延时子程序的方法。 (3)掌握proteus的工程建立,仿真,调试。 (4)学会如何在Proteus ISIS上放置元件和连线。 (5)学会如何在Proteus ISIS加载目标代码。 三、实验步骤 1、在Proteus ISIS中设计硬件电路 (1)创建文件名“123”保存在对应的文件夹“E:\123"下。 (2)利用关键字或分类检索的方法将电路原理图中需要的元器件挑选至对象选择列表,主要元件可参照表1-1,然后依次选中在设计区单击,放入电路图。

(3)从模型选择工具栏的终端(Terminal)模型中将地线端子(Ground)和电源端子(Power)放置到电路中。 (4)连接电路原理图,可参考图1-1。 表1-1 (1)启动Keil uVision2软件,创建新工程:123,CPU选择Atmel 89C51。 (2)创建文件,以c为扩展名保存。 (3)执行“Source”菜单下的“Add”命令添加程序“123.c”。 (4)对工程的属性进行设置:目标属性中选择“生成HEX文件” (5)编写源程序,进行汇编/编译、调试。 3、仿真运行 启动Proteus ISIS,打开电路图“123.DSN”,单片机属性中选择目标文件123.HEX,然后进行仿真运行,操作电路中的开关,观察运行结果。 4、程序 #include void delay(unsigned char x); void main() { while(1) { P1=0; delay(1000); P1=0xff; delay(1000); } } void delay(unsigned char x) { unsigned char t;while(x--) for(t=0;t<255;t++); }

led闪烁小灯(汇编)

摘要 介绍一种LED小灯控制系统的设计方法,以AT-89C52单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。能够通过按键控制8个led小灯轮流点亮、逐点点亮、间隔点亮、来回点亮、两边向中间同时点亮。广泛应用于城市景观、风景名胜、道路桥梁、建筑轮廓、娱乐场所、户外广告、室内装饰等美化、亮化工程。 关键词:LED流水灯,AT89C52单片机,led流水灯,模块设计,流程图

目录 设计要求 (1) 1 方案论证与对比 (1) 1.1 方案一 (2) 1.2 方案二 (2) 1.3 方案三 (3) 1.4 方案对比与选择 (5) 2 单元电路设计与计算 (5) 2.1 放大电路的设计 (6) 2.2 整形电路的设计 ........................................................................ 错误!未定义书签。 2.3 分频电路的设计 ........................................................................ 错误!未定义书签。 2.4 分频控制电路设计 (6) 3 系统软件工作流程图 (8) 3.1 多周期同步测量原理及误差分析 (8) 3.2 系统工作流程 ............................................................................ 错误!未定义书签。 4 系统功能测试与整体指标 .................................................................. 错误!未定义书签。 5 详细仪器清单 (10) 6 总结与思考及致谢 (12) 参考文献 (13) 附录一:放大整形分频控制电路PCB板 (14) 附录二:74HC390分频电路PCB板图 (15) 附录三:程序 (16)

LED灯闪烁控制

太原理工大学 单片机原理与应用技术课程实验报告 专业班级 学号 姓名 指导教师

LED 灯闪烁控制 一、实验目的 (1)掌握C语言、汇编语言编写单片机控制程序的方法; (2)掌握使用Keil C软件编写、编译、调试程序的方法; (3)掌握使用Proteus软件绘制电路原理图、硬件仿真和程序调试; (4)理解LED灯控制电路原理和延时程序的编写。 二、实验硬件和软件 计算机1台,并安装Proteus软件和Keil C51软件。 三、实验任务 在单片机I/O口上外接一个发光二极管LED,通过程序实现LED闪烁显示,即不停地一亮一灭,亮、灭持续时间均为0.2秒。 四、实验电路及分析 实验电路如图所示,在P1.7口(也可选择其它端口)外接一个发光二极管D1,分析可知P1.7输出“0”时,D1点亮,P1.7输出“1”时D1熄灭。 LED 灯闪烁控制电路图

五、实验程序编写 1.程序编写 (1)C语言程序 #include sbit D1=P1^7; void Delayms(unsigned int n) { unsigned int i, j; for(j=n; j>0;j--) for(i=112; i>0; i--); } int main( ) { while(1) { D1=0; Delayms(200); D1=1; Delayms(200); } } (2)程序流程图

六、实验步骤 1.利用Proteus软件绘制仿真电路图 (1)打开Proteus软件,File→New Project进入工程创建向导,选择项目文件存放路径,项目文件名为“实验1.pdsprj”。 (2)创建原理图(schematic),默认模板为default,可根据电路规模选择合适的图纸大小。 (3)选择“Do not create a PCB layout”,即不绘制PCB图。 (4)选择第一项“No Firmware Project”,即不在Proteus平台下创建源程序。需要在Keil C环境下编写源程序并成功编译生成hex文件,然后加载到Proteus 仿真电路的单片机上。 (5)工程创建向导结束,配置情况确认。 (6)点击“P”按钮在器件库中搜索并添加电路中所需要的器件。 (7)根据电路图将器件放置到绘图区并合理布局,右键单击器件弹出快捷菜单,可以进行旋转、镜像、修改参数(如电容、电阻大小、晶振频率)等操作,双击器件也可以打开参数设置对话框,例如电容C1的设置对话框,将电容参数设置为30pF。

节日小彩灯控制电路设计

课程设计报告题目:节日小彩灯控制电路设计 课程名称:电子技术课程设计 学生姓名: 学生学号: 年级:2014 专业:通信工程 班级: 指导教师: 电子工程学院制 2016年3月

节日小彩灯控制电路设计 前言 在现代日常生活中,美丽、可爱的小彩灯越来越多的成为人们生活中的装饰品,被用于很多情况中,比如娱乐场所或是用于各式各样的电子玩具等等,不仅能美化环境、渲染气氛,还可以供人们娱乐,下面就开始彩灯控制器电路的设计。 1课程设计的任务与要求 1.1 课程设计的任务 采用555、74HC163和74LS154作为控制器,LED作为彩灯制作十六路循环彩灯。 1.2 课程设计的要求 综合运用已学习过模拟电路和数字电路等知识,阅读相关集成电路芯片资料和相关文献,了解电子电路设计的有关知识,方法和特点,掌握基本的电子电路设计和芯片使用方法。 2节日小彩灯控制电路方案制定 2.1 方案原理 本课程设计由555构成多谐振荡器来产生方波脉冲,让74LS191加减计数器计数,74LS154来进行译码,使得LED灯的亮灭。 2.2 节日小彩灯控制电路设计设计的技术方案

图1 控制电路设计流程图 3 节日小彩灯控制电路设计方案实施 3.1 单元模块功能及电路设计 (1)555时序电路 在这次课程设计中,555定时器用来产生脉冲信号。因此把555定时器接成多谐震荡器。R2、R3、C1.C2为定时元件。 图2 555多谐振荡器 (2)74LS191计数部分

因为在试验中需要一个16进制的计数器,因此采用74LS191加减计数器。我们可以改变计数器的加减来控制LED亮灭的方向。置数端A、B、C、D分别置0。4脚接地11脚为异步置数控制端,高电平有效,接高电平。14脚接脉冲信号,同555定时器的OUT脚向接。通过单刀双掷开关来控制74LS191计数器的加减。 图3 74LS191计数器 (3)74LS154译码电路与LED显示部分 74LS154为1—16线译码器,有16个输出端,实验中需要的就是十六输出的译码器。四个输入端分别同74LS191计数器的QA、QB、QC、QD相接。通过改变QA、QB、QC、QD与四个输入端的连接方式来控制LED,因为74LS154译码器输出端低电平有效,所以LED显示部分采用共阳极接法,负极分别接在74LS154的输出端上。 4LS154译码电路与LED显示部分的电路图如下:

51单片机:LED灯亮灯灭程序设计

1.功能说明:控制单片机P1端口输出,使位所接的LED点亮,其他7只灯熄灭。程序: 01: MOV A , #B ; 存入欲显示灯的位置数据 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, #B ;存入开始点亮灯位置 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 ; 11: DJNZ R7,$ ; 12: DJNZ R6,DLY2 ; 13: DJNZ R5,DLY1 ; 14: RET ;子程序返回 15: END ;程序结束 5.功能说明:单片机P1端口接8只LED,每次点亮一只,先把右边的第一只点亮,秒后点亮右数的第二只灯,第一只熄灭,再过秒点亮右数的第三只灯,第二只熄灭,…亮灯按此顺序由右向左移动。当亮灯移到左侧后,开始与上述反方向移动,即亮灯由左向右移动,重复循环。 程序: 01: START: MOV R0, #8 ;设左移8次 02: MOV A,#0FEH ;存入开始亮灯位置 03: LOOP: MOV P1, A ;传送到P1并输出 04: ACALL DELAY ;调延时子程序 05: RL A ;左移一位 06: DJNZ R0, LOOP ;判断移动次数 07: MOV R1, #8 ;设右移8次 08; LOOP1: RR A ;右移一位 09: MOV P1, A ;传送到P1并输出

单片机闪烁灯跑马灯控制课程设计

闪 烁 灯 跑 马 灯 控 制 系 统 河南工院

第1章概述 (3) 1.1设计的目的及意义 (3) 1.2单片机的概述与应用 (3) 第2章设计原理 (4) 2.1设计要求与基本思路 (4) 2.2设计方案选择 (5) 2.3设计框图 (5) 第3章硬件电路设计 (7) 3.1时钟电路 (7) 3.2扩展电路 (8) 第4章程序设计 (9) 4.1 程序设计思路与流程图 (9) 4.2程序清单与代码 (11) 4.3程序调试 (12) 第5章原件明细表 (13) 总结 (14) 参考文献 (15)

第1章概论 1.1设计的目的与意义 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。 闪烁灯控制系统是利用8051单片机的P1控制的8个发光二极管。可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1秒,如此循环,紧急情况下,控制P3.1进行报警2S停止。 闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础 1.2单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。 (4)商用产品:如自动售货机、电子收款机、电子秤。

Arduino入门教程(2)—LED灯闪烁

Arduino 入门教程(2)—LED 灯闪烁 回顾一下 Lesson 1 的内容,我简单分了以下几点: 了解 Arduino 软件编辑环境-- Arduino IDE 如何通过 Arduino IDE 下载一个 Blink 程序 "//" 和"/*...*/"的含义 setup()和 loop()函数的重要性及作用 pinMode(pin,mode)函数 digitalWrite(pin,value)函数 delay(ms)函数 开始新的一课! 这次我们还是同样要用 Blink 程序,有所不同的是,这里我们需要外接一个 LED 到数字引脚,而不是使用焊在 Arduino 板上的 LED 13(也就是“L”灯)。便于我们能清晰的认识 LED 的工作原理及一些硬件电路的搭建。 STEP 1:需要准备的东西: 1 ×DFduino UNO R3(以及配套 USB 数据线)

STEP 2:硬件连接 首先,从我们的套件中取出 Prototype shield 扩展板和面包板,将面包板背面的双面胶歇下,粘贴到 Prototype shield 扩展板上。再取出 UNO,把贴有面包板 Prototype shield 扩展板插到 UNO 上。取出所有元件,按照下图连接。

图中的蓝色与红色的线用彩色面包线连接,使用面包板上其他孔也没关系,只要元件和线的连接顺序与上图保持一致即可。 确保 LED 连接是否正确的,LED 长脚为+,短脚为-,完成连接后,给 Arduino 接上 USB 数据线,供电,准备下载程序。 STEP 3:输入代码 打开 Arduino IDE,在编辑框中输入样例代码 1-1 所示代码。(输入代码也是一种学习编程的过程,虽然提供代码的压缩包,但还是建议初学者自己输入代码,亲身体验一下。) 样例代码1-1: 1. 3. 描述:LED 每隔一秒交替亮灭一次 5. int ledPin = 10; 6. void setup() { 8. } 9. void loop() { 14. } 15. 输入完毕后,点击 IDE 的“校验(Verify)”,查看输入代码是否通过编译。如果显示没有错误,单击“下载(UpLoad)”,给 Arduino 下载代码。以上每一步都完成了的话,你应该可以看到面包板上的红色 LED 每隔一秒交替亮灭一次。

相关文档