微机原理与接口技术课程设计——音乐盒

微机原理与接口技术课程设计——音乐盒
微机原理与接口技术课程设计——音乐盒

微机原理与接口技术课程设计报告

学院:

班级:

姓名:

指导老师:

时间:

目录

一、课程名称及设计组成员——————————————3

二、课程内容及要求—————————————————3

三、方案、系统硬件组成框图以及工作原理说明——————3

1、方案——————————————————————3

2、工作原理————————————————————3

3、系统硬件组成框图————————————————4

四、程序功能描述及程序流程——————————————4

1、程序功能描述——————————————————4

2、程序流程————————————————————4

五、程序源代码及注释—————————————————6

六、DOS功能调用,文件列表清单————————————14

七、程序调试出现的问题、原因及排除——————————15

八、收获和体会————————————————————16

九、参考文献—————————————————————17

一、课题名称及设计组成员

(1) 课程名称:计算机音乐播放系统设计

(2) 设计组成员:

二、课程内容及要求

课程内容:

设计一个汇编语言程序,实现计算机音乐播放系统。实现功能如下:

(1) 制作一个菜单,使用菜单条选择功能,让用户选择演奏的乐曲,不少于5首。

(2) 用定时器方式演奏《梁祝》实现音乐演奏。

(3) 提示使用ESC键或者ENTER键可以退出当前过程或返回DOS

(4) 使用控制变量可以控制不同的效果以及要求,如播放速度,间隔等。

(5) 界面美观,程序结构化程度高,模块结构合理。

三、方案、系统硬件组成框图以及工作原理说明

1、方案

基于PC计算机时钟晶振为1.1931816MHz,利用电脑中的蜂鸣器发出声音。

各音阶标称频率值:

音符: 1 2 3 4 5 6 7

(重低音)

对应频率:(Hz)131 147 165 175 196 220 247

(低音)

对应频率:(Hz)262 294 330 349 392 440 494

(中音)

对应频率:(Hz)523 587 659 698 784 880 988

(高音)

对应频率:(Hz)1046 1175 1318 1397 1568 1760 1975

2、工作原理说明

软件设计是本设计的重点,在软件设计中,要给8253和8255写数据,同时还要检测键盘输入的值,并根据输入的值,执行相应的代码来控制音乐的播放。首先在一开始先显示音乐菜单,然后调用DOS中21H 的01中断来接收键盘上的数据,在此过程中,程序在等待中,直到键盘上有键按下,程序才进行相应的操作。当键盘输入一个值后,首先判断输入的值是否为“0”,如果是,那就退出程序,如果不是,再检测输入的数是否在1-4之间,如果是,那就调用相应的播放音乐的程序,否则我们重新提上,让其输入0-4之间的数值。

在音乐播放中,要实时的扫描键盘是否有值输入,如果用DOS中21H 的01中断肯定

是不行的,因为执行这个中断程序会等待,无法继续播放音乐。因此采用中断21H中的0bH,这个中断不会等待,只会检查标准输入设备上是否有字符可读。然后通过检测AL中的值是否为0FFH,来判断键盘是否有值输入。如果键盘上有键输入,那么AL中会返回一个0FFH 的值,否则就会返回00H。如果有,再判断这个输入的值是否为“p”,如果是,就停止音乐的播放,否则继续播放音乐,由于程序运行非常快,这样就不会感觉到音乐有停顿现象。实现和音乐演奏的同时实时扫描键盘的功能。当音乐播放完后,调用JMP命令跳回到主菜单,再次让操作者选择播放哪一首歌或是选择退出。

在音乐暂停后,显示输入提示:如果按“s”值继续音乐播放。然后调用DOS中21H 的01中断来接收键盘上的数据,在此过程中,程序在等待中,直到键盘上有键按下,然后我们按输入的数进行相应的操作,如果都不是,怎继续输入,知道输入正确的为止。

在这个设计中,最终要返回主菜单,然后通过按“Esc”等键退出。

3、硬件组成框图

PC机相关电路以及相关接口电路如下:

四、程序功能描述及程序流程

1、程序功能描述

计算机播放器系统:

显示入口菜单;

共5首待选择音乐:1、北京欢迎你2、春天花会开3、欢乐颂4、但愿人长久5、情非得已

播放功能:音乐播放中途暂停、快进、放慢、单曲循环、列表循环、退出播放器2、程序流程

主流程:

开始————显示音乐菜单————提示输入选择————判断输入是否为0,

若是则退出程序————若否则判断是否在数字范围内————若是则调用音乐播放程序

音乐播放流程:

按键中断流程:

输入————判断输入所选择的功能————进入各功能子程序————根据各程序功能返回主程序

五、程序源代码及注释

DATAS SEGMENT

SHOW DB 0AH,0DH

DB '***************************************',0AH,0DH

DB 'this is a music program! please select!',0AH,0DH

DB '***************************************',0AH,0DH

DB 0AH,0DH

DB 'In this part, you can press below keys to enjoy music:',0AH,0DH

DB '1. bei jing huan ying ni',0AH,0DH

DB '2. chun tian hua hui kai',0AH,0DH

DB '3. huan le song',0AH,0DH

DB '4. dan yuan ren chang jiu',0AH,0DH

DB '5. qing fei de yi',0AH,0DH

DB 'You can press',60H,'Esc',27H,' or ',60H,'Enter',27H, ' to exit.',0AH,0DH

DB 0AH,0DH

DB 'During the song you can press below keys to set the speed and playback mode:',0AH,0DH

DB 'u -> Faster',0AH,0DH

DB 'd -> Slower',0AH,0DH

DB 'p -> Pause',0AH,0DH

DB 's -> Start',0AH,0DH

DB 'q -> Quit',0AH,0DH,'$'

WAIT_M DB 0AH,0DH

DB 'music ing','...',0AH,0DH,'$'

ERROR_O DB 0AH,0DH,'Your order is error, please enter the right one:$'

Q DB 0AH,0DH,'The song is over, you can choose a song again.$'

