天津大学自动化2010级微机原理创新型实验报告
微机原理实验报告册(3篇)

第1篇一、实验目的1. 理解和掌握微机的基本组成和工作原理;2. 熟悉微机硬件设备和实验仪器的使用方法;3. 提高动手实践能力,培养解决实际问题的能力;4. 深入理解微机原理课程内容,为后续课程学习奠定基础。
二、实验内容1. 微机系统认识实验2. 微机硬件组成实验3. 微机指令系统实验4. 微机寻址方式实验5. 微机程序设计实验6. 微机接口技术实验三、实验仪器与设备1. 微机原理实验箱2. 示波器3. 数字万用表4. 计算机一台5. 实验指导书四、实验步骤与内容1. 微机系统认识实验(1)观察实验箱的结构,了解各个模块的功能;(2)熟悉实验箱的电源、复位、运行等按钮的使用方法;(3)学习微机系统的工作流程,包括加电、复位、启动等过程;(4)观察微机系统启动后的运行状态,了解各个模块的协同工作。
2. 微机硬件组成实验(1)观察实验箱的CPU、内存、I/O接口等硬件模块;(2)学习CPU的内部结构,包括寄存器、控制单元、运算单元等;(3)学习内存的存储原理,了解ROM、RAM等存储器的特点;(4)学习I/O接口的工作原理,了解中断、DMA等传输方式。
3. 微机指令系统实验(1)学习微机指令系统的基本格式,包括操作码、地址码等;(2)掌握微机指令系统的寻址方式,包括立即寻址、直接寻址、间接寻址等;(3)编写简单的汇编语言程序,实现加、减、乘、除等运算;(4)学习微机中断处理过程,了解中断向量表、中断服务程序等概念。
4. 微机寻址方式实验(1)学习微机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等;(2)编写程序,实现不同寻址方式下的数据访问;(3)观察不同寻址方式对程序执行速度的影响。
5. 微机程序设计实验(1)学习汇编语言程序设计的基本方法,包括数据定义、指令编写、程序结构等;(2)编写简单的程序,实现数据交换、排序等操作;(3)学习微机程序的调试方法,包括单步执行、断点设置等。
6. 微机接口技术实验(1)学习微机接口技术的基本概念,包括并行接口、串行接口等;(2)观察实验箱中的并行接口、串行接口等模块,了解其工作原理;(3)编写程序,实现数据在并行接口、串行接口之间的传输;(4)学习微机中断处理在接口技术中的应用。
微机原理实训报告完整

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载微机原理实训报告完整地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容一、设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
二、设计的原始资料及依据(1)查阅微机原理及应用、汇编语言程序设计等书籍;(2)掌握字符串的输入,输出和排序。
三、设计的主要内容及要求内容:从PC键盘输入5个字符串,排序及显示要求1)输入5个字符串。
2)对输入的字符串进行排序并正确显示。
四、对设计说明书撰写内容、格式、字数的要求1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
2.学生应撰写的内容为:目录、正文、参考文献等。
课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.说明书(论文)手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
4. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、总结、参考文献。
五、设计完成后应提交成果的种类、数量、质量等方面的要求;提交课程设计说明书一份。
在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。
六、时间进度安排;沈阳工程学院微机原理及汇编语言程序设计程设计成绩评定表系(部):信息学院班级:学生姓名:目录TOC \o "1-3" \h \z \uHYPERLINK \l "_Toc359478386" 第1章绪论 PAGEREF_Toc359478386 \h 1HYPERLINK \l "_Toc359478387" 1.1 背景 PAGEREF_Toc359478387 \h 1HYPERLINK \l "_Toc359478388" 1.2 设计目的与任务 PAGEREF _Toc359478388 \h 1HYPERLINK \l "_Toc359478389" 1.2.1 本课程设计的目的 PAGEREF _Toc359478389 \h 1HYPERLINK \l "_Toc359478390" 1.2.2 本课程设计的任务 PAGEREF _Toc359478390 \h 1HYPERLINK \l "_Toc359478391" 第2章汇编语言的运行环境及运行步骤 PAGEREF _Toc359478391 \h 2HYPERLINK \l "_Toc359478392" 2.1 汇编语言的起源 PAGEREF _Toc359478392 \h 2HYPERLINK \l "_Toc359478393" 2.2 汇编语言的特点 PAGEREF _Toc359478393 \h 2HYPERLINK \l "_Toc359478394" 2.2.1 能够保持机器语言的一致性,直接、简捷 PAGEREF _Toc359478394 \h 2HYPERLINK \l "_Toc359478395" 2.2.2 目标代码简短,占用内存少,执行速度快 PAGEREF _Toc359478395 \h 2HYPERLINK \l "_Toc359478396" 2.2.3 汇编语言是面向机器的PAGEREF _Toc359478396 \h 2HYPERLINK \l "_Toc359478397" 2.2.4 难于从汇编语言代码上理解程序设计意图,可维护性差 PAGEREF _Toc359478397 \h 2HYPERLINK \l "_Toc359478398" 2.2.5 高速度和高效率 PAGEREF _Toc359478398 \h 2HYPERLINK \l "_Toc359478399" 2.3 汇编语言的运行环境 PAGEREF _Toc359478399 \h 3HYPERLINK \l "_Toc359478400" 2.4 汇编语言的运行步骤 PAGEREF _Toc359478400 \h 3HYPERLINK \l "_Toc359478401" 第3章总体设计思路 PAGEREF _Toc359478401 \h 6HYPERLINK \l "_Toc359478402" 3.1 功能设计分析 PAGEREF_Toc359478402 \h 6HYPERLINK \l "_Toc359478403" 3.1.1 设计思路分析 PAGEREF _Toc359478403 \h 6HYPERLINK \l "_Toc359478404" 3.1.2 系统功能分析: PAGEREF _Toc359478404 \h 6HYPERLINK \l "_Toc359478405" 3.2 总体设计分析 PAGEREF_Toc359478405 \h 6HYPERLINK \l "_Toc359478406" 3.2.1 系统功能模块图 PAGEREF _Toc359478406 \h 6HYPERLINK \l "_Toc359478407" 3.2.2 具体设计方案 PAGEREF _Toc359478407 \h 6HYPERLINK \l "_Toc359478408" 第4章程序实现 PAGEREF_Toc359478408 \h 8HYPERLINK \l "_Toc359478409" 4.1 运行程序 PAGEREF_Toc359478409 \h 8HYPERLINK \l "_Toc359478410" 4.1.1 单步运行 PAGEREF_Toc359478410 \h 8HYPERLINK \l "_Toc359478411" 4.1.2 暂停执行程序 PAGEREF _Toc359478411 \h 8HYPERLINK \l "_Toc359478412" 4.1.3 连续运行程序 PAGEREF _Toc359478412 \h 8HYPERLINK \l "_Toc359478413" 4.2 各个模块程序流程图设计PAGEREF _Toc359478413 \h 9HYPERLINK \l "_Toc359478414" 4.2.1 第一模块输入字符串PAGEREF _Toc359478414 \h 9HYPERLINK \l "_Toc359478415" 4.2.2 第二模块字符串排序PAGEREF _Toc359478415 \h 9HYPERLINK \l "_Toc359478416" 4.2.3 第三模块输出字符串PAGEREF _Toc359478416 \h 10HYPERLINK \l "_Toc359478417" 第5章遇到问题及解决方法PAGEREF _Toc359478417 \h 12HYPERLINK \l "_Toc359478418" 5.1 所遇到的问题 PAGEREF_Toc359478418 \h 12HYPERLINK \l "_Toc359478419" 5.2 对应问题的解决方法 PAGEREF _Toc359478419 \h 12HYPERLINK \l "_Toc359478420" 总结 PAGEREF_Toc359478420 \h 13HYPERLINK \l "_Toc359478421" 致谢 PAGEREF_Toc359478421 \h 14HYPERLINK \l "_Toc359478422" 参考文献 PAGEREF_Toc359478422 \h 15HYPERLINK \l "_Toc359478423" 附录 PAGEREF_Toc359478423 \h 16HYPERLINK \l "_Toc359478424" 源程序代码: PAGEREF_Toc359478424 \h 16第1章绪论1.1 背景计算机技术作为信息化的核心技术受到全社会的普遍重视。
微机原理实验报告

