文档详情

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

1666****666
实名认证
店铺
DOC
252KB
约24页
文档ID:37352186
微机原理及接口技术实训报告_第1页
1/24

吉林工业职业技术学院 装机与组网实训报告吉林工业职业技术学院(微机原理及接口技术实训报告)( 2011 ~ 2012学年第2学期)实训地点: 单片机实训室 指导教师: 左永文、李宝泉 专业班级: 计算机3101 学生姓名: (34)裴京艳 吉林工业职业技术学院2012年 7 月6日22目录实训地点 1实训目的 1实训内容 1实训1——微型计算机结构认识 1实训2——数码管显示 3实训3——汇编语言上机编程 4实训4——按键加1减1 6实训5——动态显示 11实训6——外中断 14实训7——智力强答器 16实训心得 18参考文献 19实训地点单片机实训室实训目的微机原理与接口技术”是一门实践性较强的技术,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践本实习的目的就是要达到理论与实际应用相结合,使同学们能够根据“微机原理与接口技术”的特性,学会利用DEBUG调试汇编程序,通过实训更深一步理解各种接口的工作原理,培养基本的、良好的“微机原理与接口技术”技能。

掌握微机“微机原理与接口技术”基本的思想,提高学生的学习兴趣及学习水平实训内容1. DOS常用命令、debug指令、8086指令使用2.汇编语言程序结构3.七种寻址方式验证数据纪录4.汇编语言编程上机练习5.接口技术实训题目一6.接口技术实训题目二7.测试、撰写实习报告实训1——微型计算机结构认识一.计算机系统分类微型计算机系统可分为:1.硬件系统和 2.软件系统软件系统分为:1.系统软件 2.应用软件硬件系统分为:1.主机 2.外部设备二. 计算机系统结构其系统结构图如图1所示:图1 微型计算机系统结构图二. 计算机操作系统的层次结构其结构由上而下为:用户级、系统应用程序级、操作系统级、机器语言级、微程序级、硬件连接逻辑级其中最低的两级为硬件级,是具体实现机器指定功能的中央控制部分,也是整个系统运行的物理基础包括逻辑电路及时序电路等硬件设备以及微程序(固件),它根据各种指令操作所需的控制时序,配备一套微指令,编写出微程序,控制信息在系统内部的传送第三级是机器语言级机器语言是计算机唯一能够识别的语言程序员用机器语言编写的程序有微程序来进行解释第4级向上,一般讲属于软件系统的讨论范畴操作系统是用来管理整个计算机系统硬件并支持用户开发应用的一种系统软件,它是运行在机器语言级上的解释程序。

系统应用程序是直接为用户开发应用软件提供的工具和平台,它包括各种编译系统、网络系统及为应用程序提供开发平台的各种工具软件最上一层才是用户级,用户可在各类系统软件的支持下完成自己的应用程序设计例外,非计算机专业人员也能够利用这一级提供的各种应用语言,通过键盘或其他方式向计算机发出请求,进入相应的信息处理系统系统软件就是操作系统为用户提供的应用程序开发平台,应用软件就是我们平时使用为完成某种特定任务使用的软件硬件系统中的外部设备就是通过计算机的外部接口连接的设备比如说键盘、鼠标、打印机,等主机中分为:微处理器(central processing unit CPU)其中包括 运算器、控制器、寄存器组,它是整个硬件系统的核心存储器(Memory)分为:1.用于在运行中暂时存储cpu正在执行的指令和数据的主存储器(即内存) 2.为提高系统整体存取速度而设置的告诉缓冲存储器(Cache) 3.用于大容量信息保存的磁盘存储器和光盘存储器等总线(Bus)分为cpu总线 、系统总线 、外设总线 当然还用其他的分类方式输入/输出接口(Input/Output Interface)即 I\o接口。

