- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8051八音盒
课程设计任务书
8051八音盒
本设计利用8051单片机结合内部定时器LCD设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。本设计可以学习8051定时器程序设计,按键扫描及歌曲旋律简单直觉式输入法的设计方法。
其基本功能为:1使用LCD显示器来显示目前演奏的歌曲编号;2具有16个按键操作来选择演奏哪一首歌曲;3内建10首歌曲旋律,按下单键可以演奏歌曲;4演奏时可以按键中断。程序执行后工作指示LED闪动,表示程序开始执行,按下单键0~9便可以演奏歌曲,歌曲演奏中,可以按键中断。
设计项目简介
设计思路:
选择8051单片机,通过T0定时中断,并配合P3.0引脚输出音频频率。
P3.0引脚输出接扬声器。
通过P3.4引脚接入中断按键,进行中断
通过P0接8155外扩端口。
通过8155PA口接LCD驱动电路芯片,再接显示器。
8155的PB,PC口接键盘,输入歌曲号。
音符产生方法:
不同的音调有不同的频率。频率不同,音调也就不同。
利用定时器,使其工作在模式1,定时中断,然后控制P3.0引脚的输出每次取反,就可以在P3.0的引脚输出相应的方波频率。改变计数初值,就改变了频率。定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P3.0引脚得到一音频的脉冲。
如:中音1的频率=523HZ,周期T=1/523=1912us;
定时器的定时时间为:T/2=1912/2us=956us;
计算得TH0,TL0的计数初值THTL=64580
下面是个音符计数初值
音符 THTL 音符编码 低音5 0F66FH 1 低音6 0F724H 2 低音7 0F81BH 3 中音1 0F88FH 4 中音2 0F95EH 5 中音3 0FA17H 6 中音4 0FA6BH 7 中音5 0FB08H 8 中音6 0FB92H 9 中音7 0FC0EH A 高音1 0FC4BH B 高音2 0FCAFH C 高音3 0FD0CH D 高音4 0FD36H E 高音5 0FD84H F 节拍产生方法:
音乐中的节拍用延时时间产生。假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。为方便记谱,将节拍数也进行编码,如下:
节拍编码 节拍 1 1/4 2 1/2 3 3/4 4 1
建立曲谱编码表:
编谱用8位编码,高4位代表音符,低4位代表节拍。如5 6中音5,中音6,都是1/2拍,则编码为:82H 92H
电路原理图:
系统功能简介:
8051八音盒具有4乘4键盘,由于选歌旋律。有LCD显示,显示当前正在播放的旋律。
有中断按键,在单片机播放旋律时可以按中断暂停,再选歌曲旋律。有LED指示,其随旋律的节拍而变化。
程序框图:
程序清单:
ORG 0000H
SJMP MAIN
ORG 0100H
MAIN:SETB EA
SETB EX1 ;开外部中断int0
MOV DPTR,#8000H
MOV A,#30H
MOVX @DPTR,A ;令8155a,b为输出,c为输入
MOV R7,#0BH
ACALL SCREEN ;显示器初始化为00
DISPLAY:ACALL SCAN ;扫描键盘
ACALL SCREEN ;lcd显示
CJNE R7,#0FFH,NEXT ;判断中断是否选中曲目
SJMP DISPLAY ;没选中,即无按键
NEXT:ACALL MUSIC ;选中曲目在r7中
CLR R7
SJMP MAIN ;再次扫描
END
ORG 0200H ;scan子程序
SCAN:MOV DPTR,#8002H ;dptr指向b口
MOV A,#00H
MOVX @DPTR,A ;使b口输出低电平
MOV DPTR,#8003H ;dptr指向pc口
MOVX A,@DPTR ;读pc口状态
ANL A,#0FH ;屏蔽高4位
CJNE A,#0FH ;若有键按下,则keyscan
SJMP EXIT ;无键按下,则exit
KEYSCAN:ACALL DY12MS ;延时12ms去抖动
MOV R2,#0EH ;列扫描始值给r2
MOV R3,#04H ;列数4给r3
您可能关注的文档
最近下载
- 计量器具检定校准服务投标方案(完整技术标).docx
- 弹弹堂架设你想一个游戏那么一定要对这个有认识这样才能为.pdf
- 《常温好氧水解制复合碳源》编制说明.pdf
- 2023执业药师继续教育从8个临床问题学习氯吡格雷说明书参考答案.docx
- 护士进修汇报多学科护理的协作与合作.pptx
- 哈希HACH-NPW-160H总磷-总氮水质在线分析仪 使用手册-操作说明书.pdf
- 小学英语新人教版PEP三年级上册Unit 1 Making friends Part A第1课时教学课件(2024秋).pptx
- 《铁路桥隧养护与维修》教学课件合集.pptx
- 人教版六年级上册数学第三单元《分数除法》全单元教学课件(新插图).pptx
- 趋势交易法(鹿希武)-可直接打印.doc
文档评论(0)