微机原理实验报告
计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。
在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉UTP、2.交换机Console口和Telnet配置、3.交换机端口和常规配置、4.虚拟局域网VLAN配置、5.路由器Console口Telnet 配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.PPP协议配置、10路由器访问控制表(ACL)、11.网络地址转换(NAT)。
在制作直通电缆和交换UTP的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。
在做到单臂路由配置和动态路由协议配置的实验,由于自身的基础知识掌握不牢,忘掉了一些理论知识,在重新翻阅课本和老师的指导之下,也成功的完成了试验。
从抽象的理论回到了丰富的实践创造,细致的了解了计算机网络连接的的全过程,认真学习了各种配置方法,并掌握了利用虚拟环境配置
的方法,我利用此次难得的机会,努力完成实验,严格要求自己,认真学习计算机网络的基础理论,学习网络电缆的制作等知识,利用空余时间认真学习一些课本内容以外的相关知识,掌握了一些基本的实践技能。
课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。
随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备。
微机原理的实验报告

微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。
二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。
2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。
3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。
4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。
三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。
(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。
观察实验现象并记录。
(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。
观察程序的执行结果,并记录相关数据。
(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。
观察实验现象并记录相关数据。
2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。
(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。
(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。
四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。
2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。
但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。
五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。
微机原理综合实验报告

微机原理综合实验报告随着计算机技术的不断发展,微机已经成为了我们日常工作和生活中不可或缺的一部分。
为了更好地了解微机的工作原理和实践应用,我们进行了微机原理的综合实验,本文将对此次实验进行详细的讲解和总结。
一、实验目的本次实验的主要目的是通过搭建计算机系统的全部硬件及连接,熟悉和掌握微机的工作原理和实际应用,实践操作模拟简单的计算机应用程序等。
二、实验步骤1.准备工作:搭建计算机实验系统所需的硬件和软件,包括主板、处理器、硬盘、内存、显示器等,同时,将各部件连接起来。
2.开机自检:按下计算机开机键后进行自检,检查各部件是否正常工作。
3.进入BIOS:进入BIOS设置,为系统配置提供支持。
4.安装操作系统:安装Windows操作系统5.应用程序:安装并应用简单的计算机应用程序,如表格制作、文档编辑等。
三、实验结果分析通过本次实验,我们深入了解了微机的硬件构成和软件运行原理,加深了对微机工作原理的认识。
在实践操作中,我们对计算机系统在实际应用中的硬件和软件环境有了深刻的认识和了解。
四、实验中遇到的问题及解决方法在实验中,我们遇到了一些问题,如计算机开机时无法启动、操作系统无法正常安装、硬件连接不正确等。
这些问题的出现主要是由于我们操作时没有细心和认真,没有按照实验指导书的步骤操作。
针对这些问题,我们仔细检查操作过程中的每一个步骤,重新进行操作,直至问题得到解决。
五、结论通过本次实验,我们深刻了解了微机的硬件构成和软件运行原理,了解了微机在实际应用中的硬件和软件环境。
同时,我们还掌握了微机应用的基本技能,如软件安装、简单文件的制作和编辑等。
通过实验的过程,我们深入体验了计算机系统的基本构成及实践应用,并发现并解决了其中存在的问题和疑问,从而加深了对计算机系统的理解和认识,为今后我们的进一步学习和实践打下了坚实的基础。
微机原理实验报告

微机原理实验报告一、实验目的本实验旨在通过实际操控和操作微型计算机,深入了解微机系统的组成和工作原理,加深对计算机硬件结构以及基本操作的理解,培养实际动手能力。
二、实验内容1.熟悉微机系统组成部分:主机、显示器、键盘等。
2.掌握微机系统的基本操作:开机、关机、复位、重启等。
3.了解微机系统的工作原理:运行机制、输入输出等。
4.实践运用微机系统进行一些简单的应用操作。
三、实验步骤1.开机操作:按下主机电源按钮,等待主机启动。
2.系统自检:主机启动后会进行自检操作,检查硬件是否正常。
如果发现问题,主机会发出蜂鸣声。
3.输入输出设备准备:连接好显示器和键盘,并检查是否正常连接。
4.系统登录:按照屏幕上的提示,输入用户名和密码进行系统登录。
5.系统操作:根据实验要求,进行相应的系统操作。
6.关机操作:在操作完成后,选择关机选项进行关机。
四、实验结果与分析通过本次实验,我掌握了微机系统的基本操作,并对其工作原理有了更深入的了解。
通过实际操作,我可以熟练地开机、关机、复位等操作,并可以进行一些简单的应用操作。
同时,我也了解到了微机系统由主机、显示器、键盘等多个组成部分组成,不同组成部分的协作工作实现了系统的正常运行。
五、实验心得通过本次实验,我对微机系统的组成和工作原理有了更深入的了解。
这对我后续学习计算机原理和操作系统提供了基础。
在实验过程中,我也发现了一些问题,比如操作系统选择界面的选择问题,我没有选择正确的操作系统,导致后续实验操作遇到一些困难。
这些问题提醒我在实际操作中需要格外注意,仔细阅读提示并选择正确的操作选项。
总结来说,本次实验对我深入理解微机系统的组成和工作原理提供了良好的机会。
通过实际操控和操作微型计算机,我对计算机硬件结构以及基本操作有了更直观的认识,掌握了一些基本操作技能。
在未来的学习和应用中,我将更加注重细节,提高自己的操作技能,并不断深入学习和了解更多关于微机系统的知识。
微机原理课程设计的改革与实践

微机原理课程设计的改革与实践摘要:本文以天津大学电气与自动化工程学院开设的微机原理课程设计为例,将GPS(全球定位系统)、LCD(液晶显示系统)、LED(发光二极管)等紧密结合学科前沿和工程实际的技术引入课程设计,构建了多种新的微机接口综合设计系统;不断更新和优化课程设计内容,开发高水平的综合设计项目,增设综合设计扩展选题;创新教学方法和手段,注重引导,激发学生的创造激情和对知识的渴望;将创新性与工程规范纳入考核体系,改革考核和成绩评定方法,注重课程设计过程考核,取得了较好的实践效果。
关键词:微机原理;课程设计;教学方法;考核体系课程设计是一种课程形式,也是一种教学方法[1],其基本教学目的是加深学生对课程基础理论和基本知识的理解与掌握,培养学生综合运用基础理论和技能分析与解决实际问题的实践能力以及勇于探索的创新精神。
微型计算机原理与接口技术是计算机硬件基础的重要组成部分,是高等学校很多专业都开设的一门基础性课程,也是一门应用性、实践性很强的课程。
由于其开设量大,受益面广,国内高校都加强了该课程的建设,深化课程改革。
一方面,缩短了课堂授课学时,加大实验学时,特别是加大课程设计学时;另一方面,加大课程设计的改革力度,不断更新设计内容,改革教学方法和考核方法,突出学生的自主性、主动性,激发学生的创新意识,注重学生设计能力的培养和工程能力的训练[2]。
天津大学电气与自动化工程学院开设的微机原理课程设计,基于多个围绕微机原理课程设计的天津大学教改课题的实践成果,结合学科前沿和工程实际,创新微机原理课程设计平台,不断优化和更新设计内容。
结合学生特点和兴趣,注重引导、激发学生的创造激情和对知识的渴望,创新教学方法和手段。
并且将创新性与工程规范纳入考核体系,改革考核和成绩评定方法,引导学生从注重结果转变到注重过程,从注重成绩转变到注重成效。
一、创新微机原理课程设计平台与内容1.微机接口实验系统综合设计项目开发基于“通用微机接口实验系统”,利用实验系统的外扩展接口,开发利用各种外扩展板,构建多种新的微机接口综合设计系统。
微机原理实习报告(带完全汇编源码)

目录一.实习目的 .................................................. 错误!未定义书签。
二、实习内容及要求...................................... 错误!未定义书签。
三、方案和工作原理说明.............................. 错误!未定义书签。
四、程序流程图 .............................................. 错误!未定义书签。
五、程序源代码及注释.................................. 错误!未定义书签。
六、电路的连接 .............................................. 错误!未定义书签。
七、调试中出现的问题、原因及排除方法.. 错误!未定义书签。
一.实习目的本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。
本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。
二.实习内容及要求1.实习内容简易电子琴原理:(1) 蜂鸣器输入不同频率的方波,会发出不同的声音;(2) 通过按键,由单片机控制产生不同频率的方波,从而发出不同的声音。
(3) 通过8255的PA口,使G6区的1~7号键由低到高发出1-7的音阶。
2.设计要求从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:1)掌握汇编语言程序设计的基本方法。
2)进一步理解各种接口电路的应用。
例如8255并行接口。
3)掌握利用PC机扬声器发出不同频率声音的方法。
4)理解12864模块的应用。
(此为创新添加部分)三、方案和工作原理说明1.方案基于PC计算机的时钟晶振为1.MHz,利用电脑里面的蜂鸣器发出声音。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理设计报告创新型实验设计报告题目音乐播放器学院自动化学院专业自动化成员叶林奇3010203109熊鹏辉3010203104王同宇3010203073 指导教师刘迎澍简 介本实验利用液晶屏、按键和喇叭,构成音乐播放器。
共有8首歌曲,分两页在液晶屏上显示,每页显示4首歌曲。
在屏幕左端有一个“*”号,星号所在行表示歌曲被选中。
有两个按键,一个是选歌键,一个是播放/暂停键。
按下选歌键,星号上下移动,选择歌曲(第4首后自动翻页)。
按播放/暂停键播放选中歌曲,再次按下歌曲暂停,再按下继续播放。
曲目表:第一页 第二页 1、天大校歌 1、天仙配 2、青花瓷 2、鳟鱼 3、牧童短笛 3、友谊地久天长 4、最炫民族风 4、半屏山暂停选择目录1 成员分工 (01)2 乐理基础 (01)3 外部线路图 (03)4 程序设计 (04)4.1主程序 (04)4.2音符子程序 (05)4.3 LCD 显示程序 (07)4.4光标子程序 (09)4.5歌曲编码 (11)5 实验心得 (12)附录:实验源程序 (14)1.成员分工叶林奇:整体思路设计以及主程序、LCD程序、单音符播放程序设计熊鹏辉:代码编写,线路连接王同宇:按键处理与光标移动程序设计,程序测试2.乐理基础优美的音乐令人陶醉,我们所听到的音乐都是由基本的音阶构成的。
所谓音阶,也就是具有特定频率关系的一组音调。
比如大家都知道的do、re、mi、fa、so、la、si,这7个音符就组成了一组音阶。
音乐家(也许是科学家)发现,人耳对于声波的频率是指数敏感的。
不妨以下图来说明:打比方说,100HZ、200HZ、300HZ、400HZ……这些声音,人听起来并不觉得它们是“等距离”的,而是觉得越到后面,各个音之间的“距离”越近。
100HZ、200HZ、400HZ、800HZ……这些声音,人听起来才觉得是“等距离”的(为什么会这样我也不清楚)。
换句话说,某一组声音,如果它们的频率是严格地按照×1、×2、×4、×8……,即按2n的规律排列的话,它们听起来才是一个“等差音高序列”。
×2就意味着等距离,这是音乐中最基本的关系。
用音乐术语来说,×2就是一个“八度音程”。
前面提到的do、re、mi中的do,以及so、la、si后面的那个高音do,这两个do之间就是八度音程的关系。
也就是说,高音do的频率是do的两倍。
同样的,re和高音re之间也是八度音程的关系,高音re的频率是re的两倍。
而高音do上面的那个更高音的do,其频率就是do的4倍。
也可以说,它们之间隔了两个“八度音程”。
在一个八度音程之间适当的选取某些频率,便可构成自然音阶,也即前面说过的do、re、mi、fa、so、la、si。
现在的钢琴是按照“十二平均律”来设计的,也就是,把一个2倍的关系按等比数列平分成12分,不难得出等比因子为2开12次方,约为1.05946。
这样一个八度之内就有十三个音a1,a2,……,a13,后一个音的频率由前一个音乘以1.05946得到,这样的两个音称之为半音程关系,相差两个半音则叫做一个全音。
自然音阶是按“全全半全全全半”的关系来选取的。
就是说,do的频率确定后,re比do高一个全音,mi比re高一个半音……也就是从等比数列a1,a2,……,a12中依次抽取a1,a3,a5,a6,a8,a10,a12,a13构成do、re、mi、fa、so、la、si、高音do。
音乐的基本元素:音符(音高+延时)音乐可以分解成一个个的音符,简单地说,一个音符就是一定频率的音延迟一定的时间。
与频率差不多的是,时长也是按×2的关系分配的。
全音符减半得二分音符,二分音符减半四分音符,四分音符减半得八分音符……。
有了音符(例如我选择低音so、低音la、低音si、do、re、mi、fa、so、la、si、高音do、高音re、高音mi,以及休止符0,和5种时长:全音符到16分音符的组合),把它们按照简谱上的顺序排列起来,就可以奏出我们想要的音乐了。
3.外部线路图按键1按键24.程序设计 4.1 主程序4.2 音符子程序通过8253定时器可以产生不同频率的方波信号,经过功率放大和低通滤波后得到近似的正弦单频信号。
8253工作在方式3分频模式,通过设置8253的定时值即可在OUT0得到不同频率的方波输出信号。
GATE0是使能端,当其置1时OUT0才有输出,GATE0置1的时间决定了音符的时长。
入口参数:音高、时长计数值=10^6/频率(CLK0输入时钟频率为10^6)4.3 LCD显示程序LCD最基本的两个操作是写命令和写数据,时序分别如下:LCD字符串(或汉字)显示子程序:4.4 光标子程序通过按键1,2 控制音乐播放和选择歌曲,在显示屏上有个光标,通过光标指向播放的歌曲。
把按键2次数存在AL 里,每按一次AL加一。
光标上下移动的原理就是通过不断的清除上一个图标以及显示下一个图标来实现移动的。
在屏幕上显示和清除光标子程序分别是:ZF=0ZF=0图标显示子程序图标清除子程序光标移动子程序4.5 歌曲编码(以天大校歌为例)歌曲简谱歌曲编码:'u6u85454344464543858u4544838240434342838444444344452u6u858 58386854383838246454283814043808380838080438086808580804380838086808042808380818080452586874u47464544248382418c8142232384854v4u474645454645474546474u4v4u4u4e'‘u6’是第一个音符“••1”的编码,代表高音do 四分半音符,依次类推。
最后一个字符’e ’代表歌曲结束。
5. 实验心得● 叶林奇:本次创新型实验从选题、设计、编程、调试到最终完成,只花了不到1天时间。
之所以这么快,是因为之前用单片机编过一个类似的程序。
那个程序是用C 语言写的,而且是用在单片机上。
在我看来,这是一次成功的代码移植。
为了把C 程序移植到8086上,需要给C 程序中的变量分配寄存器,如果变量比较多,还要利用堆栈。
还有就是C 语言各种程序结构(如分支、循环嵌套等)的汇编实现。
C 程序逻辑易懂,就像流程图一样直观。
正是如此,才使我们事半功倍。
尽管如此,实验中还是遇到了很多的问题。
例如在调试的时候发现,每次在断点停下,都能正常播放出一个音符。
但是一全速运行,就发不出声音了。
这让我们困惑了很久,最后才发现是音符的延时不够长。
像这种问题,之前是没法预料的。
这也更加告诉我们,实验中要时刻做好出错的心理准备,遇到问题认真分析,耐心调试,才能得到满意的结果。
● 熊鹏辉:本次课程设计使我们更加深入的学习了关于微机原理的知识,使我们对其认识不仅局限与书本上,还与各种芯片与程序有了很好的交流。
在实验中,我们遇到了很多问题,但是都一步一步慢慢的解决了。
最初我们想的只是能够放出音乐来就行,于是通过给予不同的频率来让其发出不同的音节,后来我们看到了实验箱上的LCD显示屏,于是想到联合起来做一个真正类似MP3播放器的作品,不仅能放音乐,还能进一步的选择歌曲,中间还有暂停播放等操作。
在让LCD显示屏显示歌名的时候,我们以为只能直接给其赋予字母,但通过后面的不断尝试与新的编程,成功的显示了汉字。
LCD显示屏共有四行,我们写了四首歌,每行首列用来选择歌曲,通过前面的“*”的跳动来选择歌曲。
信号跳到哪一行,相应的调用那一首歌的数据,于是放出该首歌。
在初期的编程中,很多时候程序都不能实现目标,我们就把程序一块一块拿出来单个调试,有的时候甚至单步调试一步一步的找出错误,从而加以改正,最后得到了我们现在的这个程序。
在本次实验中,我们对微机原理软硬件的操作更加熟悉,也培养了我们遇到问题不骄不躁慢慢攻克的好习惯。
总的来说,这次实验非常有意义,让我们的实践能力得到了很大的提高。
王同宇:经过本次微机课题的设计与研究,我们深入的学习了除课本以外的很多微机附件的内容,掌握了很多实验室操作技能。
我们在实际设计中遇到很多问题,但结合所学知识以及参考资料的帮助,不断地尝试,设计了一种能够解决实际问题的系统。
同时也加深了我们对于现实生活中,实际的嵌入式操作系统的原理的理解。
在这一过程中,我们充分发挥我们的主观能动性,想象创造性,攻克了很多之前都没有想过的难关,真的受益匪浅。
而且让我明白了一个设计成型的过程不是从一开始就完成的,而是在完成这项设计的过程中不断的提出新创意,新思想,然后去实现,最后形成一个比最初设想的好的设计。
例如本设计中的选歌子程序就是在实验调试过程中提出来并实现的。
附:实验源程序;******************************************************************** ;名称:音乐播放器作者:叶林奇熊鹏辉王同宇创建日期:2013/3/2;网络视频链接:/v_show/id_XNTMwOTAzODE2.html;PA0:按键1(选择歌曲)PA1:按键2(播放/暂停);PC0:D/I PC1:RW PC2:E PC4:GATE0;OUT0:喇叭;CLK0:1M或2M(2M高一个8度音);******************************************************************** STACK1 SEGMENTSTA DW 128 DUP(0)TOP EQU LENGTH STASTACK1 ENDSDATA SEGMENTEND_FLAG DB 0PLAY_FLAG DB 0CNT_LOW5 EQU 5102CNT_LOW6 EQU 4545CNT_LOW7 EQU 4050CNT_1 EQU 3823CNT_2 EQU 3405CNT_3 EQU 3034CNT_4 EQU 2864CNT_5 EQU 2551CNT_6 EQU 2273CNT_7 EQU 2025CNT_HIGH1 EQU 1911CNT_HIGH2 EQU 1703CNT_HIGH3 EQU 1517T16 EQU 200MUSIC3 DB'380h2h3858283h5h3h2h18b8a8b818a404380h2h3858283h5h3h2h18b8a8b818a4086 h5hu8'DB'68583868580h3h5hu868583868580h3h5h6h5h3h2h3h5h6h5h3h2h180h2h2h3h2h1h b818a404380h2'DB'h1828386854380h2h18382404uhvhuh6h5h6hu86858380h6h583828b814e';牧童短笛MUSIC4 DB'b4b8a8b4b8b8142818b21418a8182838585838243268686858383418b8b8b83822383 858382838'DB'2818b4a4b23838583838585868u8685462b4b8a8b414283h2h182832b8686858283h2 h18283218b8b81824'DB'a8a83858382812b81828382818a8a8b2b4b8a8b414283h2h182832b8686858283h2h1 8283218b8b81824a8'DB'a838583828140818b8182838583838586202680h6h6868680h5h3828280h2h380h5h 380h2h180hbhb4b8a8'DB'b4b818283h2h182832685838285838281812bh1h2h3h2h1hbh1h6262u8uhuh686h6h 585h5h383h3h283h2h'DB'18bhahbhah1h2h3h5h6hvhu2182832345838626818583824082h2h2828182834080h3 h382h1hc81h2h3234'DB'5838u46464681824545464727262623858385834b80h6h14b83hbh180h1h281h2h32 34680h6h54280h2h32'DB'3h2h1hbhahahahah14b80hbh24a80haha4a80hah12b4180hbh380h3h280h3h6262626 2e';最炫民族风MUSIC1 DB'u6u85454344464543858u4544838240434342838444444344452u6u8585838685438 383824645428'DB'38140438083808380804380868085808043808380868080428083808180804525868 74u474645442'DB'48382418c8142232384854v4u474645454645474546474u4v4u4u4e' ;天大校歌MUSIC2 DB'2818b81418b81418b818b8a4082818b81418b814183828181408a8b83834382834382 838583838'DB'08383838282828282418383826082818b81418b81418b818b8a808a8b838545838545 83828181408'DB'281828382828182418b8281818b814181811085858382838b4283858382208585838 2838a4283858'DB'28120818283858685848583838282208182818182818282834583834045858382838 b42838583822'DB'0858********a428385828120818283858685848583838282408a8382828281101385 86204583822'DB'0418285204582812041828342414b414243464512818b8241411085858382838b428 385838220858'DB'58382838a42838582812081828385868584858383828220818281818281828283458 383404585838'DB'2838b42838583822085858382838a428385828120818283858685848583838282408a83428282811e';青花瓷MUSIC5 DB'583828585h3h3h2h14242818380h2h14b42828c8b814bh1hbh1h2h3h182h1hb8a4585 h3h283h5h645'DB 'h6h5h3h22583858u80h6h5h6h5h3h540868180h2h583828382h1hb8a2e';天仙配MUSIC6 DB'58u8u8w8w8u45858580h5hvhuh7h6h540858u8u8w8w8u458u8786h7hu8485408587 878uh7h6h7hu45'DB'8u878787hwhvh7hu408u8686868u8u45858580h5hv878u408u87h6h686huh7hvhu45 858580h5hv878u404383'DB'8383878u468080838380h7hu404u8u8u8u8u8u8u8u4680h6hv4vh6h4h2h740858u80 huh780h7hw8680868v4v'DB'8v8w8u878v8u408u8686868u8u45858580h58v80h78u408u87h6h686huh7hvhu4585 8580h5hv80h7hu2e';鳟鱼MUSIC7 DB'a8180h1h1838280h1h2838180h1h3858640868580h3h3818280h1h2838180hbhb8a81 40868580h3h3818280h1'DB 'h2868580h3h38586408u8580h3h3818280h1h2838180hbhb8a812e';友谊地久天长MUSIC8 DB'38585458645858382h3h2h1h1218a418385468383h5h381822541838585h6h583828 0h3h382818ch1hb4585huh'DB '6858383h5h2818182h3h2h1hb818a418342h3h5812e';半屏山CON_8255 EQU 028BHPA_8255 EQU 0288HPB_8255 EQU 0289HPC_8255 EQU 028AHCON_8253 EQU 0283HCNT0_8253 EQU 0280HCNT1_8253 EQU 0281HCNT2_8253 EQU 0282HSELECT DB 1DAT1 DB ' 天大校歌'DAT2 DB ' 青花瓷'DAT3 DB ' 牧童短笛'DAT4 DB ' 最炫民族风'DAT5 DB ' 天仙配'DAT6 DB ' 鳟鱼'DAT7 DB ' 友谊地久天长'DAT8 DB ' 半屏山'TEMP DB 16 DUP (0)MES DB 'PRESS ANY KEY TO DOS',0DH,0AH,'$'DATA ENDS;************************************************* CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACK1MOV SS,AXMOV AX,TOPMOV SP,AXCLD;************************************************* MAIN:MOV AL,90H ;PA入,PB、PC出MOV DX,CON_8255OUT DX,AL;************************************************* MOV AL,36HMOV DX,CON_8253OUT DX,AL ;8253初始化,CNT0方式3 ;************************************************* CALL LCD_INIT;LCD初始化MOV DI,OFFSET DAT1MOV AL,1CALL SHOW_STRINGMOV DI,OFFSET DAT2MOV AL,2CALL SHOW_STRINGMOV DI,OFFSET DAT3MOV AL,3CALL SHOW_STRINGMOV DI,OFFSET DAT4MOV AL,4CALL SHOW_STRINGTUBIAO1:MOV AL,1CALL TUBIAOLEA SI,MUSIC1;************************************************* A1:MOV DX,PA_8255IN AL,DXTEST AL,01H;播放键是否按下JZ A6;A7:MOV DX,PA_8255IN AL,DXTEST AL,01HJNZ A7 ;等待按键松开LEA DI,PLAY_FLAGMOV AL,[DI]XOR AL,1MOV [DI],AL;A6:LEA DI,PLAY_FLAGMOV AH,[DI]LEA DI,END_FLAGMOV AL,[DI]CMP AX,0100HJNE END1 ;标志位是0就不播放A5:MOV CH,[SI];音高CMP CH,'e';判断是否结束JE END1INC SIMOV CL,[SI];时长INC SICALL NOTEEND1:MOV DX,PA_8255IN AL,DXTEST AL,02HJZ A1A3:MOV DX,PA_8255IN AL,DXTEST AL,02HJNZ A3 ;等待按键松开LEA DI,SELECTMOV AL,[DI]CALL CLEAR_TUBIAOINC ALCMP AL,1JE MUSIC_1CMP AL,2JE MUSIC_2CMP AL,3JE MUSIC_3CMP AL,4JE MUSIC_4CMP AL,5JE MUSIC_5CMP AL,6JE MUSIC_6CMP AL,7JE MUSIC_7CMP AL,8JE MUSIC_8MUSIC_1:PUSH AXMOV DI,OFFSET DAT1MOV AL,1CALL SHOW_STRINGMOV DI,OFFSET DAT2MOV AL,2CALL SHOW_STRINGMOV DI,OFFSET DAT3MOV AL,3CALL SHOW_STRINGMOV DI,OFFSET DAT4MOV AL,4CALL SHOW_STRINGPOP AXLEA SI,MUSIC1JMP A4MUSIC_2:LEA SI,MUSIC2JMP A4MUSIC_3:LEA SI,MUSIC3JMP A4MUSIC_4:LEA SI,MUSIC4JMP A4MUSIC_5:PUSH AXMOV DI,OFFSET DAT5MOV AL,1CALL SHOW_STRINGMOV DI,OFFSET DAT6MOV AL,2CALL SHOW_STRINGMOV DI,OFFSET DAT7MOV AL,3CALL SHOW_STRINGMOV DI,OFFSET DAT8MOV AL,4CALL SHOW_STRINGPOP AXLEA SI,MUSIC5JMP A4MUSIC_6:LEA SI,MUSIC6JMP A4MUSIC_7:LEA SI,MUSIC7JMP A4MUSIC_8:LEA SI,MUSIC8JMP A4A4:CMP AL,9JNE A2MOV AL,1A2:LEA DI,SELECTMOV [DI],ALCALL TUBIAOJMP A1;************************************************* MOV AH,4CHINT 21H;************************************************* ;写命令子程序;入口参数:BL-要写入的命令LCD_WR_CMD PROC NEARPUSH AXPUSH DXPUSH CXMOV AL,0MOV DX,PC_8255OUT DX,ALMOV CX,8000CALL DELAYMOV AL,BLMOV DX,PB_8255OUT DX,ALMOV AL,4MOV DX,PC_8255OUT DX,ALMOV CX,8000CALL DELAYMOV AL,0MOV DX,PC_8255OUT DX,ALPOP CXPOP DXPOP AXRETLCD_WR_CMD ENDP;********************************** ;写数据子程序;入口参数:BL-要写入的数据LCD_WR_DAT PROC NEARPUSH AXPUSH DXPUSH CXMOV AL,1MOV DX,PC_8255OUT DX,ALMOV CX,8000CALL DELAYMOV AL,BLMOV DX,PB_8255OUT DX,ALMOV AL,5MOV DX,PC_8255OUT DX,ALMOV CX,8000CALL DELAYMOV AL,1MOV DX,PC_8255OUT DX,ALPOP CXPOP DXPOP AXRETLCD_WR_DAT ENDP;**********************************LCD_INIT PROC NEARPUSH BXMOV BL,30H ; /*30---基本指令动作*/CALL LCD_WR_CMDMOV BL,01H ; /*清屏,地址指针指向00H*/ CALL LCD_WR_CMDMOV BL,06H ; /*光标的移动方向*/CALL LCD_WR_CMDMOV BL,0CH ;/*开显示,关游标*/CALL LCD_WR_CMDPOP BXRETLCD_INIT ENDP;**********************************;字符串显示子程序;入口参数:DI字符串起始地址AL行SHOW_STRING PROC NEARPUSH BXCMP AL,1JE ROW1CMP AL,2JE ROW2CMP AL,3JE ROW3CMP AL,4JE ROW4ROW1:MOV AL,80HJMP NEXTROW2:MOV AL,90HJMP NEXTROW3:MOV AL,88HJMP NEXTROW4:MOV AL,98H NEXT:MOV BL,30HCALL LCD_WR_CMDMOV BL,ALCALL LCD_WR_CMDMOV CX,16 AGAIN:MOV BL,[DI]CALL LCD_WR_DATINC DILOOP AGAINPOP BXRETSHOW_STRING ENDP;********************************** ;图标显示子程序;入口参数:AL行TUBIAO PROC NEARPUSH BXPUSH AXCMP AL,1JE TROW1CMP AL,2JE TROW2CMP AL,3JE TROW3CMP AL,4JE TROW4CMP AL,5JE TROW1CMP AL,6JE TROW2CMP AL,7JE TROW3CMP AL,8JE TROW4TROW1:MOV AL,80HJMP TNEXTTROW2:MOV AL,90HJMP TNEXTTROW3:MOV AL,88HJMP TNEXTTROW4:MOV AL,98HTNEXT:MOV BL,30HCALL LCD_WR_CMDMOV BL,ALCALL LCD_WR_CMDMOV BL,'*'CALL LCD_WR_DATPOP AXPOP BXRETTUBIAO ENDP;********************************** ;图标清除子程序;入口参数:AL行CLEAR_TUBIAO PROC NEARPUSH BXPUSH AXCMP AL,1JE CROW1CMP AL,2JE CROW2CMP AL,3JE CROW3CMP AL,4JE CROW4CMP AL,5JE CROW1CMP AL,6JE CROW2CMP AL,7JE CROW3CMP AL,8JE CROW4CROW1:MOV AL,80HJMP CNEXTCROW2:MOV AL,90HJMP CNEXTCROW3:MOV AL,88HJMP CNEXTCROW4:MOV AL,98HCNEXT:MOV BL,30HCALL LCD_WR_CMDMOV BL,ALCALL LCD_WR_CMDMOV BL,' 'CALL LCD_WR_DATPOP AXPOP BXRETCLEAR_TUBIAO ENDP;********************************** ;长延时子程序;入口参数CXLONG_DELAY PROC NEARB2:MOV BX,50000B1:DEC BXJNZ B1LOOP B2RETLONG_DELAY ENDP;********************************** ;延时子程序;入口参数CXDELAY PROC NEARLOOP $RETDELAY ENDP;************************************************* ;子程序NOTE:音阶子程序;入口参数:CH音高CL时长NOTE PROC NEARPUSH AXPUSH BXPUSH CXPUSH DX;************************************************* CMP CH,'0'JE note_0CMP CH,'a'JE note_low5CMP CH,'b'JE note_low6CMP CH,'c'JE note_low7CMP CH,'1'JE note_1CMP CH,'2'JE note_2CMP CH,'3'JE note_3CMP CH,'4'JE note_4CMP CH,'5'JE note_5CMP CH,'6'JE note_6CMP CH,'7'JE note_7CMP CH,'u'JE note_high1CMP CH,'v'JE note_high2CMP CH,'w'JE note_high3;************************************************* note_0:JMP timenote_low5:MOV AX,CNT_LOW5JMP CNTnote_low6:MOV AX,CNT_LOW6JMP CNTnote_low7:MOV AX,CNT_LOW7JMP CNTnote_1:MOV AX,CNT_1JMP CNTnote_2:MOV AX,CNT_2JMP CNTnote_3:MOV AX,CNT_3JMP CNTnote_4:MOV AX,CNT_4JMP CNTnote_5:MOV AX,CNT_5JMP CNTnote_6:MOV AX,CNT_6JMP CNTnote_7:MOV AX,CNT_7JMP CNTnote_high1:MOV AX,CNT_HIGH1JMP CNTnote_high2:MOV AX,CNT_HIGH2JMP CNTnote_high3:MOV AX,CNT_HIGH3;************************************************* CNT:MOV DX,CNT0_8253OUT DX,ALMOV AL,AHOUT DX,AL;写计数值;************************************************* MOV DX,PC_8255MOV AL,10HOUT DX,AL;GATE0置1;************************************************* time: MOV AL,T16CMP CL,'1'JE t_1CMP CL,'2'JE t_2CMP CL,'4'JE t_4CMP CL,'6'JE t_sCMP CL,'8'JE t_8CMP CL,'b'JE t_bCMP CL,'h'JE t_h;************************************************* t_1:MOV DL,16JMP DELAY_MUSIC1t_2:MOV DL,8JMP DELAY_MUSIC1t_4:MOV DL,4JMP DELAY_MUSIC1t_s:MOV DL,6JMP DELAY_MUSIC1t_8:MOV DL,2JMP DELAY_MUSIC1t_b:MOV DL,3JMP DELAY_MUSIC1t_h:MOV DL,1;************************************************* DELAY_MUSIC1:MUL DLCALL DELAY_MUSICMOV DX,PC_8255MOV AL,00HOUT DX,AL;GATE0置0;************************************************* POP DXPOP CXPOP BXPOP AXRETNOTE ENDP;************************************************* ;延时子程序;入口参数:AXDELAY_MUSIC PROC NEARPUSH CXPUSH BXAGAIN1:MOV CX,20000LOOP $DEC AXJNZ AGAIN1POP BXPOP CXRETDELAY_MUSIC ENDP;************************************************* CODE ENDSEND START。