AT89C51单片机的花样广告灯

合集下载

基于AT89C51单片机的LED点阵显示系统设计

基于AT89C51单片机的LED点阵显示系统设计

基于AT89C51单片机的LED点阵显示系统设计一、选取硬件平台本设计选取了AT89C51单片机作为主控芯片,其具有易于编程和接口丰富的特点,适合用于控制LED点阵显示系统。

通过单片机的IO口与LED点阵进行连接,并通过相应的驱动电路控制LED的亮灭,实现点阵显示功能。

二、软件设计在单片机上,我们需要编写相应的程序来控制LED点阵的显示。

以下是基本的软件设计功能:1. 点阵数据存储:在单片机的内部RAM中,设计一块存储区域,用来存放LED点阵的数据。

每个存储单元代表一个LED的亮灭状态,通过将相应的数据写入或读取出来,来实现相应的显示效果。

2. 数据刷新和循环:通过定时器中断,定时触发点阵数据的刷新。

在每次刷新时,通过逐行扫描点阵的方式,将相应的数据输出到点阵对应的LED上。

为了实现流畅的显示效果,需要进行快速的循环刷新,并及时更新点阵数据。

3. 外部控制:为了方便控制点阵的亮灭,可以设计外部按键或开关来实现一些功能,如调整亮度、改变显示内容等。

通过单片机的IO口读取外部的输入信号,进一步控制点阵显示的效果。

三、硬件设计除了单片机之外,还需要设计相应的硬件电路来实现LED点阵的驱动和控制。

1. 驱动电路:通过行选和列选的方式,来控制点阵中的每个LED的亮灭状态。

在每个行选时,通过给相应的引脚输出高电平,从而使得该行上的LED亮起;在每个列选时,通过给相应的引脚输出低电平,从而使得该列上的LED亮起。

2. 电流限制:为了保证LED在正常工作范围内,需要在驱动电路中加入适当的电流限制元件,如电流限制电阻或恒流源。

通过限制电流,在避免烧坏LED的同时,也可进一步控制LED的亮度。

3. 外部控制接口:为了实现外部控制功能,可以设计相应的按钮或开关与单片机的IO口相连接,通过读取按钮或开关的状态,来实现相应的操作。

同时,也需要设计合适的电平转换电路,以兼容单片机和外部控制信号之间的电平差异。

四、实验结果和分析经过硬件和软件的设计与调试,我们成功地实现了基于AT89C51单片机的LED点阵显示系统。

课程设计 基于AT89C51单片机的LED彩灯控制器设计

课程设计 基于AT89C51单片机的LED彩灯控制器设计

目录第1节引言 (1)1.1LED彩灯概述 (1)1.2 系统主要功能 (1)第2节新型 LED 彩灯硬件设计 (3)2.1 系统的硬件构成及功能 (3)2.1.1 主控模块电路设计 (3)2.1.2 管内 LED 板模块设计 (3)2.2 AT89C2051单片机及其引脚说明 (4)2.3LED显示数码管 (4)第3节系统的软件设计 (6)3.1 软件设计 (6)第4节结语 (8)参考文献 (9)附录 (10)第1节引言随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。

LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。

但目前市场上各式样的 LED 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。

这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。

此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。

因此有必要对现有的彩灯控制器进行改进。

1.1LED彩灯概述该LED彩灯控制器是一种基于 AT89C51 单片机的彩灯控制器,实现对 LED 彩灯的控制。

本方案以 AT89C51 单片机作为主控核心,与键盘、显示、驱动等模块组成核心主控制模块。

在主控模块上设有 8 个按键和 5 位七段码 LED 显示器,根据用户需要可以编写若干种亮灯模式,利用其内部定时器 T0 实现一个基本单位时间为 5 ms 的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。

该新型 LED 彩灯与普通 LED 彩灯相比,具有体积小、价格低、低能耗等优点。

1.2 系统主要功能新型 LED 彩灯分为 2 部分,即彩灯控制器(主控模块)和管内 LED 板模块(受控模块)。

用AT89C51与可控硅制作8路霓虹灯控制器

用AT89C51与可控硅制作8路霓虹灯控制器
本 电路 中 直 接 控 制 主 电 路 易 烧 坏 表 现 为 电路 我校有一霓虹灯用于显示 “ 吉林 机 电工 程 常 亮 而 失 去控 制 作用 , 最 后 决 定 用 双 向可 控 硅 双 向 可 控 硅 是 一种 交 流 器 件 ,它 ” 校名 , 8路输出控 制,因控制器年久损坏 , 做 交流开关 , 市 场 的控 制 器 只有 4路 ,为 此 决 定 自制 控 内 部 有 NP NP N 五 层 结 构 ,T 2 ,T 1 ,G 为 三 个
编 程 ,程 序采 用三套 闪烁方 案 ,此 处列 出一 组方案程序 ,程 序分别用汇编和 C语言编写 ,
约为 O . 6 A, 选用 B T A0 6( 6 A)已有足够余量 。
烧入 2 个 芯片 ,经过各 2 个 月的试用,汇编程
序 的芯 片出现 了程序紊乱 , 改换 C程序的芯片
文 以 自制 的 霓 虹 灯 控 制 器 为 载体 , 来说 明 如何通 过 制作 了解 单 片机 在 霓虹 灯控 制 器 中的应 用, 掌握 双 向 可 控 硅 触 发 电 路 的 功 能 和 原 理 , 同 时 本 文 详 细 阐 述 用 可 控 硅 制 作 8路控 制 器 的设 计过 程和 经 验 ,文 中还 将 电路 的故 障检 修 和 时控 开 关 的 检 修 方 法 做 了介 绍 , 同时强调制作 中的安全事项
亮灭 。
2 8 路开关控制 电路设 计
因霓虹灯是 由专用 电子镇流器 升压 ( 5 k v)
后 点 亮 荧 光 灯 管 , 该 电子 镇 流 器 需 交 流 2 2 0 V
控制 电路 :控制 电路 的供 电电源由 4 W 变
压 器 降 压 , 经 DI  ̄ D4整 流 , 再 由 c1滤 波 得 到 的 直 流 电 压 , 经 N1 ( 7 8 0 5 )稳 压 后 , 输 出