P DB 0AH,0DH,'Have a rest, you can press s to start the song again.$'

S DB 0AH,0DH,'You has start the song again.',0AH,0DH,'$'

U DB 0AH,0DH,'You have made the beat shorter.',0AH,0DH,'$'

D DB 0AH,0DH,'You have made the beat longer.',0AH,0DH,'$'

OVER DB 0AH,0DH,'***************************************$' DB 0AH,0DH,'this is a music program! please select!$'

DB 0AH,0DH,'***************************************$'

;****************************北京欢迎你***************************** TONES_1 DW 659,2 DUP (659,784,659,587,659,587,659,659,587,440,523,659,587,587,523,440,523,587,659,78 4,587,659,880,784,440,587,523)

DW

587,523,440,523,587,659,784,587,659,880,784,784,659,587,659,587,523,784,880,58 7,440,659,587,587,523,-1

BEAT_1 DW 7 DUP(25*200),50*200,5 DUP(25*200),25*600,13 DUP(25*200),25*600,6 DUP(25*200),50*200,5 DUP(25*200),25*600,13 DUP(25*200),25*600

DW 12 DUP(25*200),50*400,6 DUP(25*200),50*200,4 DUP(25*200),50*200

;**************************春天花会开****************************** TONES_2 DW 392,392,392,392,440,392,330,294,262,262,262,220,294

DW

392,392,392,392,330,494,220,262,262,262,330,294,330,440,220,262,-1

BEAT_2 DW 25*200,3 DUP(25*200,50*200,25*200,50*200,50*200,50*400) DW 25*200,50*200,25*200,50*200,50*200,50*200,50*200,4 DUP(25*200)

;****************************欢乐颂***************************** TONES_3 DW 330,330,330,349,392,392,349,330,294,262,262,294,330,330,294,294 DW 330,330,349,392,392,349,330,294,262,262,294,330,294,262,262,-1 BEAT_3 DW 13 DUP(50*200),25*600,2 DUP(25*200)

DW 12 DUP(50*200),25*600,2 DUP(25*200)

;**************************但愿人长久****************************** TONES_4 DW 262,262,262,220,196,220,262,262,262,220,196,220,294

DW

330,262,220,330,262,220,294,262,220,349,349,220,262,294,294,196,247,220,247,26 2,-1

BEAT_4 DW 100,2 DUP(50*200,25*200,25*200,25*600,25*200,50*400) DW 2 DUP(50*200,25*200,25*200),25*600,25*200,50*400,50*200,50*200,25*200,25*60 0,50*400,50*200,50*200,25*200,50*200,25*200,50*400

;***************************情非得已***************************** TONES_5 DW 592,592,523,587,659,587,587

DW 4 DUP(523),784,784,659,784,3 DUP(659),587,659,698,659,659

DW 659,587,523,523,440,440,523,587

DW 4 DUP(392),440,523,523,440,659,523,523,587,587,523,523,-1 BEAT_5 DW 12 DUP(25*200),50*600,6 DUP(25*200),50*200,25*200,25*200,50*600

DW 6 DUP(25*200),50*200,25*200,25*200,50*600,12 DUP(25*200),50*600

BEAT DW ?

EXIT_BOX DB ?

SIDI DW 4 DUP(?)

DATAS ENDS

;数据段定义

STACKS SEGMENT

STACKS ENDS

;堆栈段定义

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

MAIN PROC FAR

MOV AX,DATAS

MOV DS,AX

LEA SI,SHOW

CALL DISPLAY ;显示菜单列表

CALL INPUT

DONE:

LEA SI,OVER

CALL DISPLAY ;显示结束菜单

MAIN ENDP

;************显示菜单列表*************

DISPLAY PROC NEAR

MOV DX,SI

MOV AH,09H

INT 21H

RET

DISPLAY ENDP

INPUT PROC FAR

PUSH AX

LEA BX,BEAT

MOV [BX],28010

LEA BX,EXIT_BOX

MOV [BX],0

MOV AH,01H

INT 21H ;输入字符

CMP AL,0DH

JZ EXIT

CMP AL,1BH

JZ EXIT

CMP AL,'1' ;判断输入选择歌曲1,2,3,4,5 JZ SONG_1

CMP AL,'2'

JZ SONG_2

CMP AL,'3'

JZ SONG_3

CMP AL,'4'

JZ SONG_4

CMP AL,'5'

JZ SONG_5

JMP INPUT

SONG_1:

LEA SI,WAIT_M ;提示音乐播放中

CALL DISPLAY

LEA SI,TONES_1

LEA DI,BEAT_1 ;导入相应乐谱,音节存放地址MOV SIDI,SI

MOV SIDI+2,DI ;用SIDI记录存放地址

CALL PLAY_MUSIC ;开启音乐播放程序

JMP INPUT

SONG_2:

LEA SI,WAIT_M ;提示音乐播放中

CALL DISPLAY

LEA SI,TONES_2

LEA DI,BEAT_2 ;导入相应乐谱,音节存放地址MOV SIDI,SI

MOV SIDI+2,DI ;用SIDI记录存放地址

CALL PLAY_MUSIC ;开启音乐播放程序

JMP INPUT

SONG_3:

LEA SI,WAIT_M ;提示音乐播放中

CALL DISPLAY

LEA SI,TONES_3

LEA DI,BEAT_3 ;导入相应乐谱,音节存放地址MOV SIDI,SI

MOV SIDI+2,DI ;用SIDI记录存放地址

CALL PLAY_MUSIC ;开启音乐播放程序

JMP INPUT

SONG_4:

LEA SI,WAIT_M ;提示音乐播放中

CALL DISPLAY

LEA SI,TONES_4

LEA DI,BEAT_4 ;导入相应乐谱,音节存放地址MOV SIDI,SI

MOV SIDI+2,DI ;用SIDI记录存放地址

CALL PLAY_MUSIC ;开启音乐播放程序

JMP INPUT

SONG_5:

LEA SI,WAIT_M ;提示音乐播放中

