第一篇:微机实验心得
微机实验心得
这学期通过对微机原理和微机实验课的学习,对微机系统和它的工作原理有了很大的了解。微机实验课,总共做了十几个实验,回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,它是和机器语言最接近的,用它来编程序,会比用其它高级语言要快得多。实验课程加深了我们对汇编语言指令的熟悉和理解。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。
通过这次课程使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。
对于这门课,我们收获了很多,我觉得这门课偏重于工程思维,主要难点在于对程序的理解。但是老师让我们通过手打程序,控制实验平台很好的理解了各实验的实验程序。对于课程的建议,实验讲义给的程序很清楚,大大降低了实验预习和自主编程的难度,给实验讲义可以更多的给方法和方式,提供一些程序建议而减少直接给出程序内容。实验课上,请一个或两个同学讲解一下实验程序设计思路,通过讲解与其他人互动,可以收获更多。微机原理课程上讲到的各种芯片的功能,以及引脚的作用,在实验中都得到了运用,使我们加深了对于主要芯片的应用的认识,同时在实验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。总结这门课,个人感觉很有必要,学习理论的过程中边通过实验辅助,使我们更容易的接受微机原理的知识。实验过程中,获得了很多收获,获得了很多感悟,当然也遇到了很多困难。但我们都一一克服了他们,成功的完成了实验。并在解决问题,克服困难的过程中,发现了自己平时忽略的,隐藏的问题,以及一些不该出现的粗心大意的小毛病。通过这些,我们认识的更加深刻,了解的更加深入。做到了学以致用,对知识掌握得更加牢固。
这学期的课程告一段落,但是对微机原理的理解和认识,我深知我们做的还远远不够,我们接下来还要继续努力多学习更多知识,当然动手实践很重要,我们平时也应该多编写多运用。通过了这一学期对微机原理的学习,真的对它有了一个全新的认识,我会坚持对它的学习,使自己在汇编语言上有一个长足的提高!
第二篇:微机硬件实验心得
实训四底板LED点阵控制实训个人总结
通过led点阵实验的实践,使我在理论的基础上更深刻的掌握了嵌入式系统的深层内容及实际生活中的应用,实践锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,这次实践让我懂得了如何编写一些简单的程序,这几周我们经过老师耐心的讲解和指导通过自己认真的动手操作,终于完成了本次实训。
在这次实训过程中我们锻炼了自己的思考能力、动手能力和排除故障的能力。虽说在实训过程中遇到很多不懂的地方,但我们还是在老师和同学的帮助下完成了。对于点阵这个实验,刚开始的步骤就不用多说了,和之前的一样,关键在于程序的改写。首先,我们运行原始程序并单步调试观察每一句执行后的结果,对数据寄存器rGPFDAT进行分析,DM1_RL1高四位控制左边点阵前两行,DM1_RL2控制左边点阵中间四行,DM1_RL3低四位控制左边点阵后两行,DM1_RL3高四位控制右边点阵前两行,DM1_RL4控制右边点阵中间四行,DM1_RL5低四位控制右边点阵后两行。如果显示姓名首字母缩写,在点阵中将亮的点置一,写出对应的十六进制数,右边比左边高,下边比上边高,依次写出DM1_RL1、DM1_RL2、DM1_RL3、DM1_RL4、DM1_RL5寄存器中所存的十六进制数据。修改完程序,编译运行程序,最终点阵显示寄存器写入的数据,点阵呈现所设姓名首字母字样。
通过这次试验,使我更加深入的了解了寄存器是如何控制点阵的以及简单程序的编写,加强了我们的实际动手操作能力。
实训三底板LED数码管控制实训个人总结
这次实训主要目的是用led数码管显示学号的后八位,实践锻炼
了自己动手能力和思维能力,还有在软件方面的编程能力。实验开始
忘记了八段数码管是如何控制显示的,但在请教同学之后,我们就很
快写出了学号所对应的十六进制数。虽然实验过程并不顺利,但最终
还是完成了实验内容。
打开实验原始程序,首先,我们运行原始程序并单步调试观察每一句执行后的结果,对数据寄存器rGPFDAT进行分析,观察每步调试
后的数码管显示变化,对寄存器进行分析。根据试验任务要显示三个
人的学号,前四位为8033,led灯显示几,八段数码管的哪位置一,例如八段数码管显示8,则对应hgfe dcba分别为0111 1111,即对应
十六进制为7f,依次写出对应的十六进制,DM1_RL1控制左边数码
管,DM1_RL2控制右边数码管。例如8033对应的十六进制为7f3f4f4f,数码管右边为高位,对应寄存器中应为4f4f3f7f,同理可写出学号的后四位。修改完程序,编译运行程序在不出现错误的情况下可以交替
显示三个不同的学号。
这次实验还算比较顺利,不过在最初的过程中由于理解错误显示的学号是反着的,修改程序后最终得到了想要的效果。这次实验使我掌握了寄存器是如何控制八段数码管的基本原理,锻炼了我们的动手
能力。掌握了编程的基本方法,更加熟悉了c语言的编写以及运用,在学习的过程中也享受了编程的乐趣。
实训二 16个LED灯实训个人总结
第二次实验具体是编程利用实验板控制底板的led数码管闪烁,实现底版上16个LED的单 双 三灯的跑马灯过程以及LED(16个)的单灯汇集。在这次的实验过程中,对软件的应用更加深刻熟练。在修改程序的过程中又温习了c语言的编写以及应用,通过这次实验掌
握了不少的知识,对于寄存器有了更深的认识。
对于这次的实验,我们首先用ARM软件打开工程,编译连接工
程,用AXD 进行调试,观察源程序,单步运行分析程序,观察每一
步执行后led灯的显示效果,根据实验任务修改程序。Led0到led15
分别由四位十六进制代码控制,即16位二进制代码控制,二进制的最低为控制led15,最高位控制led0,置一时对应位置的led灯亮。
首先,用rGPFDAT=rGPFDAT&0xfffffffe;设置I/O口GPBDAT相应LED
寄存器的初始值,分别设置寄存器DM1_RL1=0x00000000;
DM1_RL1=0x00010000;接着用for、while循环实现灯的移位及汇聚效
果,寄存器分别保存移位前和移位后的数值,单灯跑马灯,从左向右
跑到另一侧停止,且一直保持亮的状态。
这次试验要比第一次的实验难,在改写代码这一环节我们就遇
到了很大的困难,要实现跑马灯用源程序类似的代码需要很长一段,为了减少代码使程序简明易懂我们在请教同学的基础上对程序进行
了修改,采用了for循环。这次试验证明c语言在编程中的重要性,而且从这次的实验中我发现了自己c语言的功底还是有待提高,以后的日子里还需努力。
实训一对四个led灯编程个人总结
微机与嵌入式系统实训是我们第一次接触硬件操作,在老师的带领下
我们进入第一节实训课。通过这次实训对微机与嵌入式的硬件操作有
了基本的了解。
首先要进行的是pc机与主板的连接,运行H-Jtag并进行设置,用ARM
软件打开工程,编译连接工程,用AXD 进行调试,观察源程序,单
步运行分析程序,对原程序进行修改。在运行源程序的过程中,由于
第一次接触,最初的设置不成功导致程序运行不出,在同学的指导下,最终顺利运行。接着的难题就是修改程序,根据试验任务,实验中的四个灯由上到下依次分别由三位十六进制数700H、380H、580H、680H
控制,对应的二进制代码D7D8D9D10位分别控制 led1、led2、led3、led4的亮灭,置1时对应的led灯灭,置0时对应的led灯亮,即低
电平有效。首先设用rGPBCON=rGPBCON&0xffc03fff;设置I/O口
GPBCON相应LED寄存器为输出属性,GPBCON=rGPBCON|0xffd57fff;
rGPBDAT=rGPBDAT&0xfffff87f;设置I/O口GPBDAT相应LED寄存器的初
始值。然后根据推算的十六进制代码改写数据寄存器rGPBDAT的内容。
在程序中,对于循环不是很懂,因此用了好几段程序来分别控制led
灯由上到下,再由下到上,最终全亮的效果。修改完程序之后编译运
行,效果不是很明显,因此对于汇编延迟函数delay进行了修改延长
时间。
这次试验让我更深认识了c语言的重要性,对于微机与嵌入式的编程
运行以及寄存器的工作原理有了更深的了解,增强了我们的动手能力。
第三篇:微机实验指导书20160425(本站推荐)
实验一 汇编语言程序设计(分支/循环)
1.实验目的:
(1)熟悉8088/8086指令系统
(2)了解程序设计过程
(3)掌握汇编语言程序设计和调试方法 2.实验内容 上机任务1:
① 熟悉进入和退出32位控制台和16位DOS环境的方法。
② 创建MASM目录、复制开发软件,生成进入开发环境的快捷方式。上机任务2:
① 熟悉汇编语言的开发过程,实现教材例题2-1程序。② 掌握数据寻址方式,上机实现教材中的例题2-2程序。上机任务3:
熟悉汇编语言中的数据表达、变量定义和属性,验证教材例题3-
1、例题3-
3、例题3-5程序,实现习题3.14程序。上机任务4:
① 掌握常用传送和运算指令,验证例题3-9和例题3-12程序。
②首先判断习题3.20每条指令执行后EAX的数值和相关标志状态,写出结果。然后将其编辑成为一个完整的汇编语言源程序,汇编连接、生成可执行文件。可以利用本书配套的I/O子程序库,在每条指令之后,调用其中的DISPRF(先调用)和DISPHD,显示6个状态标志位和EAX内容,并核对事先判断的结果。上机任务5:
① 掌握位操作类指令的应用,验证例题3-14程序,实现习题3.28程序。② 理解串操作指令,验证例题3-16程序。上机任务6:
① 掌握转移指令和分支程序结构。验证例题4-3程序,实现习题4.5程序。② 验证例题4-7程序,实现习题4.11程序。上机任务7:
① 掌握循环指令和循环程序结构。验证例题4-12程序,实现习题4.13程序。
②验证例题4-10程序。实现如下程序:进行自然数相加(1+2+3+……+N);如果(无符号整数的)累加和用一个32位寄存器存储,求出有效累加和的最大值及N的界限。上机任务8:
① 掌握子程序指令和子程序结构。验证例题4-15程序,实现习题4.29程序。②熟悉子程序的参数传递和子程序库方法。验证例题4-18程序,然后分别使用子程序模块、子程序库和子程序库包含方法生成最终可执行文件。3.实验准备
(1)仔细复习课前关于汇编语言指令系统的PPT,对所需要使用的命令需要知道书本中的位置,并能进行简单的编程。
(2)对书本中的部分例子要仔细阅读,搞清楚实际含义,理解程序内容。(3)熟练使用MASM程序。4.实验步骤
(1)进入MASM程序。
(2)根据任务需求,在MASM下验证及编制相应的程序。
(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。5.实验报告要求
(1)如何进入MASM程序。
(2)至少验证一个书本程序,说明如何用命令行与批处理两种形式完成程序的执行。(3)根据要求,至少编制一个程序,并对每行程序进行说明性注释
实验二 子程序设计
1.实验目的:
(1)进一步熟悉8088/8086指令系统与程序分支跳转循环等结构
(2)了解子程序设计的要求,和设计过程(3)掌握汇编语言中子程序设计的方法和调用方法 2.实验内容 上机任务1:
① 掌握转移指令和分支程序结构。验证例题4-3程序,实现习题4.5程序。
② 验证例题4-7程序,实现习题4.11程序。上机任务2:
① 掌握循环指令和循环程序结构。验证例题4-12程序,实现习题4.13程序。
② 验证例题4-10程序。实现如下程序:进行自然数相加(1+2+3+……+N);如果(无符号整数的)累加和用一个32位寄存器存储,求出有效累加和的最大值及N的界限。上机任务3:
① 掌握子程序指令和子程序结构。验证例题4-15程序,实现习题4.29程序。
② 熟悉子程序的参数传递和子程序库方法。验证例题4-18程序,然后分别使用子程序模块、子程序库和子程序库包含方法生成最终可执行文件。3.实验准备
(1)再次仔细复习课前关于汇编语言指令系统的PPT,对所需要使用的命令需要知道书本中的位置,并能进行简单的编程。同时复习循环分支程序的构成及结构,并学会熟练使用
(2)对书本中的子程序部分例子进行仔细阅读,理解程序内容。(3)掌握书本中汇编语言中子程序的编写规则。4.实验步骤
(1)进入MASM程序。
(2)根据任务需求,在MASM下验证及编制相应的程序。
(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。5.实验报告要求
(1)如何进入MASM程序。
(2)至少验证一个书本程序,说明如何用命令行与批处理两种形式完成程序的执行。(3)根据要求,至少编制一个程序,并对每行程序进行说明性注释
实验三 字符处理程序设计
1.实验目的:
(1)熟悉串操作指令的功能与应用;
(2)掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。2.实验内容 上机任务1:
① 掌握字符的键盘输入与屏幕显示。实现如下程序:编写一个汇编程序,将键盘输入的小写字母用大写字母显示出来,若输入的是非字符则显示NOT CHAR,若输入字符“x”,则退出。实现习题4.11的程序。
② 掌握串传送指令。验证例题3-16程序,实现字符串的复制。上机任务2:
① 掌握循环指令和循环程序结构。不利用串传送指令,实现例题3-16的功能。② 验证例题4-11程序。实现字符文字的加密与解密。上机任务3:
① 验证例题4-12程序,实现字符个数统计程序,实现习题4.13的程序。② 验证例题4-13程序,剔出一个以0结尾的字符串中的空格字符。3.实验准备
(1)仔细复习关于汇编语言指令系统的PPT,对所需要使用的命令需要知道书本中的位置,并能进行简单的编程。同时复习字符串操作指令的应用,并学会熟练使用(2)对书本中的相关字符处理程序进行仔细阅读,理解程序内容。
(3)掌握书本中字符处理程序(大小写转化、字符数统计、字符剔出等)的编写规则。4.实验步骤
(1)进入MASM程序。
(2)根据任务需求,在MASM下验证及编制相应的程序。
(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。5.实验报告要求
(1)如何进入MASM程序。
(2)至少验证一个书本程序,说明如何用命令行与批处理两种形式完成程序的执行。(3)根据要求,至少编制一个程序,并对每行程序进行说明性注释 实验四 :1输入输出接口2微机串口通信编程(二选一)
1.实验目的:
(1)通过编程调试,实现汇编语言对计算机端口的调用;
(2)熟悉理解指令in/out的使用;调用扬声器端口,实现扬声器发音,掌握输入/输出指令实现汇编语言对计算机端口的调用;(3)熟悉理解端口指令in/out的使用;
(4)了解计算机串并行通信技术,实现单个或连续的串行数据传输。2.实验内容
1.利用扬声器控制原理,编写一个简易乐器程序。
当按下1~8数字键时,分别发出连续的中音1~7和高音(i对应频率依次为524Hz,588Hz,660Hz,698Hz,784Hz,880Hz,988Hz和1048Hz); 当按下其他键时暂停发音;
当按下ESC键(ASCII码为1BH),程序返回操作系统。参考程序;数据段
table dw 2277,2138,1808,1709,1522,1356,1208,1139
;对应中音1~7和高音i的定时器记数值;代码段
mov al,0b6h;设置定时器2工作方式 out 43h,al call readc;等待按键 again:
cmp al,'1';判断是否为数字1~8 jb next cmp al,'8' ja next sub al,30h;1~8的ASCII码转换为二进制数
sub al,1;再减1,将数字1~8变为0~7,以便查表 xor ah,ah shl ax,1;乘以2 mov bx,ax;记数值表是16位数据,无法采用xlat指令
mov ax,table[bx];取出对应的记数值 out 42h,al;设置定时器2的记数值 mov al,ah
out 42h,al in al,61h;打开扬声器声音
or al,03h;使D1D0=PB1PB0=11B,其他位不变 out 61h,al jmp again;连续发声,直到按下另一个键
next:push ax
in al,61h;不是数字1~8,则关闭扬声器声音 and al,0fch out 61h,al pop ax cmp al,1bh;判断是否为ESC键(对应ASCII码1bh);使D1D0=PB1PB0=00b,其他位不变
jne again;不是ESC,继续;否则程序执行结束
2.首先采用自循环查询方式在本机上实现例题8-3。
3.然后购买或制作一个用于零调制解调器连接的RS-232C电缆,修改例题8-3采用正常的查询方式实现两台微机的通信。3.实验准备
(1)仔细阅读本章中关于输入输出接口技术的内容,掌握输出输出接口对外设的直接控制技术
(2)仔细阅读串行通讯接口的结构,寄存器编程方法,对串行通讯包括双机通讯数量掌握。
(3)准备好双绞的串口线一根及声卡可控的微机。4.实验步骤
(1)进入MASM程序。
(2)根据任务需求,在MASM下验证及编制相应的程序。
(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。5.实验报告要求
(1)如何进入MASM程序。
(2)根据要求,至少编制一个程序,并对每行程序进行说明性注释
第四篇:微机收获及心得
南阳师范学院
课 程 设 计
不知不觉,微机原理课程已经结束了。回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写,期间也听老师讲过,微机原理这门课程是比较偏硬件一点的。下面谈谈这期学习该课程的心得与体会:
学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。
《微机原理》课程有许多的新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的有很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。
在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要。在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。比如,最近闹得沸沸扬扬的珊瑚虫一案,其软件制作的核心人物就是使用汇编语言来创造闻名遐迩的QQ查IP软件-----珊瑚虫,并成立了有名的珊瑚虫工作室,其威力可见一斑。
然而,事物就是有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较复杂的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。
汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。
汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。
从微机应用系统的应用环境和特点来看,微机系统如何与千变万化的外部设备、外部世界相连,如何与它们交换信息,是微机系统应用中的关键所在,培养一定的微机应用系统的分析能力和初步设计能力才是最终目的!我认为以上是本人学习微机原理课程中的一些见解和体会。
汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机器语言最接近的了,如果用它来编程序的话,会比用其它高级语言要快得多,我觉得老师说的一句话很有道理,学习计算机的要掌握两门语言:“一门低级的和一门高级的。”而一般情况下,高级的大多数人会!低级的就不一样了,所以说如果把它学好了,以后找工作是不成问题的。在市场上汇编语言程序设计的人才是很缺的。
应该说,在这一学习中,汇编语言程序设计就占了很大的篇幅在讲,可见它的重要性了!在学习的不可末尾,讲到微机的总线及接口,而在这其中,主要是概念占大多数,记的东西还是挺多,怎样实现总线互相的配合,加快计算机的运行速度,总之在有些地方还是用到了汇编的知识,汇编语言始终是学习微机原理的主流!
通过了这一学期对微机原理的学习,真的对它有了一个全新的认识,虽然说,这门课已经结束了,但是我会坚持对它的学习,使自己在汇编语言上有一个长足的提高!力争在掌握一门高能语言基础上掌握一门汇编语言,这就是我这期学习《微机原理》课程的心得体会!
第五篇:微机培训心得
随着科学技术的高速发展,信息技术的提高,给人们的生活带来了很大的方便。比如通过网络,人们不用出门便可以了解世界各地的情况,还可以通过网络交朋友,观看新闻、电影、听音乐、下载精美的图片、制作课件等等。
由于条件的限制和对信息技术认识不高的缘故,致使我对信息技术了解不深,对现代远程教育和媒体教学感到有些陌生,因此,我在实际教学工作中也遇到过很多实际困难,如,当每次考完试,汇总成绩的时候,别的教师都会通过电脑制作出一份很工整的成绩表,而我却因不会操作电脑,只能通过手写来完成这项工作。这让作为班主任的我很尴尬、还有别人能够应用现代媒体设备制作非常精美的课件,能够很轻松地上一堂高质量的教学课。而我就不能,为此,我也很自卑。我多么渴望自己能有机会参加信息技术培训。
很幸运,这回我如愿以偿地来到了任县教师进修学校信息技术培训班,在这里我看到很多更优秀的教师,这也让我感到更恐慌、更紧迫,觉得自己落伍实在太远了,学习电脑势在必行,迫在眉睫。经过几天的努力学习,我虽然没有很大的进步,但还是有所收获`的,如我学会了制作成绩表、会打稿件等。
为了今后能够更好的胜任教学工作,我将不断的学习电脑的操作技术。提高自己的电脑素养。