微机原理综合实验报告_nexys4_简易数字信号发生器_HUST_华中科技大学
微机原理实验报告册(3篇)
![微机原理实验报告册(3篇)](https://img.taocdn.com/s3/m/1f8f0706cbaedd3383c4bb4cf7ec4afe04a1b13f.png)
第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)学习微机中断处理在接口技术中的应用。
微机原理实训报告完整
![微机原理实训报告完整](https://img.taocdn.com/s3/m/69483e0c0975f46526d3e1bb.png)
资料范本本资料为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 背景计算机技术作为信息化的核心技术受到全社会的普遍重视。
微机原理综合实验报告
![微机原理综合实验报告](https://img.taocdn.com/s3/m/556f37f3360cba1aa811da40.png)
滨江学院微机原理综合实验实验报告学生姓名学号专业信息工程班级2016级二O一八年十二月三十日微机原理综合实验实验一利用DEBUG调试程序调试程序段1、实验目的1)熟悉DEBUG有关命令的使用方法。
2)利用DEBUG掌握有关指令的功能。
3)利用DEBUG运行简单的程序段。
2、实验内容1)进入和退出DEBUG程序。
2)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
对于U命令、N命令、W命令等,也应试一下。
3)利用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。
3、实验准备1)仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。
2)作为例子,准备用A命令,输入在显示器上显示字符“S”的系统调用程序段。
3)阅读将AX左移9位的程序段。
4、实验步骤1)在DOS提示符下,进入DEBUG程序。
2)在DOS目录下启动DEBUG。
3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。
5、实验报告要求1)如何启动和退出DEBUG程序。
2)整理每个DEBUG命令使用的方法,实际示例及执行结果。
3)启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?实验结果:实验二分支程序实验1、实验目的1)掌握分支程序的设计方法。
2)掌握利用DEBUG修改参数、检查结果的方法。
3)掌握汇编语言源程序的编辑、汇编、连接及调试过程。
2、实验内容1)编写一个程序,显示AL寄存器中的两位十六进制数2)编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z 或a-z字符,均显示“c”;若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。
3、实验准备1)编写实验内容要求的两个程序。
2)写出调试以上程序,即修改程序参数,检查结果的操作方法。
3)熟悉源程序汇编、连接命令的使用方法即要回答的内容。
微机原理的实验报告
![微机原理的实验报告](https://img.taocdn.com/s3/m/44d5090cf11dc281e53a580216fc700abb685238.png)
一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。
二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。
(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。
(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。
2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。
(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。
(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。
3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。
(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。
(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。
4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。
(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。
(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。
三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。
2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。
3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。
4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。
四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。
信号发生器实验报告
![信号发生器实验报告](https://img.taocdn.com/s3/m/ccf72ad6dc88d0d233d4b14e852458fb770b380f.png)
信号发生器实验报告信号发生器实验报告引言信号发生器是电子实验室中常见的一种仪器,用于产生各种类型的电信号。
本次实验旨在探究信号发生器的原理和应用,以及对其进行一系列的测试和测量。
一、信号发生器的原理信号发生器是一种能够产生不同频率、幅度和波形的电信号的设备。
其主要由振荡电路、放大电路和输出电路组成。
振荡电路负责产生稳定的基准信号,放大电路将基准信号放大到合适的幅度,输出电路将信号输出到外部设备。
二、信号发生器的应用1. 电子器件测试:信号发生器可以用于测试电子器件的频率响应、幅度响应等特性。
通过改变信号发生器的频率和幅度,可以模拟不同工作条件下的电子器件性能。
2. 通信系统调试:在通信系统的调试过程中,信号发生器可以用于模拟各种信号,如语音信号、数据信号等。
通过调整信号发生器的参数,可以测试通信系统的传输质量和容量。
3. 音频设备测试:信号发生器可以用于测试音频设备的频率响应、失真等特性。
通过产生不同频率和幅度的信号,可以对音频设备进行全面的测试和评估。
三、实验过程1. 测试频率响应:将信号发生器连接到待测设备的输入端,逐渐改变信号发生器的频率,并记录待测设备的输出结果。
通过绘制频率响应曲线,可以了解待测设备在不同频率下的响应情况。
2. 测试幅度响应:将信号发生器连接到待测设备的输入端,逐渐改变信号发生器的输出幅度,并记录待测设备的输出结果。
通过绘制幅度响应曲线,可以了解待测设备对不同幅度信号的响应情况。
3. 测试波形输出:将信号发生器连接到示波器,通过改变信号发生器的波形设置,观察示波器上的波形变化。
通过比较不同波形的特征,可以了解信号发生器的波形生成能力。
四、实验结果与分析1. 频率响应:根据实验数据绘制的频率响应曲线显示,待测设备在低频段具有较好的响应能力,而在高频段则逐渐衰减。
这可能是由于待测设备的电路结构和元件特性导致的。
2. 幅度响应:根据实验数据绘制的幅度响应曲线显示,待测设备对于低幅度信号的响应较差,而对于高幅度信号的响应较好。
信号发生器实验实训报告
![信号发生器实验实训报告](https://img.taocdn.com/s3/m/8924dd1bbf1e650e52ea551810a6f524ccbfcbd3.png)
一、实验目的1. 熟悉信号发生器的基本原理和组成。
2. 掌握信号发生器的操作方法和使用技巧。
3. 学习通过信号发生器进行信号测试和调试的方法。
4. 培养实验操作能力和分析问题、解决问题的能力。
二、实验原理信号发生器是一种能够产生各种波形信号的电子设备,广泛应用于科研、生产和教学等领域。
本实验所使用的信号发生器为函数信号发生器,可以产生正弦波、方波、三角波等基本波形信号。
三、实验设备1. 信号发生器一台2. 示波器一台3. 测试电缆若干4. 负载电阻若干四、实验内容1. 信号发生器的基本操作(1)打开信号发生器,调整频率、幅度和波形等参数。
(2)观察信号发生器输出波形,确认波形是否正常。
(3)调整输出幅度,使其符合实验要求。
2. 正弦波信号的测试(1)将信号发生器设置为正弦波,调整频率和幅度。
(2)使用示波器观察输出波形,确认波形为正弦波。
(3)测试输出波形的频率、幅度和相位,记录数据。
3. 方波信号的测试(1)将信号发生器设置为方波,调整频率和幅度。
(2)使用示波器观察输出波形,确认波形为方波。
(3)测试输出波形的频率、幅度和占空比,记录数据。
4. 三角波信号的测试(1)将信号发生器设置为三角波,调整频率和幅度。
(2)使用示波器观察输出波形,确认波形为三角波。
(3)测试输出波形的频率、幅度和上升时间、下降时间,记录数据。
5. 信号发生器的应用(1)利用信号发生器产生各种波形信号,进行电路测试和调试。
(2)使用信号发生器进行信号调制和解调实验。
(3)利用信号发生器进行信号分析实验。
五、实验结果与分析1. 正弦波信号测试结果频率:1kHz幅度:2Vpp相位:0°2. 方波信号测试结果频率:1kHz幅度:2Vpp占空比:50%3. 三角波信号测试结果频率:1kHz幅度:2Vpp上升时间:50μs下降时间:50μs实验结果表明,信号发生器能够产生各种波形信号,且波形质量符合实验要求。
六、实验总结1. 通过本次实验,我们熟悉了信号发生器的基本原理和组成,掌握了信号发生器的操作方法和使用技巧。
信号发生器设计与实现实验报告
![信号发生器设计与实现实验报告](https://img.taocdn.com/s3/m/7a98fe70842458fb770bf78a6529647d272834db.png)
信号发生器设计与实现实验报告实验报告:信号发生器的设计与实现一、引言信号发生器是一种能够产生各种类型的电信号的仪器,广泛应用于电子测量、通信系统调试、音频设备测试等领域。
本实验旨在设计并实现一个简单的信号发生器,以产生多种类型的电信号,并对其进行相应的测试和分析。
二、设计与实现1. 设计思路信号发生器的设计主要包括以下几个方面的考虑:信号类型的选择、频率范围的确定、输出幅度的调节以及相关控制电路的设计。
在信号类型的选择上,常见的信号类型有正弦波、方波、三角波等。
根据实际需求,本实验选择了正弦波和方波两种信号类型进行设计。
频率范围的确定需要考虑实际应用中最低和最高频率的要求。
在本实验中,我们选择了10Hz到10kHz的频率范围。
输出幅度的调节可以通过控制信号发生器的增益来实现。
本实验采用了可调电阻来控制输出信号的幅度。
相关控制电路的设计包括频率选择电路、幅度调节电路等。
这些电路的设计需要根据信号发生器的具体要求进行选择和设计。
2. 电路设计2.1 正弦波发生电路正弦波发生电路的设计采用了著名的Wien桥电路。
这个电路能够通过调节电容和电阻的比例来产生不同频率的正弦波信号。
2.2 方波发生电路方波发生电路的设计采用了555定时器作为主要的控制元件。
通过控制555的触发电平和放电电平,可以产生不同频率的方波信号。
3. 系统实现根据上述设计思路和电路设计,我们完成了信号发生器的系统实现。
通过逐步调试和优化,确保了系统的正常运行和性能的稳定。
三、实验结果与分析1. 正弦波信号测试通过将信号发生器接入示波器,我们成功地产生了频率为1kHz的正弦波信号。
通过示波器的显示,我们可以清晰地观察到正弦波的周期、幅度和波形等特征。
2. 方波信号测试通过将信号发生器接入示波器,我们成功地产生了频率为5kHz的方波信号。
通过示波器的显示,我们可以清晰地观察到方波的上升时间、下降时间和占空比等特征。
四、实验总结通过本次实验,我们设计并实现了一个简单的信号发生器,能够产生正弦波和方波两种类型的信号。
微机原理的实验报告
![微机原理的实验报告](https://img.taocdn.com/s3/m/c0fba679905f804d2b160b4e767f5acfa1c783da.png)
微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。
二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。
2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。
3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。
4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。
三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。
(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。
观察实验现象并记录。
(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。
观察程序的执行结果,并记录相关数据。
(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。
观察实验现象并记录相关数据。
2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。
(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。
(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。
四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。
2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。
但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。
五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。
微机原理综合实训报告
![微机原理综合实训报告](https://img.taocdn.com/s3/m/0ebd397ca4e9856a561252d380eb6294dd88228c.png)
通过本次微机原理综合实训,使学生掌握微型计算机的基本组成、工作原理以及常用接口技术,培养学生动手实践能力、分析问题和解决问题的能力。
具体目标如下:1. 熟悉微型计算机的硬件组成,了解各部件的功能和相互关系。
2. 掌握微机原理与接口技术的基本知识,如总线、中断、DMA等。
3. 学会使用常用接口芯片,如8255、8259、8253等。
4. 能够进行简单的微机原理设计与实现。
二、实训内容1. 微型计算机硬件组成实验(1)了解微型计算机的基本组成,包括中央处理器(CPU)、存储器、输入输出设备、总线等。
(2)学习CPU的内部结构,了解指令系统、寻址方式等。
(3)了解存储器的分类、容量、速度等参数,学习存储器扩展技术。
(4)学习输入输出设备的工作原理,掌握常用接口芯片的使用方法。
2. 微机原理与接口技术实验(1)学习总线、中断、DMA等基本概念,了解其工作原理。
(2)学习8255并行接口芯片的应用,实现LED显示、按键输入等功能。
(3)学习8259中断控制器芯片的应用,实现中断处理。
(4)学习8253定时/计数器芯片的应用,实现定时功能。
3. 系统设计与实现(1)根据实训要求,设计一个简单的微机系统。
(2)确定系统硬件组成,选择合适的接口芯片。
(3)编写系统软件,实现系统功能。
(4)进行系统调试,确保系统稳定运行。
1. 实验准备(1)了解实验目的、内容和方法。
(2)查阅相关资料,掌握实验所需知识和技能。
(3)准备实验仪器和设备,如示波器、逻辑分析仪等。
2. 实验操作(1)按照实验步骤进行操作,观察实验现象。
(2)记录实验数据,分析实验结果。
(3)针对实验过程中遇到的问题,查阅资料、请教老师,解决问题。
3. 系统设计与实现(1)根据实训要求,确定系统设计方案。
(2)进行硬件选型,设计电路图。
(3)编写系统软件,实现系统功能。
(4)进行系统调试,确保系统稳定运行。
四、实训成果1. 完成微型计算机硬件组成实验,掌握微型计算机的基本组成和工作原理。
微机原理综合实验报告
![微机原理综合实验报告](https://img.taocdn.com/s3/m/8c1f7b55dcccda38376baf1ffc4ffe473368fd23.png)
微机原理综合实验报告随着计算机技术的不断发展,微机已经成为了我们日常工作和生活中不可或缺的一部分。
为了更好地了解微机的工作原理和实践应用,我们进行了微机原理的综合实验,本文将对此次实验进行详细的讲解和总结。
一、实验目的本次实验的主要目的是通过搭建计算机系统的全部硬件及连接,熟悉和掌握微机的工作原理和实际应用,实践操作模拟简单的计算机应用程序等。
二、实验步骤1.准备工作:搭建计算机实验系统所需的硬件和软件,包括主板、处理器、硬盘、内存、显示器等,同时,将各部件连接起来。
2.开机自检:按下计算机开机键后进行自检,检查各部件是否正常工作。
3.进入BIOS:进入BIOS设置,为系统配置提供支持。
4.安装操作系统:安装Windows操作系统5.应用程序:安装并应用简单的计算机应用程序,如表格制作、文档编辑等。
三、实验结果分析通过本次实验,我们深入了解了微机的硬件构成和软件运行原理,加深了对微机工作原理的认识。
在实践操作中,我们对计算机系统在实际应用中的硬件和软件环境有了深刻的认识和了解。
四、实验中遇到的问题及解决方法在实验中,我们遇到了一些问题,如计算机开机时无法启动、操作系统无法正常安装、硬件连接不正确等。
这些问题的出现主要是由于我们操作时没有细心和认真,没有按照实验指导书的步骤操作。
针对这些问题,我们仔细检查操作过程中的每一个步骤,重新进行操作,直至问题得到解决。
五、结论通过本次实验,我们深刻了解了微机的硬件构成和软件运行原理,了解了微机在实际应用中的硬件和软件环境。
同时,我们还掌握了微机应用的基本技能,如软件安装、简单文件的制作和编辑等。
通过实验的过程,我们深入体验了计算机系统的基本构成及实践应用,并发现并解决了其中存在的问题和疑问,从而加深了对计算机系统的理解和认识,为今后我们的进一步学习和实践打下了坚实的基础。
信号发生器实验报告
![信号发生器实验报告](https://img.taocdn.com/s3/m/f3b9709b6e1aff00bed5b9f3f90f76c661374cba.png)
线性电子电路实验信号发生器专业:班级:姓名:学号:实验原理:一、方案比较网上方案:参考电路:方案比较:与网上方案相比,提供的参考电路有如下几个优点:①比较简单方便,比较两张电路图,可以明显看出参考电路比较简洁,所用的原件比较少,不容易出错,便于检查,而且比较便宜。
②网上方案所用的是ua747和ua741是通用的运放器,精度不高,性能不是很好。
而参考电路用的是TL084精度高,输入电阻很大,并且运行速度很快。
③网上方案用到了选择开关来选择接入的电路,使实验变得不方便。
而参考电路属于全自动,并不需要更多操作。
④网上方案在三角波——正弦波转换电路利用了场效应管3DJ13A而参考电路只用了TL084和电阻、电容,是一种技术上的进步。
二、电路图:参数设计:R1=10K R2=22K R3=1K R4=2K R5=1K R6=1K R7=10K R8=2K R9=10K R P1=10K R P2=10K C1=10nF C2=10nF 稳压管三、电路仿真结果方波:三角波及正弦波:四、硬件实物图五、调试结果:频率大约在500Hz~5KHz六、实验总结本次实验,参考了老师给的参考资料和网上资料,使用了Multisim仿真软件进行仿真,仿真出来的结果非常符合要求,非常理想。
但是在实物焊接后,因元器件和人工的原因,出现了误差,比较容易出现失真,误差比较大。
七、体会和建议1、要熟练掌握仿真软件的使用和对电路图的理解,这样才能比较容易的理解这个实验,不容易出现失误。
2、仿真结果没有出现理想的波形图,要检查电路,对电路的节点也要检测。
要有耐心。
3、电路排线要尽可能的少,这样对于后续的电路检测有很大的帮助。
华中科技大学微机原理与接口实验报告
![华中科技大学微机原理与接口实验报告](https://img.taocdn.com/s3/m/f0e8b1d30c22590102029dfd.png)
一、硬件实验环境的检测(一)硬件实验环境简介TD-PIT实验装置提供了多种常用接口及控制应用部件,如定时器/计数器8254、并行接口8255、键盘输入及LED显示、二进制开/关输入及发光管显示等接口单元电路。
TD-PIT实验装置还向PC机申请了接口实验所需的配置资源。
其中包括16M的存储地址空间、256字节的I/O地址空间和一条中断请求线。
中断请求线是映射到PC机内部的15条中断线的一个。
这些信号如下表1.1所示。
表1.1 TD-PIT实验装置的仿真ISA接口信号TD-PIT实验装置提供了四个I/O设备片选信号和两个存储器设备片选信号,片选信号与偏移地址空间对应关系如下表1.2所示。
表1.2 片选地址对应偏移地址范围(二)硬件实验环境的检测检测硬件环境的好坏是每次微机原理与接口实验之前的必需工作,防止试验中出现未知的bug而无从查起。
1. 检测方法运行检测程序,用示波器检测实验装置的所有信号是否正常。
如发现故障,应检查实验装置上该信号的连线是否开路,是否短路。
查出故障,予以排除。
2. 检测工具TD-PIT实验装置、示波器、连接线若干、PC机3. 检测程序若要在示波器上观测到实验装置上各种信号的波形,则必须执行循环程序,如果只执行几条语句而不构成循环,则输出的信号一闪而过,在示波器上就无法观测到信号的波形。
计算机执行无循环程序后无法退出,这种循环称为“死循环”。
为防止“死循环”,必须在循环语句中加入退出循环命令,一般采用11号功能调用来退出循环。
测试程序如下所示:Stck segment stack 'stack'dw 32 dup(?)stck endsdata segmentdata endscode segmentbegin proc farassume ss:stck,cs:code,ds:datapush dssub ax,axpush axmov ax,datamov ds,axAGN: MOV AL,0FHMOV DX,0E060H ;送端口地址IN AL,DX ;从给出端口输入数据MOV DX,0E067HOUT DX,AL ;从给出端口输出数据MOV AH,0BH ;11号功能调用INT 21H ;检测有无键盘输入CMP AL,0 ;AL=FFH,有输入;AL=00,无输入JZ AGNretbegin endpcode endsend begin4. 地址线、数据总线及有关信号控制的波形̅̅̅̅̅̅的信号(1)片选译码输出IOY0该信号应为负脉冲选通信号,如下图1.1所示。
微机原理实验报告
![微机原理实验报告](https://img.taocdn.com/s3/m/7592e7e9b1717fd5360cba1aa8114431b90d8ee4.png)
微机原理实验报告一、实验目的本实验旨在通过实际操控和操作微型计算机,深入了解微机系统的组成和工作原理,加深对计算机硬件结构以及基本操作的理解,培养实际动手能力。
二、实验内容1.熟悉微机系统组成部分:主机、显示器、键盘等。
2.掌握微机系统的基本操作:开机、关机、复位、重启等。
3.了解微机系统的工作原理:运行机制、输入输出等。
4.实践运用微机系统进行一些简单的应用操作。
三、实验步骤1.开机操作:按下主机电源按钮,等待主机启动。
2.系统自检:主机启动后会进行自检操作,检查硬件是否正常。
如果发现问题,主机会发出蜂鸣声。
3.输入输出设备准备:连接好显示器和键盘,并检查是否正常连接。
4.系统登录:按照屏幕上的提示,输入用户名和密码进行系统登录。
5.系统操作:根据实验要求,进行相应的系统操作。
6.关机操作:在操作完成后,选择关机选项进行关机。
四、实验结果与分析通过本次实验,我掌握了微机系统的基本操作,并对其工作原理有了更深入的了解。
通过实际操作,我可以熟练地开机、关机、复位等操作,并可以进行一些简单的应用操作。
同时,我也了解到了微机系统由主机、显示器、键盘等多个组成部分组成,不同组成部分的协作工作实现了系统的正常运行。
五、实验心得通过本次实验,我对微机系统的组成和工作原理有了更深入的了解。
这对我后续学习计算机原理和操作系统提供了基础。
在实验过程中,我也发现了一些问题,比如操作系统选择界面的选择问题,我没有选择正确的操作系统,导致后续实验操作遇到一些困难。
这些问题提醒我在实际操作中需要格外注意,仔细阅读提示并选择正确的操作选项。
总结来说,本次实验对我深入理解微机系统的组成和工作原理提供了良好的机会。
通过实际操控和操作微型计算机,我对计算机硬件结构以及基本操作有了更直观的认识,掌握了一些基本操作技能。
在未来的学习和应用中,我将更加注重细节,提高自己的操作技能,并不断深入学习和了解更多关于微机系统的知识。
微机原理实验报告
![微机原理实验报告](https://img.taocdn.com/s3/m/9070adddd5d8d15abe23482fb4daa58da0111c9e.png)
实验名称:微机原理与接口技术实验实验日期:2023年11月X日实验地点:微机原理实验室实验仪器:微机原理实验箱、计算机、仿真软件等实验人员:XXX、XXX、XXX一、实验目的1. 理解微机原理的基本概念和组成结构。
2. 掌握计算机的基本工作原理和指令系统。
3. 学习计算机接口技术的基本原理和方法。
4. 通过实验,提高动手能力和实际操作技能。
二、实验内容1. 计算机组成结构实验:- 学习计算机的硬件组成,包括中央处理器、存储器、输入输出设备等。
- 了解计算机的工作原理,包括数据的输入、处理、输出过程。
- 使用实验箱进行计算机组成结构实验,验证计算机的基本工作原理。
2. 指令系统实验:- 学习汇编语言的基本语法和指令系统。
- 掌握指令的格式、操作数和寻址方式。
- 使用汇编语言编写程序,实现简单的计算、数据传输和逻辑运算等功能。
3. 接口技术实验:- 学习计算机接口的基本原理和方法。
- 了解常用的接口电路和芯片。
- 使用接口技术实现数据传输、信号处理等功能。
- 学习仿真软件的使用方法,包括程序编写、调试和运行等。
- 使用仿真软件模拟计算机的工作过程,验证程序的正确性。
三、实验步骤1. 计算机组成结构实验:- 搭建实验箱,连接计算机硬件设备。
- 编写程序,实现简单的计算、数据传输和逻辑运算等功能。
- 观察实验结果,验证计算机的基本工作原理。
2. 指令系统实验:- 学习汇编语言的基本语法和指令系统。
- 编写汇编语言程序,实现简单的计算、数据传输和逻辑运算等功能。
- 使用汇编语言编写程序,实现更复杂的计算和数据处理功能。
3. 接口技术实验:- 学习计算机接口的基本原理和方法。
- 使用接口技术实现数据传输、信号处理等功能。
- 编写程序,实现接口功能,并验证其正确性。
4. 仿真软件实验:- 使用仿真软件编写程序,实现计算机的基本工作过程。
- 使用仿真软件调试程序,验证程序的正确性。
- 使用仿真软件模拟接口电路的工作过程,验证接口功能的正确性。
微机原理实习报告(带完全汇编源码)
![微机原理实习报告(带完全汇编源码)](https://img.taocdn.com/s3/m/84f01e3d0b4e767f5acfceed.png)
目录一.实习目的 .................................................. 错误!未定义书签。
二、实习内容及要求...................................... 错误!未定义书签。
三、方案和工作原理说明.............................. 错误!未定义书签。
四、程序流程图 .............................................. 错误!未定义书签。
五、程序源代码及注释.................................. 错误!未定义书签。
六、电路的连接 .............................................. 错误!未定义书签。
七、调试中出现的问题、原因及排除方法.. 错误!未定义书签。
一.实习目的本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。
本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。
二.实习内容及要求1.实习内容简易电子琴原理:(1) 蜂鸣器输入不同频率的方波,会发出不同的声音;(2) 通过按键,由单片机控制产生不同频率的方波,从而发出不同的声音。
(3) 通过8255的PA口,使G6区的1~7号键由低到高发出1-7的音阶。
2.设计要求从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:1)掌握汇编语言程序设计的基本方法。
2)进一步理解各种接口电路的应用。
例如8255并行接口。
3)掌握利用PC机扬声器发出不同频率声音的方法。
4)理解12864模块的应用。
(此为创新添加部分)三、方案和工作原理说明1.方案基于PC计算机的时钟晶振为1.MHz,利用电脑里面的蜂鸣器发出声音。
微机原理实验报告
![微机原理实验报告](https://img.taocdn.com/s3/m/a893d58e88eb172ded630b1c59eef8c75ebf9553.png)
微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。
实验一,微机系统组成及工作原理。
1.1 微机系统的组成。
微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。
其中,CPU是微机系统的核心部件,负责控制整个系统的运行。
1.2 微机系统的工作原理。
微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。
CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。
实验二,微机系统的组装和调试。
2.1 微机系统的组装。
在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。
组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。
2.2 微机系统的调试。
组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。
通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。
实验三,微机系统的应用。
3.1 微机系统的应用领域。
微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。
在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。
3.2 微机系统的发展趋势。
随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。
未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。
结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。
这对我今后的学习和工作将有很大的帮助。
信号发生器实验报告
![信号发生器实验报告](https://img.taocdn.com/s3/m/5ef07845001ca300a6c30c22590102020740f2be.png)
信号发生器实验报告
本实验使用的是13种基本的信号发生器,各种信号的发生方式、它的特点、参数和其特定应用场合都进行了详细的介绍。
实验分为三部分:实验前准备、实验操作和实验总结与讨论。
实验前准备时,开展了仪器以及各种试验电路的检查,确保相关仪器以及试验电路的准确性,为接下来实验提供了必要的条件和确保。
接下来进行实验操作时,首先熟悉了相关操作步骤和各个参数的功能,然后尝试了各种基本的信号发生模式,熟悉了各种信号的构成及其特点,以及它们的具体应用,并根据实验条件,对其进行了变换和测量,以明确信号变换和测量时各参数变化的影响,探讨出最符合要求的参数组合。
最后,在实验总结中首先汇总了上述实验的总结,可以得出以下结论:将所需的参数调整至最优的组合会使得所发生的信号能够满足实际需求、尽可能减少相关误差,以获得有效的测量结果。
此外,应对各种不同应用场景的参数的组合也要适当变化,以达到最佳效果。
最后,本实验可以说收获颇丰,熟悉了13种基本信号发生器的参数选择及其特点,从而掌握了一般信号发生器的操作流程,进而将所学到的知识运用到实际工程中,从而取得更好的效果。
微机原理综合实验报告_nexys4_简易数字信号发生器_HUST_华中科技大学
![微机原理综合实验报告_nexys4_简易数字信号发生器_HUST_华中科技大学](https://img.taocdn.com/s3/m/f0a83509f18583d0496459bd.png)
一、项目简介
1.设计思路
本次项目我们小组选择的是信号发生器,由于之前做过 D/A 显示锯齿波的实验,便 想到在该实验的基础上进行功能的扩充,这样思路比较清晰。首先我们想到在上次实验 的基础上加上方波、三角波和正弦波这几种常见波形,实现起来也与锯齿波较为类似, 只是在正弦波的显示上花了点功夫,最后决定通过 MATLAB 取值来实现,最后能正常 显示。而几种波形的切换我们则想到了开关,通过添加开关的 GPIO 核来获取开关的状 态,预留了三位用于波形的切换。仅仅几种波形的显示是远不够的,所以我们决定添加 频率的调节和幅度的调节部分,实现时发现幅度调节容易实现但频率调节有些难度,最 后从代码产生波形的原理上来分析想到通过改变取样的次数来调节频率的增减,而选择 用一位开关用于切换频率增加和减小,这样会节省资源。
Switch<2>---Switch<0>:选择波形 Switch<8>---Switch<3>:调节频率 Switch<9>:控制频率增加和减小 Switch<15>---Switch<10>:调节幅度 BTNU:增加占空比 BTND:减小占空比
1
二、项目构成及概要设计
1.硬件模块构成
本项目用到的硬件平台包括 SPI IP 核与 D/A 芯片构成数据的传输和数模转换的功能, 4 个 GPIO IP 核分别用于开关状态的读取,按钮状态的读取,LED 灯的显示,数码管的 段选和位选。一个 INTC IP 核用于接受来自于 SPI 和按钮的 GPIO 的中断,并将中断发 送给 microblaze 核来控制。
华科微机原理实验报告
![华科微机原理实验报告](https://img.taocdn.com/s3/m/0c633578f242336c1eb95e53.png)
微机原理实验报告课程:微机原理指导老师姓名:学号:实验名称:Lab 02: MIPS处理器部件实现A微机原理实验报告一、实验目的本实验旨在实现MIPS处理器的部件—控制器和ALU,理解CPU控制器,理解ALU的原理,使用Verilog语言设计CPU控制器和ALU ,使用ISim进行行为仿真。
二、实验原理及说明MIPS的基本架构如图1所示,包括Control,ALU这样的组合逻辑单元,也包括如instruction memory,Data memory和Registers file存储单元。
本实验主要实现CPU Control和ALU两个部分。
(一)CPU控制器的实现CPU Control单元输入为指令的opCode字段,即操作码;以及R指令的funct编码。
操作码和Funct编码经过主控制单元的译码,给ALU,Data Memory,Registers ,Muxs等部件输出正确的控制信号。
图2. MIPS基本指令格式图: 控制模块的IO定义注:Jump指令编码是000010,Jump输出信号为1,其他输出信号都为0图3. OpCode与控制输出的编码关系图4. Funct,ALUOp与ALU Control编码关系(二) ALU的实现ALU是CPU核心的计算单元,实现诸如加,减,或,与等操作。
算术操作的编码三、实验verilog代码(一)CPU控制器的实现module Ctr(input [5:0] OpCode,input [5:0] Funct,output regRegDst,output regALUSrc,output regRegWrite,output regMemWrite,output regMemRead,output regMemtoReg,output reg Branch,output reg Jump,output reg [3:0] ALUControl);reg [1:0] ALUOp;always @(OpCode)begincase(OpCode)//R type6'b000000:beginRegDst=1; ALUSrc=0; RegWrite=1; MemWrite=0; MemRead=0; MemtoReg=0;Branch=0;ALUOp=2'b10; Jump=0;end//beq6'b000100:beginRegDst=1'bx; ALUSrc=0; RegWrite=0; MemWrite=0; MemRead=0; MemtoReg=1'bx; Branch=1;ALUOp=2'b01; Jump=0;end//lw6'b100011:beginRegDst=0; ALUSrc=1; RegWrite=1; MemWrite=0; MemRead=1; MemtoReg=1;Branch=0;ALUOp=2'b00; Jump=0;end//sw6'b101011:beginRegDst=1'bx;ALUSrc=1;RegWrite=0;MemWrite=1;MemRead=0;MemtoReg=1'bx;Branch=0;ALUOp=2'b00;Jump=0;end//Jump6'b000010:beginRegDst=0;ALUSrc=0;MemtoReg=0;RegWrite=0;MemRead=0;MemWrite=0;Branch=0;ALUOp=2'b00;Jump=1;endendcaseendalways @(ALUOp or Funct)begincasex({ALUOp,Funct})8'b00xxxxxx: ALUControl=4'b0010;8'b01xxxxxx: ALUControl=4'b0110;8'b1xxx0000: ALUControl=4'b0010;8'b1xxx0010: ALUControl=4'b0110;8'b1xxx0100: ALUControl=4'b0000;8'b1xxx0101: ALUControl=4'b0001;8'b1xxx1010: ALUControl=4'b0111;default: ALUControl=4'b0000;endcaseendendmodule(二) ALU的实现module ALU(input [31:0] SrcA,input [31:0] SrcB,input [3:0] ALUCtr,output Zero,output reg [31:0] ALURes);assign Zero=(ALURes==1'b0);always @(SrcA or SrcB or ALUCtr)begincase(ALUCtr)4'b0000: ALURes=SrcA&SrcB; //AND4'b0001: ALURes=SrcA | SrcB; //OR4'b0010: ALURes=SrcA + SrcB; //add4'b0110: ALURes=SrcA - SrcB; //substract4'b0111: ALURes=SrcA<SrcB ? 1:0; //set on less than 4'b1100: ALURes=~(SrcA | SrcB); //NORdefault ALURes=32'h0;endcaseendendmodule四、仿真测试1.代码(一)CPU控制器的实现module Ctr_tb;// Inputsreg [5:0] OpCode;reg [5:0] Funct;// Outputswire RegDst;wire ALUSrc;wire RegWrite;wire MemWrite;wire MemRead;wire MemtoReg;wire Branch;wire Jump;wire [3:0] ALUControl;// Instantiate the Unit Under Test (UUT)Ctruut (.OpCode(OpCode),.Funct(Funct),.RegDst(RegDst),.ALUSrc(ALUSrc),.RegWrite(RegWrite),.MemWrite(MemWrite),.MemRead(MemRead),.MemtoReg(MemtoReg),.Branch(Branch),.Jump(Jump),.ALUControl(ALUControl) );initial begin// R-type AddOpCode=6'b000000;Funct=6'b100000;// R-type Subtract#10;OpCode=6'b000000;Funct=6'b100010;// Lw#10;OpCode=6'b100011;Funct=6'bxxxxxx;// Sw#10;OpCode=6'b101011;Funct=6'bxxxxxx;// Beq#10;OpCode=6'b000100;Funct=6'bxxxxxx;// R-type AND#10;OpCode=6'b000000;Funct=6'b100100;// R-type OR#10;OpCode=6'b000000;Funct=6'b100101;// R-type set on less than#10;OpCode=6'b000000;Funct=6'b101010;// Jump#10;OpCode=6'b000010;endendmodule(二) ALU的实现module ALU_tb;// Inputsreg [31:0] SrcA;reg [31:0] SrcB;reg [3:0] ALUCtr;// Outputswire Zero;wire [31:0] ALURes;// Instantiate the Unit Under Test (UUT)ALU uut (.SrcA(SrcA),.SrcB(SrcB),.ALUCtr(ALUCtr),.Zero(Zero),.ALURes(ALURes));initial begin// ANDSrcA =32'hf0f0ffff;SrcB =32'h0000f0f0;ALUCtr =0;// OR#10;ALUCtr =4'b0001;// Add#10;ALUCtr =4'b0010;// Subtract#10;ALUCtr =4'b0110;// set on less than#10;ALUCtr =4'b0111;//NOR#10;ALUCtr =4'b1100;//Other situation#10;ALUCtr =4'b1111;endendmodule2.仿真截图(一)CPU控制器的实现(二) ALU的实现五、实验总结实验名称:Lab03: MIPS处理器部件实现B微机原理实验报告一、实验目的本实验旨在使读者实现MIPS处理器的部件—Data memory, Instruction memory和Registers 三大存储器件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理综合项目报告基于nexys4简易数字信号发生器班级:通信1301班学号: HUST姓名:华中科技大学指导老师: 左冬红罗杰目录一、项目简介 (1)1.设计思路 (1)2.任务分配 (1)3.功能描述 (1)二、项目构成及概要设计 (2)1. 硬件模块构成 (2)2. 软件实现流程 (2)三、项目详细设计 (4)1.硬件的内部构成 (4)2.硬件平台的搭建 (9)3.软件模块的构成及其实现 (13)波形产生模块 (13)频率调节模块 (15)幅度调节模块 (16)方波占空比调节模块 (16)四、项目操作说明 (18)五、附录 (19)六、心得体会及建议 (20)一、项目简介1.设计思路本次项目我们小组选择的是信号发生器,由于之前做过D/A显示锯齿波的实验,便想到在该实验的基础上进行功能的扩充,这样思路比较清晰。
首先我们想到在上次实验的基础上加上方波、三角波和正弦波这几种常见波形,实现起来也与锯齿波较为类似,只是在正弦波的显示上花了点功夫,最后决定通过MATLAB取值来实现,最后能正常显示。
而几种波形的切换我们则想到了开关,通过添加开关的GPIO核来获取开关的状态,预留了三位用于波形的切换。
仅仅几种波形的显示是远不够的,所以我们决定添加频率的调节和幅度的调节部分,实现时发现幅度调节容易实现但频率调节有些难度,最后从代码产生波形的原理上来分析想到通过改变取样的次数来调节频率的增减,而选择用一位开关用于切换频率增加和减小,这样会节省资源。
当添加了方波后又发现其占空比也应该实现调节的功能,想到通过开发板上的按钮来实现,通过建立按钮的中断控制,来调节时间延时的增减,从而控制占空比的实现。
当实现了MA TLAB取数进行正弦波的显示时,小组一位成员提出显示心形的设计想法,通过类似的思路也得到了实现。
具体的设计原理及流程后面会有详细说明。
2.任务分配小组成员、贡献比例及具体分工:1硬件平台的搭建,软件代码的实现以及各功能的设计2心形显示的提出和设计,正弦波MA TLAB取值的实现3项目整体框图的设计和绘制实验报告、PPT以及视频的拍制则是由小组成员一起完成。
3.功能描述该信号发生器工程能显示方波,锯齿波,正弦波,三角波以及“爱心”形状(ch1、ch2分别显示“爱心”上下部分再拼接成完整的“爱心”)。
通过开发板按钮能调节各个波形的频率、幅度和方波的占空比,通过led灯能反映开关状态,通过数码管能反映当前显示的波形序号。
Switch<2>---Switch<0>:选择波形Switch<8>---Switch<3>:调节频率Switch<9>:控制频率增加和减小Switch<15>---Switch<10>:调节幅度BTNU:增加占空比BTND:减小占空比二、项目构成及概要设计1.硬件模块构成本项目用到的硬件平台包括SPI IP核与D/A芯片构成数据的传输和数模转换的功能,4个GPIO IP核分别用于开关状态的读取,按钮状态的读取,LED灯的显示,数码管的段选和位选。
一个INTC IP核用于接受来自于SPI和按钮的GPIO的中断,并将中断发送给microblaze核来控制。
硬件整体框图:2.软件实现流程配置好各GPIO、SPI和INTC中断控制器的连接,初始化各个模块并进行设置,读取开关的状态并写入LED灯的GPIO来控制其显示获取波形选择、频率调节和幅度调节的信息根据波形选择信息来显示相应的波形并通过数码管显示波形对应的序号调节波形的频率和幅度当为方波时,可通过按钮来调节方波的占空比各种波形的具体实现。
流程图:三、项目详细设计1. 硬件的内部构成SPI IP核内部框图:接口寄存器定义:SPICR 寄存器各位的含义如下:SPISR 寄存器各位的含义如下:SPISSR 寄存器各位的含义如下:•SPISSR 寄存器bit0~bitn-1分别对应控制SS(0~n-1)的输出IPISR 寄存器各位的含义如下:1234567891031LOOPMasterCPHATx FIFOresetRx FIFO reset 手动从设备选择主设备事务禁止LSB 先传保留12345631保留Rx 空Rx 满Tx 空Tx 满MODF从设备选中DA芯片DAC121S101S是12位D/A转换芯片,可以采用SPI串行接口进行数据输入,其引脚定义和结构图如下图所示:其工作原理可以描述为:串行接口模块按照一定的时序将串行数据采样送到输入移位寄存器;移位寄存器将串行数据转换为并行数据将一部分并行数据(低12位)送入12位D/A 转换寄存器,另一部分送入电源下拉控制逻辑。
12位D/A转换寄存器的数据同时送入D/A 转换寄存器,将数字信号转换为模拟信号后,再经过输出放大电路以及电源下拉控制逻辑的控制之后输出到V out。
其中Vout输出的模拟电压范围为0—V A。
其中V out与输入数据D的关系为:V out= V A (D/4096),D为12位输入的数字量,其取值范围为0~4095DAC121S101要求每次传输16位数据,这16位串行数据的含义为:D0~D11为12位DA转换的数字量,PD0~PD1为电源下拉控制逻辑的输入,控制电源下拉模块的工作方式,改变输出V out的GPIO IP核AXI GPIO控制器包括AXI总线接口模块、中断产生逻辑模块以及双通道输入/输出模块。
内部框图:GPIO内部寄存器定义如下:GPIO_TRI的各位分别控制GPIO_DATA的各位为输入或输出:当GPIO_TRI某位为0时,GPIO相应的I/O引脚配置为输出;当GPIO_TRI某位为1时,GPIO相应的I/O引脚配置为输入。
IP ISR 0x120 中断状态寄存器各个通道的中断请求状态,写1将清除相应位的中断状态bit0-通道1;bit1-通道2AXI INTC主要包括AXI总线接口模块,INTC从设备接口模块,中断控制器核心模块。
其构成原理框图为:寄存器各位的定义如图:2.硬件平台的搭建添加SPI IP核,按钮、LED灯、开关和数码管的GPIO核以及中断控制器INTC核,外部连线如图:各GPIO核、SPI IP核及INTC中断控制器配置如下:按钮的GPIO配置:开关的GPIO配置:LED灯的GPIO配置:数码管的GPIO配置:SPI的配置:将SPI和按钮的GPIO作为中断源,触发INTC的中断,INTC的配置:得到各模块分配的地址,如图:配置各模块的引脚:至此已经配置好完整的硬件平台,生成bit流文件并导出到SDK即可进行软件代码的设计。
3.软件模块的构成及其实现波形产生模块锯齿波:while(Count<4096){value=Count;WriteBuffer[0]=(u8)(value);WriteBuffer[1]=(u8)(value>>8)&0x0f;TransferInProgress=TRUE;XSpi_Transfer(&SpiInstance,WriteBuffer,(void *)0,2);while(TransferInProgress);Count=Count+1;}分析:value值每传输一次增加1;当value=4096时令其为0;得到一个锯齿波,循环执行便可显示出锯齿波。
方波:for(i=0;i<5000;i++){value=4095;WriteBuffer[0]=(u8)(value);WriteBuffer[1]=(u8)(value>>8)&0x0f;TransferInProgress=TRUE;XSpi_Transfer(&SpiInstance,WriteBuffer,(void *)0,2);while(TransferInProgress);}for(i=0;i<5000;i++){value=0;WriteBuffer[0]=(u8)(value);WriteBuffer[1]=(u8)(value>>8)&0x0f;TransferInProgress=TRUE;XSpi_Transfer(&SpiInstance,WriteBuffer,(void *)0,2);while(TransferInProgress);}分析:令value=4095即最大值,通过for循环使其维持一段时间,循环执行完成后,令value=0并维持相同的时间,执行完成后重复执行上述步骤,得到完整的方波。
三角波:Count=0;while(Count<4096)value=Count;WriteBuffer[0]=(u8)(value);WriteBuffer[1]=(u8)(value>>8)&0x0f;TransferInProgress=TRUE;XSpi_Transfer(&SpiInstance,WriteBuffer,(void *)0,2);while(TransferInProgress);Count=Count+1;}Count=4095;while(Count>=0){value=Count;WriteBuffer[0]=(u8)(value);WriteBuffer[1]=(u8)(value>>8)&0x0f;TransferInProgress=TRUE;XSpi_Transfer(&SpiInstance,WriteBuffer,(void *)0,2);while(TransferInProgress);Count=Count-1;}分析:首先令Count=0,当其小于4096时让其每次传输后增加1,直至其值超过4096,令其为4095,并在每次传输后减1直至为0,重复执行上述计算,得到三角波。
正弦波:Count=0;while(Count<=4000){value=sin[Count];WriteBuffer[0]=(u8)(value);WriteBuffer[1]=(u8)(value>>8)&0x0f;TransferInProgress=TRUE;XSpi_Transfer(&SpiInstance,WriteBuffer,(void *)0,2);while(TransferInProgress);Count=Count+1;}分析:正弦波的产生不同于上述方法,因为正弦波不能直接通过Count的加减简单的实现,故选择通过MATLAB计算的方式得到4000组数据,依次传输得到正弦波。