微机实训报告

合集下载

微型计算机系统与维修-实训报告5

微型计算机系统与维修-实训报告5

微型计算机系统与维修-实训报告5摘要本实训报告旨在总结微型计算机系统与维修实训的研究和实践情况。

通过实际操作和维修案例分析,我们深入了解了微型计算机系统的组成和原理,并学会了常见故障的排除与修复。

本报告将分别介绍实训内容和步骤、实践中遇到的一些关键问题以及解决方法,并对所取得的成果和经验进行总结和展望。

1. 实训内容和步骤1.1 实训内容在本次实训中,我们主要研究了微型计算机系统的组成和构造,以及常见硬件故障的排除与维修方法。

具体实训内容包括以下几个方面:- 微型计算机的基本组成和工作原理- CPU、内存、硬盘等关键硬件的概念和功能- 常见硬件故障的诊断和排除方法- 操作系统的安装和配置1.2 实训步骤在实训过程中,我们按照以下步骤进行研究和操作:1. 理论研究:通过课堂教学和研究资料,了解微型计算机系统的基本组成和原理。

2. 实验操作:根据指导书和实训指导,在实验室中进行硬件拆装和操作系统安装等实际操作。

3. 故障排除:模拟常见硬件故障,使用故障排除工具和方法进行问题诊断和修复。

4. 维修案例分析:分析实际维修案例,总结不同故障的判断和解决策略。

2. 关键问题与解决方法在实践过程中,我们遇到了以下一些关键问题,并采取了相应的解决方法:- 问题1:计算机无法启动解决方法:首先检查电源是否正常,若电源正常,则进一步排查主板、内存和硬盘等组件是否有故障。

- 问题2:计算机频繁死机或蓝屏解决方法:检查硬件连接是否松动,排查内存故障或硬盘损坏等可能原因,并进行相应的修复或更换。

- 问题3:操作系统无法正常启动解决方法:使用操作系统安装盘进行系统修复或重新安装操作系统。

3. 成果和经验总结通过本次实训,我们获得了以下成果和经验:- 深入理解了微型计算机系统的组成和工作原理;- 熟练掌握了常见硬件故障的排除和维修方法;- 增强了实际操作能力和对故障排除的分析能力。

在未来的研究和工作中,我们将进一步加强对微型计算机系统的理解和运用,提升故障排除能力,并积极参与更多维修实践。

微型计算机实验一实验报告

微型计算机实验一实验报告

微型计算机实验一实验报告一、实验目的本次微型计算机实验的主要目的是让我们熟悉微型计算机的硬件组成,了解计算机各部件之间的连接和工作原理,并掌握基本的计算机组装和调试技能。

通过实际操作,提高我们对计算机系统的认识和动手能力,为今后的学习和工作打下坚实的基础。

二、实验设备与工具1、计算机主机箱、主板、CPU、内存、硬盘、显卡、声卡、网卡等硬件设备。

2、螺丝刀、镊子、防静电手环等工具。

三、实验内容1、了解计算机硬件组成打开计算机主机箱,观察主板、CPU、内存、硬盘、显卡、声卡、网卡等硬件设备的外观和安装位置。

学习各硬件设备的功能和作用,如 CPU 负责运算和控制,内存用于临时存储数据,硬盘用于长期存储数据等。

2、计算机硬件组装戴上防静电手环,防止静电对硬件设备造成损坏。

首先安装 CPU,将 CPU 对准主板上的插座,轻轻放下,然后扣紧CPU 插座的扳手。

安装内存,将内存插槽两端的卡扣掰开,将内存条对准插槽,用力按下,直到两端的卡扣自动扣紧。

安装硬盘,将硬盘固定在机箱的硬盘架上,然后连接数据线和电源线。

安装显卡,将显卡插入主板上的 PCIE 插槽,并用螺丝固定。

安装声卡和网卡,根据主板的接口类型,将声卡和网卡插入相应的插槽。

连接机箱前面板的线缆,包括电源按钮、重启按钮、指示灯、USB 接口等。

3、计算机硬件调试检查各硬件设备的安装是否牢固,连接是否正确。

接通电源,按下电源按钮,观察计算机能否正常启动。

如果计算机无法启动,根据报警声和指示灯的提示,查找故障原因并进行排除。

四、实验步骤1、准备工作清理实验台,将所需的硬件设备和工具摆放整齐。

阅读计算机硬件组装的相关资料,了解组装的流程和注意事项。

2、硬件组装按照上述步骤,依次安装 CPU、内存、硬盘、显卡、声卡、网卡等硬件设备,并连接好线缆。

3、硬件调试检查组装完成的计算机,确保没有遗漏的部件和连接错误。

接通电源,按下电源按钮,观察计算机的启动情况。

如果计算机无法启动,首先检查电源是否正常,然后检查各硬件设备的连接是否松动。

实训10微机硬件系统的维护实训报告

