微机课程设计报告
微机原理课程设计报告文库

微机原理课程设计报告文库一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微机硬件结构及其功能;2. 学会分析微机工作原理,了解指令系统及编程方法;3. 掌握微机接口技术,了解常见接口芯片的功能和应用。
技能目标:1. 能够运用所学知识进行微机系统的简单设计和调试;2. 培养学生具备一定的微机编程能力,能够编写简单的汇编语言程序;3. 提高学生动手实践能力,能够进行基本的硬件焊接和电路搭建。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于探索新知识,提高自主学习能力。
课程性质:本课程为理论与实践相结合的课程,强调培养学生的动手实践能力和创新能力。
学生特点:学生已具备一定的电子技术和计算机基础,具有较强的学习能力和好奇心。
教学要求:教师应注重理论与实践相结合,引导学生主动参与课堂讨论,鼓励学生动手实践,培养学生解决问题的能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够掌握微机原理的基本知识,具备实际应用能力,为后续相关课程和未来职业发展打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 微机硬件结构:介绍微处理器、存储器、输入输出接口等硬件组件的工作原理和功能;教材章节:第一章 微机系统概述内容列举:CPU结构、存储器分类、I/O接口基础等。
2. 指令系统与编程:讲解汇编语言的基本指令、寻址方式、程序设计方法等;教材章节:第二章 指令系统与汇编语言内容列举:基本指令、汇编语言程序结构、循环、分支等编程技巧。
3. 微机接口技术:分析常见接口芯片的原理与应用,如并行接口、串行接口、定时器/计数器等;教材章节:第三章 微机接口技术内容列举:并行接口、串行接口、定时器/计数器接口芯片等。
4. 微机系统设计与实践:培养学生动手实践能力,进行简单的微机系统设计与调试;教材章节:第四章 微机系统设计与实践内容列举:硬件焊接、电路搭建、程序下载与调试等。
微机控制原理课程设计报告

微机控制原理课程设计报告一、课程目标知识目标:1. 让学生掌握微机控制原理的基本概念,包括微处理器、接口技术、中断处理等;2. 使学生了解微机控制系统的结构组成、工作原理及设计方法;3. 帮助学生理解并运用微机控制技术进行简单的控制系统设计。
技能目标:1. 培养学生运用微机控制原理解决实际问题的能力;2. 提高学生进行微机控制系统分析与设计的实际操作技能;3. 培养学生团队协作、沟通交流的能力,以适应实际工作中的项目开发需求。
情感态度价值观目标:1. 激发学生对微机控制技术的兴趣,培养其探索精神和创新意识;2. 培养学生严谨的科学态度和良好的工程伦理观念;3. 增强学生的国家意识,使其认识到微机控制技术在我国经济社会发展中的重要作用。
课程性质:本课程为专业选修课,旨在帮助学生掌握微机控制原理的基础知识,提高学生的实际操作能力和创新能力。
学生特点:学生已具备一定的电子技术基础,具有较强的学习能力和实践欲望。
教学要求:结合课本内容,注重理论与实践相结合,以项目为导向,培养学生解决实际问题的能力。
通过课程学习,使学生能够达到预定的知识、技能和情感态度价值观目标。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 微机控制系统概述:介绍微机控制系统的基本概念、发展历程、应用领域,使学生了解微机控制技术的背景及重要性。
教材章节:第一章2. 微处理器及其接口技术:讲解微处理器的结构、工作原理,以及常用的接口技术。
教材章节:第二章、第三章3. 中断处理与定时器/计数器:分析中断处理的过程,介绍定时器/计数器的工作原理及应用。
教材章节:第四章、第五章4. 微机控制系统设计方法:阐述微机控制系统的设计步骤、方法以及注意事项。
教材章节:第六章5. 微机控制系统实例分析:分析典型的微机控制系统案例,使学生了解实际应用中的设计方法和技巧。
教材章节:第七章6. 实践教学环节:组织学生进行微机控制系统的设计与实践,提高学生的实际操作能力。
微机原理课程设计