心形花样流水灯设计报告

心形花样流水灯设计报告

《专业方向课程设计》课程设计报告题目:心形花样流水灯与点阵显示专业:电子信息工程班级:二班学号:姓名:指导老师:重庆交通大学信息科学与工程学院设计时间:2013年9 月8 日到2013 年11 月16 号一、设计任务说明随着社会的发展,单片机得到了广泛的应用,人们越来越重视单片机的应用。

比如温度是和每个人息息相关的,并且在有的生产车间里还要进行温度时时测量,甚至是对温度的进一步调控等,这些都是单片机的应用之例。

本设计是用单片机和点阵加一个小的流水灯电路,这次作品的初衷是希望通过单片机学习,做个生日礼物送给朋友。

二、总体设计本系统主要有AT89C51单片机、5mm彩色LED灯、74HC245、8*8LED点阵、200欧电阻等元件组成。

1.流水灯设计:(1)AT89C51单片机:AT89C51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

A T89C51引脚图此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

引脚图如右图所示。

此次设计把51单片机的4个I/O口与32个5mm高亮LED 灯相接,通过单片机控制各I/O引脚的高低电平控制LED的亮灭从而形成各种不同亮灭的花样。

2.点阵显示设计:(1)8*8点阵原理图:从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。

运用AT89C51使LED 灯闪烁

运用AT89C51使LED 灯闪烁

运用AT89C51使LED 灯闪烁1. 概述本文档将介绍如何使用AT89C51微控制器来控制LED灯的闪烁。

AT89C51是一种高性能、低功耗的8位单片机,具备丰富的GPIO(通用输入输出)引脚,适合用于各种嵌入式应用中。

2. 硬件准备在开始编程之前,我们需要准备以下硬件设备:•AT89C51单片机开发板•LED灯•220欧姆电阻(用于限流)3. 连接电路在连接电路之前,确保开发板和所需的元件处于关机状态。

按照以下步骤连接电路:1.连接LED灯的长脚(阳极)到AT89C51的P1.0引脚。

2.连接LED灯的短脚(阴极)通过220欧姆电阻接地。

确保连接正确后,即可准备开始编程。

4. 编程以下是使用AT89C51使LED灯闪烁的示例程序:#include <REG51.h>#define LED P1_0 // 定义LED控制引脚为P1.0void delay(int milliseconds){int i, j;for (i = 0; i < milliseconds; i++)for (j = 0; j < 120; j++);}void main(){while (1){LED = 1; // 将LED引脚置高,点亮LEDdelay(1000); // 延时1秒LED = 0; // 将LED引脚置低,熄灭LEDdelay(1000); // 延时1秒}}在上面的示例代码中,我们使用P1.0引脚来控制LED灯的开关。

程序使用了一个简单的延时函数delay来实现LED灯的闪烁效果。

当LED引脚置高时,LED 灯亮起;当LED引脚置低时,LED灯熄灭。

通过在LED灯亮起和熄灭之间加入适当的延时,我们可以实现LED灯的闪烁效果。

5. 下载程序在编程完成后,我们需要将程序下载到AT89C51单片机中。

以下是下载程序的步骤:1.将AT89C51单片机开发板连接到电脑的USB口或串口上。

基于AT89C51的跑马灯

基于AT89C51的跑马灯

综合电子课程设计报告设计题目:基于AT89C51的跑马灯专业:电子信息工程班级:学号:姓名:指导教师:日期: 2010年6月30日目录一、设计任务与要求1.设计任务2.设计要求3.设计目的二、设计方案三、程序设计四、电路原理图1.电路原理图2电路PCB板五、单片机机箱测试六、心得体会七、参考文献一设计任务与要求1.设计任务选择采样AT89C51、发光二极管、晶振等器件,使用C语言实现各种跑灯动态显示效果设计。

2.设计要求实现8个LED的全亮、全灭、交错显示等。

可结合灯的排布以及程序设计实现各种跑马灯动态显示效果。

3.设计目的通过本课程设计掌握单片机系统设计思路和基本步骤,熟练用protel99软件画原理图和PCB板二设计方案在日常生活中,我们总能看到花样百出的流水灯光,但随着电子技术的飞速发展,人们对灯的花样要求也越来越高,如交错、全亮、全灭显示等,因此跑马灯得到广泛的应用。

设计流程三、程序设计程序如下:#include <reg51.H>#defineuint unsigned int#define uchar unsigned charuchar code table[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};uchar code aa[]={0xE7,0xDB,0xBD,0x7E};uchar code bb[]={0xE7,0xC3,0x81,0x00};uchar code CC[]={0x0F,0xF0,0xAA,0x55};uchar code dd[]={0xFF,0x00,0xff,0x00,0xff,0x00};uchar code ee[]={0x7E,0x3C,0x18,0x00,0xff,0xE7,0xC3,0X81,0x00};uint t=200,s=200;/************************************************** 函数名称:delay(uint t)延时函数入口参数t返回参数:***************************************************/ void delay(uint t){uint i;while(t--){for(i=0;i<125;i++);}}/*************************************************** 函数名称:keyboard()键盘函数入口参数:返回参数:t***************************************************/ keyboard(uint a){int temp;if(P2^0==0){P2=0xaf;delay(20);if(P2^0==0){temp=a;temp-=40;a=temp;while(temp<00?1:0){return s;}return a;}/*else return s;*/}}/**************************************************** 函数名称:diaplay()显示函数入口参数:返回参数:****************************************************/ void display(void){int i;for(i=0;i<=7;i++){P1=0XFF;P0=table[i];t=keyboard(t);delay(t);}for(i=7;i>=0;i--){P1=0XFF;P0=table[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=aa[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=bb[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=CC[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=dd[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=ee[i];t=keyboard(t);delay(t);}}/************************************************** 函数名称:主函数入口参数:返回参数:***************************************************/ void main(void){while(1){display();}}从表中很清楚看到我们的跑马灯结构和它每一种工作方式的如何实现的,它是靠一个12MHZ的晶体振荡器来实现分频和延时,并通过数学矩阵来对每一种方式下的发光二极管进行控制。

