微机原理及接口技术实训报告

上传人:仙*** 文档编号:28167662 上传时间:2021-08-23 格式:DOC 页数:24 大小:252.02KB
收藏 版权申诉 举报 下载
微机原理及接口技术实训报告_第1页
第1页 / 共24页
微机原理及接口技术实训报告_第2页
第2页 / 共24页
微机原理及接口技术实训报告_第3页
第3页 / 共24页
资源描述:

《微机原理及接口技术实训报告》由会员分享,可在线阅读,更多相关《微机原理及接口技术实训报告(24页珍藏版)》请在装配图网上搜索。

1、吉林工业职业技术学院 装机与组网实训报告吉林工业职业技术学院(微机原理及接口技术实训报告)( 2011 2012学年第2学期)实训地点: 单片机实训室 指导教师: 左永文、李宝泉 专业班级: 计算机3101 学生姓名: (34)裴京艳 吉林工业职业技术学院2012年 7 月6日22目录实训地点1实训目的1实训内容1实训1微型计算机结构认识1实训2数码管显示3实训3汇编语言上机编程4实训4按键加1减16实训5动态显示11实训6外中断14实训7智力强答器16实训心得18参考文献19实训地点单片机实训室实训目的微机原理与接口技术”是一门实践性较强的技术,为了学好这门课程,必须在掌握理论知识的同时,加

2、强上机实践。本实习的目的就是要达到理论与实际应用相结合,使同学们能够根据“微机原理与接口技术”的特性,学会利用DEBUG调试汇编程序,通过实训更深一步理解各种接口的工作原理,培养基本的、良好的“微机原理与接口技术”技能。掌握微机“微机原理与接口技术”基本的思想,提高学生的学习兴趣及学习水平。实训内容1. DOS常用命令、debug指令、8086指令使用2.汇编语言程序结构3.七种寻址方式验证数据纪录4.汇编语言编程上机练习5.接口技术实训题目一6.接口技术实训题目二7.测试、撰写实习报告实训1微型计算机结构认识一计算机系统分类微型计算机系统可分为:1.硬件系统和 2.软件系统。软件系统分为:1

3、.系统软件 2.应用软件。硬件系统分为:1.主机。 2.外部设备。二 计算机系统结构其系统结构图如图1所示:图1 微型计算机系统结构图二 计算机操作系统的层次结构其结构由上而下为:用户级、系统应用程序级、操作系统级、机器语言级、微程序级、硬件连接逻辑级。其中最低的两级为硬件级,是具体实现机器指定功能的中央控制部分,也是整个系统运行的物理基础。包括逻辑电路及时序电路等硬件设备以及微程序(固件),它根据各种指令操作所需的控制时序,配备一套微指令,编写出微程序,控制信息在系统内部的传送。第三级是机器语言级。机器语言是计算机唯一能够识别的语言。程序员用机器语言编写的程序有微程序来进行解释。第4级向上,

4、一般讲属于软件系统的讨论范畴。操作系统是用来管理整个计算机系统硬件并支持用户开发应用的一种系统软件,它是运行在机器语言级上的解释程序。系统应用程序是直接为用户开发应用软件提供的工具和平台,它包括各种编译系统、网络系统及为应用程序提供开发平台的各种工具软件。最上一层才是用户级,用户可在各类系统软件的支持下完成自己的应用程序设计。例外,非计算机专业人员也能够利用这一级提供的各种应用语言,通过键盘或其他方式向计算机发出请求,进入相应的信息处理系统。系统软件就是操作系统为用户提供的应用程序开发平台,应用软件就是我们平时使用为完成某种特定任务使用的软件。硬件系统中的外部设备就是通过计算机的外部接口连接的