微机原理课程设计一、引言微机原理课程设计是计算机科学与技术专业的一门重要课程,旨在通过实践项目的设计与实现,匡助学生巩固和应用所学的微机原理知识,提高他们的计算机系统设计和编程能力。
本文将详细介绍微机原理课程设计的标准格式,包括任务背景、设计目标、设计内容、设计步骤、设计结果和总结等部份。
二、任务背景本次微机原理课程设计的任务背景是设计一个简单的计算器程序,该程序能够实现基本的四则运算功能,并具备一定的错误处理能力。
通过该设计任务,学生将深入理解微机原理中的指令系统、寄存器和存储器等相关知识,并能够将其应用于实际的程序设计中。
三、设计目标本次微机原理课程设计的设计目标如下:1. 熟悉并理解微机原理中的指令系统、寄存器和存储器等基本概念;2. 能够使用汇编语言编写简单的计算器程序,并实现基本的四则运算功能;3. 具备一定的错误处理能力,能够对非法输入进行合理的处理和提示。
四、设计内容本次微机原理课程设计的设计内容包括以下几个方面:1. 硬件平台的选择:根据实际需求选择合适的硬件平台,如Intel 8086微处理器;2. 开辟环境的搭建:选择合适的开辟工具和汇编语言编译器,如MASM;3. 程序设计:根据设计目标,编写汇编语言程序,实现计算器的基本功能;4. 错误处理:设计合理的错误处理机制,对非法输入进行处理和提示。
五、设计步骤本次微机原理课程设计的设计步骤如下:1. 硬件平台的选择:根据实际需求选择合适的硬件平台,如Intel 8086微处理器,并搭建相应的开辟环境;2. 学习和理解指令系统:深入学习和理解所选择硬件平台的指令系统,包括指令的格式、寻址方式和功能等;3. 程序设计:根据设计目标,编写汇编语言程序,实现计算器的基本功能,包括输入数字、选择运算符、进行运算和输出结果等;4. 错误处理:设计合理的错误处理机制,对非法输入进行处理和提示,如输入非数字字符或者除数为零等;5. 调试和测试:对设计的程序进行调试和测试,确保其能够正确运行并满足设计要求。
微机原理课程设计报告

微机原理课程设计报告课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助!微机原理课程设计报告(一) 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。
当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。
但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。
我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。
我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。
看着自己做出来的东西,心里面的感觉真的很好。
虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。
很有成就感。
我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。
但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。
对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。
讨论某一部分原理时又要涉及到其它部分的工作原理。
这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。
所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
中南大学微机课程设计报告交通灯课案

微机课程设计报告目录一、需求分析1、系统设计的意义 (3)2、设计内容 (3)3、设计目的 (3)4、设计要求 (3)5、系统功能 (4)二、总体设计1、交通灯工作过程 (4)三、设计仿真图、设计流程图1、系统仿真图 (5)2、流程图 (6)3、8253、8255A结构及功能 (8)四、系统程序分析 (10)五、总结与体会 (13)六、参考文献 (13)一、需求分析1系统设计的意义:随着社会经济的发展,城市问题越来越引起人们的关注。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
城市交通控制系统是用于城市交通数据检测、交通信号灯控制与交通疏通的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。
随着城市机动车量的不断增加,组多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速通道,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。
然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。
而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。
所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速通道,缓解主干道与匝道、城市同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通灯的控制方式很多,本系统采用可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现本系统的各种功能。
同时,本系统实用性强,操作简单。
2、设计内容采用8255A设计交通灯控制的接口方案,根据设计的方案搭建电路,画出程序流程图,并编写程序进行调试3、设计目的综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计能力及实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
微型计算机课程设计