用于计算机连接各种外部设备如鼠标,键盘,打印机接口的种类有很多如 USB, E-SATA ,电源接口,显示其接口等实训2——数码管显示一.数码管显示前的准备操作准备8根线,在板1上进行插线操作,a口对应P0.0,b口对应P0.1,以此类推,最后一个Dp口对应P0.7,然后写入代码二.数码管显示的代码说明其代码如下:ORG 0000HMAIN: MOV P0,#( )H LJMP MAIN END操作时,只需将第二行代码的括号部分换成想显示数字的段码值即可,比如:通过数码管显示数字“0”,则括号部分应写入“#0C0H”其参考段码表如表1所示:显示P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0段码DPgfedcba“0”11000000C0H“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 (需要将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 ;定义代码段 assume cs:code,ds:data,ss:stack ( 段开始:代码段送cs;数据段送ds;堆栈段送ssP106)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文件 源程序建立后,就要用汇编程序对源文件汇编,汇编后产生二进制的目标文件(OBJ文件),其操作与汇编程序回答如下:C>masm hdyd↙ Object filename [hdud.OBJ]: Source listing [NUL.LST]: hdyd Cross-reference [NUL.CRF]: hdyd 49952+451856 Bytes symbol space free汇编程序的输入文件是ASM文件,其输出文件可以有三个,表示于上列汇编程序回答的第2~4行。

第一个是OBJ文件,这是汇编的主要目的,所以这个文件我们是需要的,对于[hdud.OBJ]后的:应回答↙这样就在磁盘上建立了这一目标文件第二个是LIST文件,称为列表文件,这个文件同时列出源程序和机器语言程序清单,并给出符号表,因而可是程序调试更加方便这个文件是可又有可无的,如果不需要则可对 [hdyd.OBJ]:回答↙;如果需要这个文件,则可回答文件名,这里是hdyd↙,这样列表文件HOLLE.LIST就建立起来了汇编程序能提供的第三个文件是CRF文件,这个文件用来产生交叉引用表REF对于一般程序不需建立此文件,所以对于第5行的[NUL.CRF]:可以用↙来回答,这样就完成了会变过程如果希望建立交叉引用表,则应该用文件名来回答,这里是hdyd↙,这样就产生了HOLLE.CRF文件 到此为止,汇编过程已经完成了,但是,汇编程序还有另一个重要功能;可以给出源程序中的错误信息警告错误(warning errors)指出汇编程序所认为的一般性错误;严重错误(severe errors)则指出汇编程序认为已使汇编程序无法进行正确汇编的错误除给出错误的个数外,并重新汇编直到汇编正确通过为止当然汇编程序只能指出程序中的语法错误。

至于程序的算法或编制程序中的其他错误则应在程序调试时去解决三.用LINK程序产生EXE文件汇编程序已产生出二进制的目标文件(OBJ),但OBJ文件并不是可执行文件,还必须使用连接程序(LINK)把OBJ文件转换为可执行的EXE文件当然,如果一个程序是由多个模块组成时,也是该通过LINK把它们连接在一起,操作方法及机器回答如下:C>link hdyd↙Run File [HOLLE.EXE]:List File [NUL.MAP]: hdyd Libraries [.LIB]:LINK程序有两个输入文件OBJ和LIBOBJ是我们需要连接的目标文件,LIB则是程序中需要用到的库文件,如无特殊需要,则应对[.LIB]:回答↙LINK程序有两个输出文件,一个是EXE文件,这当然是我们所需要的,应对[HOLLE.EXE]:回答↙,这样就在磁盘上建立了该可执行文件LINK的另一个输出文件为MAP文件,它是连接程序的列表文件,又称连接映象(Link map),它给出每个段在存储器的分配情况 若连接程序给出的无堆栈的警告性错误并不影响程序的运行到此为止,连接过程已经结束,可以执行hdyd程序了。