-基于单片机AT89C51的广场霓虹灯控制设计

-基于单片机AT89C51的广场霓虹灯控制设计

毕业设计(论文)说明书题目基于AT89C51广场霓虹灯控制系统设计日基于单片机AT89C51的广场霓虹灯控制设计摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入。

单片机是一种集成在电路芯片,是采用超大规模集成电路技术的计算机系统,具有灵活、强大的控制功能,在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,以便实时监控系统的输入量、控制系统的输出量,实现自动控制。

霓虹灯是城市的美容师,每当夜幕降临时,华灯初上,五颜六色的霓虹灯就把城市装扮得格外美丽。

霓虹灯的亮、美、动特点,是任何电光源所不能替代的,在各类新型光源不断涌现和竞争中独领风骚。

因此如何设计出变换更为多样的霓虹灯这一课题就具有了时代意义。

本设计中的广场霓虹灯是基于89C51单片机设计的,具有显示、红外通信、音乐这三大功能。

针对广场霓虹灯变换的多样性这一特点,设计了五种变换方案,通过编写软件程序来实现。

本设计针对广场霓虹灯的设计具有结构简单、可扩展性强的特点,具备电气可行性和经济可行性。

关键词:霓虹灯;89C51单片机;自动控制Design of square neon lights control based on 89C51AbstractIn recent years, with the rapid development of science and technology, SCM applications are constantly deepening. Single chip is an integrated circuit chip, is a computer system with very large scale integrated circuit technology, has the control function of flexible, powerful, in the MCU application of real-time detection and automatic control system, microcontroller as a core component to use, output to input, and real-time monitoring system, to achieve automatic control.The neon lights are the city's beautician, when night fell, lights, neon lights be riotous w ith colour of dress took exceptionally beautiful city. Neon light of bright, beautiful, dynamic characteristics, is any electric light source is not a substitute for, to play the leading role in a ll kinds of new light source are emerging and competition. Therefore, how to design a transf ormation for the subject to neon variety has the significance of the times.Square neon lamp in this design is based on 89C51 single-chip design, display, infrared communication, the voice of the three functions. According to the characteristics of diversity square neon lights transform, designed five kinds of transformation, achieved by writing software. The design for the design of square of neon lamp has the advantages of simple structure, strong scalability, electrical and economic feasibility.Keyword:neon light;89C51;automatic control目录摘要 ................................................................................................................................. I Abstract............................................................................................................................... I I 1 绪论 .. (1)1.1 课题研究的目的和意义 (1)1.2 霓虹灯研究情况概述 (2)1.3 论文主要研究内容 (4)2 系统方案设计 (6)2.1 系统总体设计方案 (6)2.2 通信模块的确定 (7)2.3 显示模块与音乐模块的确定 (7)2.4 电源模块的确定 (8)2.5 单片机控制部分的确定 (8)3 AT89C51单片机概述 (9)3.1 AT89C51特性 (9)3.2 单片机最小应用系统 (9)3.2.1 时钟电路 (9)3.2.2 复位电路 (10)3.3 I/O接口的扩展 (11)3.4 掉电保护设计和硬件―看门狗‖ (12)3.4.1 微处理器监控器MAX690A简介 (12)3.4.2 电路工作原理 (13)4 硬件部分的设计 (14)4.1 红外通信模块的设计 (14)4.1.1 实现目标 (14)4.1.2 元器件选型 (14)4.1.3 电路设计 (116)4.2 显示模块的设计 (16)4.2.1 LED数码管的显示原理 (16)4.2.2 显示方案及接线 (18)4.3 音乐模块的设计 (19)4.3.1 模块组成 (19)4.3.2 音乐模块接线图 (20)4.4 电源模块的设计 (20)5 软件部分设计 (22)5.1 软件说明 (22)5.2 系统总流程介绍 (23)5.3 显示与音乐模块流程介绍 (24)5.4 红外通信流程介绍 (25)6 结论 (26)参考文献 (28)谢辞 (29)附录 (30)1 绪论1.1 课题研究的目的和意义霓虹灯是一种低气压冷阳极辉光放电发光的光源。

跑马灯课程设计

跑马灯课程设计
对于EPROM型单片机,在EPROM编程期间,此引脚用于施加21V的编程电源(VPP)。
2)时钟振荡电路引脚XTAL1和XTAL2:
(1)XTAL1(19脚):外接石英晶体和微调电容引脚1。它是片内振荡电路反向放大器的输入端。采用外部振荡器时此引脚接地。
(2)XTAL2(18脚):外接石英晶体和微调电容引脚2。它是片内振荡电路反向放大器的输出端。采用外部振荡器时此引脚为外部振荡信号输入端。
学习单片机的最有效方法就是理论与实践并重,现在我把单片机流水灯设计作为一个课程设计,需要更深的去了解单片机的很多功能,努力的去查找资料。本课题将以发光二极管作为发光器件,用单片机自动控制,实现一个简易的跑马灯设计。
2
2.1 AT89C51芯片功能特性及应用
单片机在我们的日常生活和工作中无处不在、无处不有:家用电器中的电子表、洗衣机、电饭褒、豆浆机、电子秤;住宅小区的监控系统、电梯智能化控制系统;汽车电子设备中的ABS、GPS、ESP、TPMS;医用设备中的呼吸机,各种分析仪,监护仪,病床呼叫系统;公交汽车、地铁站的IC卡读卡机、滚动显示车次和时间的LED点阵显示屏;电脑的外设,如键盘、鼠标、光驱、打印机、复印件、传真机、调制解调器;计算机网络的通讯设备;智能化仪表中的万用表,示波器,逻辑分析仪;工厂流水线的智能化管理系统,成套设备中关键工作点的分布式监控系统;导弹的导航装置,飞机上的各种仪表等等。有资料表明:2007年全球单片机的产值达到151亿美元,我国单片机的销售额达到400亿元人民币,我国每年单片机的需求量达50至60亿片,是全球单片机的最大市场。可以说单片机已经渗透到了我们生活的各个领域。
4) (29脚):外部程序存储器的读选通信号输出端,低电平有效。在从外部程序存储器取指令(或常数)期间,此引脚定时输出负脉冲作为读取外部程序存储器的信号,每个机器周期 两次有效,此时地址总线上送出的地址为外部程序存储器地址;在此期间,如果访问外部数据存储器和内部程序存储器,不会产生 信号。