本节课程设计将围绕微型计算机的高级应用与拓展技能展开,以下是具体教学内容:
1.计算机编程基础:介绍编程语言的概念,学习简单的编程逻辑和基本代码编写;
2.多媒体技术应用:结合教材,了解音频、视频编辑软件的使用,进行基础的多媒体创作;
3.认识开源软件:讨论开源软件的意义,介绍几个常见的开源软件及其应用场景;
微型计算机课程设计
一、教学内容
本节微型计算机课程设计,针对八年级下册《信息技术》第五章“计算机硬件的认识”。内容包括:
1.计算机硬件的基本组成:CPU、内存、硬盘、显卡等;
2.微型计算机的组装过程:讲解各硬件部件的安装方法与注意事项;
3.计算机性能指标的认识:CPU主频、内存容量、硬盘容量、显卡性能等;
4.认识BIOS设置:了解BIOS的作用,学习如何进入BIOS进行基本设置;
5.计算机的日常维护与保养:讲解计算机硬件的清洁、散热、防尘等方法。
本节课程设计旨在让学生深入了解计算机硬件的组成和组装过程,提高学生对计算机性能的认识,培养学生的动手操作能力及日常维护保养意识。教学内容与教材紧密相关,注重实用性和操作性。
5.未来计算机技术展望:讨论未来计算机技术发展趋势,如量子计算机、生物计算机等,激发学生对科技前沿的兴趣。
本节教学内容旨在帮助学生了解当前计算机技术的进阶应用和未来发展方向,培养学生的数据分析能力、网络编程技能以及对科技创新的敏感度。
4.计算机病毒防护:讲解计算机病毒的特点,认识杀毒软件,学会使用杀毒软件查杀病毒;
5.计算机故障排除:了解常见计算机故障现象,学习简单故障的排查与解决方法。
3、教学内容
本节课程设计将重点关注微型计算机的软件应用与网络基础,以下是具体教学内容:
实训4微机配置方案设计实训报告

实训4微机配置方案设计实训报告实训4:微机配置方案设计一、实训目的通过本次实训,我们的目标是设计一套合适的微机配置方案,以满足用户的需求,提高工作效率和性能。
二、实训背景随着信息时代的到来,计算机已成为我们日常工作和学习中必不可少的工具。
而随着科技的不断进步,计算机的性能和配置也越来越高。
因此,在购买和配置计算机时,我们需要根据实际需求和预算进行选择和调整。
三、实训内容和步骤1.需求分析:首先,我们需要了解用户的需求。
比如,用户是否需要处理大型图像和视频等任务,是否需要进行大量的数据分析和计算,以及是否需要同时运行多个复杂的软件等。
这些需求将决定我们配置的方向和重点。
2.配置选择:根据用户的需求,我们可以选择适当的配置方案。
一般而言,我们需要考虑以下几个方面:-处理器(CPU):选择高性能的多核心处理器,以便同时运行多个任务和应用程序。
-内存(RAM):选择足够大容量的内存,以保证系统的稳定运行和快速响应。
-硬盘(HDD或SSD):选择高速、大容量的硬盘,以存储和传输大量的数据。
-图形处理器(GPU):选择性能强大的独立显卡,以满足图像和视频处理需求。
-显示器:选择分辨率高、色彩准确的显示器,以获得更好的视觉体验。
-输入设备:选择符合个人使用习惯的键盘和鼠标,以提高工作效率。
-其他硬件(如主板、电源等)的选择也需要根据用户需求和预算进行调整。
3. 操作系统选择:根据用户的需求和软件的兼容性,我们可以选择合适的操作系统。
例如,Windows操作系统适用于大多数商业和个人用户,而Mac OS适用于创意和设计行业,Linux适用于开发和科研领域。
4.安装和调试:在配置完成后,我们需要进行操作系统和软件的安装和调试,以确保系统的稳定运行和性能表现。
同时,我们还可以根据实际情况进行一些优化和调整,以提高系统的性能和响应速度。
四、配置方案的设计和实施效果基于以上的分析和考虑,我们可以设计出一套合适的配置方案。
微机技术原理课程设计报告