四.程序的执行在建立了EXE文件后,就可以直接从DOS执行程序,如下所示:C> hdyd↙How 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.73.写入代码并下载通电二、按键加1减1的原理图其原理图如图2所示:图2 加1减1原理图三.按键加1减1的代码其程序代码如下所示:ORG 0000H MOV 30H,#00HM: LCALL XS LCALL ADD1 LCALL YS LJMP MADD1: INC 30H MOV A,30H CLR CY SUBB A,#10H JC AA0 MOV 30H,#00HAA0: RETXS: MOV A,30H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A RET YS: MOV R3,#0FFHYS1: MOV R4,#0FFHYS2: MOV R5,#0FFHYS3: NOP DJNZ R5,YS3 DJNZ R4,YS2 DJNZ R3,YS1 RET TAB: 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 0000H MOV 30H,#0FHM: LCALL XS LCALL SUBB1 LCALL YS LJMP M ADD1: INC 30H MOV A,30H CLR CY SUBB A,#10H JC AA0 MOV 30H,#0FHAA0: RETSUBB1: DEC 30H MOV A,30H CLR CY SUBB A,#0FH JC AA1 MOV 30H,#0FHAA1: RETXS: MOV A,30H MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A RET YS: MOV R3,#006HYS1: MOV R4,#0FFHYS2: MOV R5,#0FFHYS3: NOP DJNZ R5,YS3 DJNZ R4,YS2 DJNZ R3,YS1 RET TAB: DB 11000000B DB 11111001B DB 10100100B DB 10110000B 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 动态显示原理图三.动态显示的代码其程序代码如下所示:XD EQU P2S1 EQU 30H ;个位显示缓冲区XS2 EQU 31H ;十位显示缓冲区XS3 EQU 32H ;百位显示缓冲区XS4 EQU 33H ;千位显示缓冲区 XQ1 EQU P0.4 ;个位显示器驱动端口 XQ2 EQU P0.5 ;十位显示器驱动端口 XQ3 EQU P0.6 ;百位显示器驱动端口 XQ4 EQU P0.7 ;千位显示器驱动端口 ORG 0000H LOOP: MOV XS1,#01H ;个位显示缓冲区 MOV XS2,#02H ;十位显示缓冲区 MOV XS3,#03H ;百位显示缓冲区 MOV XS4,#04H ;千位显示缓冲区 MOV 50H,#0FH MOV 51H,#06H;------------------------- 显示子程序 ----------------------- MAIN: LCALL XS LJMP MAIN XS: MOV A,XS1 ;显示缓存内容送A MOV DPTR,#DM ;段码首地址送数据指针 MOVC A,@A+DPTR ;查段码表 MOV XD,A ;查表结果送显示端口 CLR XQ1 ;点亮显示器1(XS1) LCALL YS ;调用延时子程序 SETB XQ1 ;熄灭显示器1(XS1) MOV A,XS2 ;显示缓存内容送A MOVC A,@A+DPTR ;查段码表 MOV XD,A ;查表结果送显示端口 CLR XQ2 ;点亮显示器2(XS2) LCALL YS ;调用延时子程序 SETB XQ2 ;熄灭显示器2(XS2) MOV A,XS3 ;显示缓存内容送A MOVC A,@A+DPTR ;查段码表 MOV XD,A ;查表结果送显示端口 CLR XQ3 ;点亮显示器3(XS3) LCALL YS ;调用延时子程序 SETB XQ3 ;熄灭显示器3(XS3) MOV A,XS4 ;显示缓存内容送A MOVC A,@A+DPTR ;查段码表 MOV XD,A ;查表结果送显示端口 CLR XQ4 ;点亮显示器4(XS4) LCALL YS ;调用延时子程序 SETB XQ4 ;熄灭显示器4(XS4) RET ;子程序返回;--------------- 显示段码表 -------------------------- DM: DB 0C0H ;O的段码 DB 0F9H ;1的段码 DB 0A4H ;2的段码 DB 0B0H ;3的段码 DB 099H ;4的段码 DB 092H ;5的段码 DB 082H ;6的段码 DB 0F8H ;7的段码 DB 080H ;8的段码 DB 090H ;9的段码 DB 089H ;A的段码 DB 0C0H ;B的段码;----------------- 延时1ms子程序 ----------------- YS: MOV R7,#0FHYS1: MOV R6,#05HYS2: DJNZ R6,YS2 DJNZ R7,YS1 RETEND四. 动态显示的显示效果描述实训6——外中断用外中断INT0进行数据采集,向P1口置数10101010B,随后申请中断。

