电子发声设计实验(1).doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
《微机原理与接口技术》 实 验 报 告 学 院: 专 业: 班级学号: 学生姓名: 实验日期: 指导老师: 五邑大学计算机学院制表 实 验 八 1. 实验名称:电子发声设计实验 2. 实验目的: 学习8253定时/计数器使蜂鸣器发声的编程方法。 3. 实验内容: 设根据实验提供的音乐频率表和时间表,编写程序控制8254,使其输出连接到扬声 器上能发出相应的乐曲。 4. 实验设备: PC微型计算机一台,TD-PITE实验装置或TD-PITC实验装置一套 5. 实验步骤: 1. 参考下图,连接实验线路; 2. 编写程序,经编译、连接无误后装入系统; 3. 运行程序,听扬声器发出的音乐是吾正确; 4. 固化程序,然后脱机运行程序。 6. 实验结果 编制并调试通过的80X86汇编程序代码如下: ;================================================================= ; 电子发声设计实验 ;================================================================= ; 端口定义 IOY0 EQU 06C0H MY8254_COUNT0 EQU IOY0+00H ;8254计数器0端口地址 MY8254_COUNT1 EQU IOY0+02H ;8254计数器1端口地址 MY8254_COUNT2 EQU IOY0+04H ;8254计数器2端口地址 MY8254_MODE EQU IOY0+06H ;8254控制寄存器端口地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT FREQ_LIST DW 371,495,495,495,624,556,495,556,624 ;频率表 DW 495,495,624,742,833,833,833,742,624 DW 624,495,556,495,556,624,495,416,416,371 DW 495,833,742,624,624,495,556,495,556,833 DW 742,624,624,742,833,990,742,624,624,495 DW 556,495,556,624,495,416,416,371,495,0 TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表 DB 6, 2, 4, 4, 12, 1, 3, 6, 2 DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4 DB 6, 2, 4, 4, 6, 2, 4, 4, 12 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,36H ;定时器0、方式3 OUT DX,AL BEGIN: MOV SI,OFFSET FREQ_LIST ;装入频率表起始地址 MOV DI,OFFSET TIME_LIST ;装入时间表起始地址 PLAY: MOV DX,0FH ;输入时钟为1MHz,1M = 0F4240H MOV AX,4240H DIV WORD PTR [SI] ;取出频率值计算计数初值,0F4240H / 输出频率 MOV DX,MY8254_COUNT0 OUT DX,AL ;装入计数初值 MOV AL,AH OUT DX,AL MOV DL,[DI] ;取出演奏相对时间,调用延时子程序 CALL DALLY ADD SI,2 INC DI CMP WORD PTR [SI],0 ;判断是否到曲末? JE BEGIN JMP PLAY DALLY PROC ;延时子程序 D0: MOV CX,0010H D1: MOV AX,0FF0H D2: DEC AX JNZ D2 LOOP D1 DEC DL JNZ D0 RET DALLY ENDP CODE ENDS END START 整个实验记录的实验结果如下: 扬声器发出乐曲《友谊地久天长》 7. 分析讨论 这是《接口与通信》课程的第一个实验,虽然还有点陌生,但基本熟悉了80X86汇编语言 的程序设计方法,通过DOS系统中断INT21H 9号功能调用,掌握了字符串在屏幕上的显示方法。通过二进制 BCD码转换程序的设计 和上机调试,掌握了二 十进制转换的基本原理和汇编语言实现方法,只是这里针对的 2字节二进制 在《微机原理与接口技术》课程的学习过程中,电子发声设计实验是一项重要的实践活动,旨在通过实际操作来深入理解计算机接口技术的核心原理和应用。本次实验的名称为“电子发声设计实验”,其主要目的是学习如何编程使蜂鸣器发声,具体通过8253定时/计数器的编程方法,从而控制蜂鸣器发出《友谊地久天长》这首耳熟能详的旋律。 实验设备方面,只需要一台PC微型计算机和一套TD-PITE或TD-PITC实验装置。学生需要按照实验要求连接线路,编写程序,并通过编译、连接无误后装入系统运行。在此过程中,学生要调试程序确保扬声器能够发出正确的音乐旋律。实验者需要固化程序,以便脱机运行。 为了完成这一实验任务,实验报告中详细记录了实验步骤和结果。实验者连接实验线路,然后编写程序并进行调试。程序编写使用了80X86汇编语言,并利用DOS系统中断INT21H的9号功能调用来显示字符串。程序中定义了多个端口地址,包括8254计数器的端口地址和控制寄存器端口地址。频率表和时间表是实验的关键数据,它们分别包含了音乐《友谊地久天长》中各个音符的频率值和对应的持续时间。 实验的核心部分在于编写汇编程序代码,通过设置8254的工作方式,实现蜂鸣器的发声。在代码中,首先对8254进行初始化,将其设置为工作方式3,即方波发生器模式。接着,程序通过从频率表中取出频率值,并计算出计数初值,装入计数器0。同时,时间表中的值被用来调用延时子程序,以控制每个音符的持续时间,从而实现整个旋律的播放。 在实验过程中,实验者通过编程实践,对8253定时器的工作原理和编程方法有了直观的认识。他们学习了如何通过编程控制8254,使其输出特定频率的信号,驱动扬声器播放音乐。此外,实验者还掌握了如何编写汇编语言程序、使用DOS系统中断功能以及进行二进制BCD码的转换。 分析和讨论部分显示,虽然实验者对实验内容尚感陌生,但在完成实验后,对80X86汇编语言的程序设计方法有了基本的熟悉。通过实验,他们不仅掌握了如何将理论知识应用于实际编程中,还提高了对计算机硬件和软件交互的理解。整个实验过程是对微机原理与接口技术理论知识的一次深入探讨,对于提升学生的动手能力、问题分析和解决能力都具有极大的促进作用。 电子发声设计实验不仅是一次理论与实践相结合的尝试,也是深入理解计算机硬件工作的机会。实验中遇到的挑战和解决方法都是宝贵的学习经历,为后续更复杂的计算机接口技术研究奠定了坚实的基础。对于计算机科学与技术专业的学生来说,这样的实验无疑极大地丰富了他们的专业知识,并激发了他们的创新思维和实践热情。
- 粉丝: 198
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Vue的大数据可视化平台,同时集成了安全预警系统。全部资料+详细文档+优秀项目.zip
- 基于WI-FI探针的商业大数据分析(前端)全部资料+详细文档+优秀项目.zip
- 基于车联网大数据的汽车换电站地址选取全部资料+详细文档+优秀项目.zip
- 基于大数据的蔬菜价格预测全部资料+详细文档+优秀项目.zip
- 基于大模型,帮你更好地算法和数据结构的AI应用全部资料+详细文档+优秀项目.zip
- 基于人脸识别的商业大数据分析全部资料+详细文档+优秀项目.zip
- 基于大数据的招聘数据展示平台全部资料+详细文档+优秀项目.zip
- 基于大数据分析的物流共享平台全部资料+详细文档+优秀项目.zip
- 基于flask的通用Zigbee网关,实现Zigbee网络与互联网双向通信全部资料+详细文档+源码+优秀项目.zip
- 基于 Zigbee 的生态养猪场信息管理系统,包含上位机和 Web 部分。全部资料+详细文档+源码+优秀项目.zip
- 基于 ZigBee 技术的室内环境远程监控系统全部资料+详细文档+源码+优秀项目.zip
- 基于SIM800C STM32 Zigbee的数据采集网关全部资料+详细文档+源码+优秀项目.zip
- 基于zigbee(cc2530)的温度监测系统全部资料+详细文档+源码+优秀项目.zip
- 基于RSSI的ZigBee室内定位全部资料+详细文档+源码+优秀项目.zip
- 基于ZigBee的智能家居控制系统全部资料+详细文档+源码+优秀项目.zip
- 机械设计生产管道平台sw20可编辑全套设计资料100%好用.zip