5、设备。比如说键盘、鼠标、打印机,等。主机中分为:微处理器(central processing unit CPU)其中包括 运算器、控制器、寄存器组,它是整个硬件系统的核心。存储器(Memory)分为:1.用于在运行中暂时存储cpu正在执行的指令和数据的主存储器(即内存)。 2.为提高系统整体存取速度而设置的告诉缓冲存储器(Cache)。 3.用于大容量信息保存的磁盘存储器和光盘存储器等。总线(Bus)分为cpu总线 、系统总线 、外设总线 。当然还用其他的分类方式。输入/输出接口(Input/Output Interface)即 Io接口。用于计算机连接各种外部设备。如鼠标,键盘,打印机。接

6、口的种类有很多如 USB, E-SATA ,电源接口,显示其接口等。实训2数码管显示一数码管显示前的准备操作准备8根线,在板1上进行插线操作,a口对应P0.0,b口对应P0.1,以此类推,最后一个Dp口对应P0.7,然后写入代码。二数码管显示的代码说明其代码如下:ORG 0000HMAIN:MOV P0,#( )HLJMP MAINEND操作时,只需将第二行代码的括号部分换成想显示数字的段码值即可,比如:通过数码管显示数字“0”,则括号部分应写入“#0C0H”。其参考段码表如表1所示:显示P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0段码DPgfedcba“0”1100000

7、0C0H“1”11111001F9H“2”10100100A4H“3”10110000B0H“4”1001100199H“5”1001001092H“6”1000001082H“7”11111000F8H“8”1000000080HA0000100008HB0000001103HC0100011046HD0010000121HE0000011006HF000011100EH表1段码表实训3汇编语言上机编程一为运行汇编语言程序至少要在磁盘上建立以下文件:1编辑程序,如EDIT.EXE2汇编程序,如MASM.EXE (需要将masm.Exe从U盘复制到c盘根目录)3连接程序,如LINK.EXE (

8、需要将link.Exe从U盘复制到c盘根目录)4调试程序,如DEBUG.COM,例 : 在屏幕上输出字符串how do you do? (p98)经开始运行进入编辑程序EDIT在磁盘上建立如下的源程序hdyd.ASM。stack segment stack ;定义堆栈段 dw 512 dup(?) ;分配堆栈段有512字(1024字节)空间(p104)stack ends;堆栈段结束data segment ;定义数据段buf db How do you do?,0dh,0ah,$ (0dh:回车;0ah:换行。P109)data ends ;数据段结束code segmentcode ;定义

9、代码段 assume cs:code,ds:data,ss:stack ( 段开始:代码段送cs;数据段送ds;堆栈段送ss。P106)start: mov ax,data ;建立DS段地址 mov ds,ax mov dx,offset buf (设置输出字串的偏移地址,p100) mov ah,9 (9号功能调用) int 21h 输入功能入口地址 mov ax,4c00h 推出程序,推出时ah必须为4c int 21h ;利用功能调用返回DOScode ends ;代码段结束 end start ;汇编结束,同时指明程序起始点二用MASM程序产生OBJ文件 源程序建立后,就要用汇编程序对

10、源文件汇编,汇编后产生二进制的目标文件(OBJ文件),其操作与汇编程序回答如下:Cmasm hdyd Object filename hdud.OBJ:Source listing NUL.LST: hdydCross-referenceNUL.CRF: hdyd49952+451856Bytes symbol space free汇编程序的输入文件是ASM文件,其输出文件可以有三个,表示于上列汇编程序回答的第24行。第一个是OBJ文件,这是汇编的主要目的,所以这个文件我们是需要的,对于hdud.OBJ后的:应回答。这样就在磁盘上建立了这一目标文件。第二个是LIST文件,称为列表文件,这个文件

11、同时列出源程序和机器语言程序清单,并给出符号表,因而可是程序调试更加方便。这个文件是可又有可无的,如果不需要则可对 hdyd.OBJ:回答;如果需要这个文件,则可回答文件名,这里是hdyd,这样列表文件HOLLE.LIST就建立起来了。汇编程序能提供的第三个文件是CRF文件,这个文件用来产生交叉引用表REF。对于一般程序不需建立此文件,所以对于第5行的NUL.CRF:可以用来回答,这样就完成了会变过程。如果希望建立交叉引用表,则应该用文件名来回答,这里是hdyd,这样就产生了HOLLE.CRF文件。到此为止,汇编过程已经完成了,但是,汇编程序还有另一个重要功能;可以给出源程序中的错误信息。警告