实训10微机硬件系统的维护实训报告

实训10微机硬件系统的维护实训报告一、实训目的本实训的目的是让学生了解微机硬件系统的维护方法和技巧,培养学生的硬件维护技能,提高其对硬件问题的发现和解决能力。

二、实训内容本次实训主要包括以下几个方面的内容:1.硬件系统检查与故障排除2.CPU清洗与更换3.硬盘维护与优化4.内存清理与安装5.电源维护与替换6.显卡、声卡与网卡的检查与更换三、实训过程1.硬件系统检查与故障排除我们首先学习了如何检查硬件系统是否正常工作。

通过查看主板上的指示灯和听取电脑的启动声音,我们可以大致判断硬件系统是否有故障。

如果没有指示灯亮起或启动声音异常,我们需要检查主板电源和连接线是否松动或损坏,并进行修复。

2.CPU清洗与更换当我们发现电脑启动缓慢或者出现死机现象时,可能是CPU过热导致的。

在清洗CPU之前,我们需要先断开电源和散热器。

然后用软毛刷将CPU上的灰尘和积聚物清理干净。

如果问题依旧,我们就需要更换散热器或者CPU。

3.硬盘维护与优化硬盘是电脑存储数据的重要组成部分,我们需要定期对硬盘进行维护和优化。

首先,我们可以使用磁盘清理工具清理无用文件和临时文件,以释放硬盘空间。

然后,我们需要对硬盘进行碎片整理,以便提高读写速度。

4.内存清理与安装内存是电脑运行程序和数据的临时存储空间,如果内存不足,电脑的运行速度会受到限制。

我们可以使用系统自带的任务管理器来查看内存使用情况,并进行清理。

如果内存不足,我们可以通过添加内存条来扩展内存容量。

5.电源维护与替换电源是电脑供电的重要设备,如果电源老化或者故障,可能导致电脑无法正常启动。

我们需要检查电源的连接线是否松动或损坏,并进行修复。

如果电源出现故障,我们需要购买新的电源进行更换。

6.显卡、声卡与网卡的检查与更换显卡、声卡和网卡是电脑外部设备,它们的工作状态直接影响到电脑的图像显示、声音输出和网络连接。

我们需要检查这些设备是否正常工作,并及时更换损坏的设备。

四、实训心得通过本次实训,我了解了微机硬件系统的主要组成部分以及维护方法和技巧,提高了我的硬件维护能力。

实训微机常见故障处理实训报告

实训微机常见故障处理实训报告

实训微机常见故障处理实训报告实训13 微机常见故障处理实训报告本次实训内容涉及电源、CPU、主板、内存和基本输入/输出系统等方面的常见故障处理。

通过掌握计算机硬件维护的基本原则和方法,以及故障判断的一般步骤,学员们能够熟练地判断和处理常见故障,并给出解决办法。

一、电源常见故障1.电源指示灯未亮,主板不加电。

2.系统自动不停启,自动关机。

3.系统故障,如无故死机、程序出错、音箱中有杂音等。

4.系统不能引导,自检失败。

5.部分部件不能正常运行,如光驱不读盘、图像抖动、硬盘出现坏磁道。

6.显示器黑屏。

7.微机部件烧坏,如显示器。

故障原因主要有电源损坏、电源功率不足和插座未插好等。

针对不同的故障现象,我们可以采取不同的处理方法。

例如,先检查电源线是否插好,电风扇是否转动,供电是否正常。

如果确定电源功率不足,要换大功率高质量电源;如果电源损坏,则需要送修。

二、CPU、主板和内存常见故障CPU故障:1.加电后只有电源灯亮,系统无其他任何反应,显示器无任何显示,无任何报警声。

2.频繁死机,甚至在BLOS设置时也会出现这种情况。

3.CMOS设置不能保存。

主板故障:1.CMOS密码丢失。

2.系统不启动,无显示,无报警声。

3.主板COM口或并行口、XXX口损坏。

内存故障:1.开机无显示,有内存报警声。

2.内存插槽造成系统无法正常开机。

3.内存混插造成系统运行不稳定。

CPU故障的原因可能是CPU设置错误或设备不匹配,也可能是CPU针脚接触不良或挂起模式造成的。

处理方法包括检查CPU针脚是否接触良好、更换CPU或重新设置CPU参数等。

针对主板故障和内存故障,我们可以采用观察法、清洁法、插拔法、替换法、最小系统法、软件诊断法或诊断卡等方法进行检测和处理。

例如,对于不断重启的主机,可以采用最小系统法或软件诊断法来定位故障。

实训2认识微机的主要部件实训报告

实训2认识微机的主要部件实训报告

实训2认识微机的主要部件实训报告一、实训目的通过实训认识并了解计算机微机的主要部件,包括中央处理器(CPU)、内存(RAM)、硬盘、显卡、主板等,理解各部件的作用和相互关系,为后续的计算机硬件维护和升级打下基础。