CALL DISPLAY

LEA SI,TONES_5

LEA DI,BEAT_5 ;导入相应乐谱,音节存放地址

MOV SIDI,SI

MOV SIDI+2,DI ;用SIDI记录存放地址

CALL PLAY_MUSIC ;开启音乐播放程序

JMP INPUT

EXIT:

POP AX ;栈顶内容取出并存到目的操作数中,同时修正堆栈指针

MOV AH,4CH

INT 21H ;返回DOS系统

RET

INPUT ENDP

;**************音乐播放子函数***************

PLAY_MUSIC PROC FAR

AGAIN:

CMP [SI],0FFFFH ;判断一段音乐是否结束

JZ CIRCLE ;若结束,则单曲循环

CALL KEY_C ;按键中断运行

LEA BX,EXIT_BOX

CMP BYTE PTR[BX],3

JZ ERROR

CMP BYTE PTR[BX],2

JZ RETURN

CMP BYTE PTR[BX],1

JZ AGAIN

CMP BYTE PTR[BX],0

JZ NEXT

ERROR: ;错误控制

PUSH SI

LEA SI,ERROR_O

CALL DISPLAY

POP SI

JMP RETURN

NEXT:

MOV AL,0B6H ;计数器的控制字要写入控制寄存器OUT 43H,AL ;输入控制字寄存器,选用方式2,工作在方式三

MOV DX,12H ;把给定频率的高八位送给DX

MOV AX,3280H ;把给定频率的低八位送给AX

DIV WORD PTR[SI] ;SI的内容为给定的频率,放入

OUT 42H,AL ;低八位写入计数器二

MOV AL,AH ;将高八位内容送到AL

OUT 42H,AL ;用两次计数器通道2用于发声

CALL SPK_ON ;启动蜂鸣器

MOV CX,[DI]

BEAT_M: ;节拍控制PUSH CX

LEA BX,BEAT

MOV CX,[BX]

DELAY_M: ;延时控制LOOP DELAY_M

POP CX

LOOP BEAT_M

INC SI

INC SI

INC DI

INC DI

CALL SPK_OFF ;关闭蜂鸣器

JMP AGAIN

CIRCLE:

MOV SI,SIDI

MOV DI,SIDI+2 ;将其地址送回SI、DI JMP PLAY_MUSIC

RETURN:

RET ;返回系统

PLAY_MUSIC ENDP

;***************按键中断子函数*************

KEY_C PROC FAR

PUSH AX

MOV AH,0BH

INT 21H

XOR AH,AH

CMP AL,0FFH

JZ OK

JMP OUT_K

OK: M OV AH,01H

INT 21H ;输入

XOR AH,AH

CMP AL,0DH

JZ QUIT

XOR AH,AH

CMP AL,1BH

JZ QUIT

XOR AH,AH

CMP AL,'q' ;判断输入选择功能JZ QUIT

XOR AH,AH

CMP AL,'u'

JZ UP

XOR AH,AH

CMP AL,'d'

JZ DOWN

XOR AH,AH

CMP AL,'p'

JZ PAUSE

XOR AH,AH

CMP AL,'s'

JZ START_K

JMP ERROR_W

START_K: ;暂停后开始LEA BX,EXIT_BOX

MOV [BX],0

PUSH SI

LEA SI,S

CALL DISPLAY

POP SI

JMP OUT_K

PAUSE: ;暂停

LEA BX,EXIT_BOX

MOV [BX],1

PUSH SI

LEA SI,P

CALL DISPLAY

POP SI

JMP OUT_K

QUIT: ;退出程序LEA BX,EXIT_BOX

MOV [BX],2

PUSH SI

LEA SI,Q

CALL DISPLAY

POP SI

JMP OUT_K

DOWN: ;减速LEA BX,BEAT

MOV AX,[BX]

ADD AX,1000

MOV [BX],AX

PUSH SI

LEA SI,D

CALL DISPLAY

POP SI

JMP OUT_K

UP: ;加速

LEA BX,BEAT

MOV AX,[BX]

SUB AX,1000

MOV [BX],AX

PUSH SI

LEA SI,U

CALL DISPLAY

POP SI

JMP OUT_K

ERROR_W: ;程序出错LEA BX,EXIT_BOX

MOV [BX],3

JMP OUT_K

OUT_K:

POP AX ;恢复AX的值RET

KEY_C ENDP

;**************开蜂鸣器子函数***************

SPK_ON PROC NEAR

PUSH AX ;保存ax的值

IN AL,61H ;获取61h端口的当前值

OR AL,03H ;把61h端口低二位置1,即打开蜂鸣器OUT 61H,AL ;输出数据到61h端口

POP AX ;恢复ax的值

RET

SPK_ON ENDP

;**************关蜂鸣器子函数***************

SPK_OFF PROC NEAR

PUSH AX ;保存ax的值

IN AL,61H ;获取61h端口的当前值

AND AL,0FCH ;把61h端口低二位置0,即关闭蜂鸣器

OUT 61H,AL ;输出数据到61h端口

POP AX ;恢复ax的值

RET

SPK_OFF ENDP

CODES ENDS

END MAIN

六、DOS功能调用,文件列表清单

要涉及一些dos的系统功能的调用,系统功能调用是DOS为用户提供的常用子程序(80多个),可在汇编语言程序中直接调用。这些子程序的主要功能包括:

(1)设备管理(如键盘、显示器、打印机、磁盘等的管理)

(2)文件管理和目录操作(我们的系统主要要涉及的)

(3)其他管理(如内存、时间、日期等管理)

这些子程序给用户编程带来很大方便,用户不必了解有关的设备、电路、接口等方面的问题,只需直接调用即可。

2、调用方法

DOS功能调用的子程序已按顺序编号——功能号(00H~68H),其调用方法是:

(1) 功能号→AH

(2) 入口参数→指定寄存器

(3) INT 21H

用户当且仅当给出以上三方面信息,DOS才可根据所给信息自动转入相关子程序执行。还有要注意程序执行完后返回的参数,根据这些参数可以判断和后续的操作。

