- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国地质大学长城学院
本 科 设 计
: 基于单片机的电子琴设计
系 别 信息工程系 学生姓名 专 业 电气工程及其自动化 学 号 指导教师 刘瑞静 职 称
2015年 0 月 20 目 录
1 绪论 1
1.1 1
1.2 设计的要求及内容 1
2 系统硬件设计 2
2.1总体方案设计
2.2 时钟电路设计 3
2.3 复位电路设计 3
2.4 按键电路设计 4
3 程序软件设计 8
3.1 主程序流程图 8
4 系统调试与仿真 12
4.1 系统调试 12
4.2 仿真结果 12
5 总结 17
参考文献 18
2.4 按键电路设计
电子琴键盘采用独立式键盘。其特点是一键一线,各键相互独立,每个按键各接一条I/O口线,通过检测I/O口输入线的电平状态,可以很容易的判断哪个按键被按下,如图4-6所示
2.5 蜂鸣器电路设计
主要负责声音输出。
2.6 示波器电路设计
3程序软件设计
3.1主程序流程图
系统功能的实现一般包括硬件部分和软件部分,一旦硬件确定下来,软件要实现的功能也随之确定。而为使编程思路清晰,应先绘制程序流程图。本系统软件中还要是编辑电子琴播放状态的内容,在设计中采用汇编语言编写了电子琴控制系统控制和播放内容的程序。
图6 主程序流程图
4 系统调试与仿真
4.1 源程序
Pulse equ 10h ;脉冲
PulseCNT equ 50h ;脉冲计数
ToneHigh equ 40h ;高音调
ToneLow equ 41h ;低音调
Tone equ 42h ;音调
KeyBuf equ 54h
Speaker BIT P3.2
ORG 0000H
ljmp Start
org 000bh
LJMP Timer0Int
org 0100h
Start:
mov sp, #70h
mov TMOD, #01 ; Timer
mov IE, #82h ; EA=1, IT0 = 1
mov Tone,#0
MLoop:
call TestKey
jz MLoop
call GetKey
mov b, a
jz MLoop ; = 0, 1
dec b
mov a, b
rl a ; a = a*2
mov b, a
mov dptr, #ToneTable
movc a, @a+dptr
mov ToneHigh, a
mov TH0, a
mov a, b
inc a
movc a, @a+dptr
mov ToneLow, a
mov TL0, a
SETB TR0
MOV P1,#0FFH
WAIT:
MOV A,P1
CJNE A,#0FFH, WAIT
MOV R6,#10
ACALL DELAY
CLR TR0
LJMP MLOOP
Timer0Int: ;定时中断
push PSW
clr TR0
mov TH0, ToneHigh
mov TL0, ToneLow
setb TR0
mov C, Pulse
MOV Speaker,C
CPL Pulse
pop PSW
reti
ToneTable:
DW 64578,64686,64778,64821
DW 64898,64968,65029,65068
TestKey:
MO
文档评论(0)