基于AT89C51单片机控制的LED显示屏的设计

基于AT89C51单片机控制的LED显示屏的设计

HEBEINONGJI摘要:现代社会电子产品的应用越来越广泛,单片机作为核心控制器,其应用已经广泛渗入社会的各行各业。

LED显示屏在现代社会的各个领域里应用也越来越多。

本文主要研究如何用AT89C51单片机控制一块LED显示屏来循环滚动显示不同的汉字。

用C语言在Keil软件上编制程序代码,用Proteus软件对系统进行仿真。

关键词:LED显示屏;AT89C51;C语言程序基于AT89C51单片雌制的LED显示屏的设计苏州健雄职业技术学院赵素玲1控制要求使用AT89C51单片机控制一个8x8LED点阵显示屏,循环滚动显示不同的汉字。

不同的汉字有不同的代码,本文以作者自己所在的城市“太”'呛”“市”三个字为例来进行循环滚动演示,当然也可以显示其他的汉字。

具体要求是:1.1以AT89C51芯片为核心,加上外围辅助电路,设计出仿真电路图;1.2根■据要求用Keil软件编写出C语言程序代码;1.3用一个8x8LED点阵显示屏,"太""仓""市"三个字循环滚动显示。

2系统硬件设计2.1仿真电路图设计AT89C51芯片由电源、地、晶振和复位电路组成单片机最小系统。

Xl(晶体)与两个电容Cl、C2(30PF)组成了晶振。

1K电阻Rl、200fl电阻R2.22UF电容和一个按钮构成复位电路。

由P2口控制8x8LED显示屏的列,P3口控制8x8LED显示屏的行,电路如下图所示。

2.2元器件清单系统仿真元器件清单列表如表2-1所示:表2-1元器件清单列表序号代号名称型号与规格数量1Cl C2电容30PF22C3电容22UF13R1电阻1K14R2电阻20015XI晶体CRYSTAL16LED点阵8X817U1主控芯片AT89C5113系统软件设计系统C语言程序代码:#include<reg51,h>//包括一个51标准内核的头文件#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code tai[]={0xf7,0xf7,0x00,0xe7,0xdb,0xad,0x7e,0xfif};//太uchar code cang[]={Oxf7,Oxe7,Oxdb,Ox81,0x5a,0xd3,0xdd,0xc1};〃仓uchar code shi[]={0xf7,0x80,0xf7,0x80,0xb6,0xb4,0xb6,0xf7};//市delay(uint z)//带有形参的延时子函数{uint x,y;fbr(x=z;x>0;x——)for(y=200;y>0;y―);}void main(void)//主程序{uchar a,b,c,u,v,w;//初始化定义P3=0x80;〃给行赋初值while(l){u=0;while(u<80)//"太"字显示的时间{a=0;while(a<8){P3二_crol_(P3,l);〃更新行P2=tai[a];〃将“太”字对应行的内容传给P2口delay(l);//调用延时子函数a++;}u++;}v=0;while(v<80)〃"仓"字显示的时间{b=0;while(b<8){P3二_cn)l_(P3,l);//更新行P2=cang[b];//将“仓”字对应行的内容传给P2口delay(l);//调用延时子函数b卄;}v++;}w=0;while(w<80)〃"市"字显示的时间{c=0;while(c<8){P3=_crol_(P3,l);//更新行P2=shi[c];//将“市”字对应行的内容传给P2口delay(l);//调用延时子函数C++;}2020年第5期何卞衣祀85H EBEINONGJIw++;}}}在程序设计中,先对用到的变量进行初始化设置,保证程序可以有效运行。

LED灯实验报告

LED灯实验报告

mcs-51单片机接口技术实验适用:电气类专业本科学生实验报告实验一熟悉proteus仿真模拟器,led花样表演一、实验目的掌握以下方法:1.在proteus的环境下,设计硬件原理图;2.在keilc集成环境下设计c51语言程序;2.在proteus的环境下,将硬件原理图与软件联接仿真运行。

二、实验环境1.个人微机,windows操作系统2.proteus仿真模拟器3.keilc编程三、实验题目基本题:使用8051的并口带动8个led发光二极管显示一种花样表演。

提高题:使用一个键切换实现3种以上花样表演。

四、实验类型:学习、模仿与简单设计型。

五、实验步骤:0、进入isis,先选择需要的元件,然后设计电原理图,保存文件;1、在keilc软件集成环境下编写源程序,编译工程文件;2、将所设计的硬件原理图与目标代码程序相联接;4、按play键,仿真运行程序。

附,可能用到的元件名称:cpu:at89c51或任一种mcs-51家族cpu;晶振:crystal;电容器:capacitors,选22pf 电解电容:cap-elec或genelect10u16v 复位电阻:minres10k限流电阻:minres330r按键:buttonled:led-blue/red/yellow或diode-led (一)接线图如下:(二).基础花样(四)程序流程图(五)c程序#include &lt;reg52.h&gt;#define uint unsigned int#define uchar unsigned char const tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, /*正向流水灯*/ 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,};/*反向流水灯*/ const tab2[]={0xff,0x00,0xff,0x00,0xff,0x00,}; void delay(){uint i,j;for(i=0;i&lt;256;i++)for(j=0;j&lt;256;j++){;}}void int1() interrupt 0{uchar i;for (i=0;i&lt;6;i++){ p0=tab2[i];delay();}}void main(void){ex0=1;it0=1;ea=1; while(1){uchar x;for(x=0;x&lt;15;x++){ p0=tab1[x];delay();}}} (六)总结本次实验让我能够熟练的掌握和使用keil和proteus等软件进行编程和仿真,也对流水灯的原理和硬件结构有了更加深刻的认识。

