电子电路]基于单片机的音乐彩灯控制器的设计修改稿内容摘要:

AT89S52是采用 12MHZ晶振获得稳定的 时钟频率。 采用 12MHz高精度的晶振,以获得较稳定的时钟频率, 从而使输出的频率更为稳定。 显示电路采用简单实用的 8位共阳LED数码管。 单片机系统显示电路如图 9所示。 D0 LEDD1 LEDD2 LEDD3 LEDR2 330D4 LEDD5 LEDP 3 . 0 P 3 . 1 P 3 . 2 P 3 . 3 P 3 . 4 P 3 . 5D6 LEDD7 LEDP 3 . 6 P 3 . 7R6 330R4 330R5 330R8 330R7 330R3 330R9 330VCC彩灯显示电路 图 9 LED 显示电路 12864 液晶 电路 12864 液晶简介 12864 是 128*64 点阵 液晶模块的点阵数简称。 该点阵的屏显成本相对较低,适用于各类仪器。 液晶模组的驱动应遵照规定的额定指标,避免故障及永久损坏。 液晶显示屏 焊接温度: 280176。 C+10176。 C 焊接时间 34 秒 [6]。 液晶的电气特性如表 2 所示。 内江师范学院本科毕 业设计 11 表 2 12864液晶的电气特性 项目 符号 最小 典型 最大 单位 电源电压 VDDVSS V 液晶驱动电压 VDDVADJ Ta=0 Ta=25 Ta=50 液晶的背光驱动电流 ILED 60 80 液晶驱动电流 IEE 12864 液晶显示屏管脚号及作用 液晶的 1 脚 VSS 接电源,为液晶提供电流; 17 脚为复位端,与单片机的 27 脚连接,通过单片机程序来控制液晶显示的复位;液晶 20 脚接地线; 7~14 脚与排阻的 2~9 脚连接。 如表 3 所示。 表 3 12864液晶显示屏的管脚号及作用 管脚号 管脚名称 电平 管脚功能描述 1 VSS +5V 电源地 2 VCC ~+5V 电源正 3 V0 对比度(亮度)调整 4 RS(CS) H/L RS=“H”,表示 DB7——DB0为 显示数据 RS=“L”,表示 DB7——DB0为显示指令数据 5 R/W(SID) H/L R/W=“H”,E=“H”,R/W=“L”,E=“H→L”, 6 E(SCLK) H/L 使能信号 7 DB0 H/L 三态数据线 8 DB1 H/L 三态数据线 9 DB2 H/L 三态数据线 10 DB3 H/L 三态数据线 11 DB4 H/L 三态数据线 12 DB5 H/L 三态数据线 13 DB6 H/L 三态数据线 14 DB7 H/L 三态数据线 15 PSB H/L H: 8位或 4位并口方式 , L: 串口方式 16 NC 空脚 17 /RESET H/L 复位端,低电平有效 内江师范学院本科毕 业设计 12 续表 12864液晶显示屏的管脚号及作用 管脚号 管脚名称 电平 管脚功能描述 18 VOUT LCD 驱动电压输出端 19 A VDD 背光源正端 ( +5V) 20 K VSS 背光源负端 在这个设计中 由于采用的是并行,故直接将 PSB 连接高电平 ; VSS 与 LED_K 端接地。 液晶的数据位 DB0~DB7 分别接在排阻 U2 的 A0~A7 上;复位端 17 脚和单片机的复位端连接。 12864 液晶屏显示 部分 电图如图 10 所示。 123456789U2P A I Z U _ 8V C C8 1 0 kV C CV S S1V D D2VO3RS4R /W5E6D B 07D B 18D B 29D B 310D B 411D B 512D B 613D B 714P S B15NC16NC18R E T17L E D _ A19L E D _ K20U31 2 8 6 4RSR /WEA0A1A2A3A4A5A6A7W11 0 KV C CA0A1A2A3A4A5A6A7R E TL C D 显示电路 图 10 12864 液晶屏显示 电路 音乐播放 电路 为了提高声音电路的功率并保持稳定在喇叭电路中增加了一个 8550 三极管,并增加了一个阻值比较大的电阻来增加电路的电流。 音乐播放电路如图 11 所示。 L S1SPE A KE RQ18550V C CR105. 1K喇叭电路 图 11 喇叭 电路 内江师范学院本科毕 业设计 13 直流稳压电源电路 电源电路采用普通可调电源供电,电源由外接端口连接 5V 电压参考源,可满足本系统单片机、彩灯和小喇叭的供电要求。 其中采用两个电容并联,达到滤波的作用,以便得到 稳定 的 电流。 如下图 12。 12J2C O N2V C CC410u C30. 1u电源电路 图 12 稳压电源电路 内江师范学院本科毕 业设计 14 4 系统软件设计 硬件电路一旦确 定,大体的功能框架也形成了。 这时我们需要在硬件平台上编写软件程序,完成各部分硬件的控制和协调。 系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。 因此,软件是本系统的灵魂。 音乐彩灯控制器的软件设计主要是为了实现彩灯与音乐同步控制。 基于单片机的音乐彩灯控制器的设计 的软件设计主要由主程序、 复位程序、音频及半音 程序、 按键 中断程序及显示子程序组成。 下面 分别 对主程序、 音频及半音 程序 、按键 中断程序 和显示程序 逐一作介绍 [7]。 单片机系统设计 主程序 流程图 本设计选用 AT89S52 的单片机来控制歌曲播放和歌词显示。 采用直流电源为其提供基准电压 +5V,采用 12864LCD 显示,小喇叭播放音乐 [8]。 通过软件程序与按键输入来控制输入与输出。 当电源接通时,程序开始初始化。 当开始键按下时单片机的 21 脚输入低电平,程序启动;音乐开始播放彩灯交替移动点亮;随即进入 通过频率变化范围中断若在整体频率范围内则继续程序;若不在整体频率范围内则所有彩灯 1Hz 闪烁。 当程序进入高频判定时,若在高频段内则使高频段灯亮,液晶显示当前频率的大概值;若不在高频段范围内则进入中频判定,判定结果同高频;当程序 进入低频判定时,若满足频率判定要求则低频段灯亮,液晶显示当前频率的大概值;若不满足判定要求则程序结束。 图13 为主要程序流程图。 内江师范学院本科毕 业设计 15 图 13 主程序流程图 开始 初始化 按键按下。 播放音乐 Y 在高频段内。 在中频段内。 高频段灯亮并且液晶显示当前频率大概值 Y 中频段灯亮并且液晶显示当前频率大概值 Y 在低频段 内。 低频段灯亮并且液晶显示当前频率大概值 Y 所有彩灯 1Hz闪烁 结束 N N N N 内江师范学院本科毕 业设计 16 音乐彩灯控制器的主程序如下。 include include pragma ot(0) define uint unsigned int define uchar unsigned char define io_LCD12864_DATAPORT P0。 define SET_DATA io_LCD12864_RS = 1。 define SET_INC io_LCD12864_RS = 0。 define SET_READ io_LCD12864_RW = 1。 define SET_WRITE io_LCD12864_RW = 0。 define SET_EN io_LCD12864_EN = 1。 define CLR_EN io_LCD12864_EN = 0。 define OSFREQ 11059200 //所使用的晶振频率 sbit io_LCD12864_RS = P2^3。 sbit io_LCD12864_RW = P2^4。 sbit io_LCD12864_EN = P2^5。 sbit BEEP_PWR=P2^7。 sbit =P3^0。 sbit =P3^1。 sbit =P3^2。 sbit =P3^3。 sbit =P3^4。 sbit =P3^5。 sbit =P3^6。 sbit =P3^7。 sbit =P2^0。 uchar FreqSandH,FreqSandL。 /*产生方波的定时器的初值 */ uchar timer1t。 /*定时器延时计数 */ uchar timer1tflg。 /*定时器定时完成标志 */ 内江师范学院本科毕 业设计 17 uchar g_PL=0, g_Pai=0。 uchar gp_Freq[16]=当前频率值:。 uint g_Freq=0。 /**************音符频率表 ****************/ uint code notefreq[]={ 523, 587, 659, 698, 784, 880, 988, 1047,1175,1319,1396,1568,1760,1976, 2093,2349,2637,2793,3136,3520,3961}。 /*************音名 ***************/ uchar code notename[]={39。 c39。 ,39。 d39。 ,39。 e39。 ,39。 f39。 ,39。 g39。 ,39。 a39。 ,39。 b39。 , 39。 139。 ,39。 239。 ,39。 339。 ,39。 439。 ,39。 539。 ,39。 639。 ,39。 739。 , 39。 C39。 ,39。 D39。 ,39。 E39。 ,39。 F39。 ,39。 G39。 ,39。 A39。 ,39。 B39。 ,0}。 /*************半音频率表 *****************/ uint code halfnotefreq[]={ 554, 622, 740, 831, 933, 1109,1245,1480,1161,1865, 2218,2489,2960,3322,3729}。 /*************音名 ***************/ uchar code halfnotename[]={39。 c39。 ,39。 d39。 ,39。 f39。 ,39。 g39。 ,39。 a39。 , 39。 139。 ,39。 239。 ,39。 439。 ,39。 539。 ,39。 639。 , 39。 C39。 ,39。 D39。 ,39。 F39。 ,39。 G39。 ,39。 A39。 ,0}。 内江师范学院本科毕 业设计 18 /*声明 */ void Dis_PL(uchar *p,unit i)。 void v_Lcd12864CheckBusy_f( void )。 void v_Lcd12864SendCmd_f( unsigned char byCmd )。 void v_Lcd12864SendData_f( unsigned char byData )。 void v_DelayMs_f( unsigned int nDelay )。 void v_Lcd12864Init_f( void )。 void v_Lcd12864PutString_f( unsigned char x, unsigned char y, unsigned char *pData )。 音乐 程序 主要 利用单片机的频率发生器产生方波,来产生不同频率的音乐。 [10], 具体 程序如下。 void main(void) { uint i。 TMOD=0x11。 ET1=1。 ET0=1。 EA=1。 v_Lcd12864Init_f()。 while。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。