《微机原理与接口技术》课程设计简易电子琴设计Word文件下载.docx
- 文档编号:18675934
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:14
- 大小:53.57KB
《微机原理与接口技术》课程设计简易电子琴设计Word文件下载.docx
《《微机原理与接口技术》课程设计简易电子琴设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》课程设计简易电子琴设计Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
⑵由此构想运用8253工作在方式3的状态下控制其2#计数器对应寄存器中的数值,然后将输出端口OUT2产生的方波通过扬声器转换成为声音。
⑶为了实现弹奏按键(即拨码开关)来控制扬声器,可以通过用拨码开关改变8253(工作在方式3的状态下)2#计数器对应寄存器中的数值,8253输出端口OUT2通过反相器后与扬声器相连接。
⑷最后要实现的就是将拨码开关对应的数字信号存入寄存器中
采用8255A并行接口特点,使端口A工作在方式0并作为输出口,端口B工作在方式0,并作为输入口。
将拨码开关与8255A的输入端口B相连接。
⑸可编程接口芯片
8255A芯片:
8255A的数据线、片选信号线、地址线、读写控制线等分别与系统总线相连,其中A、B、C三个端口一排针形式引出,如下图⑴所示,端口地址如表2
表18255A端口地址表
信号线
寄存口
编址
IY03
A口
60H
B口
61H
C口
62H
控制寄存器
63H
8253芯片:
系统中,8253的0通道输出线与8253的0#中断请求线作为时钟中断信号。
1#通道入口接1.8432MHz的信号源,输出接8251的收发时钟端,供串行通讯使用,这里的13计数器仅当作一个分频器使用。
2#通道以排针形式引出,开放给用户使用,如下图⑵,所示系统中的8253端口地址如表2
表28253端口地址表
IY02
0#寄存器
40H
1#寄存器
41H
2#寄存器
42H
43H
图⑴
图⑵
61H
端口是8255并行接口B口的地址,由它来控制扬声器的.实际上由PB还加上一个8253定时器,通过与门之后才连到扬声器上的。
第二章简易电子琴的软件设计
2.1主程序流程图
2.2弹奏程序功能设计
DATASEGMENT
TABLE1DB4DH,45H,3DH,39H,33H,2DH,28H;
1,2,3,4,5,6,7的频率
DATAENDS
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVAL,82H;
8255初始化
OUT63H,AL
A0:
INAL,61H
OUT60H,AL
CMPAL,00H
JZA0
CMPAL,02H;
1,2,3,4,5,6,7的发音判断
JZF1
CMPAL,04H
JZF2
CMPAL,08H
JZF3
CMPAL,10H
JZF4
CMPAL,20H
JZF5
CMPAL,40H
JZF6
CMPAL,80H
JZF7
LOOPA0
F1:
MOVBX,OFFSETTABLE1;
发音1
CALLFY
CALLDELAY
JMPA0
F2:
发音2
INCBX
CALLDELAY
JMPA0
F3:
发音3
ADDBX,2
F4:
发音4
ADDBX,3
F5:
发音5
ADDBX,4
F6:
发音6
ADDBX,5
F7:
发音7
ADDBX,6
CALLFY
FYPROC;
发音子程序
A7:
MOVAL,0B6H;
8253初始化
OUT43H,AL
MOVAL,[BX]
MOVAH,00H
MOVDL,25H
MULDL
OUT42H,AL
MOVAL,AH
OUT42H,AL
RET
FYENDP
DELAYPROC;
延时子程序
PUSHCX
PUSHAX
MOVCX,0040H
A5:
MOVAX,056CH
A6:
DECAX
JNZA6
LOOPA5
POPAX
POPCX
MOVAL,0BAH;
改变8253的控制字10111010,工作于方式5
MOVDX,43H
OUTDX,AL
DELAYENDP
CODEENDS
ENDSTART
2.3自动播放预存琴谱功能程序设计
TABLE2DB4DH,4DH,33H,33H,2DH,2DH,33H,01H
DB39H,39H,3DH,3DH,45H,45H,4DH,01H
DB33H,33H,39H,39H,3DH,3DH,45H,01H
DW64DUP(?
ASSUMECS:
CMPAL,01H;
扩展功能
JZF0
F0:
MOVBX,OFFSETTABLE2
JZA1
A1:
CMPAL,01H
JNZA4
CALLFY;
在弹奏程序中已编入可直接调用
MOVAL,[BX]
TESTAL,0FFH;
唱完一遍自动停止
JZA3
JMPA1
A3:
PUSHAX;
延时
LOOPA3
JMPA4
A4:
改变8253的控制字,工作在方式5,使不发声
JMPA0
CODEENDS
2.4简易电子琴主程序设计
DB39H,39H,3DH,3DH,45H,45H,4DH,01H
DB33H,33H,39H,39H,3DH,3DH,45H,01H
DATAENDS
MOVDS,AX
CMPAL,00H
CMPAL,04H
CMPAL,20H
CMPAL,40H
CMPAL,80H
LOOPA0
INCBX
ADDBX,2
ADDBX,6
JZA1
A1:
JZA3
JMPA1
A3:
POPAX
JMPA4
MOVDX,43H
OUTDX,AL
JMPA0
OUT43H,AL
MOVAH,00H
MOVDL,25H
MULDL
OUT42H,AL
RET
PUSHCX
PUSHAX
MOVCX,0040H
A5:
A6:
JNZA6
LOOPA5
POPCX
第三章简易电子琴的安装与调试
3.1硬件调试
⑴连接简易电子琴系统的电路图
拨码开关SB0~SB7与8255A的PB输入端口连接,将8253的CLK2与试验箱上的脉冲源连接,最后把82553的输出端OUT2通过反相器后接到扬声器。
(由于GATE2端空载时保持高电平,所以不必连接)。
⑵将实验箱与微型计算机保持串口通讯成功。
⑶将汇编程序代码输入微型计算机进行硬件调试。
3.2软件调试
⑴把弹奏功能的程序代码输入微型计算机,与硬件相结合进行修改调试(其中主要运用跳转、循环和条用指令)。
⑵在实现弹奏功能的程序中再加入自动播放预存琴谱功能的程序程序,进行调试。
心得与体会:
在为期一周的微机原理课程设计中,我学会了制做项目的一般步骤。
第一部是硬件设计主要是实现控制对象与被控制对象之间的联系。
第二步就是软件设计,就是要完成各个可编程芯片与CPU之间的数据传送和各个进程的逻辑顺序。
在本次设计中对硬件要求就要熟练掌握可编程器件8255A和8253的应用。
对软件设计就要熟练掌握汇编语言。
由于时间限制的问题和硬件的局限性也只能将电子琴的功能简易化。
参考文献:
1.《微机原理里与接口技术》(第2版)彭虎、周佩玲、傅忠谦、编著
电子工业出版社
2.《汇编语言与接口技术》王让定陈金儿叶富乐史旭华编著
清华大学出版社
3.《汇编语言程序设计》相伟主编徐小平李珍香副主编
中国水利水电出版社
4.《微机原理试验指导书》武汉理工大学华夏学院
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 微机 原理 接口 技术 课程设计 简易 电子琴 设计