基于AT89C51单片机的彩灯控制方案设计(含源文件)

基于AT89C51单片机的彩灯控制方案设计(含源文件)
因此在LED彩灯上电工作后,用户可以方便地通过主控模块控制LED亮灯代码,根据实际应用需要在不同场合和时间来改变彩灯闪亮效果,以便符合实际需要。此外如果用户对某一种模式感兴趣需要仔细观看该种亮灯模式,可以通过编程选定任意第table_i模式使系统循环重复工作在该花样模式下。
图1系统原理框图
2.硬件设计
机械电子工程系
毕业设计报告
引言……………………………………………1
设计目的任务和要求…………………………1
总体设计方案…………………………………. 2
结语……………………………………………10
一、引言
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰 富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe, //右移两次//
0x00,0xff,0x00,0xff,0x00}; //闪烁两次//
unsigned char code table_2[]={0x00,0xff,0x00,0x00,
我们采用一种基于AT89C51单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以AT89C51单片机作为主控核心,与显示、驱动等模块组成核心主控制模块。在主控模块上设有24个LED显示灯,根据Байду номын сангаас户需要可以编写若干种亮灯模式,利用程序定时实现各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。所以亮灯模式多,用户可以根据不同场合和时间来调节亮灯频率和亮灯时间。与普通LED彩灯相比,具有体积小、价格低、低能耗等优点。

基于单片机的心形流水灯设计

基于单片机的心形流水灯设计

主程序流程图
电路原理总图
PCB板图
实物制作
经过一段时间的不断努力和学习,我在测试部分首先检查 了电路连接是否有错(少接、短路、接错、元件焊接不牢 等问题),可以用万用表来检测电路的导通情况。然后再 检查单片机的最小系统:能否使单片机正常工作等。最后 经过调试,系统整体调试:系统各个模块的测试,能够正 常工作,达到设计预期的目标。
课题要求: 结合C语言编程,使心形环绕LED流水灯实现42种不同形式的闪 烁功能,由快到慢,再由慢到快,在循环往复不断的变化中,给 人带来美的体验。
方案择
方案的选择与论证 基于单片机的新型电动栏杆设计由硬件部分和软件部
分两大部分组成。硬件系统采用STC89C52单片机作为中 央处理器,采用了多路电源供电,结合步进电机驱动电路 ,达到过往车辆数量检测,并结合数码管显示等功能。而 软件系统则采用模块化设计,包括车辆数量记录模块,距 离电机驱动模块、数码管显示模块等等。 主控制器芯片主要是负责控制LED灯的不同变化速度快慢 以及变化效果。主控制器作为整个系统的控制核心部分, 要求其功耗低、数据转换速率快。。
研究概述
研究背景与意义
随着现代科学技术的持续进步和发展和人们生活水平 的不断提高,以大规模、超大规模集成电路为首的电子工艺技术 的使用也越来越广泛,在日常生活中
也普遍常见,结合单片机技术设计的电子电路也层出不穷,像 是基于单片机技术设计的LED流水灯,也越来越满足商业 空间的需求,LED灯的优点主要体现在高节能、绿色环保 、无辐射、使用寿命长等,在商店、酒吧、歌厅、舞台等 许多场所正是由于装饰LED彩灯来照明,来展示店铺主题 形象,塑造空间光形象,从而使消费者产生共鸣和联想, 来建立情感交流,来吸引和引导消费者的目光。

用AT89C51单片机实现8个彩色LED发光的流水灯电路

用AT89C51单片机实现8个彩色LED发光的流水灯电路

用 AT89C51单片机实现 8个彩色 LED发光的流水灯电路1.摘要:流水灯是常见的装饰,常见于舞台等场合,本设计主要使用AT89C51芯片,利用P1的8个端口通过74LS373驱动,连接8个发光二极管,通过P1.0到P1.7值的控制,使8个彩色LED依次发光,以达到显示的效果。

二、设计任务和要求用AT89C51芯片,设计一个能控制8个发光二极管轮流闪的流水灯电路。

四、硬件电路设计及描述本设计主要使用AT89C51芯片,利用P1的8个端口通过74LS373驱动,连接8个发光二极管,通过P1.0到P1.7值的控制,使8个彩色LED轮流亮灭,以达到显示的效果。

1.软件设计思路及描述主程序设计思路为,开始时点亮一个灯,其余全灭。

然后执行左移,8个灯依次点亮。

“RLA A”是一条左移指令,它的用途是把A累加器中的值循环左移。

设A=1111 1110,则执行一次指令后,A累加器中的值就变为1111 1101,执行第二次后就变为1111 1011,也就是各位数字不断向左移动,而最右一位由最左一位移入。

1.设计流程图1.编辑源程序将原代码生成一个后缀为.asm的文件,点击确定后,打开这一选项即可添加源程序代码。

源程序:ORG 0000HLJMP STARTORG 30HSTART:MOV A,#0FEHLOOP:MOV P1,ARL ALCALL DELAYLJMP LOOPDELAY:MOV R7,#250D1:MOV R6 #250D2:DJNZ R6,$DJNZ R7,D1RETEND八、软件编译,载入,调试1、保存文本内容后,点击源代码菜单下的全部编译,即可对程序进行编译,生成以.Hes后缀的文件。

2、程序载入CPU3、调试:程序加载完成后,点击按钮运行调试仿真。

九、运行仿真运行仿真后出现效果如下图:ledD1、D2、D3、D4、D5、D6、D7、D8依次点亮。

十、结与体会通过这次课程设计,不仅加深了对单片机控制系统及其语言的应用与理解,锻炼了自己这方面的能力,而且还学到了不少新东西,使自己的专业知识、专业技能有所提高。

单片机花样流水灯设计实验报告

单片机花样流水灯设计实验报告

**大学物理学院单片机花样流水灯设计实验课题: 花样流水灯设计班级: 物理 ***姓名: ***学号: ……………【摘要】当今时代的智能控制电子技术,给人们的生活带来了方便与舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。

制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统与单片机智能控制系统等。

本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51与发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备与必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。

本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。

该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。

关键字:AT89C51 单片机流水灯数码管【概述】1、单片机及其发展概况单片机又称为单片微计算机,其特点就是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。

单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。

2、 Protues仿真软件简介Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。

利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。

【实验设计目标】设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

基于AT89C51的跑马灯

基于AT89C51的跑马灯

综合电子课程设计报告设计题目:基于AT89C51的跑马灯专业:电子信息工程班级:学号:姓名:指导教师:日期: 2010年6月30日目录一、设计任务与要求1.设计任务2.设计要求3.设计目的二、设计方案三、程序设计四、电路原理图1.电路原理图2电路PCB板五、单片机机箱测试六、心得体会七、参考文献一设计任务与要求1.设计任务选择采样AT89C51、发光二极管、晶振等器件,使用C语言实现各种跑灯动态显示效果设计。

2.设计要求实现8个LED的全亮、全灭、交错显示等。

可结合灯的排布以及程序设计实现各种跑马灯动态显示效果。

3.设计目的通过本课程设计掌握单片机系统设计思路和基本步骤,熟练用protel99软件画原理图和PCB板二设计方案在日常生活中,我们总能看到花样百出的流水灯光,但随着电子技术的飞速发展,人们对灯的花样要求也越来越高,如交错、全亮、全灭显示等,因此跑马灯得到广泛的应用。

设计流程三、程序设计程序如下:#include <reg51.H>#defineuint unsigned int#define uchar unsigned charuchar code table[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};uchar code aa[]={0xE7,0xDB,0xBD,0x7E};uchar code bb[]={0xE7,0xC3,0x81,0x00};uchar code CC[]={0x0F,0xF0,0xAA,0x55};uchar code dd[]={0xFF,0x00,0xff,0x00,0xff,0x00};uchar code ee[]={0x7E,0x3C,0x18,0x00,0xff,0xE7,0xC3,0X81,0x00};uint t=200,s=200;/************************************************** 函数名称:delay(uint t)延时函数入口参数 t返回参数:***************************************************/ void delay(uint t){uint i;while(t--){for(i=0;i<125;i++);}}/*************************************************** 函数名称:keyboard()键盘函数入口参数:返回参数:t***************************************************/ keyboard(uint a){int temp;if(P2^0==0){P2=0xaf;delay(20);if(P2^0==0){temp=a;temp-=40;a=temp;while(temp<00?1:0){return s;}return a;}/*else return s;*/}}/**************************************************** 函数名称:diaplay()显示函数入口参数:返回参数:****************************************************/ void display(void){int i;for(i=0;i<=7;i++){P1=0XFF;P0=table[i];t=keyboard(t);delay(t);}for(i=7;i>=0;i--){P1=0XFF;P0=table[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=aa[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=bb[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=CC[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=dd[i];t=keyboard(t);delay(t);}for(i=0;i<=7;i++){P1=0XFF;P0=ee[i];t=keyboard(t);delay(t);}}/************************************************** 函数名称:主函数入口参数:返回参数:***************************************************/ void main(void){while(1){display();}}从表中很清楚看到我们的跑马灯结构和它每一种工作方式的如何实现的,它是靠一个12MHZ的晶体振荡器来实现分频和延时,并通过数学矩阵来对每一种方式下的发光二极管进行控制。

毕业设计(论文)-基于AT89C51单片机的简易流水灯的软硬件设计

毕业设计(论文)-基于AT89C51单片机的简易流水灯的软硬件设计

江西渝州科技职业学院电子技术专业专科毕业论文论文题目:流水灯学生姓名:学号:班级:指导老师:专业:二0一一年十一月江西渝州科技职业技术学院电子专业(专科)毕业论文摘要当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。

随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的流水灯,主要介绍了利用AT89C51制作一简易流水灯的软硬件设计过程,可实现花样流水灯的效果,重点给出了其软件编程的思想方法,以期给单片机学习者以启发。

[关键词]:单片机,LED彩灯;AT89C52江西渝州科技职业技术学院电子专业(专科)毕业论文ABSTRACTThe present era is an era of endless new technologies in the electronics field, especially in the field of automated intelligent control, the traditional discrete components or digital logic circuits of the control system is at an unprecedented pace has been replaced by MCU intelligent control system. SCM has a small volume, strong function, low cost, wide application scope, etc., can be said that the core of intelligent control and automation is the microcontroller. At present, a learning and application of SCM is the climax of factories, schools and the rise of large-scale enterprises. As the times progress and development, and SCM technology has spread to the way we live, work, research in various fields has become a relatively mature technology, this article introduces a microcomputer-based flow control, lights, introduces AT89C51 produced using a simple hardware and software design process flow lights can be synchronized to achieve the effect of light flowing water, with emphasis given way of thinking of its software programming, with a view to the microcontroller to inspire learners.[Keywords]: MCU, LED Lantern; AT89C51江西渝州科技职业技术学院电子专业(专科)毕业论文目录引言 (5)一元件介绍 (6)1.1 AT80C51的基本特征及引脚 (6)1.2 电阻 (7)1.3电容 (8)1.4发光二极管的结构及发光原理 (9)1.5三端稳压集成电路7805 (10)二设计任务 (11)2.1设计的要求 (11)三总体设计方案 (11)3.1系统硬件电路设计 (11)3.1.1电源电路设计 (11)3.1.2程序流程图 (11)3.1.3主体电路的设计 (12)3.2系统程序设计 (14)结束语 (16)展望 (17)参考文献 (18)江西渝州科技职业技术学院电子专业(专科)毕业论文引言随着人们生活水平的提高,环境的不断改善和美化,在许多场合可以看到彩色的流水灯。

花样走马灯课程设计

花样走马灯课程设计

花样走马灯一设计目的1.掌握单片机系统设计思路和基本步骤。

2.熟悉keil C51高级语言集成开发环境。

3.熟悉使用基于proteus的单片机系统仿真软件。

4.了解proteus VSM与uvision3 IDE的联调过程。

二设计要求实现单片机控制P1口的8个LED花样走马灯,要求连续实现以下四个效果:1.单灯左移;2.单灯右移;3.单灯逐个点亮,接着逐个熄灭;4.两边向中间逐个点亮,接着中间向两边逐个熄灭。

三总体设计1.单片机应用系统的设计步骤和方法是基本一致的,一般分为总体设计,硬件的路的构思设计,软件的编制和仿真调试四个阶段。

2.硬件电路设计(1)由AT89C51和LED-BIBY构成一个基本的单片机系统,再在外部I/O引脚上连接用于显示引脚状态的LED,就构成了花样走马灯的硬件电路。

(2) 8个LED连接到单片机的P1口,用D1-D8这8个LED指示出对应的P1.0-P1.7口的高、低电平状态,LED亮表示对应的口输出的低电平,LED灭表示对应的口输出的高电平。

3.程序代码设计(1)根据所设计的硬件电路,给P1口送入不同的二进制数,并延时即可达到控制P1口上LED 亮灭的目的。

(2)单灯左移先让P1.0口的灯亮,即在P1.0口送入低电平0,其他端口的灯处于灭的状态,即在其他端口送入1,所以送入初值为11111110,转换为十六进制数为0xfe,之后依次亮,只需用本征库函数指令_crol_将char型变量循环向左移动一位,即可达到单灯左移的效果。

(3)单灯右移以上单灯左移完成后P1的值为0x7f,所以此时可用本征库函数令_cror_ 将char型变量循环向右移动一位,达到单灯右移的目的。

注意:使用本征库函数时,源程序开头必须包含#include <intrins.h> 一行。

(4)单灯逐个点亮,接着逐个熄灭利用数组即可实现单灯逐个点亮,接着逐个熄灭。

即定义一个数组,写出单灯逐个点亮时的二进制数,即为uchar code bb[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00},逐个点亮的时候只需引用数组即可,再定义一个数组实现逐个熄灭,数组即为uchar code cc[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}。

基于AT89C51单片机LED彩灯控制器设计

基于AT89C51单片机LED彩灯控制器设计

40 ‘ — b0 - .I . c _ j ■ d。 一 一 一 一 — _ — h ~ I 一
0 ——一 ——— . —.}~
f g