二、实训内容1.中央处理器(CPU)中央处理器是计算机的核心,负责执行各种指令和进行数据处理。

其主要组成部分包括控制单元(CU)和算术逻辑单元(ALU),控制单元负责指令的解析和执行,算术逻辑单元负责进行计算操作。

2.内存(RAM)内存是计算机用于存储程序和数据的地方,对于计算机的性能和运行速度起到至关重要的作用。

一般来说,内存的容量越大,计算机运行的速度越快。

3.硬盘硬盘是计算机的存储设备之一,用于存储操作系统、应用程序、文件和数据等。

硬盘的容量决定了计算机可以存储的大小。

此外,硬盘的读写速度也会影响计算机的性能。

4.显卡显卡是计算机的图形处理设备,用于将计算机产生的数据转化成人可以识别的图像信号,并输出到显示器上。

良好的显卡能够提供高清晰度的图像显示和流畅的视频播放。

5.主板主板是计算机的核心部件,负责连接和支持计算机的各个组件。

主板上包括中央处理器插槽、内存插槽、扩展插槽、硬盘接口等。

合理选择主板对于计算机整体性能和稳定性至关重要。

三、实训过程在实训过程中,我首先了解了各个部件的基本概念和作用,并通过实际操作将这些部件连接在一起,组装成一个微机。

在组装的过程中,我收获了以下几点体会:1.组装微机需要细心和耐心,不能随意对待,否则可能导致连接不牢固或者短路等问题。

2.各个部件之间有特定的连接方式和接口,学会正确连接和固定各个部件是非常重要的。

3.在组装之前,要确保各个部件的兼容性和性能匹配性,避免出现不兼容或者性能瓶颈的问题。

4.需要注意的是,组装微机需要在无电源状态下进行,并进行防静电措施,以保证操作的安全性。

四、实训总结通过本次实训,我对微机的主要部件有了更加深入的了解。

中央处理器是计算机的核心,负责指令执行和数据处理;内存是计算机的临时存储空间,影响计算机运行速度;硬盘是长期储存设备,影响计算机存储容量和读写速度;显卡处理图形和图像,影响计算机的图像显示效果;主板负责连接和支持各个部件。

微机基础实验报告

微机基础实验报告

一、实验目的1. 熟悉微机的基本结构和工作原理。

2. 掌握微机基本操作,包括启动、关闭、使用键盘和鼠标等。

3. 学习微机操作系统的基础知识,包括文件管理、程序管理、系统设置等。

4. 培养动手能力和独立解决问题的能力。

二、实验环境1. 硬件环境:微机一台、显示器一台、键盘一个、鼠标一个。

2. 软件环境:Windows操作系统、常用办公软件等。

三、实验内容及步骤1. 微机基本结构和工作原理(1)观察微机外部结构,了解各部件的名称和功能。

(2)打开微机,观察启动过程,了解微机自检和启动顺序。

(3)学习微机内部结构,了解CPU、内存、硬盘、显卡等部件的功能。

(4)了解微机工作原理,包括指令执行过程、数据传输过程等。

2. 微机基本操作(1)学习启动和关闭微机的方法,了解安全关机的重要性。

(2)学习使用键盘和鼠标进行基本操作,如打开、关闭程序、切换窗口等。

(3)学习使用快捷键提高工作效率。

3. 微机操作系统基础知识(1)学习Windows操作系统的基本界面和功能。

(2)学习文件管理,包括创建、复制、移动、删除文件和文件夹等操作。

(3)学习程序管理,包括安装、卸载、运行程序等操作。

(4)学习系统设置,包括显示设置、声音设置、网络设置等。

4. 实验练习(1)练习使用Windows自带的画图软件,绘制简单的图形。

(2)练习使用Word文档编辑功能,制作一份简单的文档。

(3)练习使用Excel表格处理功能,制作一份简单的表格。

(4)练习使用PowerPoint演示文稿制作功能,制作一份简单的演示文稿。

四、实验结果与分析1. 实验结果通过本次实验,我们熟悉了微机的基本结构和工作原理,掌握了微机基本操作,学习了微机操作系统基础知识,并能够运用所学知识解决实际问题。

2. 实验分析(1)在实验过程中,我们发现微机的基本操作对于提高工作效率具有重要意义。

熟练掌握键盘和鼠标操作,能够使我们更加高效地完成工作。

(2)在文件管理方面,了解文件和文件夹的基本操作,有助于我们更好地管理计算机中的数据。

实训4微机配置方案设计实训报告

实训4微机配置方案设计实训报告

实训4微机配置方案设计实训报告实训4:微机配置方案设计一、实训目的通过本次实训,我们的目标是设计一套合适的微机配置方案,以满足用户的需求,提高工作效率和性能。

二、实训背景随着信息时代的到来,计算机已成为我们日常工作和学习中必不可少的工具。