12、错误(warning errors)指出汇编程序所认为的一般性错误;严重错误(severe errors)则指出汇编程序认为已使汇编程序无法进行正确汇编的错误。除给出错误的个数外,并重新汇编直到汇编正确通过为止。当然汇编程序只能指出程序中的语法错误。至于程序的算法或编制程序中的其他错误则应在程序调试时去解决。三用LINK程序产生EXE文件汇编程序已产生出二进制的目标文件(OBJ),但OBJ文件并不是可执行文件,还必须使用连接程序(LINK)把OBJ文件转换为可执行的EXE文件。当然,如果一个程序是由多个模块组成时,也是该通过LINK把它们连接在一起,操作方法及机器回答如下:Clink hdyd

13、RunFile HOLLE.EXE:ListFile NUL.MAP: hdyd Libraries .LIB:LINK程序有两个输入文件OBJ和LIB。OBJ是我们需要连接的目标文件,LIB则是程序中需要用到的库文件,如无特殊需要,则应对.LIB:回答。LINK程序有两个输出文件,一个是EXE文件,这当然是我们所需要的,应对HOLLE.EXE:回答,这样就在磁盘上建立了该可执行文件。LINK的另一个输出文件为MAP文件,它是连接程序的列表文件,又称连接映象(Link map),它给出每个段在存储器的分配情况。 若连接程序给出的无堆栈的警告性错误并不影响程序的运行。到此为止,连接过程已经结束,

14、可以执行hdyd程序了。四程序的执行在建立了EXE文件后,就可以直接从DOS执行程序,如下所示:C hdydHow do you do?C程序运行结束并返回DOS。五.查看结果经汇编、连接后,形成hsys.exe,在DEBUG下装入此文件,用U查看程序。C:DEBUG hsys.exe实训4按键加1减1一按键加1减1显示前的准备操作1.准备12根线2. U11连接P0.4,U12连接P0.3,U13连接P0.2,U14连接P0.1,A连接P2.0,B连接P2.1,C连接P2.2,D连接P2.3,E连接P2.4,F连接P2.5,G连接P2.6,CDP连接P2.7。3.写入代码并下载通电二、按键加

15、1减1的原理图其原理图如图2所示:图2加1减1原理图三按键加1减1的代码其程序代码如下所示:ORG 0000HMOV 30H,#00HM: LCALL XSLCALL ADD1LCALL YSLJMP MADD1:INC 30HMOV A,30HCLR CYSUBB A,#10HJC AA0MOV 30H,#00HAA0:RETXS: MOV A,30HMOV DPTR,#TABMOVC A,A+DPTRMOV P0,ARETYS: MOV R3,#0FFHYS1: MOV R4,#0FFHYS2:MOV R5,#0FFHYS3:NOPDJNZ R5,YS3DJNZ R4,YS2DJNZ R3

16、,YS1RETTAB: DB 11000000B DB 11111001B DB 10100100B DB 10110000B DB 10011001B DB 10010010B DB 10000010B DB 11111000B DB 10000000B DB 00001000B DB 00000011B DB 01000110B DB 01000000B DB 00000110B DB 00001110B END按键减一程序ORG 0000HMOV 30H,#0FHM: LCALL XSLCALL SUBB1LCALL YSLJMP M ADD1:INC 30HMOV A,30HCLR C

17、YSUBB A,#10HJC AA0MOV 30H,#0FHAA0:RETSUBB1: DEC 30HMOV A,30HCLR CYSUBB A,#0FH JC AA1MOV 30H,#0FHAA1:RETXS: MOV A,30HMOV DPTR,#TABMOVC A,A+DPTRMOV P0,ARETYS: MOV R3,#006HYS1: MOV R4,#0FFHYS2:MOV R5,#0FFHYS3:NOP DJNZ R5,YS3DJNZ R4,YS2DJNZ R3,YS1RETTAB: DB 11000000B DB 11111001B DB 10100100B DB 1011000