微机技术原理课程设计报告设计背景和目的:微机技术原理课程设计的主要目的是培养学生的计算机系统综合能力,通过设计和实现一个完整的微机系统,来加深学生对微机技术原理的理解,提高他们的动手能力和解决问题的能力。
本次课程设计的主题是设计一个简单的计算器程序,要求能够实现基本的四则运算功能以及其它一些扩展功能。
设计方案和流程:1. 确定系统需求:根据题目要求,确定计算器的基本功能为加减乘除四则运算,同时考虑到用户体验,还要加入其他一些功能,如开平方、取余等。
2. 确定系统架构:根据需求,确定使用的软件开发平台和工具,如C++编程语言和Visual Studio集成开发环境(IDE)。
3. 分解系统模块:根据计算器的功能,将系统分解为多个模块,如界面模块、算法模块和控制模块等。
4. 设计界面模块:根据用户交互需求,设计并实现计算器的用户界面,包括数字按钮、运算符按钮和结果显示区域等。
5. 设计算法模块:根据需求,设计并实现计算器的算法模块,包括加、减、乘除等基本运算算法,以及开平方、取余等扩展算法。
6. 设计控制模块:根据系统架构,设计并实现计算器的控制模块,用于协调界面模块和算法模块之间的交互,处理用户输入和计算结果的显示。
7. 调试和测试:在开发过程中,及时调试和测试各个模块的功能,确保各模块之间的协调正常,并对程序进行全面测试,保证程序的正确性和稳定性。
实施计划和进度安排:本次课程设计将分为多个阶段进行,每个阶段都有具体的任务和时间安排。
以下是整个设计的大致计划和进度安排:1. 第一周:确定系统需求,设计系统架构,完成界面模块的设计和实现。
2. 第二周:完成算法模块的设计和实现,完成控制模块的设计和实现。
3. 第三周:进行系统的集成测试和调试,解决存在的问题和bug。
4. 第四周:进行功能测试和性能测试,优化程序,准备最终的系统交付。
设计结果和实施效果:经过设计和实施,计算器程序可以实现基本的四则运算功能,并且还加入了一些扩展功能,如开平方、取余等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
r计算机学院微机原理与接口技术A课程设计报告电子钟实验姓名:白璐学号:3050603018班级:计算机0501指导老师:熊书明二○○八年一月电子钟实验实验目的掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;掌握实时处理程序的编制和调试方法。
实验要求设计一个定时显示装置,用实验仪左侧的六个LED数码管显示时间,时间显示格式为24小时制。
分秒值为59分55秒时开始报时,每秒钟蜂鸣器鸣叫一声,到整点报时停止。
义参见右图。
键值具体定义如下:G键(启停键)——程序启动后,按下该键时时钟启动,再次按下该键,暂停计时,显示当前时间。
S键(设置键)——按下S键后,为时钟设置时、分、秒初始值。
实验设备74系列模块;8254模块;8259模块。
实验提示(1)硬件连线键盘的控制——采用74系列模块控制或用8255控制;LED显示模块——由74系列模块控制,详见附录;时间的精确定时——用8254定时器0产生25ms的中断信号;整点报时控制——用8255某一位信号控制8254的GATE1.GATE=1时,OUT1信号控制蜂鸣器鸣叫;GATE=0,蜂鸣器停止鸣叫。
(2)软件编程要稳定的看到数码管上显示的时分秒值,必须对数码管动态刷新。
本实验要求用中断方式每隔25ms刷新一次数码管的显示结果。
8254的0号计数器信号的周期设为25ms,及时和刷新数码管的显示。
程序中设置一个启停标志stop,当stop值为0时启动时钟,每中断40次更新显示时间;stop值为0FFH 时,暂停时钟。
当时间的分秒值为59分55秒时,用8255控制8254的GATE1,设为1,启动定时器1工作,报时。
时间到整点后,GATE1清0.程序由以下模块组成:主程序模块:对8254、8259A等芯片进行初始化,设置中断向量,扫描键盘,根据按键值做相应的处理。
注意:设置初始时间是要考虑边界,时间的最大值为23:59:59,不能超出此范围。
流程图见下图:初始化各段寄存器及相关变量初始化8254、8259芯片设置中断向量、开放8259中断屏蔽键盘扫描模块:列线输出全为“0”读行线->AL(AL)∧(0FH)->AL Y(-1RET结束8254中断服务程序:刷新一次数码管,计时时间到一秒,修改当前时间,整点报时。
流程图见下图:保护现场数码管显示一遍N值为0Y加1YCOUNT清0修改时间值59分55秒Y设置为100分00秒YGATE1清0结束中断恢复中断中断返回三.源程序.486pporta1 equ 200hportb1 equ 204hportc1 equ 208hportp1 equ 20chporta2 equ 201hportb2 equ 205hportc2 equ 209hportp2 equ 20dhporta3 equ 202hportb3 equ 206hportc3 equ 20ahportp3 equ 20ehporta4 equ 203hportb4 equ 207hportc4 equ 20bhportp4 equ 20fhcode segment use16assume cs:codeORG 3000HBEG:jmp starttab db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h,080h,090h,088h,083h,0c6h,0a1h,086h,08eh hour dw 23min dw 59sec dw 50count db 0c10 db 10PORT1 EQU 340HPORT2 EQU 360Hstep db 0time dw 0flag dw 0ffhstart:cli ;关中断mov eax,80808080h ;8255初始化,A口方式0,输出;B口方式0;C口输出mov dx,20chout dx,eaxmov dx,portb4;203h口mov al,00hout dx,al;8253初始化mov dx,30ch ;8253CS接300hmov al,00110100b ;计数器0,读写低八位,方式2,2进制out dx,almov ax,37500 ;计数器0 ,计数初值接频率为1.5MHZmov dx,300hout dx,almov al,ahout dx,almov al,01110110b ;计数器1,读写低八位,方式3,2进制out dx,almov dx,30ch ;计数器1,计数初值接频率为47KHZmov ax,47000mov dx,304hout dx,almov al,ahout dx,al;中断向量设置mov ax,offset interrupt ;中断程序的入口地址mov bx,20hmov [bx],axmov ax,csmov [bx+2],ax;8259中断初始化mov dx,3a0hmov al,00010011b ; ICW1out dx,almov dx,3a8hmov al,00001000b ; IR0的中断类型号08H ICW2out dx,almov al,00000101b ; ICW4out dx,almov al,11111110b ;只允许来自IRQ0的中断请求out dx,alSTA: sti ;开中断WT: MOV AL,00H ;使数码管全灭OR AL,80HMOV DX,PORT2OUT DX,ALNOPNOPMOV DX,PORT2 ;是否有键按下MOV AL,0OUT DX,ALIN AL,DXNOPNOPNOT ALAND AL,0FHJNZ LK1 ;有就转LK1JMP WTLK1: PUSH AX ;有键按下延时去抖动MOV AX,2FHDELAY2: NOPDEC AXJNZ DELAY2POP AXMOV CL,00H ;用扫描法判按键值MOV BL,0FEH ;输出列值LK4: MOV AL,BLMOV DX,PORT2OUT DX,ALNOPNOPMOV DX,PORT2 ;接受行值IN AL,DXNOPNOPTEST AL,01H ;查询是哪个键被按下(先查第一行)JNZ LONE ;第一行没有查第二行MOV AL,0 ;查到则跳转查表JMP NEXTLONE: TEST AL,02H ;查第二行JNZ LTWOMOV AL,3JMP NEXTLTWO: TEST AL,04H ;查第三行JNZ LTHREEMOV AL,6JMP NEXTLTHREE: TEST AL,08H ;查第四行JNZ LKPMOV AL,9JMP NEXTLKP: INC CL ;列计数值加1TEST BL,08H ;3列全查结束没找到就返回(11110111) JZ WTROL BL,1 ;查找下一列JMP LK4NEXT: ADD AL,CLcmp al,10jnz goto1cmp flag,1jnz p1mov flag,0jmp goto2p1: mov flag,1jmp goto2goto1: cmp al,11jnz goto2mov flag,1mov step,1aga1: call Timesetcmp step,1ja cmp2mov ax,timeimul ax,10mov hour,axinc stepjmp aga1cmp2: cmp step,2ja cmp3mov ax,timeadd hour,axinc stepjmp aga1cmp3: cmp step,3ja cmp4mov ax,timeimul ax,10mov min,axinc stepjmp aga1cmp4: cmp step,4ja cmp5mov ax,timeadd min,axinc stepjmp aga1cmp5: cmp step,5ja cmp6mov ax,timeimul ax,10mov sec,axinc stepjmp aga1cmp6: cmp step,6ja cmp7mov ax,timeadd sec,axinc stepjmp aga1cmp7: mov step,0mov flag,0goto2: jmp STAinterupt proc farpush axpush bxpush cxpush dxlea bx,tabmov cx,sec ;秒mov ax,cxdiv c10mov dx,porta3push axmov ah,0xlatout dx,alpop axmov al,0xchg ah,alxlatout dx,almov cx,min ;分钟mov ax,cxdiv c10mov dx,porta2push axmov ah,0xlatout dx,alpop axmov dx,portb2mov al,0xchg ah,alxlatout dx,almov cx,hour ;小时mov ax,cxdiv c10mov dx,porta1push axmov ah,0xlatout dx,alpop axmov dx,portb1mov al,0xchg ah,alxlatout dx,alcmp flag,1jz exitcmp hour,24jl aamov hour,0aa: cmp min,60jl bbmov min,0bb: inc count ;40次中断秒加1jl exitmov count,0inc seccmp min,59jl skipcmp sec,55jl exitmov al,0ffh ;第4片8255 B口置1 使蜂鸣器发音mov dx,portb4out dx,alskip: cmp sec,60jl exitmov sec,0inc mincmp min,60jl exitmov min,0mov al,00h ; 秒超过60 停止发音mov dx,portb4out dx,alinc hourcmp hour,24jl exitmov hour,0exit:mov al,00100000b ;中断结束EOImov dx,3a0hout dx,alpop dxpop cxpop bxpop axiretinterupt endpTimeset procpush axpush bxpush cxpush dxWT1: MOV AL,00H ;使数码管全灭OR AL,80HMOV DX,PORT2OUT DX,ALNOPNOPMOV DX,PORT2 ;是否有键按下MOV AL,0OUT DX,ALIN AL,DXNOPNOPNOT ALAND AL,0FHJNZ LK11 ;有就转LK11JMP WT1LK11: PUSH AX ;有键按下延时去抖动MOV AX,0FFFFHDELAY21:NOPDEC AXJNZ DELAY21POP AXMOV CL,00H ;用扫描法判按键值MOV BL,0FEH ;输出列值LK44: MOV AL,BLMOV DX,PORT2OUT DX,ALNOPNOPMOV DX,PORT2 ;接受行值IN AL,DXNOPNOPTEST AL,01H ;查询是哪个键被按下(先查第一行)JNZ LONE1 ;第一行没有查第二行MOV AL,0 ;查到就去查表显示JMP NEXT1LONE1: TEST AL,02H ;查第二行JNZ LTWO1MOV AL,3JMP NEXT1LTWO1: TEST AL,04H ;查第三行JNZ LTHREE1MOV AL,6JMP NEXT1LTHREE1:TEST AL,08H ;查第四行JNZ LKP1MOV AL,9JMP NEXT1LKP1: INC CL ;列计数值加1TEST BL,08H ;3列全查结束没找到就返回(11110111) JZ WT1ROL BL,1 ;查找下一列JMP LK44NEXT1: ADD al,clmov time,axpop dxpop cxpop bxpop axretTimeset endpCODE ENDSEND beg三.实验心得经过一个星期的上机实践学习,使我对微机原理与接口技术这门课程有了更进一步的认识和了解,通过实践,我也发现我的好多不足之处,首先是以前的汇编语言基础没打好,经常出现错误,通过实践,使我在这几个方面的认识有所提高。