d 。
=j … —
_ _
d p
一- l '- -, po■ c l

图 2 L D 显 示 模 块 的 内部 电路 E
连 。 ( 图 2 如 )

通 过 扫 描 P . P . 口 , 断 是 否 有 按键 按 下 , 后 在 2 H 内存 3一 3 0 2 判 然 0 单 元 的低 3位 的 对 应 位 置 置 1 志 , 定应 执 行 的 闪 烁 功 能 。 2 H. 标 确 当 0 0




1 L 0 3特点 . U N2 o 2 U N 0 3是 高 耐压 、 电 流 达林 顿 陈列 , L 20 大 由七 个 硅 N N 达 林 顿 管 P 组 成 。 ( 图 1 电路 的特 点 如 下 : L 2 0 如 ) U N 0 3的 每 一 对 达 林 顿 都 串 联 一
个 2 K 的 基极 电阻 ,在 5 的工 作 电 压 下它 能 与 . 7 V
和C M0 电 路 直
接 相 连 , 以直 接 处 理 原 先 需要 标 准 逻 辑 缓 冲 器来 处 理 的数 据 。 可
图 3 彩 灯 控 制 器
3. 件 设计 软
图 1
3 1 程 序 .主
UL 20 N 0 3工 作 电压 高 , 作 电 流 大 , 电 流 可 达 50 A, 且 能 工 灌 0m 并 为 l时 。 光 管 轮 流 点亮 图 案 1 当 2 H. 发 : 0 1为 1时 , 光 管 逐 点 点 亮 图 发 够 在 关 态时 承 受 5 V 的 电压 , 出 还 可 以在 高 负 载 电 流 并 行 运行 。 0 输 案 件 2 当 2 H. ; 0 2为 1 ,发 光 管 间隔 闪 亮 图 案 3 通 过 扫描 P - 时 。 3一 4 1 E . L D显 示 的 工 作 原理 3 35来 E 0 L ED显示 块 是 由发 光 二 极 管显 示 字 段 的 显示 器件 。 单 片 机应 用 P . 改 变 L D 的 闪烁 频 率 。在 主 程 序 对 2 H 的 低 3位 进行 位值 判 在 转 对 0 系 统 中 通 常 使 用 的 是 7段 L D。这 种显 示 器 共 有 共 阴 极 和 共 阳极 两 定 后 , 入 相 应 的 闪 烁控 制 程序 。 上 电初 始 化 时 , 2 H 的最 低 位 置 E , 种 ,本 设 计 将 用 共 阴极 。共 阴极 L D显 示 块 的发 光 二 极 管 与 阴极 并 1 系统 进 入 轮 流 点 亮方 式 。 E 主程 序 流 程 图 如 图 4所 示 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

