单片机课程设计上交版.docx

上传人:b****7 文档编号:11211380 上传时间:2023-02-25 格式:DOCX 页数:14 大小:314.14KB
下载 相关 举报
单片机课程设计上交版.docx_第1页
第1页 / 共14页
单片机课程设计上交版.docx_第2页
第2页 / 共14页
单片机课程设计上交版.docx_第3页
第3页 / 共14页
单片机课程设计上交版.docx_第4页
第4页 / 共14页
单片机课程设计上交版.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机课程设计上交版.docx

《单片机课程设计上交版.docx》由会员分享,可在线阅读,更多相关《单片机课程设计上交版.docx(14页珍藏版)》请在冰豆网上搜索。

单片机课程设计上交版.docx

单片机课程设计上交版

 

单片机课程设计

 

 

附录2源代码……………………………………………………………………….10

第1章概述

我们生活在一个信息时代,各种电子产品层出不穷,作为一个计算机专业的学生,了解这些电子产品的基本组成和设计原理是十分必要的,我们学习的是计算机组成的理论知识,而课程设计正是对我们学习的理论的实践与巩固。

本设计主要介绍的是一个用超高速硬件描述语言VHDL设计的一个具有若干功能的简易电子琴,其理论基础来源于计算机组成原理的时钟分频器。

1.1设计目的