3、常用的系统功能调用

(1)键盘输入

1) 1号调用——从键盘输入单个字符

调用格式:MOV AH,1

INT 21H

功能:等待从键盘输入一个字符并送入AL。

执行时系统将扫描键盘,等待有健按下,一旦有健按下,就将其字符的ASCII

码读入,先检查是否Ctrl-Break,若是,退出命令执行;否则将ASCII码送AL,同时将该字符送显示器显示。

2) 10号调用——从键盘输入字符串

功能:从键盘接收字符串送入内存的输入缓冲区,同时送显示器显示。

调用前要求:先定义一个输入缓冲区

MAXLEN DB 100 ;第1个字节指出缓冲区能容纳的字符个数,即缓冲区长度,不能为0

ACLEN DB ? ;第2个字节保留,以存放实际输入的字符个数

STRING DB 100 DUP(?) ;第3个字节开始存放从键盘输入的字符串。

调用格式:LEA DX,MAXLEN(缓冲区首偏移地址)

MOV AH,10

INT 21H

注意:调用时,要求DS:DX指向输入缓冲区

七、程序调试

运行菜单显示:

播放歌曲显示:

播放器各功能显示:

八、收获和体会

通过本次课程设计,自己感悟颇深,整个设计中比较顺利地完成了相关设计中的主要部分,但实验中出现的一些平时实验中没有出现的问题,颇费周章。经过反复的修改及调试后,设计终于达到了预期目的,尽管相关功能还比较简单,但相信在自己的努力下,经过经验的一次次积累,希望在以后的学习中能够举一反三,做得更好。

同时也了解到上机操作实践的重要,这样有助于书本知识的系统化,现实化,更有利于自己的查漏补缺。书本上的知识是死的,能够在现实中运用的知识才是活的。

再者,通过这次课程设计,也促进了我们的同学之间互相学习,通过编写程序,增加了学习的积极性和趣味性。通过课程实践,巩固加深对课堂教学内容的理解,提高学生运用汇编语言进行程序设计和动态调试程序的能力,培养同学克服困难的毅力和精神,提高学生综合解决问题的能力。

九、参考文献

[1] 《微机原理与接口技术实验指导书》河南师范大学物理与信息工程学院微机原理与接口技术实验室

[2] 武汉理工大学《微机原理与接口技术》课程设计说明书

[3] 百度文库——汇编音乐

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

音乐盒设计

基于89c52单片机音乐播放的设计安庆师范学院物理与电气工程学院

1、设计任务和要求 (1) 2、总体设计 (1) 3、硬件设计 (2) 3.1 硬件电路 (2) 3.2 原理说明 (2) 4、软件设计 (2) 5、仿真、安装和调试 (5) 6、收获与体会 (6) 附件1:元件清单 (6) 附件2: 总仿真电路图 (7) 附件3:音乐程序 (8)

音乐盒设计 1、设计任务和要求 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。 (2直接当前播放的歌曲。 (3)可通过功能键选择播放上一首、下一首和暂停播放歌曲。 2、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (2)利用8052的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (3):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F==Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 高音D0的T=65536-500000/1047=65059

单片机电子琴音乐盒课程设计

课程设计报告 设计题目:单片机多功能音乐盒设计 【摘要】本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来暂停歌曲,另一个用来切换歌曲本音乐盒共有四首歌曲,还有4*4矩阵键盘电子琴弹奏功能,播放歌曲时,蜂鸣器发出音调,矩阵键盘无扫描信号,不动作。当按下暂停歌曲键时,可继续弹奏电子琴。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 设计作者:吴文豪 专业班级/学号:10应电三班 1006020144 合作者1:专业班级/学号: 合作者2:专业班级/学号: 指导教师:王明文 设计时间:2012年5月12日———2012年6月3日

目录 引言 (1) 1.设计任务及要求 (2) 1.1设计任务 (2) 1.2设计要求 (2) 1. 3研究内容 (2) 2.系统总体设计 (3) 2.1系统结构框图设计及说明 (3) 3.软、硬件设计…………………………………………………………….. 3.1 系统硬件设计………………………………………………………… 3.1.1系统硬件原理图及工作原理说明………………………… 3.1.2单元电路设计原理与元件参数选择……………………… 3. 2系统软件设计…………………………………………………….. 3. 2. 1软件系统总流程图及设计思路说明…………………... 3. 2. 2软件各功能模块的流程图设计及思路说明…………... 4.安装与调试………………………………………………………………. 4.1安装调试过程……………………………………………………… 4.2调试中遇到的问题…………………………………………………5.结论………………………………………………………………………. 6.使用仪器设备清单………………………………………………………. 7.收获、体会和建议………………………………………………………. 8.参考文献…………………………………………………………………. 9.附录………………………………………………………………………

微机原理与接口技术 课程设计

摘要 霓虹灯主要是通过8255A对LED亮灭状态的控制,和8254定时/计数器的定时功能实现霓虹灯闪烁控制系统,外设是红、绿、黄三种颜色的发光二极管,在程序自动控制下,按照不同规律闪烁同时由数码管显示相应的闪烁方式。 关键字: 8255A 8254 LED 数码管

一、设计的任务和要求 设计霓虹灯闪烁控制系统,是外设的红、绿、黄三种颜色的发光二极管,在开关的控制下或者在程序自动控制下,按照不同规律闪烁。 要求发光二极管的亮、灭变化有一定的规律;发光二极管变化规律要求有多种状态。 二、设计小组成员及分工 本次课设由冀任共同完成,在课设中遇到的问题四个人共同思考解决。 三、总体设计 1、8254用于定时:定时/计数器0与定时器/计数器1共同构成100ms的定时器,确定执行相邻闪烁方式的间隔时间。 2.8255A用于控制LED的状态和数码管显示:PA0接8254的输出,B口接数码管,显示对应的闪烁方式,C口输出控制LED的状态。 3、六种闪烁方式: 方式1:从左向右依次点亮8个LED灯,数码管显示1 方式2:从右向左依次点亮8个LED灯,数码管显示2 方式3:从左向右依次点亮4个的红灯、2个黄灯和2个绿灯,数码管显示3 方式4:从左向右两个两个的点亮8个LED灯,数码管显示4 方式5:从两边向中间依次点亮8个LED灯,数码管显示5 方式6:按红、绿、黄顺序点亮相同颜色的灯,数码管显示6 1、芯片介绍 (1)芯片8255A 8255A是具有3个8位并行I/O口3种工作方式的可编程并行接口芯片。8255共有40个引脚,采用双列直插式封装。

D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。 CS:片选信号线,低电平有效,表示芯片被选中。 RD:读出信号线,低电平有效,控制数据的读出。 WR:写入信号线,低电平有效,控制数据的写入。 Vcc:+5V电源。 PA0--PA7:A口输入/输出线。 PB0--PB7:B口输入/输出线。 PC0--PC7:C口输入/输出线。 RESET:复位信号线。 A1、A0:地址线,用来选择8255内部端口。 GND:地线。 三种工作状态: 1) 工作方式 0 :这是 8255A 中各端口的基本输入 / 输出方式。它只完成简单的并行输入 / 输出操作, CPU 可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式 0 ,则可由工作方式控制字定义 16 种工作方式的组合。

