摘要随着科技和经济的快速发展,人们对生活质量和生活环境的要求不断的提高,多彩多样的彩灯成了现今装饰和美化的时尚和潮流。
千姿万态的流水灯能给人一种视觉冲击。
拟采用单片机AT89C51去实现这种千变万化的流水灯。
单片机技术是一种传统和典型的技术,具有智能化、体积小、集成度高和价格低廉等许多独特的优点。
而且单片机明显优越于其他电子电路,其硬件电路和软件方面都不是特别复杂。
本设计将所学的单片机的理论和动手实践结合起来,主要利用AT89C51单片机设计并制作一个音乐流水灯。
首先设计一个稳定的直流电源电路,然后设计一个复位电路,为单片机的正常工作提供条件,然后再设计时钟电路和声音驱动电路,可以使单片机能够更好的控制与编译音乐部分,另外还设计一个通信电路以方便单片机和PC机的连接与通信,最后还需要设计按键电路用来控制音乐流水灯。
为了使蜂鸣器能够正常的发生还需设计一个音频电路。
硬件电路设计后要将各模块连接起来进行仿真和调试。
软件设计部分则需要将各电路模块进行编译,并设计音乐频率程序、流水灯程序和按键程序,同时将其进行仿真调试和组合调试。
以实现在播放音乐时LED 灯有千变万化的效果,以满足对视觉上的享受。
关键词:单片机;音乐;流水灯;仿真;ABSTRACTWith the science and technology and the economy the rapid development, people pairs quality of life and living environment the requirements of continuously improve, colorful and diverse of the lantern became a nowadays decorative and beautify's fashion and trend. Zi million-state of flowing water lamp can give a person one kinds visual impact. Intends to adopt AT89C51 microcontroller to go achieve such kaleidoscopic of flowing water lights. MCU technology is a kind of tradition and typical technical, with intelligent, the volume is small, high integration and price inexpensive and so on many unique advantages. Moreover single-chip obviously superior to other electronic circuit, its hardware circuits and software aspects of are not particularly complicated.The single-chip design will combine theory and practice, the main use AT89C51 single-chip design of a musical water lights. First, design a stable DC power supply circuit, and then design a reset circuit for the microcontroller to provide normal working conditions, and then design a clock circuit and sound driver circuit, will enable MCU to better control and compile music part, in addition to design a to facilitate communication circuit chip and PC connectivity and communication, and finally also need to design the circuit to control the music keys light water. In order to make the buzzer to normal design an audio circuit needs to happen. After the hardware circuit design to connect the modules for simulation and debugging. Software design will need to be compiled each circuit module, and the design frequency of the music program, water lights and key procedures, and its combination of simulation debugging and debugging. When playing music in order to achieve a kaleidoscopic effect LED lights to meet the visual enjoyment.Key words:MCU; Music; Light water;Simulation目录摘要 (I)ABSTRACT (II)目录 (1)1. 绪论 (1)1.1 单片机的概念 (1)1.2 单片的历史、发展和应用 (4)2. 总体设计 (6)2.1 设计要求 (6)2.2 设计方案选择 (6)2.3 整体设计思路 (6)3. 系统硬件设计与部分电路说明 (8)3.1 硬件设计框图 (8)3.2 部分电路说明 (8)3.2.1 电源及启动电路 (8)3.2.2 复位电路 (9)3.2.3 时钟电路 (10)3.2.4 通信电路 (10)3.2.5 键盘电路 (11)3.2.6 流水灯电路 (11)3.2.7 音频电路 (12)3.3 电路原理图及说明 (12)4. 系统软件电路设计与分析 (13)4.1 音乐程序设计 (13)4.1.1 音乐程序流程图 (14)4.2 流水灯设计 (16)4.2.1 流水灯程序流程图 (16)4.2.2 流水灯程序 (16)4.3 音乐流水灯程序 (16)4.3.1 音乐流水灯程序流程图 (16)4.3.2 音乐流水灯程序 (17)5. 系统调试与仿真 (19)5.1 硬件调试 (19)5.2 软件调试 (19)5.3 软件仿真 (19)总结 (22)致谢 (23)参考文献 (24)附录一 (25)附录二 (26)附录三 (31)附录四 (32)1. 绪论1.1 单片机的概念单片机是在一块芯片上超大规模集成技术集中了中央处理单元(CPU)、随机存储器(RAM)、只读存储器(ROM)、特殊功能寄存器(SFR)和各种输入/输出(I/O)接口(定时/计数器、中断系统接口、并行和串行I/O接口以及A/D转换接口等)的微型计算机,又称微控制器。
目前最强大的单片机系统可以将声音和图像等复杂的输入输出系统集成在一块芯片上,所以单片机亦被称为微控制器和嵌入式控制器。
AT89C51单片机是由美国Atmel公司生产的具有低电压和低功耗、高性能、多功能的通用型8位单片机,其具有庞大而丰富的内部资源:1个8位中央处理机CPU、12MHz的片内时钟电路、128+21B的片内数据存储器、4KB的片内程序只读存储器、4KB闪存、4个8位并行I/O接口、1个串行I/O接口、2个16位定时/计数器、5个中断源、具有4.25~5.50V的电压工作范围和0~24MHz的工作频率,另外使用AT89C51单片机时无需外扩存储器。
AT89C51芯片的引脚功能如图1-1所示:VCC:电源电压GND:接地端RST:即RESET,复位输入端。
单片机振荡器工作时,若RST引脚上出现高电平并保持2个时钟周期,则实现复位操作,所有的I/O引脚都将复位为“1”,单片机恢复为初始状态。
XTAL1:即反向震荡放大器的输入和内部时钟工作电路的输入。
XTAL2:即反向震荡放大器的输出和内部时钟工作电路的输出。
对于CHMOS图1-1 8051芯片的引脚图芯片,该引脚悬空不接。
ALU:算数逻辑单元。
可进行加、减、乘、除运算和与、或、非、异或等逻辑运算,另外还可执行增量、减量、左移位、右移位、半字节更换以及位处理等操作。
ACC:8位累加器。
PSW:8位程序状态字。
其中存放着当前ALU的一些操作状态特征,详见表1-1,其字节地址是D0H。
表1-1 程序状态字内部定义PSW位PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 位地址D7H D6H D5H D4H D3H D2H D1H D0H位符号CY AC F0 RS1 RS0 OV F1 PPSEN:片外程序存储器读选通信号输出端。
当从外部程序存储器读取数据或者指令时,PSEN的每个机器周期2次有效,以通过数据总线口读回数据或指令。
DPTR:16位数据指针。
主要用来存放外部RAM的数据地址和ROM数据表的基地址。
内存中包含DPL和DPH两个8位寄存器,其中DPH存放地址的高8位,DPL 存放地址的低8位。
SP:8位堆栈指针。
用于指出当前堆栈的顶部地址。
当单片机内有入栈操作时,SP自动加1,出栈时SP=SP-1。
PC:16位程序计数器。
只有中断、跳转和调用指令才能使其作其他变化。
其中单片机开机或者复位时,PC的起始值为0000H。
P0口:P0.0~P0.7统称为P0口。
当不接外部存储器或不扩展I/O接口时,可作为准双向8位输入/输出接口。
当接有外部存储器或扩展I/O接口时,P0口为地址/数据分时复用口。
分时可提供低8位地址总线和8位双向数据总线。
图1-2 P0口内部结构图P1口:8位准双向I/O接口,包括P1.0~P1.7。
P1.0和P1.1有第二功能,P0.1可用作定时/计数器2的计数脉冲输入端T2;P1.1则可用作定时/计数器2的外部控制端T2EX。
图1-3 P1口内部结构图P2口:引脚P2.0~P2.7的统称,一般可作为准双向I/O接口。
当接有外部存储器或扩展I/O接口且寻址范围超过256B时,P2口还可当作是高8位地址总线送出高8位地址。