微机接口实验报告DOC.docx
- 文档编号:4343851
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:14
- 大小:115.82KB
微机接口实验报告DOC.docx
《微机接口实验报告DOC.docx》由会员分享,可在线阅读,更多相关《微机接口实验报告DOC.docx(14页珍藏版)》请在冰豆网上搜索。
微机接口实验报告DOC
河南科技学院
《微机原理及接口技术》课程设计报告
题目:
电子音乐
小组成员:
指导老师:
完成时间:
2014年6月5号
目录
1.设计目的2
2.设计要求与内容2
3.设计及原理2
3.1设计思路2
3.2硬件总体框图(总体框图后再分别对各模块电路说明)2
4.软件设计2
5.总结2
6参考文献2
7附录(一般附上源程序代码)2
1.设计目的
通过对8253控制芯片和8255芯片的综合使用与了解,实现音乐彩灯的配合控制设计的功能。
2.设计要求与内容
1.1设计要求:
彩灯跟音乐的频率配合控制
(1)用8253定时器T0方式3来产生歌谱中各音符对应频率的方波。
(2)由OUT0输出驱动喇叭。
1.2任务内容
(1)熟练掌握8255控制芯片的作用,理解并运用,运用延迟函数跟频率调节实现音乐跟LED灯的同步进行,采用8255跟8253芯片控制喇叭跟LED灯。
3.设计及原理
3.1设计思路
本次课程设计是电子音乐控制器,主要是用8255控制器跟LED灯,喇叭连接组成音乐控制。
电子音乐的设计与实现主要是通过编写汇编语言程序利用8255的IOC口对灯进行控制,通过控制8253定时器来产生不同频率的方法,驱动喇叭发出不同音阶的声音,再利用延时来控制发音时间的长短,即可控制音调中的节拍。
把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中,当延时时间到,再查下一个音符的定时常数和延时常数。
3.2硬件总体框图(总体框图后再分别对各模块电路说明)
8255连接图:
4.软件设计
程序流程图的简单介绍
5.总结
(1)想法很重要。
设计的思想很大程度上决定了实验的高度。
实现音乐的播放可以考验自己学的知识,利用8253跟8255实现LED灯结合使用,来实现LED灯随着音乐的旋律闪烁。
(2)汇编语言知识和微机原理知识要扎实。
通过这次实验,我们小组三个成员受益匪浅。
实验的完成需要扎实的基础知识,于是我们回去复习了汇编语言的书籍,查阅了相关文献和资料。
这次实验不仅是对课程内容掌握程度的一次考验,而且是一次很好的训练机会,训练了我们查找资料的能力。
通过此次课程设计的锻炼,自己的动手能力有了很大的提高,查找问题、解决问题的能力也有了相应的进步。
(3)做实验,总要信。
在本次的实验过程中,遇到很多我们无法解决的问题。
经过我们小组成员间的相互讨论,寻求同学的指导,就把自己发觉不到的错误找出来了,从而继续进行实验。
过程中遇到很多困难,几天都呆在寒冷的实验室,途中也会遇到挫折,毫无头绪的时候。
毅力和坚持的勇气很重要,支撑我们走过实验的每一步。
本次试验虽然还存在不足的地方,但这是我们努力过的成果和结晶,红绿灯自动转换,扬声器鸣叫拿一刹那,我们都欣慰地尖叫了。
阳光总在风雨后,做实验,总要信。
6参考文献
《微型计算机原理与接口技术》吕林涛主编,科学出版社
《微机原理与单片机课程设计》教学大纲
《扬声器的发声原理》清华大学出版社
7附录(一般附上源程序代码)
IO_8253_0DW0060H;8253计数器0口地址缓冲区
IO_8253_1DW0061H;8253计数器1口地址缓冲区
IO_8253_2DW0062H;8253计数器2口地址缓冲区
IO_8253_MDW0063H;8253控制口地址缓冲区
Base_addressEQU0A600H;获取PCI卡PNP设备配置资源后直接加入基地址参数
DELAY_SETEQU500H;约100ms根据PC机速度 调整其参数!
!
IO_8255_ADW0070H;8255A口地址缓冲区
IO_8255_BDW0071H;8255B口地址缓冲区
IO_8255_CDW0072H;8255C口地址缓冲区
IO_8255_MDW0073H;8255控制口地址缓冲区
;Base_addressEQU0A400H;获取PCI卡PNP设备配置资源后直接加入基地址参数
TABDW0B2EH;1
DB01H
DW0B2EH;1
DB01H
DW0B2EH;1
DB02H
DW0EF2H;5.
DB02H
DW08E0H;3
DB01H
DW08E0H;3
DB01H
DW08E0H;3
DB02H
DW0B2EH;1
DB02H
DW0B2EH;1
DB01H
DW08E0H;3
DB01H
DW0779H;5
DB02H
DW0779H;5
DB02H
DW0864H;4
DB01H
DW08E0H;3
DB01H
DW09F7H;2
DB02H
DW0000H
DB02H
DW0FFFFH
DW0000H
DB02H
DW0FFFFH
MY_DATAENDs
MY_CODESEGMENTPARA'CODE'
MY_PROCPROCFAR
ASSUMECS:
MY_CODE,DS:
MY_DATA,SS:
MY_STACK
.386;386模式编译
START:
MOVAX,MY_DATA
MOVDS,AX
MOVES,AX
MOVAX,MY_STACK
MOVSS,AX
CALLFINDPCI;自动查找PCI卡资源及IO口基地址
MOVAX,wordptrIO_base_address
;MOVAX,Base_address;直接加入本机PCI卡IO口基址参数
ADDIO_8253_0,AX;目标芯片偏移地址+PC机基地址-->口地址缓冲区
ADDIO_8253_1,AX;目标芯片偏移地址+PC机基地址-->口地址缓冲区
ADDIO_8253_2,AX;目标芯片偏移地址+PC机基地址-->口地址缓冲区
ADDIO_8253_M,AX;目标芯片偏移地址+PC机基地址-->口地址缓冲区
ADDIO_8255_A,AX;目标芯片偏移地址+PC机基地址-->口地址缓冲区
ADDIO_8255_B,AX;目标芯片偏移地址+PC机基地址-->口地址缓冲区
ADDIO_8255_C,AX;目标芯片偏移地址+PC机基地址-->口地址缓冲区
ADDIO_8255_M,AX;目标芯片偏移地址+PC机基地址-->口地址缓冲区
;
;********************************************************
;/*主程序开始*/*
;********************************************************
;
MAIN:
MOVDX,IO_8253_M;8253控制口地址
MOVAL,36H;定时器0,先读写低字节后高字节,方式3,二进制计数
OUTDX,AL
CALLDELAY_500ms;调用延时
MOVBX,OFFSETTAB
MAIN1:
MOVAX,[BX]
CMPAX,0000H
JZSTOP
CMPAX,0FFFFH
JZMAIN
CMPAX,0B2EH
JZAA
CMPAX,09F7H
JZAB
CMPAX,08E0H
JZAC
CMPAX,0864H
JZAD
CMPAX,0779H
JZAE
BB:
MOVDX,IO_8253_0;8253计数器0口地址
OUTDX,AL
CALLDELAY_500ms;调用延时
MOVAL,AH
OUTDX,AL
CALLDELAY_500ms;调用延时
INCBX
INCBX
MOVCX,0000H
MOVCL,[BX]
MAIN2:
CALLDELAY_500ms;调用延时
LOOPMAIN2
MAIN3:
INCBX
CALLDELAY_500ms;调用延时
CALLBREAK
CALLDELAY_500ms;调用500ms延时
JMPMAIN1;继续
AA:
MOVDX,IO_8255_M;8255控制口地址
MOVAL,10011001B;设置8255控制字A口输入,B口输出,C口输入
OUTDX,AL;写8255控制字
MOVDX,IO_8255_B
MOVAL,11111110B
OUTDX,AL
JMPBB
AB:
MOVDX,IO_8255_M;8255控制口地址
MOVAL,10011001B;设置8255控制字A口输入,B口输出,C口输入
OUTDX,AL;写8255控制字
MOVDX,IO_8255_B
MOVAL,11111101B
OUTDX,AL
JMPBB
AC:
MOVDX,IO_8255_M;8255控制口地址
MOVAL,10011001B;设置8255控制字A口输入,B口输出,C口输入
OUTDX,AL;写8255控制字
MOVDX,IO_8255_B
MOVAL,11111011B
OUTDX,AL
JMPBB
AD:
MOVDX,IO_8255_M;8255控制口地址
MOVAL,10011001B;设置8255控制字A口输入,B口输出,C口输入
OUTDX,AL;写8255控制字
MOVDX,IO_8255_B
MOVAL,11110111B
OUTDX,AL
JMPBB
AE:
MOVDX,IO_8255_M;8255控制口地址
MOVAL,10011001B;设置8255控制字A口输入,B口输出,C口输入
OUTDX,AL;写8255控制字
MOVDX,IO_8255_B
MOVAL,11101111B
OUTDX,AL
JMPBB
AF:
MOVDX,IO_8255_M;8255控制口地址
MOVAL,10011001B;设置8255控制字A口输入,B口输出,C口输入
OUTDX,AL;写8255控制字
MOVDX,IO_8255_B
MOVAL,11011111B
OUTDX,AL
JMPBB
AG:
MOVDX,IO_8255_M;8255控制口地址
MOVAL,10011001B;设置8255控制字A口输入,B口输出,C口输入
OUTDX,AL;写8255控制字
MOVDX,IO_8255_B
MOVAL,10111111B
OUTDX,AL
JMPBB
AH:
MOVDX,IO_8255_M;8255控制口地址
MOVAL,10011001B;设置8255控制字A口输入,B口输出,C口输入
OUTDX,AL;写8255控制字
MOVDX,IO_8255_B
MOVAL,11111111B
OUTDX,AL
JMPBB
MY_PROCENDp
STOPPROCNEAR
MOVDX,IO_8253_M;8253控制口地址
MOVAL,36H;定时器0,先读写低字节后高字节,方式3,二进制计数
OUTDX,AL
CALLDELAY_500ms;调用延时
INCBX
INCBX
MOVCX,0000H
MOVCL,[BX]
STOP1:
CALLDELAY_500ms;调用延时
LOOPSTOP1
JMPMAIN3
STOPENDP
;
;********************************************************
;/*延时子程序*/*
;********************************************************
;
DELAY_500msPROCNEAR
PUSHF
PUSHCX
MOVCX,DELAY_SET;延时100ms参数值
DELAY1:
PUSHCX
MOVCX,-1
DELAY2:
DECCX
JNZDELAY2
POPCX
DECCX
JNZDELAY1
POPCX
POPF
RET
DELAY_500msENDp
;
;********************************************************
;/*按任意键退出*/*
;********************************************************
;
BREAKPROCNEAR
PUSHF
PUSHAX
PUSHDX
MOVAH,06H
MOVDL,0FFH
INT21H
JERETURN
MOVAX,4C00H
INT21H
RETURN:
POPDX
POPAX
POPF
RET
BREAKENDP
;
;********************************************************
;/*找卡子程序*/*
;********************************************************
;
FINDPCIPROCNEAR;查找PCI卡资源并显示
PUSHAD
PUSHFD
MOVEBX,080000000H
FINDPCI_next:
ADDEBX,100H
CMPEBX,081000000H
JNZFINDPCI_continue
MOVDX,OFFSETpcicardnotfind;显示未找到PCI卡提示信息
MOVAH,09H
INT21H
MOVAH,4CH
INT21H;退出
FINDPCI_continue:
MOVDX,IO_port_addre
MOVEAX,EBX
OUTDX,EAX;写地址口
MOVDX,IO_port_data
INEAX,DX;读数据口
CMPEAX,IO_PLX_ID
JNZFINDPCI_next;检查是否发现PCI卡
MOVDX,IO_port_addre
MOVEAX,EBX
ADDEAX,BADR2
OUTDX,EAX;写地址口
MOVDX,IO_port_data
INEAX,DX;读数据口
MOVDwordPTRIO_base_address,EAX
ANDEAX,1
JZFINDPCI_next;检查是否为I/O基址信息
MOVEAX,DwordPTRIO_base_address
ANDEAX,0FFFFFFFEH
MOVDwordPTRIO_base_address,EAX;去除I/O指示位并保存
MOVDX,OFFSETgood;显示开始执行程序信息
MOVAH,09H
INT21H
POPFD
POPAD
RET
FINDPCIENDP
MY_CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 实验 报告 DOC