您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于AT89C51单片机的花样彩灯
黄河科技学院单片机课程设计-1-目录1摘要.....................................................................错误!未定义书签。2系统设计................................................................-2-2.1设计任务与要求.....................................................-3-2.2方案的选择与论证...................................................-3-3系统硬件设计............................................................-3-3.1控制器模块.........................................................-4-3.2按键模块...........................................................-6-3.4LED显示模块........................................................-6-3.5硬件元件清单.......................................................-7-4软件设计与仿真...........................................................-7-4.1主程序设计.........................................................-7-4.2仿真软件简介.......................................................84.3仿真结果..........................................................104.4系统调试..........................................................10黄河科技学院单片机课程设计-2-4.5误差分析..........................................................11结束语..................................................................-12-参考文献.................................................................13附录程序代码............................................................14摘要:随着电子技术的迅速发展,单片机得到了越来越多的应用。本设计用单片机8951结合LED制作了一种新型的LED彩灯控制系统的设计方法,以AT-89C51单片机作为主控核心,与按键、显示器等较少的辅助硬件电路相结合,利用软件实现对LED彩灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。关键字:LED彩灯;AT89C51单片机;彩灯控制器;模块设计黄河科技学院单片机课程设计-3-系统设计2.1设计任务与要求2.1.1设计任务(1)设计一个基于单片机的花样彩灯;(2)在设计过程中,选择1~2个单元电路使用仿真软件(例如Proteus等)进行仿真调试;(3)用计算机绘制所有的电路图。2.1.2设计要求(1)设计一个花样彩灯。(2)彩灯至少有7种工作模式。(3)当按下按键后,模式可以复位。黄河科技学院单片机课程设计-4-2.2方案的选择与论证2.2.1总体设计方案方案一:采用各类数字电路来组成键盘控制系统,进行信号处理,如选用CPLD等可编程逻辑器件。本方案电路复杂,灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。方案二:过单片机控制二极管的闪烁,通过中断来改变模式同时串行输出数码管。P0,P1口接16个二极管,P3口接扩展板的数码显示接口。该方案简单,易于设计和控制。3系统硬件设计按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT-89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT-89C51单片机时无须外扩存储器。因此,本彩灯控制系统实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。黄河科技学院单片机课程设计-5-图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:接地。图389C51功能说明图黄河科技学院单片机课程设计-6-AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。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所示。黄河科技学院单片机课程设计-7-图4.电源电路3.4LED显示模块LED显示电路由单片机89C51的P0口,P1口和P2口与发光二极管相连,低电平二极管发光。LED显示电路如图2所示。图2.LED显示电路3.5硬件元件清单系统元器件清单见表2。表2系统元器件清单器件数量器件数量AT89C511晶振器1LED8排阻(4.7k)8电容(30pF)2电阻(100k)1电容(10uF)1开关14软件设计与仿真本系统程序包括主程序、键盘扫描子程序、发送键码子程序、发送数据子程序、接黄河科技学院单片机课程设计-8-收命令子程序等。主程序用于系统初始化,子程序调度等。键盘扫描子程序用于扫描键盘状态,将被按键的位置号存入缓冲器中。发送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接口。发送数据子程序用于将数据发给单片机接口。接收命令子程序用于接收单片机接口发来的键盘命令。4.1主程序设计程序流程图:中断程序:主程序:黄河科技学院单片机课程设计-9-4.2仿真软件简介Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:(1)实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试黄河科技学院单片机课程设计-10-器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2、MPLAB等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。Proteus7.5是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI器件、部分IIC器件等)。软件编译采用KEILC51软件,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。黄河科技学院单片机课程设计-11-4.3仿真结果先按复位键,系统初始化,然后8个LED开始按照要求闪烁,分别按下列模块点亮:模块1:循环单向闪烁,只有一个灯亮模块2:循环单向闪烁,只有两个灯亮模块3:循环往复闪烁,只有一个灯亮模块4:全亮全灭模块5:顺次点亮或者熄灭,多个灯亮模块6:顺次点亮或者熄灭,多个灯亮,一次点亮两个模块7:双端对称往返闪烁4.4系统调试在调试过程中主要是对程序的修改,特别是延时子程序。开始延时较短时,当按下开关时,LED开始闪烁。如果延时较长则LED闪烁更慢。通过修改程序,将延时调到适中,系统正常工作。黄河科技学院单片机课程设计-12-4.5误差分析设定预设值后,记录模式一的数据,每次送出的数据是不同,具体的数据如下表1所示P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0说明L8L7L6L5L4L3L2L111111110L1亮11111101L2亮11111011L3亮11110111L4亮11101111L5亮11011111L6亮10111111L7亮01111111L8亮后面几种模式的实验结果基本和理论值一样,没什么误差。黄河科技学院单片机课程设计-13-结束语该设计是以AT-89C51单片机为主控芯片,与发光二极管、晶振电路、复位电路和电源电路组成,通过程序控
本文标题:基于AT89C51单片机的花样彩灯
链接地址:https://www.777doc.com/doc-2568420 .html