微机原理帮助理解和掌握计算机的工作原理和内部组成,包括中央处理器、内存、输入输出设备等是如何协同工作的。
微机原理实验总结
不知不觉,微机原理与接口技术实验课程已经结束了。回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机器语言最接近的了,如果用它来编程序的话,会比用其它高级语言要快得多。本学期我们在老师的带领下,进行了微机原理实验六到十这五组实验。它们分别是: 实验六
8255 PA口控制PB口
实验目的掌握单片机系统中扩展外围芯片的方法,了解 8255 芯片的结构及编程方法。 实验内容
用 8255 PA 口作开关量输入口,PB 口作输出口。
实验步骤
1、用8 芯线将8 255 PA口接至开关Kl~K8,PB口接至发光二极管L1~L8;
2、运行程序 HW06.ASM,拨动开关K1~K8,观察L1~L8发光二极管是否对应点亮。
实验七
8255控制交通灯
实验目的进一步了解8 255 芯片的结构及编程方法,学习模拟交通控制的实现方法。
实验内容
用8255 做输出口,控制六个发光二极管燃灭,模拟交通灯管理。
实验步骤
1、用双头线将 8 255 PA0~PA2 口接至发光二极管L3~L1,PA3~PA5口接至发光二极管L7~L5;
2、执行 程序HW07.ASM,初始态为四个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。 实验八
简单I /O口扩展
实验目的学习单片机系统中扩展简单I/O 口的方法; 学习数据输入输出程序的编制方法。 实验内容
利用74LS244 作为输入口,读取开关状态,并将此状态,通过74LS273再驱动发光二极管显示出来。
五、实验步骤
1、用8 芯线将Y0~Y7接至开关K1~K8,Q0~Q7 接至发光二极管L1~L8, 用双头线将 CS1 接至8 000 孔,CS2 接至9 000 孔,用8 芯线将J X0 接至JX7(D0~D7数据线);
2、执行程序 HW08.ASM,按动开关K1~K8,观察发光二极管L1~L8是否对应点亮。
实验九
A/D 0809转换实验
实验目的
)掌握A/D 转换与单片机接口的方法;
)了解A/D 芯片0809转换性能及编程方法;
)通过实验了解单片机如何进行数据采集。 实验内容
利用实验系统上的 0809 做A /D 转换器,实验系统上的电位器提输入,编制程序,将模拟量转换成数字,通过数码管显示出来。 实验步骤
1、用双头线将可调电压区的VOUT接至ADC0809 模数转换区的IN0,可调电压区的VIN 接至电源+5V,ADC0809 模数转换区的CS4 接至系统接口区的8000H 端口,ADC0809模数转换区的WR接至系统接口区的/IOWR端口,ADC0809 模数转换去的 RD 接至系统接口区的/IORD,ADC0809 模数转换区的ADDA、ADDB、ADDC接至G ND,CLK接至单脉冲与时钟区的500K,用8 芯线将数据总线JX0 接至A DC0809模数转换区的JX6;
2、运行程序 HW09.ASM,数码管上显示0809.XX,后二位显示当前采集的电压转换的数字量,调节可调电压,该二位将随着电压变化而相应变化,变化范围为00至FF。
实验十
D/A 0832转换实验
实验目的(1)了解D/A 转换与单片机的接口方法;
(2)了解D/A 转换芯片 0832 的性能及编程方法;
(3)了解单片机系统中扩展D/A 转换芯片的基本方法。
实验步骤
1、用双头线将DAC0832 数模转换区的CS5 端口接至系统接口区的8000H端口,WR端口接至系统接口区的/IOWR端口,AOUT输出接电压表或小直流电机DJ,用8 芯线将DAC0832 数模转换区的JX2 接至数据总线JX0
2、运行程序HW10.ASM,数码管上显示不断加大或减小的数字量,数字变化范围 00 到FF,用万 用表测试 D/A 输出孔 AOUT 应能测出不断加大或减小的电压值,电压变化范围 0V 到5V。
这次实验课程加深了我们对汇编语言指令的熟悉和理解。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。
通过这次课程使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
这门课程可以阐明微处理器,汇编语言程序设计,计算机结构和操作系统等基本概念。详尽地论述了有关微处理器及其指令系统的概念和程序设计方法,介绍构成微型计算机的存储器,接口部件,总线等各项技术。。微机的最基础语言--汇编语言是一个最基础最古老的计算机语言,依赖于计算机的低级程序设计语言。汇编语言是我们理解整个计算机系统的最佳起点和最有效途径。汇编是对寄存的地址,以及数据单元进行最直接的修改,而在某些时候,这种方法的确是最有效,也是最可靠的。然而有优点,自然也就有缺点,最重要的一点就是汇编语言很繁琐,对某个数据进行修改时,本来很简单一个操作会用很多条繁琐的语句来解决,而这些语句本身在执行和操作的过程中,占用大量的时间和成本。并有大量的程序和硬件设计类题目,使我们能够深入了解计算机的原理、结构和特点,以及如何运用这些知识来设计一个实用的微型计算机系统。具体来说,就是掌握Intel8086/8088微型计算机系统地组成原理,熟练运用8086宏汇编语言进行程序设计,熟悉各种I/O接口芯片的配套使用技术,并通过一定的课程实验与实践,进一步提高系统设计的能力,使学生能够完成实用的微型计算机系统的软硬件设计。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
这次实验并不是很难,主要的困难来自对程序的理解。我们最后对实验的原理有了清晰的认识。让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。
实验中个人的力量是不及群体的力量的,我们分工合作,做事的效率高了很多。虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论。而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。 总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力 对课程设计的建议
本次课程设计的几个实验相对都比较简单,而且经过老师的讲解以及实验书上的指导,几乎把我们要用到的程序和实验台电路的接线方法都告诉我们了,所以做起来很容易。
实验过程中,获得了很多收获,获得了很多感悟,当然也遇到了很多困难。但我们都一一克服了他们,成功的完成了实验。并在解决问题,克服困难的过程中,发现了自己平时忽略的,隐藏的问题,以及一些不该出现的粗心大意的小毛病。通过这些,我们认识的更加深刻,了解的更加深入。做到了学以致用,对知识掌握得更加牢固。通过了这一学期对微机原理的学习,真的对它有了一个全新的认识,我会坚持对它的学习,使自己在汇编语言上有一个长足的提高!
微机原理课程设计总结
以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心, 担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做, 做到自己最好的。
我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。
我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。
《微机原理实验与课程设计指导书》,陆红伟编,中国电力出版社,2006年 《8086微型计算机组成、原理及接口》,顾滨,机械工业出版社,2001 《微型计算机原理及应用》,吕淑萍等,哈尔滨工程大学出版社,2004年 《微型计算机技术及应用》,戴梅萼,清华大学出版社,2005
本次课程设计的总结与体会
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。 学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
这次实验并不是很难,主要的困难来自对程序的理解。功夫不负有心人,经过四个人的合作和努力,我们最后对实验的原理有了清晰的认识。虽然实验台上的很多模块单元没有用到,但是就系统功能来说,我觉得我们做的还是不错的。 这次课设却让我们对实验台有了足够的了解,让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。 实验中个人的力量是不及群体的力量的,我们四个人分工合作,做事的效率高了很多。虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论。而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。
总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。感谢老师的悉心指导。
对课程设计的建议
本次课程设计的三个实验相对都比较简单,而且经过老师的讲解以及实验书上的指导,几乎把我们要用到的程序和实验台电路的接线方法都告诉我们了,所以做起来很容易。但是做完实验,我们对实验台及其上面的各个模块还是不了解。对如何编程控制实验台上各个模块和芯片的运作也没有什么清晰的认识。如果老师对我们实验报告的要求再严格一点,也许同学们会更加自觉地去认真理解程序和实验思路。
希望老师根据试验室的环境布置一些可以让我们自己去设计的题目,并给我们更多的实验时间,这样也许能够激发更多同学的创新能力。
老师可以多给我们讲一讲各类芯片的实际应用,这样可以让我们对各种芯片有一个更加贴切的感受。
微机原理课程设计总结
以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心, 担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做, 做到自己最好的。
我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。
我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
这次实验并不是很难,主要的困难来自对程序的理解。功夫不负有心人,经过四个人的合作和努力,我们最后对实验的原理有了清晰的认识。虽然实验台上的很多模块单元没有用到,但是就系统功能来说,我觉得我们做的还是不错的。
这次课设却让我们对实验台有了足够的了解,让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。
实验中个人的力量是不及群体的力量的,我们四个人分工合作,做事的效率高了很多。虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论。而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。
总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。感谢老师的悉心指导。
对课程设计的建议
本次课程设计的三个实验相对都比较简单,而且经过老师的讲解以及实验书上的指导,几乎把我们要用到的程序和实验台电路的接线方法都告诉我们了,所以做起来很容易。但是做完实验,我们对实验台及其上面的各个模块还是不了解。对如何编程控制实验台上各个模块和芯片的运作也没有什么清晰的认识。如果老师对我们实验报告的要求再严格一点,也许同学们会更加自觉地去认真理解程序和实验思路。
希望老师根据试验室的环境布置一些可以让我们自己去设计的题目,并给我们更多的实验时间,这样也许能够激发更多同学的创新能力。老师可以多给我们讲一讲各类芯片的实际应用,这样可以让我们对各种芯片有一个更加贴切的感受。
实验三 子程序设计实验
一、实验目的
1.学习子程序的定义和调用方法。 2.掌握子程序的程序设计、编制及调用。
二、实验设备
TDN86/88教学实验系统一台
三、实验内容及步骤
1.求无符号字节序列中的最大值和最小值
设有一字节序列,其存储首址为3000H,字节数为08H。利用子程序的方法编程求出该序列中的最大值和最小值。实验程序及流程如下:
主程序STACK1SEGMENT STACK
开始DW 64 DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE START: MOV SI,3000H MOV CX,0008H CALL branch A1:JMP A1 branch: JCXZ A4 PUSH SI PUSH CX PUSH BX
结束序列的字节个数→CX数据区首址→SI调用求最大最小值子程序 MOV BH,[SI] MOV BL,BH A1: LODSB CMP AL,BH JBE A2 MOV BH,AL JMP A3 A2: CMP AL,BL JAE A3
Y子程序CX=0?NSI、CX、BX入栈[SI]→BHBH→BLSI+1→SI[SI]→ALNAL﹤BHAL→BHMOV BL,AL A3: LOOP A1 MOV AX,BX POP BX POP CX
YAL﹥BLYCX-1→CXNNAL→BLCX=0?POP SI A4: RET CODE ENDS END START
实验步骤
(1) 输入源程序,进行编译、链接和加载。
YSI、CX、BX出栈RET
(2) 在调试区键入E0000:3000↙,输入8个字节的数据:D9、07、8B、C5、EB、04、9D、F9。
(3) 运行程序,查看结果,在调试区键入R AX↙,显示结果应为AX=F9 04,AH中为最大值,AL中为最小值。
2.数组求和
设有一字节序列(存储地址和字节数可自定义),编写程序,求出该序列的和,求和工作由子程序来实现。
程序:
STACK1 SEGMENT STACK DW 64 DUP(?) STACK1 ENDS CODE
SEGMENT ASSUME CS:CODE START: MOV SI,3000H MOV CX,0008H XOR AX,AX CALL branch A5: JMP A5 branch: JCXZ A4 PUSH SI
PUSH CX A1: ADD AL,[SI] INC SI A3: LOOP A1
POP CX POP SI A4: RET CODE
ENDS END START
8个01,总和为08
面对当今信息技术的飞速发展,计算机体系结构与软件技术不断革新,为现代社会的各个领域带来了前所未有的变革与推动。作为计算机科学与技术专业的基础核心课程之一,微机原理不仅深刻揭示了计算机硬件系统的内部工作机制,还通过软件实验的方式,让我们在理论与实践的结合中,深刻理解并掌握计算机的基本操作原理与编程技能。本次实验,旨在通过一系列精心设计的软件实验项目,进一步巩固我们对微机原理的理解,提升解决实际问题的能力。现将实验报告如下。
一、实验目的与要求
本次实验通过具体的软件编程实践,深入理解微处理器的工作原理、指令系统、汇编语言编程以及中断、内存管理等关键概念。具体要求包括:
掌握汇编语言的基本语法与编程技巧,能够编写简单的汇编程序。
理解并掌握CPU对内存及外设的访问机制,实现基本的输入输出操作。
通过中断服务程序的编写,理解中断处理机制及其在计算机系统中的作用。
分析实验结果,总结实验过程中遇到的问题及解决方法,提升问题解决能力。
二、实验环境与工具
本次实验采用XX型号微机作为实验平台,搭配XX汇编语言编译器及调试工具。实验环境配置完毕后,我们利用这些工具进行程序的编写、编译、链接及调试。
三、实验内容与步骤
实验一:汇编语言基础编程
编写一个简单的汇编程序,实现两个数的加法运算,并将结果输出到屏幕上。
调试程序,确保无误后运行,观察输出结果。
实验二:内存访问与操作
设计一个程序,通过汇编指令访问并修改内存中的特定数据。
分析内存访问效率,探讨不同访问模式对程序性能的影响。
实验三:中断服务程序编写
编写一个中断服务程序,用于处理外部中断请求,如键盘输入。
测试中断响应的及时性与准确性,确保中断处理机制的有效运行。
四、实验结果与分析
在各实验环节中,我们均成功完成了预定的实验任务。通过汇编语言编程,我们深刻体会到了指令级编程的精确与高效;在内存访问与操作中,我们进一步理解了计算机内部数据的`存储与传输机制;而在中断服务程序的编写过程中,我们则对计算机系统的并发处理能力有了更直观的认识。实验过程中,我们也遇到了一些问题,如指令理解不透彻导致的编译错误、内存访问冲突等,但通过查阅资料、小组讨论及老师的指导,我们最终都找到了有效的解决方案。
本次微机原理软件实验不仅加深了我们对计算机硬件与软件协同工作的理解,还锻炼了我们的编程能力与问题解决能力。未来,我们将继续深入学习更高级的计算机体系结构与软件技术,努力成为具备扎实理论基础与实践能力的计算机专业人才,为信息技术的发展贡献自己的力量。
微机原理与接口技术实验总结
11107108
徐寒黎
一、 实验内容以及设计思路
1、①试编写一程序,比较两个字符串STRING1、 STRING2 所含字符是否相同,若相同输出“MATCH”,若不相同输出 “NO MATCH”。 设计思路:定义一个数据段,在数据段中定义两个字符串作为STRING1、 STRING2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将STRING1和STRING2都实现用键盘输入,方法是
MOV DX,OFFSET STRING2 MOV AH,0AH INT 21H 并且显示在显示器上,显示方法将0AH改成09H,语句与上面类似。 然后进行比较第一个单元, MOV AL,[STRING1+1] CMP AL,[STRING2+1] JNZ NOMATCH 若字符串长度不等,则直接跳转,输出输出 “NO MATCH”; 若长度相等再逐个比较 LEA SI,[STRING1+2] LEA DI,[STRING2+2] MOV CL,[STRING1+1] MOV CH,0 CLD REPE CMPSB JCXZ MATCH,意思是全部相同就跳转MATCH,输出“MATCH”;不然进入下面的NOMATCH。退出。
②试编写求级数1^3+2^3 +3^3 …。.前几项和刚大于10000的程序。
设计思路:原先编写的程序,设定和为10000,结果是14。但要求高一点的话,可以自己设置,实现用键盘输入和的值。
一个难点是将输入的ASCII码字符串,转换成与之相同的十进制数的数值。 关键的思路部分是:从1开始求级数,将和的值存在AX里,要加下一项级数前,比如这时已经加到4,PUSH一下AX,然后将5乘三遍,将乘积MOV到BX里,再POP AX,然后将BX的值加到AX里,然后将AX与N比较,如果比N小就继续上述步骤,知道刚比N大就输出数字。
③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。
设计思路:因为这个程序需要统计所有的字符,所以首先要定义一个存储区,用来存放26个字符以及每个字符出现的个数。用键盘控制输入字符串以后,将字符串的第一个字符与这二十六个字符逐个比较,若有相同,在存放相应次数的存储单元的值上加1。然后比较第二个字符,依次类推,将字符串里的字符全部比较完。将个数大于1的字符以及字符的个数都输出到屏幕上。退出语句。 缺点和不足:这样需要定义一个非常繁的存储区。可以根据输入的字符,然后进行比较和统计。
④设计一个动画程序。
设计思路:这个程序参考了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。
步骤:首先设置堆栈段,数据段,代码段,设置显示方式等一些属性,设置背景色,设置小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一个输入,将其与1bh比较,用JZ语句跳转到退出。若不是便与48h比较,看是否为向上,是则跳转到相应语句,不是则继续与50h比较;,看是否向下,是则跳转到关于向下移动的相关语句,否则再与4bh比较,看是否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。
最后编写好退出语句。
2、硬件接口主要是了解8255与8253的功能,以及控制字。 ①I/O地址译码
只要对硬件概念清晰,很简单的。基本上没有什么创造性。 收获:熟悉实验箱结构,了解每部分元件和标注的意义。 掌握I/O地址译码电路的工作原理。 ②可编程定时器8253 1,对照实验电路图,将计数器0设置为方式0,即数初值设为N(N<0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观察OUT0点平变化。
2,将计数器0、计数器1分别设置为方式3,计数初值设为1000用逻辑笔观察out1输出电平的变化。
收获:掌握8253的基本工作原理和编程方法
③并行接口8255 1,试验电路如图所示,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。 3,数码管静态显示:按下图接好电路,将8255A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接5V(选中),S0和dp接地(关闭)。编程从键盘输入一位十进制数(0-9),在七段数码管上显示。
4,数码管动态显示:按下图接好电路,七段数码管的连接不变,位码驱动输入端S1、S0接8255 C口的PC1和PC0。编程在两个数码管上显示“56”。
动态显示时,先送“5”的段码送A口,再送02h到C口为位码;经一定延时后,送“6”的段码送A口,再送01h到C口为位码。循环完成,可以显示数码。 5,数码管动态显示(选做):同图接好电路,编程在两个数码管上显示循环显示“00-99”。 只要搞清楚各个口的地址,以及选择适当的控制字,其实很简单的。
收获:掌握8255的基本工作原理和编程方法,对方式0的认识加深了。
二、 试验中遇到的问题 1在编写程序时,我深深体会到,画程序框图的重要性,每一步跳转的条件一定要搞清楚,Y和N不能搞反了,否则就错了。
2实验2,里面涉及的寄存器很多,很容易就会用乱了,还是很需要注意的。 3比如那个小鸟动画的题目,当时在控制左右移动的时候,选择的起始位置的语句没写对位置,每次按一个移位的键以后,都从最初的初始位置向某个方向移动。
4硬件方面的,一开始没搞懂地址什么意思,所以连线时很懵懂,后来清楚了,发现就没什么了。
三、心得感受
微机原理与接口技术的课程实验历时大半个学期,通过自己编写、运行程序,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。
前四个简单程序设计,加深了我们对初学的汇编语言指令的熟悉和理解,汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了我们的创造才能。
后面几个实验是并行输入输出接口8255和计数器8253的功能的操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在自己的思考以及和同学的讨论中,终于迎刃而解。
在这个计算机科学技术的飞速发展的时代,微机系统作为其核心组成部分,在各个领域展现出了不可或缺的作用。为了深入理解微机的组成原理、掌握其基本操作与编程技能,我们进行了一系列的实验实践。现将本次微机原理实验报告汇总如下。
实验目的
掌握微机系统的基本架构:了解CPU、内存、输入输出设备等主要部件及其相互关系。
熟悉指令系统与汇编语言:通过编写简单的汇编程序,加深对机器指令及其执行过程的理解。
实践硬件接口技术:学习并使用常见的微机接口芯片,掌握其基本功能及编程方法。
培养问题解决能力:通过解决实验中遇到的问题,提升分析问题和解决问题的能力。
实验环境与工具
实验平台:PC机,安装有DOSBox或类似模拟器用于运行汇编程序。
开发环境:MASM汇编器、LINK链接器、DEBUG调试器等。
实验器材:实验箱(包含各类接口芯片、LED灯、开关等),连接线若干。
实验内容与步骤
实验一:CPU寄存器操作与简单汇编程序编写
理论学习:复习CPU内部寄存器的作用,如数据寄存器、指令寄存器、程序计数器等。
程序编写:使用MASM编写一个简单程序,实现数据的移动、加法运算等操作,并观察寄存器值的变化。
调试运行:使用DEBUG工具对程序进行调试,查看每一步的执行结果,确保程序正确执行。
实验二:中断与定时器控制
接口芯片了解:学习8253可编程定时器/计数器的工作原理及编程方法。
中断服务程序编写:设置中断向量,编写中断服务程序,利用定时器产生周期性中断,控制LED灯的闪烁。
调试测试:通过调整定时器参数,观察LED灯闪烁频率的变化,验证中断处理程序的正确性。
实验三:并行接口与串行通信
并行接口:利用8255并行接口芯片,编写程序控制多个LED灯的亮灭状态,理解并行数据传输的特点。
串行通信:学习串行通信的基本概念,了解RS-232标准,通过串行端口发送和接收数据。
实验验证:使用串行通信工具,测试串行数据的发送与接收功能。
实验结果与分析
CPU寄存器操作实验:成功编写并调试了程序,通过观察寄存器值的。变化,加深了对CPU内部工作机制的理解。
中断与定时器控制实验:定时器设置正确,LED灯按预期频率闪烁,验证了中断处理程序的可靠性和稳定性。
并行接口与串行通信实验:LED灯的控制实验成功,串行通信实验实现了数据的稳定发送与接收,证明了并行与串行数据传输技术的可行性。
问题与改进
在编写中断服务程序时,初期遇到中断向量设置错误的问题,通过查阅资料和反复调试得以解决。
串行通信实验中,数据传输速度受环境因素影响较大,未来需进一步优化硬件连接和程序设计,以提高通信的可靠性和效率。
通过本次微机原理实验,我不仅掌握了微机系统的基本架构和操作方法,还深入理解了汇编语言编程和硬件接口技术。实验过程中遇到的问题和挑战,不仅锻炼了我的动手能力和问题解决能力,也激发了我对微机原理更深层次探索的兴趣。未来,我将继续努力学习,不断提升自己的专业素养和技术水平。
随着科技的飞速发展,计算机科学作为推动社会进步的关键力量之一,其基础理论与技术实践的重要性日益凸显。在深入理解计算机体系结构与工作原理的过程中,微机原理作为连接硬件与软件的桥梁,扮演着至关重要的角色。本实验课程在通过一系列精心设计的实验项目,使我们能够亲手搭建、调试并理解微型计算机的基本组成与运行机制,从而加深对计算机底层原理的认识。现将本次实验过程中所学、所见、所感,以及实验的具体操作与结果分析,汇总成如下实验报告。
一、实验目的与意义
本次实验旨在通过实践操作,使学生掌握微型计算机的基本组成、指令系统、汇编语言编程、中断与接口技术等核心知识。通过搭建硬件平台、编写并调试程序,我们不仅能够直观感受到计算机内部数据的流动与控制流程,还能深刻理解软件与硬件之间的相互作用机制,为后续的高级编程、系统开发及硬件设计打下坚实的基础。
二、实验内容概述
本次实验包含多个子项目,如8086微处理器的基本操作、内存读写实验、中断处理程序设计、串行通信接口实验等。每个实验都围绕微机原理的某一关键领域展开,通过理论讲解与实验操作相结合的方式,逐步引导我们深入探索微型计算机的内部世界。
三、实验环境与工具
实验在专用的计算机实验室进行,配备了多台装有微机原理实验软件的PC机,以及必要的硬件接口板卡。我们主要使用了汇编语言编译器(如MASM)、调试工具(如Debug)以及实验箱上的各类接口模块,如LED显示、键盘输入、串行通信接口等,来完成实验任务。
四、实验结果
8086微处理器基本操作实验:通过编写简单的汇编程序,实现了CPU对内存的读写操作,验证了数据在CPU与内存之间的传输过程。
内存读写实验:利用实验箱上的内存读写模块,结合汇编语言编程,实现了对指定内存地址的数据读写,加深了对内存寻址方式的理解。
中断处理程序设计:设计了一个简单的中断处理程序,用于处理外部中断请求,并通过LED显示或串口输出中断处理结果,掌握了中断机制的基本原理与应用。
串行通信接口实验:通过配置串行通信接口,实现了两台计算机之间的数据通信,了解了串行通信协议及接口电路的工作原理。
五、实验分析与总结
通过本次实验,我们深刻体会到了理论与实践相结合的重要性。在亲手搭建硬件平台、编写调试程序的过程中,不仅加深了对微机原理的理解,还锻炼了我们的动手能力和问题解决能力。同时,我们也意识到了计算机系统的。复杂性和精密性,每一个细节都可能影响到整个系统的正常运行。因此,在未来的学习和工作中,我们将更加注重细节,不断提升自己的专业素养。
本次微机原理实验不仅是一次知识的探索之旅,更是一次能力的提升之旅。通过这一系列实验项目的实施与总结,我们更加坚定了对计算机科学的热爱与追求。相信在未来的日子里,我们能够以更加饱满的热情和更加扎实的知识储备,投身于计算机科学的研究与应用之中,为推动科技进步和社会发展贡献自己的力量。
在计算机科学与技术的学习历程中,理论与实践的结合是不可或缺的环节。通过一系列精心设计的实验,我们能够深入理解微机计算机的内部构造、工作原理及其指令系统的执行过程。本次实验在巩固课堂所学的微机计算机原理知识,通过动手操作,提升问题解决能力和系统分析能力。现将实验报告如下。
一、实验目的
深入理解微机计算机的硬件组成及功能,包括CPU、存储器、输入输出设备等。
掌握微处理器的基本指令集及其执行流程,理解机器语言编程的基本原理。
实践汇编语言编程,通过编写、调试简单程序,加深对程序执行机制的理解。
观察并分析不同指令对CPU资源(如寄存器、内存)的影响,提升系统分析与调试能力。
二、实验环境
硬件环境:PC机,配备有适当的微处理器(如Intel系列CPU)。
软件环境:汇编语言编辑器(如MASM、NASM)、调试工具(如OllyDbg、GDB)及仿真软件(如QEMU、DOSBox)。
三、实验内容
实验一:微处理器基础指令实验
实验步骤
编写程序:使用汇编语言编写一个简单的程序,实现数据的加载、存储、算术运算和逻辑运算等基本操作。
编译与链接:使用汇编器将源代码编译成目标代码,再通过链接器生成可执行文件。
运行与调试:在调试工具中加载可执行文件,设置断点,逐步执行程序,观察CPU寄存器及内存的变化情况。
实验结果
通过实验,成功观察到了指令执行过程中寄存器值的变化、内存访问情况,以及程序逻辑的正确性。特别是对数据加法、减法、与、或等操作的执行结果进行了验证,确保了对指令集及其执行机制的正确理解。
实验二:中断与异常处理实验
实验步骤
了解中断机制:查阅相关资料,了解微机计算机中的'中断原理、中断向量表及中断服务程序的编写方法。
编写中断服务程序:设计并实现一个简单的中断服务程序,用于处理特定中断(如键盘中断)。
配置中断向量:将中断服务程序的入口地址写入中断向量表,确保CPU在接收到对应中断信号时能正确跳转到服务程序。
测试验证:触发中断,观察中断服务程序的执行情况,确保中断处理机制的正确性。
实验结果
通过配置中断向量并编写相应的中断服务程序,成功实现了对键盘中断的响应与处理。实验过程中,通过调试工具观察到中断发生时的系统状态变化,进一步加深了对中断机制的理解。
四、实验结论
本次微机计算机原理实验不仅加深了我对微机计算机硬件架构和指令系统的理解,还锻炼了我的汇编语言编程能力和系统调试能力。通过亲手编写、调试程序,我更加直观地感受到了计算机内部的工作过程,这对于提升我的专业素养和创新能力具有重要意义。未来,我将继续努力学习,不断探索计算机科学的奥秘,
在计算机科学与技术的学习进程中,微机原理实验是一个重要的实践环节。通过一系列的实验操作,我们对微机原理的理论知识有了更深入的理解和掌握。现将实验报告如下。
实验目的
本次微机原理实验的主要目的是:
1.深入理解微机系统的组成结构和工作原理。
2.掌握微处理器的指令系统和编程方法。
3.熟悉存储器的组织和读写操作。
4.学会接口电路的设计与应用。
实验设备
1.计算机一台。
2.微机原理实验箱一套。
3.相关软件工具,如编程软件、调试工具等。
实验内容
1.微处理器指令系统实验。
熟悉常用指令的功能和用法。
编写简单的程序,实现特定的功能。
2.存储器读写实验。
了解存储器的地址空间分配。
进行存储器的读、写操作。
3.接口电路实验。
设计简单的接口电路。
编写程序实现对接口电路的控制。
实验步骤
1.连接实验设备,确保电源正常。
2.打开相关软件工具,进行实验环境的设置。
3.根据实验要求,编写程序代码。
4.编译、下载程序到实验设备中。
5.运行程序,观察实验结果。
6.对实验结果进行分析和记录。
实验结果与分析
在各个实验中,我们得到了以下结果:
1.微处理器指令系统实验中,程序能够正确执行,实现了预期的功能。
2.存储器读写实验中,能够准确地对指定存储单元进行读写操作,数据无误。
3.接口电路实验中,成功实现了对外部设备的控制和数据交换。
对实验结果的。分析表明,我们的实验操作和程序设计是正确的,达到了实验的预期目的。
实验总结
通过本次微机原理实验,我们在理论知识和实践能力方面都取得了显著的进步。但同时也认识到,在实验过程中还存在一些不足之处,比如编程不够熟练、对硬件电路的理解还不够深入等。在今后的学习中,我们将继续努力,不断提高自己的专业素养和实践能力。