简易电子琴的设计与仿真.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

proteus 7的使用及调试

定时器、中断、键盘接口数字电路、模拟电路的相关知识2、实现及编程

2.1程序框图

)

2.2电路原理图

2.3程序内容 7个音调的产生方法 按k2让音调逆向输出 如何按k8+k2放出音乐和如何

让音乐停止

2.4汇编源程序 BUZZ EQU P2 BUZZ1 EQU P1.7 ORG OOOOH LJMP MAIN ORG 000BH

LJMP INT_T0 ORG 001BH LJMP TIME1 ORG 8000H MAIN: MOV SP,#90H MOV BUZZ,#0FFH

MOV TMOD,#11H SETB ET0 SETB ET1 SETB EA CLR TR0 START: MOV R0, BUZZ CJNE R0,#0FFH,KEY1 CLR TR0 SJMP START KEY1: CJNE R0,#0FEH,KEY2 MOV 30H,#0FBH MOV 31H,#0E9H LJMP SET_TIMER KEY2:

CJNE R0,#0FDH,KEY3 MOV 30H,#0FCH MOV 31H,#5CH LJMP SET_TIMER KEY3:

CJNE R0,#0FBH,KEY4

MOV 30H,#0FCH MOV 31H,#0C1H LJMP SET_TIMER KEY4:

CJNE R0,#0F7H,KEY5 MOV 30H,#0FCH MOV 31H,#0EFH LJMP SET_TIMER KEY5:

CJNE R0,#0EFH,KEY6 MOV 30H,#0FDH MOV 31H,#045H LJMP SET_TIMER KEY6:

囉*

1IU

■□■1l

■CkUJUfiia ▼"■VZ AfiJkAAl ■E * F Wi -54

■U A JM

"bn iunTb

—-

P XF

™n *T*Ll

2CH,02H,82H DB 16H,32H,56H,12H DB 0A6H,32H,56H,52H DB

66H,72H,0B6H,62H DB 62H,52H,58H,32H,22H DB 16H,12H,14H,32H,22H DB 16H,12H,14H,22H,32H DB 26H,92H,0A4H,12H,22H DB 1CH DB 00

K8键按后是否音调是逆

原来是忘了继续检测

END

3、调试及测试

3. 1调试(按实际做的步奏)

如按下k5后显示如下图:

k1— k7音调输出

按一下k8。在按k1—k7音频逆向输出

先按着k8再+k1键后会在音频输出歌曲,k1键停止

3. 2测试

在proteus 环境下点击k1-k7看看发出的音是不是正确的 向的

K8+k1是否音乐输出

在调试源代码中采用分块测试:音频输出、按键音乐播放 最后采用组合调试

3. 3出现的问题及解决

在做k8按键检查k 到8直到k8放开才跳转一直出错。 p2 口 0 0 0

TM0D 设置错误

相关文档
最新文档