武科大微机原理课程设计

一、设计题目 键控数据采集及数值显示电路设计 二、设计任务 按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED 数码管上显示值。设定输入模拟量在0—5V范围内,显示值在0—255范围内。 三、设计要求 1.画出连接线路图或功能模块引脚连接图。 2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。 3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。 四、设计思想及需要用的主要芯片 1、设计思想 首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C作为控制端),送给LED数码管显示。 2.主要芯片及其功能 ADC0809与系统的接口包括两个输出口和一个输入口,第一个输出口用于控制芯片内部的模拟通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利用ALE信号触发锁存;第二个输出口是哑元,用以触发ADC0809的引脚START启动转换。当转换结束后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号用于检测,也可用于申请中断。随后,CPU可以从ADC0809的引脚D0-D7输入转换后的数据。其芯片引脚图如下 8255是并行通信接口芯片,其基本功能是以并行的方式在系统总线与I/O设备之间传送

音乐盒设计

机电学院单片机课程设计 任务书 设计名称:音乐盒的设计 学生姓名:*** 指导教师:***** 起止时间:自*** 年* 月* 日起至*** 年*月* 日止 一、课程设计目的 利用AT89C51系列单片机,实现两首歌曲的依次、循环播放,并在播放歌曲的同时,与之对应的LED灯亮起,形成三种绚丽的灯光效果,制作成一个简单的音乐盒。 二、课程设计任务和基本要求 设计任务: 1.运用AT89C51系列单片机的技术原理,通过硬件电路制作以 及软件编译,设计制作出一个多功能音乐盒; 2.运用2N2905三极管放大技术,对扬声器音频信号进行放大, 实现音乐播放功能; 3.8个LED灯对应音乐的不同音阶,实现伴随音乐播放,发出 不同的花样效果的功能。 基本要求: 1. 能够实现设计任务的基本功能; 2. 至少设计两种音乐的播放和三种灯光效果的制作; 3. 能够完成音乐盒实物的焊接; 4. 完成设计后独立撰写3000字左右的设计报告。

目录 摘要 (1) 关键字 (1) 1 概述 (2) 1.1设计意义 (2) 1.2设计方案 (2) 1.3设计内容 (2) 2 硬件设计 (3) 2.1音乐盒的结构框图 (3) 2.2单片机模块 (3) 2.2.1 AT89C51系列单片机介绍 (3) 2.2.2 最小系统 (4) 2.3扬声器模块 (4) 2.4LED显示模块 (5) 2.5按键模块 (5) 3 软件设计 (6) 3.1音乐盒的功能框图 (6) 3.2音调、节拍以及编码的确定方法 (6) 3.2.1 音调的确定 (6) 3.2.2 节拍的确定 (7) 3.2.3 编码 (8) 3.3软件程序设计 (9) 3.3.1 程序流程图 (9) 3.3.2 程序源代码 (10) 4 调试 (10) 4.1实验环境 (10) 4.1.1 PROTEUS软件简介 (10) 4.1.2 KEIL简介 (11) 4.2仿真调试 (11) 4.3花样灯3种效果 (12) 4.4实物调试 (13) 5 总结 (14) 参考文献 (15) 附录 (16) 附录1仿真电路图 (16) 附录2实物图 (16) 附录3元器件清单 (16) 附录4程序源代码及注释 (17)

音乐盒课程设计报告

音乐盒课程设计报告 XXXXXXXXXXXXX 一、项目概述: 随着社会的发展进步,许多人性化的电子产品被用在人们的日常生活中,而单片机被广泛运用到人们长期接触的事物上,比如银行交易窗口的滚动字幕,还有各种彩灯的控制,手机、计算机、机器人等各行各业中。基于AT89C52单片机的数字音乐盒就是这类产品,它不仅给人们带来了快乐,而且提高了人们的生活质量。 二、项目要求: 基于AT89C52单片机的数字音乐盒的设计要求如下: (1)用AT89C2单片机的I/O端口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 (2)共有10首乐曲,每首乐曲都有相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲的控制键。 (3)LCD液晶显示歌曲的序号、播放时间、开机时显示英文欢迎提示字符。 三、知识要点: (一)、AT89C2芯片资料: 1)功能说明: 1、兼容MCS51指令系统。 2、8k可反复擦写(大于1000次)Flash ROM。 3、2KB的E2PROM程序存储器,可擦写10万次 4、32个双向I/O口。 5、256x8bit内部RAM。 5、3个16位可编程定时/计数器中断。 6、时钟频率12MHz。 7、1个可编程UART串行通道。 8、2个外部中断源,共9个中断源,6个中断矢量。 9、2个读写中断口线,3级加密位。 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 2)引脚说明:

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/VPd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~ P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为 N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 本项目使用到的单片机引脚说明: 1)20、40号引脚分别接地和+5V电源。 2)18、29号引脚分别接振荡器反相放大器的输出端和振荡器反相放大器的及内部时钟发生器的输入端。 3)9号引脚接RST复位电路。 3)单片机使能信号接31号引脚,接+5V。 4)17号引脚(P3.7)接蜂鸣器电路通过定时器控制P3.7引脚上方波的占空比可以实现驱动蜂鸣器,发出不同的音调的功能。 5)P1端口控制4×4矩阵键盘,其中P1.0~P1.3 进行列扫描,P1.4~P1.7进行行扫描。6)P0端口用于接液晶显示器的数据位,由于P0端口驱动能力小,需外接电源和上拉电阻,此项目中接1K的排阻。 (二)、LCD1602资料: 1)、LCD1602介绍: 1602液晶显示器也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 LCD1602是指显示的内容为16X2,即可以显示2行,每行16个字符液晶模块(显示字符和数字)。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。 2)1602引脚说明:

微机原理与接口技术电子表设计

… 微机原理与接口技术 课程设计报告 、 设计名称:电子表设计 专业:计算机原理与接口技术 班级: 姓名: 学号: 指导教师: |

2014年 11 月 27 日

目录 摘要 (2) 一、设计目的及要求 (3) 设计任务 (3) 设计功能 (3) 课程设计方式及基本要求 (3) 实验方式 (3) * 基本要求 (3) 设计所用元件 (4) 二、设计题目及思想 (4) 设计原理 (4) 主要模块 (5) 芯片初始化 (7) 程序流程图 (9) 硬件接线图 (11) | 三、调试结果 (13) 四、课程设计总结 (16) 遇到问题及解决方案 (16) 课程设计心得体会 (16) 参考文献 附录 `

摘要 汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。 通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子表的系统设计。这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。 关键词:汇编语言微机原理接口技术时钟显示

八音盒设计[实用版]..

《单片机原理及应用》课程设计 —八音盒设计 完成日期:2013年06月11日 目录 一、单片机设计课程的目的和基本要求 (2) 二、八音盒的设计要求 (3) 三、关于AT89C51 (3)

3.1、对于AT89C51的性能介绍 (3) 3.2、AT89C51的管脚介绍 (4) 四、总体设计 (5) 五、硬件原理及设计说明 (7) 六、软件设计流程图 (7) 七、程序输入窗口、编码及音乐程序 (7) 7.1程序输入窗口 (8) 7.2编码 (8) 7.3音乐程序 (9) 八、仿真和调试 (9) 九、元器件清单 (10) 十、电路总图 (10) 十一、实验总结 (11) 参考文献: (12) 一、单片机设计课程的目的和基本要求 大学本科生动手能力的培养和提高时大学本科的一个重要内容。本次课程的设计目的,是让我们通过课程设计建立起单片机应用系统的概念,根据系统设计要求,掌握初步的单片机系统设计方法,让学生的动手能力和对单片机系统从硬件系统和软件系统设计两个方面都得到实际的提高。为今后的毕业设计打下良好的基础。 课程设计的基本要求有: (1)在课程设计过程中,学会使用89S51单片机及相应绘图软件,根据设计要

求设计,编程,运行,调试最后提供课程设计报告; (2)课程设计应由学生本人独立完成,严禁抄袭; (3)认真编写课程设计报告。 二、八音盒的设计要求 8051八音盒 本设计利用8051单片机结合内部定时器LCD设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。本设计可以学习8051定时器程序设计,按键扫描及歌曲旋律简单直觉式输入法的设计方法。 其基本功能为:1使用LCD显示器来显示目前演奏的歌曲编号;2具有16个按键操作来选择演奏哪一首歌曲;3内建10首歌曲旋律,按下单键可以演奏歌曲;4演奏时可以按键中断。程序执行后工作指示LED闪动,表示程序开始执行,按下单键0~9便可以演奏歌曲,歌曲演奏中,可以按键中断。 三、关于AT89C51 3.1、对于AT89C51的性能介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 它可以提供以下的功能标准: (1)4K的字节闪烁存储器; (2)128字节随机存取数据存储器; (3)32个I/O口; (4)2个16位定时/计数器; (5)1个5向量两级中断结构; (6)1个串行通信口; (7)片内振荡器和时钟电路。 另外AT89C51还可以警醒OHZ的惊涛逻辑操作,并支持两种软件的节点模式。

基于单片机的音乐盒设计_毕业设计

毕业设计 基于单片机的音乐盒设计 【摘要】本设计是一个基于A T89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计3种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 【关键字】音乐盒;A T89C51单片机;KEIL;PROTEUS;音调

Design Of Music Box Based On SCM Li Kun (Grade06,Class1, Major Computer Science and Technology, Computer Science and Technology Dept,Shaanxi University Of Technology,Hanzhong 723003,Shaanxi) Tutor: FENG Yong-Zheng Abstract:This design is a series based on A T89C51 microcontroller Music Box, based on principles of SCM technology, through the production of hardware and software compilation, designed a multi-function music box. Mainly by the keys of the music box circuit, reset circuit, clock circuit and the buzzer composition. Using two buttons control music box, one to switch songs, and the other is used to switch the 8 LED pattern changes, the music box has two songs, a total of three kinds of pattern light pattern. Play a song, the buzzer sounded a tone, corresponding LED lights up. This design using KEIL programming software to program the music box and debug source code, with the PROTEUS simulation software to simulate hardware, debugging, saving design time. Key Words: Music Box ;A T89C51 SCM; KEIL; PROTEUS; TONE

电子音乐盒(单片机课程设计)说明书

课程设计工作内容与基本要求(设计要求、设计任务、工作计划1.设计要求 查阅资料,了解单片机控制单音喇叭发声原理;设计基于单片机的电子音乐盒;通过按钮可选择不同的音乐。 创新设计: 1、安装复位键,暂停、播放键; 2、有6首不同的音乐用程序编出可供选择。 2. 设计任务与要求 2.1系统硬件电路设计 根据该系统设计的功能要求选择所用元器件,设计硬件电路。要求用Proteus绘制整个系统电路原理图。 2.2软件设计 根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。 2.3 Proteus仿真 用Proteus对系统进行仿真并进行软硬件调试。 2.4 编写设计说明书 内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于4000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并在各功能块前加程序功能注释。

电子音乐盒 1设计任务和要求 (1) 2总体方案设计 (1) 3硬件设计 (2) 3.1 硬件电路 (2) 3.2 系统总框图 (2) 3.3器件选择 (2) 3.4 原理图设计 (3) 3.5 原理说明 (6) 4软件设计 (7) 5仿真、安装和调试 (8) 收获与体会 (10) 参考文献 (11) 附件1:元件清单 (12) 附件2: 总电路图 (13) 附件3:音乐程序 (14)

1设计任务和要求 1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演 乐曲(内存六首乐曲)。 2.采用七段数码管显示当前播放的歌曲序号。 3.可通过功能键选择乐曲,包括暂停和播放,上一曲,下一曲,复位。 2 总体方案设计 1. 要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 2. 利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 3. 起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 低音D0的T=65536-500000/1047=65059

《微机原理与接口技术》课程设计-交通灯

信息工程系 计算机科学与技术 12计本1班 1214110214 黄 福 朱 茜 2015年06月29日 院 系: 专 业: 年级班级: 学 号: 姓 名:指导教师: 设计日期:

目录 一.课程设计目的 (3) 二.课程设计任务 (3) 三.总体设计方案 (3) 五.程序设计流程图 (4) 六. 程序连接图 (5) 七.程序清单 (5) 八.实验结果 (8) 九.课程设计总结和体会 (8)

一.课程设计目的 用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。 ⒈了解交通灯管理的基本工作原理 ⒉熟悉8253定时计数器的工作方式和编程应用 ⒊熟悉8255A并行接口的工作方式和编程应用 二.课程设计任务 本次课程设计的内容为双方向交通信号灯的控制和管理。 具体要求如下: 1.东西方向车辆放行20秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。 2.南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 3.循环重复执行1和2两步骤。 三.总体设计方案 1、用实验系统8255A实现对信号灯的控制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。 2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出 3、实验中,8253采用两个计数器级联的方式达到定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0 输出周期为0.01S的方波,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。

最新声光音乐盒设计设计说明

声光音乐盒设计设计 说明

湄洲湾职业技术学院声光音乐盒设计说明书 系别:自动化工程系

目录 1.前言 (1) 2.系统设计技术参数要求 (2) 3.系统设计 (3) 3.1系统设计总体框图 (3) 3.2各模块原理说明 (5) 3.3 系统总原理图说明 (7) 3.4系统印刷电路板的制作 (8) 3.5系统的操作说明 (8) 参考文献 (9) 致谢词 (10) 附录 (11) 附录1 系统总原理图 (11) 附录2 系统印刷电路板的制作图 (12) 附录3 元件清单 (13) 附录4 源程序 (14)

1.前言 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以AT89C51单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和弦音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。 单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子式音乐盒是现代电子科技与音乐结合的产物,它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用STC89C51单片机为核心控制元件,设计一个电子式音乐盒。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块。 本文主要对使用单片机设计简易电子式音乐盒进行了分析,并介绍了基于单片机电子式音乐盒系统统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,可以播放事先保存的三首优美的曲目。本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。通过设计本系统有助于增进了解单片机的基本功能,使制作者对单片机的原理的理解和应用能力显著提高。

基于51单片机的音乐盒的设计毕业论文

基于51单片机的音乐盒的 设计毕业论文 目次 目次 (3) 1 引言 (4) 1.1 音乐盒的意义 (4) 1.2 研究容 (5) 2.1系统总体框架图 (6) 2.2音乐盒的设计原理 (6) 2.3 单片机芯片概述 (7) 3 硬件电路设计 (8) 3.1 单片机最小系统原理图 (8) 3.1.1 复位电路 (8) 3.1.2 晶振电路 (9) 3.1.3时钟电路 (9) 3.2 LCD显示模块 (9) 3.3 继电器模块 (11) 3.3.1电磁继电器的工作原理和特性 (12)

3.3.2 固态继电器的工作原理和特性 (12) 3.3.3 继电器主要产品技术参数 (12) 3.4 按键模块 (13) 3.5 其它 (13) 4 软件设计 (14) 4.1 软件总体流程图 (14) 4.2播放/暂停子程序 (15) 4.3 LCD显示模块软件设计 (17) 4.3.1 LCD的初始化函数 (17) 4.3.2 LCD与继电器的函数 (18) 5 系统实现 (19) 5.1 硬件调试 (20) 5.1.1 按键控制的实现 (20) 5.1.2 LCD显示 (21) 5.1.3 其他 (21) 总结 (22) 致谢 (23) 参考文献 (24) 附录A 元器件清单 (25) 附录B 源程序 (26)

1 引言 在进入21世纪后,单片机产品的发展正朝着高性能和多品种方向,并且发展趋势是进一步朝着CMOS化、小体积、低功耗、大容量、高性能、低价格以及外围的电路装化等几个方面去发展。单片机的应用的重要意义还是在于它是从根本上改变了传统的控制系统设计思想和设计方法。过去必须要由模拟电路或者数字电路才可以实现的大部分的功能,现在已能完全可以用单片机通过软件的方法来实现了。这种由软件去代替硬件的控制技术也称之为微控制技术,这是传统控制技术的一次革命。单片机可以说渗透到了我们生活的各个方面,几乎难以找到哪个领域里没有单片机的踪迹。导弹中的导航装置,飞机里安装的各种仪表的控制,计算机里的网络通讯与数据传输方面,工业自动化过程中实时控制和数据处理方面,生活中被广泛使用的各种智能IC卡,民用的高档轿车的安全保障系统,摄像机、录像机、全自动洗衣机所涉及的控制方面,以及远程控制的玩具、电子宠物等等,这些全都是离不开单片机的。 而伴随着科学技术的不断进步和社会的持续发展,人类所接触的更种信息也在不断增加并且信息变得越来越复杂。面对着浩如烟海的繁杂信息,人们目前已经能利用计算机等工具快速、精准地对其进行快速处理,但要想将其处理完毕的信息及时、清晰地传递给其他人,还必须要寻找更加卓越的显示技术去实现它。而单片机技术与液晶显示技术的结合,恰恰使得信息的传输交流向着智能化可视化方向进行快速发展。

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

电子音乐盒设计方案

电子音乐盒设计方案 第1章绪论 音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的的钟塔报时,而将大小的钟表上机械装置,被称为“可发出声音的组钟”。 音乐盒悠扬的乐声,经常勾起人们对美好往事的回忆,甚至魂牵梦萦,坠入时光岁月的追忆中。300多年来席卷全球市场的机械音乐盒的最大魅力,也许就在于它能将抽象的音乐,凝固成具象的艺术品。成为人们表达美好情感,追思逝去岁月的最佳选择吧! 机械音乐盒的发展史,可追溯至14世纪初期,所发明挂在教堂钟楼上的排钟,这种用发条装置来演奏的乐器,能发出清脆如水晶般的乐声,一度风靡荷兰,比利时和法国北部。1811年以来,瑞士曾经是这项技艺的中心,它和瑞士钟表工业一样,两者相辅相成,一段时间名领风骚,称霸全球。 音乐盒300多年的产品发展,同时也是人类文明300多年发展的历史鉴证。每个不同时期的音乐盒造型,都能折射出当时不同的社会心态和文明发展现状,它也成了时代的一面镜子。 现今,音乐盒的制造,延袭传统,结合现代,正日益成为人们或为了典藏一段岁月,或为了收藏一份情感,或出于对音乐的追求,或对于旧时代的怀念,或为了居室的美化,等等,而得到众多品位人士的追求。 音乐盒的分类: 18音,30音,这些是代表音乐盒机芯的音数,其实也就是机芯里面,那一排钢条的数量,钢条的数量越多,也就是音数越高,奏出来的音色就越丰富,曲子也就是越好听,同时曲子的播放时间也相应长一点。一般18音的曲子为25秒左右,30音的曲子为35秒左右。50音的差不多有60秒。目前来说,一般市面上卖的“爱丽丝”都是18音的,其次是30音,50音。 此次设计的目的就是运用单片机来设计一套控制系统,来完成音乐播放的控制,并设计一套硬件来进行音调播放的实际模拟,从而有欣赏音乐的效果。

音乐盒毕业设计论文

毕业设计论文 设计课题:___________________ 设计者1:___________________ 设计者2:___________________ 设计者3:___________________ 指导教师:___________________ 答辩时间:___________________

摘要 本设计是以单片机技术应用为主线,主控芯片采用AT89S51芯片,采用汇编语言设计程序。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本课程设计的音乐盒式以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,能弹奏do、re、mi、fa、so、la、si七个音,可以当作一个小小电子琴,由弹奏者弹奏想要的歌曲,给弹奏者提供无限音乐乐趣,还可以播放7首歌,曲目可自由选择。本程设计的音乐盒功能多,使用方便,并具有一定的商业价值,可以生产为小朋友的智力开发玩具,也可生产为年轻人和老年人生活中的不可缺少的音乐盒。

1、 系统总体设计方案及硬件设计 1.1系统总体设计方案 利用单片机于外接独立式按键,通过按键可随意选择播放曲目,按键按下一次,歌曲播放一遍。通过切换键,可切换音乐盒功能与电子琴功能。电子琴是利用各音节的频率与延时时间的结合,不同频率的脉冲经扬声器驱动电路放大后,就会发出7不同音调,达到电子琴固有的基本功能。通过接有一个LM386功率放大器的扬声器播放声音。系统总体设计图如图1。 图1系统总体设计图 1.2硬件设计 硬件功能模块划分:单片机最小系统电路模块、按键电路模以及功放电路模块。 (1)最小系统电路模块 最小系统图包括单片机、复位电路、晶振电路以及电源电路。如图 2

数字音乐盒实验报告

《单片机与接口设计》课程设计报告 题目数字音乐盒 学号130803023 130803088 130803100 姓名胡杰张宏朱子龙 年级专业13级通信工程 指导教师黄云飞 完成日期2016 年 3 月 4 日 安徽师范大学物理与电子信息学院 College of Physics and Electronic Information, Anhui Normal University

物理与电子信息学院课程设计评定意见 注:本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订

课程设计划任务书 通信工程系通信工程专业 学生姓名朱子龙班级13级学号:130803100 学生姓名胡杰班级13级学号:130803023 学生姓名张宏班级13级学号:120803088 课程名称:单片机原理与接口技术 设计题目:数字音乐盒 课程设计内容与要求: 课程设计开始日期2016 年1 月14 日指导教师黄云飞课程设计结束日期2016 年 3 月 4 日

数字音乐盒 摘要:本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LCD显示器为 核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。要求利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调并采用LCD显示信息,从而演奏乐曲(最少三首乐曲,每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可通过功能键选择乐曲,暂停,播放。 本设计采用4*4键盘,用Protel99来画系统硬件图,采用汇编语言进行编程,编程后利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。该音乐盒的设计可以通过按键选择不同的曲目,播放和暂停,并通过LCD显示歌曲号及播放时间。 本设计键盘采用动态扫描方式。每次扫描一行键盘,送此行低电平,读输入口的状态值,判断有没有键按下。若有键按下,根据读入口的值选择显示值并送至显示值寄存单元,判断键值,启动计数器T0,根据次值为偏移地址找到要选择的音乐的代码的首地址,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音。同时启动定时器T1,计算音乐的播放的时间。 关键词:数字音乐盒;AT89C51;KEIL;PROTEUS;数码管

相关文档
最新文档