而随着科技的不断进步,计算机的性能和配置也越来越高。

因此,在购买和配置计算机时,我们需要根据实际需求和预算进行选择和调整。

三、实训内容和步骤1.需求分析:首先,我们需要了解用户的需求。

比如,用户是否需要处理大型图像和视频等任务,是否需要进行大量的数据分析和计算,以及是否需要同时运行多个复杂的软件等。

这些需求将决定我们配置的方向和重点。

2.配置选择:根据用户的需求,我们可以选择适当的配置方案。

一般而言,我们需要考虑以下几个方面:-处理器(CPU):选择高性能的多核心处理器,以便同时运行多个任务和应用程序。

-内存(RAM):选择足够大容量的内存,以保证系统的稳定运行和快速响应。

-硬盘(HDD或SSD):选择高速、大容量的硬盘,以存储和传输大量的数据。

-图形处理器(GPU):选择性能强大的独立显卡,以满足图像和视频处理需求。

-显示器:选择分辨率高、色彩准确的显示器,以获得更好的视觉体验。

-输入设备:选择符合个人使用习惯的键盘和鼠标,以提高工作效率。

-其他硬件(如主板、电源等)的选择也需要根据用户需求和预算进行调整。

3. 操作系统选择:根据用户的需求和软件的兼容性,我们可以选择合适的操作系统。

例如,Windows操作系统适用于大多数商业和个人用户,而Mac OS适用于创意和设计行业,Linux适用于开发和科研领域。

4.安装和调试:在配置完成后,我们需要进行操作系统和软件的安装和调试,以确保系统的稳定运行和性能表现。

同时,我们还可以根据实际情况进行一些优化和调整,以提高系统的性能和响应速度。

四、配置方案的设计和实施效果基于以上的分析和考虑,我们可以设计出一套合适的配置方案。

实训5-组装微型计算机实训报告

实训5-组装微型计算机实训报告

实训5-组装微型计算机实训报告
项目背景
本实训是为了让学生了解并掌握如何组装微型计算机,并对计算机的硬件进行安装和配置。

实训过程
1. 材料准备
- CPU
- 主板
- 内存
- 硬盘
- 显卡
- 显示器
- 键盘和鼠标
- 电源
- 机箱
2. 组装计算机
- 将主板安装到机箱上,并连接各个接口
- 安装CPU,注意插槽的对应
- 插入内存条,确保正确安装并插入到对应插槽
- 安装硬盘,并连接数据线和电源线
- 安装显卡,注意插槽的对应
- 连接显示器、键盘和鼠标
- 连接电源线,确保电源连接到主板和其他设备上- 关闭机箱,并固定螺丝
3. 软件配置
- 启动计算机,并进入BIOS界面
- 根据提示,设置启动顺序为首先从光盘或U盘启动- 安装操作系统,按照提示完成安装过程
- 安装驱动程序,确保各个硬件都能正常工作
- 安装其他常用软件和工具
4. 测试和验证
- 启动计算机,检查各个硬件是否正常工作
- 进行性能测试,如CPU和内存的负载测试
- 确认计算机可以正常运行和使用
总结
通过本实训,我们学习了如何组装微型计算机,了解了计算机各个硬件的安装和配置过程。

这对于我们进一步理解计算机的内部结构和操作系统的安装有很大帮助。

同时,我们掌握了解决硬件故障和安装驱动程序的能力,提高了对计算机的维护和操作能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南工程学院计算机科学与工程系接口技术及其应用实训报告册学期: 2011-2012第二学期课程: 接口技术及其应用专业: 计算机科学与技术班级: 0941学号: 200910913103姓名: 李赛指导教师: 何莉实训(习)报告评语等级评阅人:职称年月日河南工程学院实训(习)报告实训目的(内容):1.掌握七段数码管工作原理;2.掌握计算机对输入信号检测和输出控制的基本方法;3.掌握常用按钮、发光二极管的使用方法。

4.提高学生的动手能力,达到理论和实践紧密结合。

实训时间:自6月18日至6月21日实训地点:校内机房3B402实训单位:计算机科学与工程系指导教师:何莉系主任:曲宏山目录一、实训目的 (5)二、实训内容及步骤 (5)三、总体设计思路 (6)1、系统硬件的设计 (7)2、系统软件设计 (8)四、实训过程出现的问题和解决措施 (12)1、系统硬件方面 (12)2、软件调试方面 (12)五、程序清单 (12)六、实训总结 (26)一、实训目的1.掌握七段数码管工作原理;2.掌握计算机对输入信号检测和输出控制的基本方法;3.掌握常用按钮、发光二极管的使用方法。

4.提高学生的动手能力,达到理论和实践紧密结合。

二、实训内容及步骤1、设计基本要求用键盘、按钮、七段数码管和发光二极管模拟电梯工作过程。