(1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。

(2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。

(3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。

(4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。

 

第2章系统设计

2.1简易电子琴设计方案

设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等七个音符。

使用元件:

AT89C51、LM324,喇叭,按键等

1.能够实现基本的琴键功能

即每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置通过程序来控制,使蜂鸣器发著不同频率的声音,声音延迟延迟一段时间,等到按键放开后,声音停止。

然后再继续扫描,看是否有键按下,如此循环下去,即实现基本的琴键功能。

2.能够实现调节电子琴银色功能

在键盘上设置功能键,通过按键选择不同的因素。

3.能够实现通过按键自动播放歌曲的功能

在键盘上设置几个功能键,按下之后会根据功能键跳转到自动播放歌曲的程序,来播放相应的歌曲。

2.2系统的总框图

系统的电路结构组成框图如图一:

 

2.3系统工作原理

乐音实际上是有固定周期的信号。

我们可以用AT89C51的一个定时器(如T1)控制,在P3.4脚上输出方波周期信号,产生乐音。

根据不同的按键,调节T1的溢出时间,可输出不同频率的乐音,这样就做出了一台微型电子琴。

  每个乐音的音高(频率)是固定的,表1列出了一个8度以及其上下共16个音的音名、频率及定时器T1初值对照(设晶体频率为6MHz)

音乐产生原理及硬件设计由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T=216--5﹡105/相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值,电子琴的具体工作原理图如下图所示。

简易电子琴的工作原理图

 

第3章硬件电路的设计

由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T=216--5﹡105/相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示:

音符

频率(HZ)

简谱码(T值)

中1DO

523

64580

中2RE

587

64684

中3M

659

64777

中4FA

698

64820

中5SO

784

64898

中6LA

880

64968

中7SI

988

65030

采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:

TABLEDW64580,64684,64777,64820,64898,64968,65030

键盘电路采用独立式键盘,将P1口作为键盘扫描接口,按键一端接地一端接P1口,P3.4作为音频输出端口,P3.7作为程序运行发光二极管显示输出端口

 

第4章软件设计

4.1程序流程图

图3.2简易电子琴的工作流程图

4.2程序设计说明

4.2.1对声音的控制

 ①对音调的控制:

根据不同的按键,对定时器T1送入不同的初值,调节T1的溢出时间,这样就可以输出不同音调频率的方波。

不同音调下各个音阶的定时器

 ②对音长的控制:

先向定时器T0送入一个固定初值,控制中断循环的次数,从而得到成倍数关系的时间间隔。

按一拍0.64S计算,取1/16拍为最小间隔,即0.04S,为此设定T0的初值为63C0。

③乐谱的编码规则:

对于每个音符,定义用8位二进制数表示。

其中,最高位为1的字符为结束符,当读到最高位为1时,停止播放;低3位存储音阶码,即音阶表的列数,可为000B~111B(1~7和休止符),休止符表示停顿,不发音,只有时间长短属性;第3位和第4位存储音高码,即音阶表的行数,可为00B~10B;第5位和第6位存储音长码,即中断次数,可为00B~10B。

4.2.2对演奏的控制

在手动演奏时,规定先按音调键,后按音阶键。

每次音阶键按下时,调用键盘扫描子程序,获得键值,查询音阶表,获取定时器T1的计时初值,向喇叭输入相应频率的驱动脉冲,发出相应的声音,若按键没有松开,则一直发声;若按键松开,则停止发声。

在自动演奏时,通过选曲键来确定要播放的音乐,根据键值查询曲目表获取所点歌曲的首地址,依次读取歌曲的代码,获得音阶、音调和音长信息,播放相应的音乐。

当读到结束符时,停止播放音乐。

 

第5章总结

 

通过一周的紧张工作,终于完成了简易电子琴的设计,这个课程设计使我受益匪浅,他使我了解了硬件设计的整个流程,并且加深了我对计算机组成原理这门的课内容的理解,通过这个课程设计,不仅使我了解了组成原理的脊髓,而且使我对单片机从陌生到初步理解,扩充的我的知识面。

这个课程设计也培养了我们的耐心和毅力,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,由于这个课程设计也使我积累了一些经验,相信这些经验在我以后的学习工作中会有很大的作用。

此课程设计也使我了解了单片机设计的方便灵活性,这是我们跨入计算机硬件行业很好的一次锻炼。

 

参考文献

【1】单片微型计算机接口技术及应用  张淑清姜万录等著编(国防工业出版社  2003年1月)

【2】8051单片机实践与应用  吴金戌沈庆阳郭庭吉编著(清华大学出版社  2001年8月)

【3】微型计算机原理与接口技术  冯博琴主编(清华大学出版社  2004年4月)

【4】新颖实用电子设计与制作  张友汉主编(福建科学技术出版社  2000年1月)

【5】C语言程序设计教程(第二版)  谭浩强等著编(高等教育出版社)

【6】数字电子技术基础简明教程(第二版)余孟尝主编

 

附录

(一)硬件电路图:

 

附录

(二)源代码

ORG0000H

LJMPMAIN

ORG0003H

LJMPIN0T

ORG000BH

LJMPINT_T0

ORG001BH

LJMPTIME1

ORG0100H

MAIN:

MOVSP,#60H;初始化堆栈指针

MOV30H,#00;定时器初值清零

MOV31H,#00

MOV32H,#00

MOVP1,#0FFH;设置P1口为输入模式

MOVTMOD,#11H;设置定时器0为工作模式1

SETBEX0

SETBIT0

SETBET0;开定时器0中断

SETBET1

SETBEA;开总中断

CLRTR1

CLRTR0;关闭定时器0

START:

MOVR0,P1

MOVA,32H

JNZINT

CJNER0,#0FFH,KEY1;键盘扫描

SETBP3.7

CLRTR0

SJMPSTART

IN0T:

PUSHACC

MOVA,32H

JNZCLR1

MOV32H,#1

SJMPOVER

CLR1:

MOV32H,#0

OVER:

POPACC

RETI

KEY1:

MOVR1,#0

MOVA,R0

CPLA

LOOP:

CJNEA,#01H,REL

SJMPFU

REL:

RRA

INCR1

SJMPLOOP

FU:

MOVA,R1

MOVB,#2

MULAB

MOVR2,A

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOV30H,A

MOVA,R2

INCA

MOVCA,@A+DPTR

MOV31H,A

SETBTR0

CLRP3.7

LJMPSTART

INT_T0:

;T0中断服务程序

MOVTH0,30H;定时器赋初值

MOVTL0,31H

CPLP3.4;输出方波

RETI

TABLE:

DB0FCH,44H,0FCH,0ACH,0FDH,09H,0FDH,34H

DB0FDH,82H,0FDH,0C8H,0FEH,06H,0FEH,22H

INT:

MOV40H,#00H;设简谱码指针初始值

NEXT:

MOVA,32H

JZSTOP

CLRP3.7

MOVA,40H;简谱码指针暂存累加器A

MOVDPTR,#TABLE2;设简谱码

MOVCA,@A+DPTR

CJNEA,#00H,PLAY;取到的简谱码不是结束码,传PLAY取节拍码

LJMPSTOP;皇墙崾耄顺?

PLAY:

MOVR3,A;R1暂存简谱码

ANLA,#0FH;取节拍码

MOVR4,A;节拍码暂存R2

MOVA,R3

ANLA,#0F0H;取音符码

CJNEA,#00H,MUSIC;音符码不为0,调发音子程序

CLRTR1;音符码为0,不发音

LJMPDEL

MUSIC:

SWAPA

DECA

MOV22H,A

ADDA,22H

MOVR1,A

MOVDPTR,#TABLE1;取相应计数值

MOVCA,@A+DPTR

MOVTH1,A;暂存高位字节

MOV21H,A

MOVA,R1

INCA

MOVCA,@A+DPTR;取相应计数值的低位字节

MOVTL1,A;暂存低位字节

MOV20H,A

SETBTR1;启动定时器

DEL:

LCALLDELAY

INC40H;指向下一个简谱码

LJMPNEXT

STOP:

CLRTR1;停止计时器

LJMPSTART

TIME1:

PUSHACC;现场保护

PUSHPSW

CPLP3.4;P1.7反相输出,演奏音乐

MOVTL1,20H;重设计数值

MOVTH1,21H

POPPSW

POPACC

RETI

DELAY:

MOVR7,#02H;4/4曲调,演示125ms子程序

DELA1:

MOVR6,#125

DELA2:

MOVR5,#248

DJNZR5,$

DJNZR6,DELA2

DJNZR7,DELA1

DJNZR4,DELAY

RET

TABLE1:

DW64524,64580,64684,64777;简码值

DW64820,64898,64968,65030,65058

DW64400,64260

TABLE2:

DB14H,42H,62H,98H

;歌曲《送别》

DB74H,92H,72H,68H

DB64H,22H,32H,44H,32H,22H

DB3CH

DB64H,42H,62H,94H,04H,82H

DB74H,94H,68H

DB64H,32H,42H,54H,04H,12H

DB2CH

DB74H,94H,98H

DB84H,72H,82H,98H

DB72H,82H,92H,72H,72H,62H,42H,22H

DB3CH

DB64H,42H,62H,94H,04H,82H

DB74H,94H,68H

DB64H,32H,42H,54H,04H,12H

DB2CH

DB42H,62H,72H,41H,61H,41H,31H,22H,0B2H

;歌曲《三个和尚》

DB62H,61H,61H,71H,61H,41H,64H

DB0B2H,0B2H,62H,61H,61H,71H,61H,41H,64H

DB0B2H,0B2H,62H,61H,61H,71H,61H,41H,64H

DB42H,62H,72H,41H,61H,41H,31H,22H,0B2H

DB22H,31H,41H,31H,21H,0A2H,0B4H

DB22H,31H,41H,31H,21H,0A2H,0B4H

DB22H,31H,41H,31H,21H,0A2H,0B4H

DB0A2H,21H,32H,42H,62H,61H,41H,62H,71H

DB42H,41H,61H,42H,32H,22H,31H,21H,0A2H

DB42H,41H,61H,42H,32H,22H,31H,21H,0A2H

DB42H,41H,61H,42H,32H,22H,31H,21H,0A2H

DB62H,61H,42H,62H,71H,61H,72H,62H,71H

DB62H,61H,71H,32H,42H,64H

DB00H

END

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

当前位置:首页 > 高等教育 > 历史学

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

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