AT89C51单片机的花样广告灯
基于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彩灯控制器设计

目录第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路霓虹灯控制器

编 程 ,程 序采 用三套 闪烁方 案 ,此 处列 出一 组方案程序 ,程 序分别用汇编和 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 灯闪烁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的跑马灯专业:电子信息工程班级:学号:姓名:指导教师:日期: 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的广场霓虹灯控制设计摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入。
单片机是一种集成在电路芯片,是采用超大规模集成电路技术的计算机系统,具有灵活、强大的控制功能,在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,以便实时监控系统的输入量、控制系统的输出量,实现自动控制。
霓虹灯是城市的美容师,每当夜幕降临时,华灯初上,五颜六色的霓虹灯就把城市装扮得格外美丽。
霓虹灯的亮、美、动特点,是任何电光源所不能替代的,在各类新型光源不断涌现和竞争中独领风骚。
因此如何设计出变换更为多样的霓虹灯这一课题就具有了时代意义。
本设计中的广场霓虹灯是基于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 课题研究的目的和意义霓虹灯是一种低气压冷阳极辉光放电发光的光源。
跑马灯课程设计

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脚):外部程序存储器的读选通信号输出端,低电平有效。在从外部程序存储器取指令(或常数)期间,此引脚定时输出负脉冲作为读取外部程序存储器的信号,每个机器周期 两次有效,此时地址总线上送出的地址为外部程序存储器地址;在此期间,如果访问外部数据存储器和内部程序存储器,不会产生 信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 系统调试在调试过程中主要是对程序的修改,特别是延时子程序。