楼层设为8 层,键盘数字键1~8用来键入希望停的楼层,8 个LED 显示希望停的楼层,八段码指示电梯当前所在楼层,按钮用来启、停电梯。

电梯正常运行时以每 2 秒1层的速度上升或下降。

结合实际了解电梯的工作方式,现假设以下几种运行情况:(1)假设当前电梯停在某层(LED显示相应楼层, 8个发光二极管全灭)。

键入数字键,如键入的数字与当前电梯停靠层相同,则什么也不做,若不同则相应楼层的发光二极管亮;电梯自动判别上升或下降(在运行过程中用八段码来显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应 LED 灭)。

(2)假设当前电梯正在上升或下降运行(此时八段码显示楼层变化, LED 指示希望抵达的楼层),若键入新的希望停靠的楼层数字(相应的 LED 亮),则对同方向(上升或下降)未到的楼层能停靠,对其它情况则先停靠原先希望停的楼层,然后继续运行)。

如下几例:1)设电梯当前在 2层,向上运行,LED指示希望在4层停,此时若键入3,则电梯将在3楼停,然后继续运行至4层停;2)同上情况,若键入的不是 3而是5,则电梯将先停在4层,然后运行至5层停;3)同上情况,若键入的不是 3(或5),而是1,则电梯先停在4层,然后运行至1层停。

2、提高要求除运行按钮外,再设计几个按钮,模拟更多的电梯运行功能,如:1)直达按钮,若按此按钮,电梯按直达方式运行,即对运行期间新键入的停靠楼层(即使是同方向未到楼层)亦不停,直达终点楼层。

2)急停按钮,电梯运行中,若按此按钮,则电梯即停在下一到达的楼层。

3)断电待修按钮,按下该钮电梯不能工作,再按一下才能重新工作。

3、连接线路并行接口电路选择 8255 芯片,七段数码管、LED 指示灯连接线路由学生自己设计,可参考实验指导书的相关内容。

楼层数字键和运行按钮都可由PC 机键盘代替。

4、编写程序5、调试程序。

汇编、连接后执行程序,观察电梯运行情况。

三、总体设计思路本设计主要是利用微机应用实验平台来模拟电梯的运行,用到了平台上的一个非编码键盘、LED显示器、八段数码管等模块。

有8个楼层,需要用8个按键模拟电梯中的请求按钮,用5个按键模拟8个楼层每层向上请求的按钮,再用8个模拟8个楼层每层向下请求的按钮。

非编码键盘有16个键,可以用1-8号键模拟电梯内的按钮,用8-0号键模拟每层向上请求的按纽,A-H模拟每层向下请求的按纽。

当电梯静止状态时,无论外部哪一层有请求,电梯都由静止状态转入向上或向下运行的状态,直到到达请求的楼层;当电梯处于向上运行的状态时,此时高于该楼层向上的请求和内部请求级别最高,其次是所有楼层向下的请求,再次是低于该楼层向上的请求;当电梯处于向下运行的状态时则情况相反。

由于中断级别在随着电梯所处楼层的不同而变化,而且中断源比较多。

所以用每一个中断源直接和中断控制器相连,需要用到多个8259A级联,很不方便。

为解决这个问题,首先定义三个单字节变量REQ_U、REQ_D和REQ_IN分别存储电梯每一层向上、向下和内部的请求,每一个变量用低8位,每一位代表一层。

例如,REQ_U为 00000110B,这代表在2层和3层有向上的请求。

8253定时器每隔20ms产生一次中断,中断程序便去执行扫描键盘,当扫描到有电梯内部或者外部按键时,将请求存储到变量中。

每到一个状态时再检查请求变量REQ_U、REQ_D 和REQ_IN的值,根据电梯的运行方向和变量中的请求,来决定电梯下一步的运行。

设电梯的当前楼层为floor(floor=1~8),运行方向为dir(dir=0,向上;dir=1,向下),在电梯运行的工程中,用数码管输出floor值显示当前的楼层。

LED输出REQ_IN的值显示电梯内已经请求的楼层。

1、系统硬件的设计由于采用了PC机资源和微机实验平台,不需要其他的硬件电路。

利用了微机平台上的8254定时/计数器、8255并行接口单元、LED单元、非编码键盘、数码管显示单元等等。

系统结构框图,如图1所示。

图1 系统结构框图主要的模块如下:1.可编程定时/计数器8254定时/计数器8254主要是用于定时20ms,触发中断进行键盘扫描。

电路连线是CLOCK0接Q6,分频后频率为46875Hz,OUT0接中断IRQ2,每20ms中断一次,GATE0接5v。

计数器的初值应该是3A9H。

2.8255并行接口单元8255主要是用于键盘的扫描和发光二极管的数据输出。

所以用8255A口的低8位接8个发光二极管,B口低4位接非编码键盘的列线,高4位接键盘的行线。

3.LED显示系统虽然只用了1格LED显示器,但为了数字更新更方便,主程序更加简单,故此系统选用动态显示方式。