单片机响应中断后,采集这组数据并取反,然后从P0口输出数据01010101B并显示外中断知识)org 0000hljmp mainorg 0030hljmp loopmain: mov p1,#0ffH setb ea setb ex0 setb it0a0: ljmp a0loop: mov a,p1 cpl a mov p0,a reti endLED输出实验板上编写一个定时中断键盘输入程序,通电后P0口的8个发光二极管点亮25秒,熄灭25秒反复循环当P1.0口接的按键按下时,使P1.2口接的LED灯点亮、熄灭变化要求以CPU对键盘的定时中断扫描方式进行,用T0的方式1定时时间50msorg 0000hajmp mainorg 000bhljmp loop1main: mov tmod,#01h mov tl0,#18h mov th0,#0fch setb EA setb ET0 setb TR0loop: mov p0,#00h lcall del25s mov p0,#0ffh acall del25s ljmp looploop1: mov tl0,#0ffh mov th0,#0ffh jb p3.4,re clr tr0 mov 30H,#0AHAA0: mov p1,#00h lcall del25s mov p1,0ffh lcall del25s djnz 30H,AA0 setb 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.只要有一个选手抢到,其他选手再按不起作用,LED23.数码管指示选手号4.复位,数码管指示0三.智力抢答器的原理图其原理图如图4所示图4 智力抢答器的原理图四.智力抢答器的代码其程序代码如下所示: ORG 0000H ;初始化 LJMP START ;指令跳转到标号START执行AA0: MOV P0,#0C0H CLR P1.3 SETB P1.2 SETB P1.3 SETB P1.4 START: MOV P2,#0FFH ;将P2口置为输入端MAIN: MOV A,P2 ;读键盘数据 ORL A,#0F0H ;将A累加器的高四位置1 CJNE A,#0FFH,AA1 ;比较A累加器中数据是否和0F0相等,如果相等,就顺序向下执行,如果不相等,说明有按键按下,跳转到标号AA1处执行后面的指令, JNB P2.3,AA0 ;如果裁判员没按下,就往下执行,如果按下,就跳转到标号AA0处,执行后面的语句 LJMP MAIN ;跳转到标号MAIN处继续查询键盘状态AA1: JB ACC.0,AA2 ;判断A累加器的第0位是否为零,如果不为零就跳转到AA2处执行A0: CLR P1.2 ;点亮P1.2口的发光二极管,显示选手键盘按下 SETB P1.3 ;将P1.3位置1,熄灭裁判员指示灯 MOV P0,#0F9H ;显示1号选手 JNB P2.3,AA0 ;查询裁判员键有没有按下 LJMP A0 ;跳转到A0处,不执性其他语句AA2: JB ACC.1,AA3 A1: CLR P1.3 SETB P1.2 MOV P0,#0A4H JNB P2.3,AA0 LJMP A1 AA3: JB ACC.2,MAINA2: CLR P1.2 SETB P1.3 MOV P0,#0B0H JNB P2.3,AA0 LJMP A2 END实训心得10天的实训转眼即逝,大体来讲,通过这次的实训,使我们对微机原理有了更深的认识和了解。

在单片机实训室里,体会到了亲手做实验的乐趣其中做智力抢答器的这一部分,印象由为深刻在第一节课上做数码管显示的时候,就对这个项目产生了很大的兴趣,起初第一次下载完成并通电查看效果的时候,感觉特别神奇到了做智力抢答器的时候,却并没有想象中简单,期间出现了许多错误,而后通过小组的研究以及老师的纠正,最终顺利完成了实验,并看到了理想的实验效果在实训期间,通过做“按键加1减1显示”,“动态显示”及“智力抢答器”等实验,更好的了解了接口技术的概念,参考文献[1] 孙立坤.微机原理与接口技术.机械工业出版社.2007.9[2] 张黎明.网络操作系统管理与应用.机械工业出版社.2005.7[3] 谢维成.单片机原理与应用.机械工业出版社.2006.9[4] 彭虎.微机原理与接口技术.电子工业出版社.2011.3[5] 郑学坚.微型计算机原理及其应用.清华大学出版社.2011.5装机与组网实训评定教师评语:学生成绩评定: 教师: 年 月 日教师评语内容:注:1.实践操作技能2.课程设计报告质量3.课程设计纪律情况。

下载提示
相关文档
正为您匹配相似的精品文档