物理与电子信息学院课程设计Ⅳ基于AT89C51单片机的花样彩灯仿真分析姓名:班级:电子科学与技术学号:指导老师:时间:2011年1日6日目录内容摘要 (1)关键词 (1)Abstract (1)1绪论 (1)2 系统设计 (2)2.1 设计任务与要求 (2)2.2 方案的选择与论证 (2)3 系统硬件设计 (2)3.1 控制器模块 (3)3.2 按键模块 (5)3.4 LED显示模块 (5)3.5硬件元件清单 (6)4软件设计与仿真 (6)4.1主程序设计 (6)4.3 仿真结果 (8)4.4 系统调试 (9)4.5 误差分析 (9)结束语 (10)内容摘要:随着电子技术的迅速发展,单片机得到了越来越多的应用。

本设计用单片机89S51结合LED(发光二极管)制作了一个广告移动彩灯,它由一块89S51组成,通过逐次扫描其中一块的P2.0--P2.7口,从而依次实现彩灯轮流点亮、逐点点亮、间隔点亮。

关键词:LED彩灯;AT-89C51单片机;彩灯控制器Abstract:Along with the electronic technology rapid development, the monolithicintegrated circuit obtained more and more many applications. Here Iused monolithic integrated circuit 89C51 to unify LED (light emitterdiode) to manufacture a belt music broadcast function advertisementmigration colored lantern with the loudspeaker, it was composed by two89C51, through gradually scanned together P3.0--P3.2 mouth, judgedwhether had the pressed key to press down, unified the port scanningand the pressed key scanning, thus realized the colored lantern tolighten, to lighten, the gap point by point in turn in turn lightens.Keywords: LED lantern; AT-89C51 single-chip microcomputer; Lantern controller1绪论近年来,彩灯对于美化、亮化城市有着不可轻视的重要工作。