18、0B DB 10011001B DB 10010010B DB 10000010B DB 11111000B DB 10000000B DB 10001000B DB 10000011B DB 11000110B DB 10100001B DB 10000110B DB 10001110B END三 按键加1减1的显示效果描述通电后,默认显示是“0”,加1和减1键、分别能起到数字1到字母F的变换操作。实训5动态显示一 动态显示前的准备操作1. 准备14根线2. 连接3. 。二 动态显示的原理图其原理图如图3所示:图3 动态显示原理图三动态显示的代码其程序代码如下所示:XDEQUP2S1EQU3

19、0H ;个位显示缓冲区XS2EQU31H;十位显示缓冲区XS3EQU32H;百位显示缓冲区XS4EQU33H;千位显示缓冲区XQ1EQUP0.4;个位显示器驱动端口XQ2EQUP0.5;十位显示器驱动端口XQ3EQUP0.6;百位显示器驱动端口XQ4EQUP0.7;千位显示器驱动端口ORG0000HLOOP:MOVXS1,#01H;个位显示缓冲区MOVXS2,#02H;十位显示缓冲区MOVXS3,#03H ;百位显示缓冲区MOVXS4,#04H ;千位显示缓冲区MOV50H,#0FHMOV51H,#06H;- 显示子程序 -MAIN:LCALLXSLJMPMAINXS:MOV A,XS1;显示

20、缓存内容送AMOVDPTR,#DM;段码首地址送数据指针MOVCA,A+DPTR;查段码表MOVXD,A;查表结果送显示端口CLRXQ1;点亮显示器1(XS1)LCALLYS;调用延时子程序SETBXQ1;熄灭显示器1(XS1)MOVA,XS2;显示缓存内容送AMOVCA,A+DPTR;查段码表MOVXD,A;查表结果送显示端口CLRXQ2;点亮显示器2(XS2)LCALLYS;调用延时子程序SETBXQ2;熄灭显示器2(XS2)MOVA,XS3;显示缓存内容送AMOVCA,A+DPTR;查段码表MOVXD,A;查表结果送显示端口CLRXQ3;点亮显示器3(XS3)LCALLYS;调用延时子程

21、序SETBXQ3;熄灭显示器3(XS3)MOVA,XS4;显示缓存内容送AMOVCA,A+DPTR;查段码表MOVXD,A;查表结果送显示端口CLRXQ4;点亮显示器4(XS4)LCALLYS;调用延时子程序SETBXQ4;熄灭显示器4(XS4)RET;子程序返回;- 显示段码表 -DM:DB0C0H;O的段码DB0F9H;1的段码DB0A4H;2的段码DB0B0H;3的段码DB099H;4的段码DB092H;5的段码DB082H;6的段码DB0F8H;7的段码DB080H;8的段码DB090H;9的段码DB089H;A的段码DB0C0H;B的段码;- 延时1ms子程序 -YS:MOVR7,#

22、0FHYS1:MOVR6,#05HYS2:DJNZR6,YS2DJNZR7,YS1RETEND四 动态显示的显示效果描述实训6外中断用外中断INT0进行数据采集,向P1口置数10101010B,随后申请中断。单片机响应中断后,采集这组数据并取反,然后从P0口输出数据01010101B并显示。(外中断知识)org 0000hljmp mainorg 0030hljmploopmain: movp1,#0ffHsetb easetb ex0setb it0a0: ljmp a0loop: mov a,p1cpl amov p0,a retiendLED输出实验板上编写一个定时中断键盘输入程序,通电