由于系统的软件部分的运行时的核心程序是一直循环的,因此显示程序也是在循环过程中一直被调用,从而实时地被显示出来。

4.非编码键盘本系统采用的是行反转法来扫描键盘的,调用键盘扫描的程序TESTKEY后,程序中的变量KEY的值就是按下的键的值,如果KEY为0FFH则表示无键盘输入,为0~15 则按照上往下从左往右的顺序分别代表每一个按键按下的信息。

不过此扫描程序没有考虑到多个按键同时按下的情况。

又因为模拟电梯的按键一般不会有两个按键同时按下的情况,所以,多个按键的情况可以不予考虑。

2、系统软件设计本设计的软件设计的思路:通过软件编程使8254输出定时信号申请中断,在中断服务程序中扫描键盘,如果有按键,修改相应的变量位,并输出内部请求变量REQ_IN到发光二极管显示当前的内部请求楼层。

在主程序中,查询变量的值,根据电梯调度算法运行电梯。

1.主要设计模块程序主要包括以下主要模块:键盘扫描程序、LED显示程序、电梯调度算法。

1)键盘扫描程序:采用的是行反转法来扫描键盘的,相应的程序设计请参考实验指导书上实验3中的相关介绍。

2)LED显示程序:本设计只用到了一个LED,只要将floor转换为相应的段码。

先输出位码,再输出段码,循环输出就可以动态显示。

为了循环的显示,将LED显示程序放在中断服务程序中。

3)电梯调度算法:在设计时将电梯一次从下到上视为一次运行(注意不一定从底层到顶层),同理,电梯一次从上到下也视为一次运行(注意不一定从顶层到底层)。

当电梯向上运行时:a)位于当前层以下的向上请求都被忽略留到下次向上运行时处理。

b)位于当前层以上的向上请求都被记录留到此次运行处理。

c)无论哪层的向下请求都被忽略留到下次向下运行时处理。

当电梯向下运行时:a)位于当前层以上的向下请求都被忽略留到下次向下运行时处理。

b)位于当前层以下的向下请求都被记录留到此次运行处理。

c)无论哪层的向上请求都被忽略留到下次向上运行时处理。

2.程序流程图1)主程序框图如图2开始系统初始化查询电梯请求变量电梯运行图2 主程序框图2)中断服务程序框图如图3中断保护现场LED 输出显示floor键盘扫描有键按下?修改请求变量点亮相应的发光二极管恢复现场中断返回是否图3 中断服务程序框图3)电梯算法流程图如图4其中,dir 代表电梯的运行方向,0代表电梯向上运行,1代表向下运动。

设REQ_U(n)代表第n 层向上的请求,同样,REQ_D(n) 代表第n 层向下的请求,REQ_IN(n) 代表第n 层内部的请求。

求next 的方法为:电梯向上时,next 为内部请求的最小值和向上请求的大于floor 的最小值之间的小者。

电梯向下时,next 为内部请求的最大值和向下请求中小于floor 的最大值之间的大者。

没有满足要求的时返回0。

查询请求变量有请求?dir =0?求next next =0?floor ++floor=next?延时清除请求变量相应位并延时求nextN dir =1YYN求next next =0?floor --floor=next?延时清除请求变量相应位并延时求nextN dir =0YYNYNYN图4 电梯算法流程图四、实训过程出现的问题和解决措施1、系统硬件方面线路连接错误,无法实现预期功能,解决措施:仔细检查电路,查找错误并改正。

在接线的时候8254的GATE0没有接5V电源,导致相关芯片无法工作,经细心排查,将错误找错并改正。

有一次调试时试验箱的电源没开就运行软件关联进行调试,结果认为是某个芯片坏了,后来才发现时低级错误。

解决措施:重启电脑,打开试验箱电源,重新运行。

2、软件调试方面程序编写的时候,指令写错,导致软件调试出现问题,解决措施:认真阅读程序,把错误找出并改正。

实验仪器的电源没打开就开始运行程序,结果造成死机,解决措施:重新正确运行。

相关参数设计错误导致流水灯与声音无法同时满足实验要求。

解决措施:经过老师指出,发现是相关的指令与参数错误所致,经同学帮助,将其改正。