因此作为城市装饰的彩灯需求量越来越大,对与彩灯的技术和花样也越来越高。

但传统的彩灯控制电路一般是由数字电路组成,这种彩灯控制器电路结构复杂、成本较高、功率损耗大,此外从功能效果上看,彩灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。

因此有必要对现有的彩灯控制器进行改进。

而单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

LED彩灯具有成本低、发光纯度高、发光热量小、耗电量低、超长寿命的特点。

所以利用单片机作LED彩灯控制,不仅是使控制花样、路数大大增加,成本也很低,而且对环境能源没有污染,有着很大的发展前景。

本方案是一种基于AT-89C51单片机的彩灯控制方案,实现对LED彩灯的控制。

主要以AT-89C51单片机作为主控核心与发光二极管、晶振、复位、电源等组成电路,利用软件编辑实现彩灯流水灯的效果。

2 系统设计2.1 设计任务与要求2.1.1 设计任务(1)设计一个基于单片机的花样彩灯;(2)在设计过程中,选择1~2个单元电路使用仿真软件(例如Proteus等)进行仿真调试;(3)用计算机绘制所有的电路图。

2.1.2 设计要求(1)设计一个花样彩灯。

(2)彩灯至少有7种工作模式。

(3)当按下按键后,模式可以复位。

2.2 方案的选择与论证2.2.1 总体设计方案方案一:采用各类数字电路来组成键盘控制系统,进行信号处理,如选用CPLD等可编程逻辑器件。

本方案电路复杂,灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。

方案二:过单片机控制二极管的闪烁,通过中断来改变模式同时串行输出数码管。

P0,P1口接16个二极管,P3口接扩展板的数码显示接口。

该方案简单,易于设计和控制。

3 系统硬件设计按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。

AT-89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT-89C51单片机时无须外扩存储器。

因此,本彩灯控制系统实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

其具体硬件组成如图1所示。

图1彩灯硬件原理图从图1中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要让接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。

因此,要实现彩灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做彩灯了。

在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“彩灯”效果了。

3.1 控制器模块本系统控制器芯片采用AT89C51单片机,其管脚图如图3所示。

D8-D6:数据输入线。

RESET:复位端口。

T0,T1:计数器端口外部计数脉冲输入线。

XTAL1,XTAL2:时钟电路。

VCC:供电电压。

GND:接地。

图3 89C51功能说明图AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51具有以下特性:与MCS-51 兼容,4K字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24MHz,三级程序存储器锁定,128×8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式、片内振荡器和时钟电路。

3.2 按键模块采用如下所示电路来实现控制花样彩灯的复位,按下开关,单片机复位,花样彩灯按模式一闪烁。

图电源电路有三端稳压器7805和电容组成,外部电池供电,BAT接7V左右的电压,稳压输出5V的电压。

电源电路如图4所示。

图4.电源电路3.4 LED显示模块LED显示电路由单片机89C51的P0口,P1口和P2口与发光二极管相连,低电平二极管发光。

LED显示电路如图2所示。

图2.LED显示电路3.5硬件元件清单系统元器件清单见表2。

表2 系统元器件清单4软件设计与仿真本系统程序包括主程序、键盘扫描子程序、发送键码子程序、发送数据子程序、接收命令子程序等。

主程序用于系统初始化,子程序调度等。

键盘扫描子程序用于扫描键盘状态,将被按键的位置号存入缓冲器中。

发送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接口。

发送数据子程序用于将数据发给单片机接口。

接收命令子程序用于接收单片机接口发来的键盘命令。

4.1主程序设计程序流程图:中断程序:主程序:4.2 仿真软件简介P roteus是英国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:(1)实现了单片机仿真和SPICE电路仿真相结合。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

(2)支持主流单片机系统的仿真。

目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。

(3)提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB 等软件。

(4)具有强大的原理图绘制功能。

总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

Proteus7.5是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR、PIC 等常用的MCU及其外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI 器件、部分IIC器件等)。

软件编译采用KEIL C51软件,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

4.3 仿真结果先按复位键,系统初始化,然后8个LED开始按照要求闪烁,分别按下列模块点亮:模块1:循环单向闪烁,只有一个灯亮模块2:循环单向闪烁,只有两个灯亮模块3:循环往复闪烁,只有一个灯亮模块4:全亮全灭模块5:顺次点亮或者熄灭,多个灯亮模块6:顺次点亮或者熄灭,多个灯亮,一次点亮两个模块7:双端对称往返闪烁4.4 系统调试在调试过程中主要是对程序的修改,特别是延时子程序。

相关文档
最新文档