23、后P0口的8个发光二极管点亮25秒,熄灭25秒反复循环。当P1.0口接的按键按下时,使P1.2口接的LED灯点亮、熄灭变化。要求以CPU对键盘的定时中断扫描方式进行,用T0的方式1定时时间50ms。org 0000hajmp mainorg 000bhljmp loop1main:mov tmod,#01h mov tl0,#18h mov th0,#0fch setb EA setb ET0 setbTR0loop: mov p0,#00h lcall del25s mov p0,#0ffh acall del25s ljmp looploop1:mov tl0,#0ffh mov th0,

24、#0ffh jb p3.4,re clr tr0 mov30H,#0AHAA0:mov p1,#00h lcall del25smov p1,0ffhlcall del25sdjnz30H,AA0setb tr0re: nop retidel25s: mov r5,0ahdel1: mov r6,#0fFhdel2: mov r7,#0fhdel3: djnz r7,del3 djnz r6,del2 djnz r5,del1 ret end实训7智力强答器一智力抢答器的准备前操作1.2.3.二 智力抢答器的要求1只有裁判员发出指令,选手才能抢答,LED1亮2只要有一个选手抢到,其他选手再按不

25、起作用,LED23数码管指示选手号4复位,数码管指示0三智力抢答器的原理图其原理图如图4所示图4 智力抢答器的原理图四.智力抢答器的代码其程序代码如下所示: ORG0000H ;初始化LJMPSTART ;指令跳转到标号START执行AA0:MOVP0,#0C0HCLRP1.3SETBP1.2SETBP1.3SETBP1.4 START:MOVP2,#0FFH ;将P2口置为输入端MAIN:MOVA,P2 ;读键盘数据ORLA,#0F0H ;将A累加器的高四位置1CJNEA,#0FFH,AA1 ;比较A累加器中数据是否和0F0相等,如果相等,就顺序向下执行,如果不相等,说明有按键按下,跳转到标

26、号AA1处执行后面的指令,JNB P2.3,AA0 ;如果裁判员没按下,就往下执行,如果按下,就跳转到标号AA0处,执行后面的语句LJMPMAIN ;跳转到标号MAIN处继续查询键盘状态AA1:JBACC.0,AA2 ;判断A累加器的第0位是否为零,如果不为零就跳转到AA2处执行A0: CLRP1.2 ;点亮P1.2口的发光二极管,显示选手键盘按下 SETB P1.3 ;将P1.3位置1,熄灭裁判员指示灯MOVP0,#0F9H ;显示1号选手JNBP2.3,AA0 ;查询裁判员键有没有按下LJMPA0 ;跳转到A0处,不执性其他语句AA2:JBACC.1,AA3 A1:CLRP1.3 SETB

27、 P1.2 MOVP0,#0A4H JNBP2.3,AA0 LJMPA1 AA3:JBACC.2,MAINA2: CLRP1.2 SETB P1.3MOVP0,#0B0HJNBP2.3,AA0LJMPA2 END实训心得10天的实训转眼即逝,大体来讲,通过这次的实训,使我们对微机原理有了更深的认识和了解。在单片机实训室里,体会到了亲手做实验的乐趣。其中做智力抢答器的这一部分,印象由为深刻。在第一节课上做数码管显示的时候,就对这个项目产生了很大的兴趣,起初第一次下载完成并通电查看效果的时候,感觉特别神奇。到了做智力抢答器的时候,却并没有想象中简单,期间出现了许多错误,而后通过小组的研究以及老师的

28、纠正,最终顺利完成了实验,并看到了理想的实验效果。在实训期间,通过做“按键加1减1显示”,“动态显示”及“智力抢答器”等实验,更好的了解了接口技术的概念,参考文献1 孙立坤.微机原理与接口技术.机械工业出版社.2007.92 张黎明.网络操作系统管理与应用.机械工业出版社.2005.73 谢维成.单片机原理与应用.机械工业出版社.2006.94 彭虎.微机原理与接口技术.电子工业出版社.2011.35 郑学坚.微型计算机原理及其应用.清华大学出版社.2011.5装机与组网实训评定教师评语:学生成绩评定: 教师: 年 月 日教师评语内容:注:1.实践操作技能2.课程设计报告质量3.课程设计纪律情况

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!