五、程序清单MY8255_A EQU 0FF28H ;8255的A口地址MY8255_B EQU 0FF29H ;8255的B口地址MY8255_C EQU 0FF2AH ;8255的C口地址MY8255_MODE EQU 0FF2BH ;8255的控制寄存器地址IOY1 EQU 3040H ;片选IOY0对应的端口始地址MY8254_COUNT0 EQU IOY1+00H*4 ;8254计数器0端口地址MY8254_COUNT1 EQU IOY1+01H*4 ;8254计数器1端口地址MY8254_COUNT2 EQU IOY1+02H*4 ;8254计数器2端口地址MY8254_MODE EQU IOY1+03H*4 ;8254控制寄存器端口地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENT;DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDTABLE DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HNOW_FLOOR DB 01H-01H ;定义数据变量DIR DB 1TARGET_FLOOR DB 01H-01H ;02H为初始层,出事情况当前层和目标层一样F_FLOOR DB 1 ;按键有效,空闲FREQ_LIST DW 371,495,495,495,624,556,495,556,624 ;频率表DW 495,495,624,742,833,833,833,742,624DW 624,495,556,495,556,624,495,416,416,371DW 495,833,742,624,624,495,556,495,556,833DW 742,624,624,742,833,990,742,624,624,495DW 556,495,556,624,495,416,416,371,495,0TIME_LIST DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表 DB 6, 2, 4, 4, 12, 1, 3, 6, 2DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 6, 2, 4, 4, 12DATA ENDS ;CODE SEGMENTASSUME CS:CODE,DS:DATASTART: CALL dispredJMP SERIAL;-------------------------------------------------------------------- SERIAL: MOV DS:[077AH],1717H ;置显示初值1--1--,存放左边第4和5的值MOV DS:[077CH],0117H ;存放左边第2个和第3个要显示的值MOV DS:[077EH],0117H ;存放左边第0个和第1个要显示的值redikey:call dispkey ;调显示键扫子程序cmp byte ptr ds:[0752h],10h ;判功能键还是数字键jc wattxd ;转数字键处理jmp funckey ;转功能键处理WATTXD: nop ;数字键处理jmp redikey ;循环回去继续键扫funckey:CMP BYTE PTR DS:[0752H],1FH ;判是MON功能键否?JNZ REDIKEY ;不是功能键MON返回JMP redikey;----------------------------------------dispred:mov dx, 0FF2BH;8255初始化,c口输出开始红灯亮mov al,80Hout dx,almov dx,0FF2AHmov al,01hout dx,alcall dispdispblue:mov dx, 0FF2BH;8255初始化,c口输出绿灯亮mov al,80Hout dx,almov dx,0FF2AHmov al,01hout dx,alretMOV AX,DATAMOV DS,AX;初始化8254MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,0B6H ;计数器2,方式3 OUT DX,ALMOV DX,MY8254_COUNT2 ;装入计数初值MOV AL,00H ;18432分频OUT DX,ALMOV AL,48HOUT DX,ALMOV DX,MY8254_MODE ;初始化8254工作方式MOV AL,36H ;定时器0、方式3OUT DX,ALMOV SI,OFFSET FREQ_LIST ;装入频率表起始地址MOV DI,OFFSET TIME_LIST ;装入时间表起始地址MOV DX,0FH ;输入时钟为1.0416667MHz,1.0416667M = 0FE502H MOV AX,0E502HDIV WORD PTR [SI] ;取出频率值计算计数初值,0F4240H / 输出频率 MOV DX,MY8254_COUNT0OUT DX,AL ;装入计数初值MOV AL,AHOUT DX,ALMOV DX,MY8254_COUNT1 ;装入计数初值MOV AL,0C8H ;100分频OUT DX,ALMOV AL,00HOUT DX,AL;初始化8255MOV DX,MY8255_MODE ;初始化8255工作方式MOV AL,81H ;方式0,A口、B口输出,C口低4位输入OUT DX,ALMOV DX,1300H ;用IO-32输出控制8个LED,刚开始默认为全灭MOV AL,0OUT DX,ALMOV DX,MY8255_MODEMOV AL,00001110B ;PC7=0OUT DX,ALMOV AL,NOW_FLOORMOV BX,OFFSET DTABLEAND AX,00FFHADD BX,AXMOV AL,[BX] ;将键值作为偏移和键值基地址相加得到相应的键值MOV DX,MY8255_BOUT DX,AL;---------------------------------------;先显示存储区域的值,再扫描键值,键值保存在[0752h]中,同时把数值存在第2个;数码管对应的存储区域[077dh],即当前输入值显示在第0个数码管中dispkey:call disp ;调显示子程序call key ;调键扫子程序mov ah,al ;newkey,al放置键盘输入值mov bl,ds:[0748h] ;ltime,键盘消抖处理mov bh,ds:[0749h] ;lkeymov al,01hmov dx,0ff21hout dx,alcmp ah,bhmov bh,ah ;bh=new keymov ah,bl ;al=timejz disk4mov bl,88hmov ah,88hdisk4: dec ahcmp ah,82hjz disk6cmp ah,0ehjz disk6cmp ah,00hjz disk5mov ah,20hdec bljmp disk7disk5: mov ah,0fhdisk6: mov bl,ahmov ah,bhdisk7: mov byte ptr ds:[0748h],blmov byte ptr ds:[0749h],bhmov byte ptr ds:[0752h],bh ;保存键值在[0752h]mov byte ptr ds:[077dh],bh ;第2个数码管对应存储区域mov al,ahret ;返回;----------------------------------------------;显示子程序;要显示的值存放在[077fh],[077eh],[077dh],[077ch],[077bh],[077ah] disp: push cx ;显示子程序mov dx,077fhmov ah,20h ;显示在左边第一个数码管disp0: mov cx,00ffh ;循环显示次数mov bx,dxmov bl,ds:[bx] ;取要显示的值mov bh,0hpush dxmov dx,0ff22h ;向数码管数据输出lea si,data1mov al,cs:[bx+si] ;转换为数码管显示值out dx,almov dx,0ff21h ;选个显示在哪个数码管上mov al,ahout dx,aldisp1: loop disp1 ;循环显示pop dxdec dx ;取下一个值shr ah,01h ;数码管往右边移一个用于显示jnz disp0pop cxretdata1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h db 80h,90h,88h,83h,0c6h,0a1h,86h,8ehdb 0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfhdb 90h,0a3h,0a1h,86h,8fh;键盘扫描程序key: mov al,0ffhmov dx,0ff22hout dx,al ;关显示mov bl,00hmov ah,0fehmov cx,08h ;置计数初值key1: mov al,ahmov dx,0ff21hout dx,al ;置第0列为低电平shl al,01hmov ah,al ;左移一列nopnopnopnopnopnopmov dx,0ff23h ;读取键行值in al,dxnot alnopnopand al,0fh ;判有键否?jnz key2inc bl ;无键,扫描次数加1 loop key1 ;不满8列继续jmp nkey ;转无键处理key2: test al,01h ;计算键值je key3mov al,00hjmp key6key3: test al,02hje key4mov al,08hjmp key6key4: test al,04hje key5mov al,10hjmp key6key5: test al,08hje nkeymov al,18hkey6: add al,blcmp al,10hjnc fkeymov bl,almov bh,0hlea si,data2mov al,cs:[bx+si] ;键值存在AL中retnkey: ;mov al,20h ;无键值为20Hmov al,byte ptr ds:[077dh]fkey: retdata2: db 07h,04h,08h,05h,09h,06h,0ah,0bh ;键值表(数字键)DB 01h,00h,02h,0fh,03h,0eh,0ch,0dhMYISR PROC NEAR ;中断处理程序MYISRPUSH AXMOV AL,DIRCMP AL,0JZ DOWNCMP AL,2JZ UPjmp redikeyDOWN:MOV AL,NOW_FLOORDEC ALMOV NOW_FLOOR,ALAND AX,00FFHADD BX,AXMOV AL,[BX]MOV DX,MY8255_BOUT DX,ALJMP BIJIAOUP:MOV AL,NOW_FLOORINC ALMOV NOW_FLOOR,ALMOV BX,OFFSET DTABLE AND AX,00FFHADD BX,AXMOV AL,[BX]MOV DX,MY8255_BOUT DX,ALBIJIAO:MOV AL,NOW_FLOORMOV AH,TARGET_FLOOR CMP AH,ALJZ GUANBIjmp redikey GUANBI:MOV AL,00001110B ;PC7=0OUT DX,ALMOV DIR,1HMOV AL,0MOV DX,1300H ;用IO-32输出控制8个LED,显示目标楼层OUT DX,ALMOV F_FLOOR,1 ;置1,恢复按键有效MOV DX,MY8254_MODE ;初始化8254工作方式MOV AL,36H ;定时器0、方式3OUT DX,ALMOV SI,OFFSET FREQ_LIST ;装入频率表起始地址MOV DI,OFFSET TIME_LIST ;装入时间表起始地址MOV DX,0FH ;输入时钟为 1.0416667MHz,1.0416667M = 0FE502HMOV AX,0E502HDIV WORD PTR [SI] ;取出频率值计算计数初值,0F4240H / 输出频率MOV DX,MY8254_COUNT0OUT DX,AL ;装入计数初值MOV AL,AHOUT DX,ALMOV DL,[DI] ;取出演奏相对时间,调用延时子程序CALL DALLYADD SI,2INC DICALL DALLY1MOV DX,MY8254_MODE ;退出时设置8254为方式2,OUT0置0 MOV AL,10HOUT DX,ALMYISR ENDPDALLY PROC NEAR ;软件延时子程序PUSH CXMOV CX,00FFHD1: MOV AX,00FFHD2: DEC AXJNZ D2LOOP D1POP CXRETDALLY ENDPDALLY1 PROC ;延时子程序D00: MOV CX,200HD10: MOV AX,0FFFFHD20: DEC AXJNZ D20LOOP D10DEC DLJNZ D00RETDALLY1 ENDPCODE ENDSEND START六、实训总结在本次为期四天的微机原理实训期间,通过自己的动手操作、连线和编程,渐渐了解了七段数码管工作原理,知道了计算机对输入信号检测和输出控制的基本方法,掌握了常用按钮、发光二极管的使用方法。

相关文档
最新文档