单片机音乐彩灯设计文档格式.docx

上传人:b****2 文档编号:13927086 上传时间:2022-10-15 格式:DOCX 页数:16 大小:676.41KB
下载 相关 举报
单片机音乐彩灯设计文档格式.docx_第1页
第1页 / 共16页
单片机音乐彩灯设计文档格式.docx_第2页
第2页 / 共16页
单片机音乐彩灯设计文档格式.docx_第3页
第3页 / 共16页
单片机音乐彩灯设计文档格式.docx_第4页
第4页 / 共16页
单片机音乐彩灯设计文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机音乐彩灯设计文档格式.docx

《单片机音乐彩灯设计文档格式.docx》由会员分享,可在线阅读,更多相关《单片机音乐彩灯设计文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

单片机音乐彩灯设计文档格式.docx

3.2 

AT89C51单片机硬件结构:

AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash 

Programmable 

and 

Erasable 

Read 

Only 

Memory)的单片机芯片,它采用静态CMOS 

工艺制造8位微处理器,最高工作频率位24MHZ。

AT89C5外形及引脚排列如图所示:

管脚说明:

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 

口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时, 

ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次PSEN有效。

但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

EA/VPP:

当EA保持低电平时,则在此期间外部程序存储器

(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,EA将内部锁定为RESET;

当EA端保持高电平时,此间内部程序存储器。

XTAL1和XTAL2:

反向振荡放大器的输入及内部时钟工作电路的输入。

3.3系统的硬件构成及功能描述:

控制系统硬件设计电路图如图所示:

四.系统的软件设计 

ORG0000H

AJMPMAIN

ORG000BH

AJMPINT

ORG0020H

MAIN:

JNBP1.2,START;

判断按键P1.2(开始键)为0时转MAIN程序

JMPMAIN;

否则返回

START:

MOV50H,#HIGHTABLE10;

开始(默认情况下上到下)

MOV51H,#LOWTABLE10

ACALLBOFANG;

音乐播放初始设置

LJMPDOWNLIGHT

STOP:

MOVP0,#0FFH;

停止

SETBP3.5

JNBP1.2,START

AJMPSTOP

DOWN:

MOV50H,#HIGHTABLE10;

上到下

MOV51H,#LOWTABLE10

DOWNLIGHT:

MOVDPTR,#TABLE1;

将TABLE1首地址赋数据指针AJMPGETDATA

UP:

下到上

UPLIGHT:

MOVDPTR,#TABLE2;

将TABLE2首地址赋数据指针

GETDATA:

MOVR0,#08H

MOVR6,DPH;

暂存指针值

MOVR7,DPL

LOOP:

CLRA;

A清零

MOVDPH,R6

MOVDPL,R7

MOVCA,@A+DPTR;

表数据送A

MOVP0,A;

将A值送P0端口

INCDPTR;

数据指针加1,指向表中的下一数据

MOVR6,DPH

JNBP1.2,START;

P1.2口低电平则转START程序执行

JNBP1.3,STOP;

P1.3口低电平则转STOP程序执行

JNBP1.4,DOWN;

P1.4口低电平则转DOWN执行

JNBP1.5,UP;

P1.5口低电平则转UP左循环程序执行

LJMPMUSIC;

跳转音乐程序

BACK:

DJNZR0,LOOP

CLRA;

判断是上还是下

MOVDPH,R6

MOVDPL,R7

MOVCA,@A+DPTR

JNZDOWNLIGHT

LJMPUPLIGHTBOFANG:

MOVTMOD,#11H;

MOVIE,#82H

MOV40H,#00H

RET

MUSIC:

MOVA,40H;

音乐播放处理

MOVDPH,50H;

取表地址

MOVDPL,51H

将表数据送累加器A

JZSTOP2;

累加器A为0则转移(说明歌曲播放完得重新播放)

MOVR1,A

ANLA,#0FH

RLA

MOVR2,A

MOVA,R1

SWAPA

ANLA,#0FH

JNZSING

CLRTR0

LJMPW1

SING:

DECA

MOV22H,A

RLA

MOVDPTR,#TABLE00

MOVTH0,A

MOV21H,A

MOVA,22H

INCA

MOVCA,@A+DPTR

MOVTL0,A

MOV20H,A

SETBTR0

W1:

LCALLDELAY

INC40H

JNZSTOP1;

A不为0则转移

LJMPBACK

STOP1:

CLRTR0;

音符结束重新播放处理

LJMPBACK

STOP2:

CLRTR0;

整首歌曲播放结束处理

MOVR2,#03H

LCALLDELAY

LCALLBOFANG

TABLE00:

DW64580,64684,64777,64820

DW64898,64968,65030,64260

DW64400,64524,65058,63835,64021

INT:

PUSHPSW

PUSHACC

MOVTH0,21H

MOVTL0,20H

CPLP3.5

POPACC

POPPSW

RETI

DELAY:

MOVR4,#100;

延时100ms

LOOP3:

MOVR5,#0FFH

LOOP4:

DJNZR5,$

DJNZR4,LOOP3

DJNZR2,DELAY

TABLE1:

DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH,01H

TABLE2:

DB7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH,00H

TABLE10:

DB0d4H,84H,94H,82H,92H

DB12H,22H,82H,92H,02H,92H,82H,0d2H

DB82H,92H,14H,84H,02H,0d1H,0d1H

DB0c2H,0d2H,84H,0d2H,0d2H,82H,82H

DB84H,82H,82H,94H,82H,0d2H

DB82H,82H,82H,92H,02H,82H,82H,0d2H

DB0c4H,84H,0d4H,92H,0d2H

DB82H,0d2H,82H,92H,98H

DB04H,94H,88H

DB04H,94H,88H,04H

DB32H,32H,22H,12H,02H,92H,12H,92H

DB32H,32H,22H,12H,02H,92H,12H,22H

DB54H,44H,34H,12H,22H

DB34H,22H,12H,02H,92H,12H,92H

DB32H,32H,22H,12H,02H,92H,12H,22H

DB54H,44H,32H,22H,12H,92H

DB00H

END

4.1程序流程图:

程序如下:

ORG 

0000H 

AJMP 

MAIN 

000BH 

INT 

0020H 

JNB 

P1.2,START 

;

判断按键P1.2(开始键)为0时转MAIN程序 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1