8086.8088微机原理课程设计报告书
微机原理课程设计-8088最小系统模板

微机原理课程设计学院:机电工程学院专业:自动化班级:学号:姓名:目录一电路总体设计 (2)二电路各部分原理图设计 (4)2.1 8088最小方式系统 (4)2.2 存储器的设计 (6)2.3 8位AD变换接口电路 (8)2.4 8位DA变换接口驱动直流电机 (11)2.5 步进电机控制电路 (14)2.6 键盘和显示电路 (16)三最小系统PCB版图设计 (18)四总结 (18)概述本系统采用8088位处理器工作在最小方式系统下,采用8282、8286、8284构成了最小系统,形成总线逻辑。
采用2764和6264构成了16KB的ROM和16KB的RAM。
在此基础之上,分别实现了一系列接口逻辑,包括采用0809实现8位的温度采集接口,采用0832实现直流电机的控制,采用8255和8253实现步进电机的控制,并设计了键盘和显示逻辑。
最后,运用Protel 99SE的自动布线功能,完成了最小系统的PCB版图设计。
一电路总体设计一、课程设计的要求本系统完成的功能如下:(1)用8088构成最小系统(2)用0809组成8位温度AD变换接口电路(3)用0832组成8位DA变换接口电路驱动直流电机(4)用8255和8253组成步进电机控制电路(5)键盘与显示功能二、系统的总体组成下面给出了系统的总体框图如下:1处理器芯片选用8088,当8088的MN/MX引脚接+5V电压时,8088工作在最小方式下。
①时钟发生器采用8284A芯片②主微处理器CPU选用8088芯片③总线锁存器采用74LS373,用ALE的下降沿锁存。
由于8088中地址线有20条,所以地址锁存要三个8282。
④数据收发器用来对数据进行缓冲和驱动,并控制数据发送和接收方向,向CPU传送IO的数据或向IO传送CPU提供的数据。
同样由于8088中数据线只有8条,所以数据收发器只要一个8286就可以了。
⑤地址译码器采用74LS138,用地址线的高三位(即A19、A18、A17三位)。
8086微机原理实验报告

8086微机原理实验报告实验名称:8086微机原理实验实验目的:1.深入了解8086微处理器的内部结构和指令系统。
2.掌握汇编语言的编程方法和技巧。
3.熟悉微机系统的输入输出操作原理。
4.掌握8086微机系统的调试方法和程序调试技巧。
实验器材:1.8086微处理器芯片2.Intel 8086学习板3.编程器4.示波器5.实验箱实验步骤:1.熟悉8086微处理器的内部结构和指令系统在开始实验前,首先需要熟悉8086微处理器的内部结构和指令系统。
通过阅读教材和讲义,了解到8086微处理器采用16位结构,具有4个寄存器组,支持16种不同寻址方式的指令。
熟练掌握常用的指令系统和汇编语言的编程方法。
2.设计并编制简单的汇编程序在熟悉8086微处理器的内部结构和指令系统后,我们开始设计并编制简单的汇编程序。
本实验中,我们编写了一个简单的汇编程序,用于实现两个数的加法操作,并将结果存储在内存中。
程序中使用了mov指令将操作数送入寄存器,add指令将它们相加,再用mov指令将结果存储到内存中。
程序流程图如下所示:a. 将第一个数送入累加器A中。
b. 将第二个数送入寄存器B中。
c. 执行add指令,将A和B相加,结果保存在A中。
d. 将结果存储到内存中。
e. 程序结束。
3.调试程序并进行测试在完成汇编程序的编写后,我们需要使用调试器对程序进行调试,并进行测试。
首先,将程序加载到学习板上进行调试。
在调试过程中,我们使用示波器观察各个信号的波形,以确定程序的正确性。
通过逐步单步执行程序并观察寄存器和标志位的变化,我们验证了程序的正确性。
接下来,我们使用输入设备输入两个数,并观察输出结果是否正确。
测试结果表明程序正确实现了两个数的加法操作。
4.总结体会和改进建议通过本次实验,我们深入了解了8086微处理器的内部结构和指令系统,掌握了汇编语言的编程方法和技巧,熟悉了微机系统的输入输出操作原理,以及掌握了8086微机系统的调试方法和程序调试技巧。
微机原理实验报告

微机原理实验报告1.实验的目的是学习8086/8088指令系统中一些基本指令的用法以及程序的基本方法。
2.熟悉在PC上建立,组装,连接,调试和运行8086.8088汇编语言程序的全过程。
2,在实验中,四个数字a,B,C和D分别以单字节压缩BCD代码的形式存储在num存储器的四个单元中。
然后,计算(a + b)-(c + D)并以Y1单位放置,结果显示在屏幕上。
在调试中,不断更改a,B,C,D的内容并查看结果。
本文提供了几组数据:1. A = 09,B = 06,C = 04,d = 07 2. A = 38,B = 41,C = 29,d = 343. A = 70,B = 23,C = 42,d = 414. A = 63,B = 73,C = 62,d = 50 3.实验调试的过程1.使用DOS工具掩码和链接生成EXE文件2.使用调试工具编译断点调试程序。
1.用-U命令反汇编程序②设置断点1以检查a + B的结果是否正确。
结果存储在A1中23h,结果正确。
③设置断点2以检查C + D的结果是否正确。
如果将结果存储在Al中30h,则结果正确。
④运行程序后,使用-D命令检查最终结果是否正确。
数据段的第五个地址是计算结果,该结果正确。
⑤使用-E特别是在(a + b)-(c + D)中,如果前者小于后者,则结果可能不正确。
这时,我们应该判断借位标志是否为负。
如果为负,请使用(c + D)-(a + b)并在结果中输出一个负号。
3.成功调试并检查结果直接在DOS命令add.exe 下运行或在调试中使用-G命令运行程序,并查看程序结果。
4.实验程序和DSEG程序框图。
定义数据段num DB 13h,27h,11h,12h;定义A,B,C,D Y1 DB?DSEG结束;数据段结束sseg段标准堆栈;定义堆栈DB 20 dup(?)sseg结束cseg段假定CS:cseg,ds:DSEG,SS:SSEG开始:MOV AX,DSEG MOV DS,AX MOV AX,SSEG MOV SS,AX MOV AL,[NUM];复制A至AL添加AL,[NUM + 1]; A + B DAA MOV CL,AL;保存AL MOV AL,[NUM + 2];复制C至AL 添加AL,[NUM + 3]; C + D DAA SUB CL,AL;(A + B)-(C + D)MOV AL,CL DAS MOV [NUM + 4],AL MOV BL,AL;保存AL和AL,0F0H; R SHIFT MOV CL,4 SHR AL,CL ADD AL,30H;获取ASCII MOV DL,AL MOV AH,02h int 21h mov Al,BL;恢复Al和Al,0Fh;取低4位,添加Al,30h mov DL,Al mov ah,02h int 21h mov ax,4c00h int 21h cseg结束起始端5。
微机原理实验报告

微机原理实验报告1实验的目的是学习8086/8088指令系统中一些基本指令的用法和程序的基本方法。
2熟悉8086.8088汇编语言程序在PC机上建立、组装、连接、调试和运行的全过程。
实验中,a、B、C、D四个数字以单字节压缩BCD码的形式存储在num存储器的四个单元中。
然后,计算(a+b)-(c+D)并以Y1为单位,结果显示在屏幕上。
在调试过程中,不断更改a、B、C、D的内容,并检查结果。
本文提供了几组数据:1。
A=09,B=06,C=04,d=072。
A=38,B=41,C=29,d=34 3。
A=70,B=23,C=42,d=41 4。
A=63,B=73,C=62,d=50 3。
实验调试过程1。
使用DOS工具掩码和链接生成EXE文件2。
使用调试工具编译并中断单击调试器。
1使用-U命令反汇编程序②设置断点1检查a+B的结果是否正确。
结果在23小时存储在A1中,结果正确。
③设置断点2检查C+D的结果是否正确。
如果结果存储在Al中30小时,则结果正确。
④运行程序后,使用-D命令检查最终结果是否正确。
数据段中的第五个地址是计算结果,它是正确的。
⑤尤其在(a+b)-(c+D)中使用-E。
如果前者比后者小,结果可能不正确。
这时,我们应该判断借阅符号是否为负数。
如果是负数,则使用(c+D)-(a+b),并在结果中输出一个负号。
三。
已成功调试并检查结果。
直接在DOS命令下运行程序添加.exe 或者在调试期间使用-G命令运行程序,并检查程序结果。
4实验程序和DSEG程序框图。
定义数据段编号DB 13h、27h、11h、12h;定义A、B、C、D Y1 DB?DSEG结束;数据段结束sseg段标准堆栈;定义堆栈DB 20 dup(?)sseg结束cseg段假设CS:cseg,ds:DSEG,SS:sseg start:MOV AX,DSEG MOV ds,AX MOV AX,sseg MOV SS,AX MOV AL,[NUM];将A复制到AL以添加AL,[NUM+1];A+B DAA MOV CL,AL;保存AL MOV AL,[NUM+2];将C复制到AL 以添加AL,[NUM+3];C+D DAA SUB CL,AL;(A+B)-(C+D)MOV AL,CL DAS MOV[NUM+4],AL MOV BL,AL;save AL和AL,0F0H;R SHIFT MOV CL,4 SHR AL,CL ADD AL,30H;获取ASCII MOV DL,AL MOV AH,02h int 21h MOV AL,BL;还原AL和AL,0Fh;取低位4位,加上AL,30H MOV DL,AL MOV AH,02h int 21h MOV ax,4c00h int 21h cseg end start end end 5。
微机原理实验报告1

微机原理实验报告班级:电气93姓名:党尧学号:09041059实验一:顺序程序的设计一、实验目的:1.学习8086/8088指令系统中一些基本指令的用法和程序设计的基本方法。
2.熟悉在PC机上建立、汇编、链接、调试和运行8086、8088汇编语言程序的全过程。
二、实验内容:设a、b、c、d四个数分别以胆子解压缩BCD码形式存放在内存NUM开始的四个单元,计算(a+b)-(c+d)并将结果放在Y1单元,将结果在屏幕上显示出来。
在DEBUG中,不断改变a,b,c,d内容并查看结果。
1.a=09,b=06,c=04,d=072.a=38,b=41,c=29,d=343.a=70,b=23,c=42,d=414.a=63,b=73,c=62,d=50三、程序框架:DESG SEGMENT :定义数据段NUM DB 13H,27H,11H,12H :定义a,b,c,dY1 DB ?DSEG ENDS :数据段定义结束SSEG SEGMENT PARA STACK :定义堆栈段DB 20 DUP(?)SSEG ENDS :堆栈段定义结束CSEG SEGMENT :定义代码段ASSUME CS:CSEG,DS:DSEG,SS:SSEG :各段定义START: MOV AX,DSEGMOV DS,AX :数据段段地址送DSMOV AX,SSEGMOV SS,AX :堆栈段段地址送SSMOV AX,4C00HINT 21HCSEG ENDSEND START四、程序内容:DSEG SEGMENTNUM DB 13H,27H,11H,12HY1 DB ?DSEG ENDSSSEG SEGMENT PARA STACKDB 20 DUP(?)SSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEG,SS:SSEGSTART: MOV AX,DSEGMOV DS,AXMOV AX,SSEGMOV SS,AXMOV AL,NUM :数据a送ALADD AL,NUM+1 :将a+b存储到ALDAA :压缩BCD码加法调整MOV CL,AL :保存AL内容MOV AL,NUM+2 :数据c送ALADD AL,NUM+3 :将c+d存储到ALDAA :压缩BCD码加法调整SUB CL,AL :将(a+b)-(c+d)存储到CLMOV AL,CL :CL送ALDAS :压缩BCD码减法调整MOV Y1,AL :送出结果显示压缩BCD码:MOV BL,AL :保存AL中的内容AND AL,0F0H :取AL中高四位MOV CL,4SHR AL,CL :BCD码高位移到低位ADD AL,30H :(AL)加30H得ASCII码MOV DL,ALMOV AH,02HINT 21H :显示(DL)MOV AL,BL :恢复(AL)AND AL,0FH :取(AL)低四位ADD AL,30H :(AL)30H得ASCII码MOV DL,ALMOV AH,02HINT 21H :显示(DL)返回DOS:MOV AX,4C00HINT 21HCSEG ENDSEND START五、实验分析:运用debug程序的-u命令可见程序反汇编内容:之后用–g 及–r 命令可观察每一步程序进行后AL中存储内容的变化:0BD9:0000 B8D60B MOV AX,0BD60BD9:0003 8ED8 MOV DS,AX0BD9:0005 B8D70B MOV AX,0BD70BD9:0008 8ED0 MOV SS,AX0BD9:000A A00000 MOV AL,[0000] :AL=130BD9:000D 02060100 ADD AL,[0001] :AL=3A0BD9:0011 27 DAA :AL=400BD9:0012 8AC8 MOV CL,AL0BD9:0014 A00200 MOV AL,[0002] :AL=110BD9:0017 02060300 ADD AL,[0003] :AL=230BD9:001B 27 DAA :AL=2308D9:001C 2AC8 SUB CL,AL0BD9:001E 8AC1 MOV AL,CL :AL=1D0BD9:0020 2F DAS :AL=1708D9:0021 A20400 MOV [0004],AL-g 24后-r命令可见:AX=0B17 BX=0000 CX=0012 DX=0000 SP=0014 BP=0000SI=0000 DS=0BD6 SS=0BD7 CS=0BD9 IP=0024可知此时程序已将(a+b)-(c+d)结果17存入到AL中。
8086数字时钟课程设计报告

INTEL 8086/8088系列微型计算机原理及接口技术课程名称:微型计算机原理及接口技课程设计设计题目:具有年月日时分秒功能的时钟显示院系:电气工程学院班级:设计者:学号:同组者:指导教师:设计时间:目录一、设计内容与要求 (2)二、设计思路 (3)三、流程图 (4)四、程序 (7)五、运行结果 (12)六、硬件设计…………………………………………………………………………………………………七、调试步骤 (13)八、心得体会 (14)九、参考文献 (14)一、设计内容与要求:用汇编语言编写一个时钟程序,在微机屏幕上显示当前时间****年**月**日**时**分**秒。
在程序启动后,微机屏幕上显示当前时间,按下a键开始计时,按下b键停止计时,按下c键退出程序。
二、设计思路:利用BIOS的INT 1AH的2号系统功能调用,将计算机系统的时间参数(BCD 码)送入寄存器。
其中CH 和CL中保存的是小时数和分钟数;DH中保存的是秒钟数。
利用除法命令DIV,若进行字节操作,16位被除数隐含在AX中,8位除数就是源操作数,结果的8位商在AL中,8位余数在AH中,即(AL)(AH)/(SRC)的商(AL)(AH)/(SRC)的余数若进行字操作,32位被除数低16位隐含在AX中,高16位8位隐含在DX中,16位除数就是源操作数,结果的16位商在AX中,16位余数在DX中,即(AX)(DX,AX)/(SRC)的商(DX)(DX,AX)/(SRC)的余数通过以上方法将二进制表示的年月日时分秒转换为BCD码,再将BCD码表示的时,分,秒转换成AS CⅡ码并送入屏幕显示。
能调用子程序,若显示时间与当前时间不符,则校准显示时间,并用INT 21H 的7号功能调用判断输入回车并清屏。
若输入字符C,则令SIGN=3,即退出程序,若无输入或输入字符不是C,则反复从系统中取出当前时间并显示。
详细过程见程序注释。
三、流程图:四、程序:GB MACRO X ;宏定义MOV AX,0200HMOV BX,0000HMOV CX,0000HMOV DX,XINT 10HENDMXIANSHI MACRO Y,Z,WMOV BP,OFFSET YMOV AH,13HMOV AL,0BMOV BX,0EHMOV CX,ZMOV DX,WINT 10HENDMDATA SEGMENTBUFFER1 DB 11 DUP (?)BUFFER2 DB 9 DUP (?)SECOND DB ?SIGN DB ?STR1 DB 'THE CURRENT TIME: $'STR4 DB 'PRESS C TO EXIT:$'DATA ENDSSTACK SEGMENT STACK 'STACK'DB 100 DUP ('S')STACK ENDSCODE SEGMENT PARA 'CODE'ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA STA PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,0600HMOV BX,0754HMOV CX,0000HMOV DX,194FHINT 10HXIANSHI STR1,17,0416H ;显示‘ THE CURRENT TIME:’XIANSHI STR4,16,1016H ;显示‘ PRESS C TO EXIT:’BEGIN: CMP SIGN,3 ;若输入字符C,则令SIGN=3,即退出程序,若无输入或输入字符不是C,则反复从系统中取出当前时间并显示JE TUI1MOV AH,2AHINT 21H ;取日期LEA BX,BUFFER1PUSH DX ;保护寄存器MOV AX,CX ;利用除法产生商和余数,把以二进制形式保存的年号转换为BCD码MOV DX,0000H ;年号除以1000得到商即为年号的千位MOV CX,1000DIV CXOR AL,30H ;年号的千位转换为其ASCII码并存入BUFFER1第1存储单元中MOV [BX],ALMOV AX,DX ;年号的百位转换为其ASCII码并存入BUFFER1第2存储单元中MOV CL,64HDIV CLOR AL,30HINC BXMOV [BX],ALMOV AL,AHMOV AH,00H ;年号的十位转换为其ASCII码并存入BUFFER1第3存储单元中MOV CL,10DIV CLOR AL,30HINC BXMOV [BX],ALOR AH,30H ;年号的千位转换为其ASCII码并存入BUFFER1第4存储单元中INC BXMOV [BX],AHPOP DX ;年号转换完毕INC BXMOV CL,2DH ;“—”号的ASCII码存入BUFFER1第5存储单元中MOV [BX],CL ;月数除以10得到商即为月数的十位MOV AL,DH ;月数的十位转换为其ASCII码并存入BUFFER1第6存储单元中CMP AL,10JAE L1JMP L2L1: ADD AL,6L2: PUSH AXAND AL,0F0HSHR AL,1SHR AL,1SHR AL,1SHR AL,1OR AL,30HINC BXMOV [BX],ALPOP AXAND AL,0FHOR AL,30HINC BXMOV [BX],AL ;月数的十位转换为其ASCII码并存入BUFFER1第7存储单元中INC BX ;月数转换完毕MOV CL,2DH ;“—”号的ASCII码存入BUFFER1第8存储单元中 MOV [BX],CL ;日期除以10得到商即为日期的十位MOV AL,DL ;日期的十位转换为其ASCII码并存入BUFFER1第9存储单元中MOV AH,00HMOV CL,10DIV CLOR AL,30HINC BXMOV [BX],AL ;日期的个位转换为其ASCII码并存入BUFFER1第10存储单元中OR AH,30HINC BX ;年月日转换完毕MOV [BX],AHMOV CL,'$' ;“$”号的ASCII码存入BUFFER1第11存储单元中 INC BXJMP NEXTTUI1:JMP TUI2NEXT:MOV [BX],CLXIANSHI BUFFER1,10,0616H ;用9号功能显示年月日MOV AH,2CHINT 21H ;取时间LEA BX,BUFFER2MOV AL,CH ;小时数除以10得到商即为小时数的十位MOV AH,00HMOV CH,10DIV CHOR AL,30H ;小时数的十位转换为其ASCII码并存入BUFFER2第1存储单元中MOV [BX],ALOR AH,30H ;小时数的个位转换为其ASCII码并存入BUFFER2第2存储单元中INC BXMOV [BX],AHINC BXMOV CH,3AH ;“:”号的ASCII码存入BUFFER2第3存储单元中 MOV [BX],CH ;分钟数除以10得到商即为分钟数的十位MOV AL,CLMOV AH,00HMOV CL,10DIV CLOR AL,30H ;分钟数的十位转换为其ASCII码并存入BUFFER2第4存储单元中INC BXMOV [BX],AL ;分钟数的个位转换为其ASCII码并存入BUFFER2第5存储单元中OR AH,30HINC BXMOV [BX],AHINC BXMOV CL,3AH ;“:”号的ASCII码存入BUFFER2第6存储单元中 MOV [BX],CLMOV AL,DH ;秒数除以10得到商即为秒数的十位MOV AH,00HMOV CL,10DIV CLOR AL,30H ;秒数的十位转换为其ASCII码并存入BUFFER2第7存储单元中INC BXMOV [BX],ALOR AH,30H ;秒数的个位转换为其ASCII码并存入BUFFER2第8存储单元中INC BXMOV [BX],AHINC BX ;时分秒转换完毕MOV CL,'$' ;“$”号的ASCII码存入BUFFER2第9存储单元中 MOV [BX],CLXIANSHI BUFFER2,8,0716H ;用9号功能显示时分秒CALL DELY ;调用子程序,若显示时间与当前时间不符,则校准显示时间JMP BEGINTUI2: RETSTA ENDPDELY PROCPUSH CXPUSH DXMOV AH,2CHINT 21HMOV SECOND,DHRE: MOV AH,2CHINT 21HPUSH DXMOV AH,6MOV DL,0FFHINT 21HPOP DXCMP AL,63H ;若输入字符C,则令SIGN=3,即退出程序,若无输入或输入字符不是C,则反复从系统中取出当前时间并显示JE Z3JMP CONTINZ3: MOV SIGN,3CONTIN: CMP SECOND,DHJE RECMP SIGN,1JMP EXITEXIT: POP DXPOP CXRETDELY ENDPCODE ENDSEND STA五、运行结果:程序运行后如下图所示:按下c键,则会出现下图界面:(此时按下任意键即可退出该程序)(注意,若没按下任何键或按下的不是c键,则不会出现下图所示界面)六、硬件设计:1、硬件设计说明:由8284产生系统脉冲送8253的CLK1,通过CPU置计数初值使计数器2输出1KHZ方波。
微机课程设计8086控制的循环彩灯报告

微机原理课程设计报告题目:循环彩灯控制系统学年:10/11学年学期:第1学期班级:学号:姓名:循环彩灯控制系统课程设计报告设计目的:1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件;2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;3.深入了解与掌握8255A在PC机系统的典型接法和8255A的工作方法及应用编程。
设计任务与要求:设计一个循环彩灯控制系统,能输出四种花型,输出花型如下:1)00000001 左循环(1时亮,0时灭)2)10000000 右循环3)按00000001,00000011,00000111-----11111111规律递增,后同时闪烁一次,循环不断。
4)按01010101,10101010(或红、绿彩灯)交替闪烁。
功能要求:1)循环彩灯的循环速度可调;2)按键要求①启动/暂停,按SW0开关启动系统,按SW1开关停止系统工作。
②花型变换,由开关SW2、SW3进行四种花型切换;总体方案与说明:根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器,74LS373锁存器,和8255A可编程并行接口芯片和8个led彩灯。
Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道;8086微处理器,选择最小工作模式,所有的总线控制信号均由8086产生;8086CPU的地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离循环彩灯主要模块流程图软件设计采用模块化程序设计思想,将软件划分成若干单元,主要包括主程序、LED 彩灯显示子程序和延时子程序等。
本系统具体汇编源程序见附表一。
使用软件说明:ProteusProteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等Emu8086Emu8086-MicroprocessorEmulator结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具,编译源代码,并在模拟器上一步一步的执行。
微机原理实验指导书

《8086/8088微机原理与接口技术》实验指导书成都理工大学核技术与自动化工程学院电气工程系2012-9-10目录实验一EMU8086软件的使用 (3)实验二8086指令观察 (7)实验三顺序结构程序设计 (10)实验四分支结构程序设计 (13)实验五循环结构程序设计 (15)实验六子程序设计 (17)附录1汇编语言上机实验基础 (19)1.1汇编语言程序上机实验过程 (19)1.2EMU8086 .................................... 错误!未定义书签。
1.3实验及实验报告要求 (20)基础软件实验部分共有六个实验组成,通过对这些实验程序的编写、调试,使学生熟悉8086/8088的指令系统等,了解程序设计过程,掌握汇编程序设计方法以及如何使用实验系统提供的各种调试、分析手段来排除程序错误。
实验一 EMU 8086软件使用EMU 8086是一款基于Windows的集编辑、汇编、链接、调试运行于一体的可视化的8086 CPU仿真软件,有着与8086十分相近的功能。
EMU8086是交互式学习汇编语言(Assembly Language)、计算机结构(Computer Architecture)和逆向工程(Reverse Engineering)的完整仿真体系。
其内部集成了汇编程序汇编器、链接器、虚拟硬件、参考资料、例程、学习指南等。
EMU8086是学习Intel 8086微处理器的理想工具,它模拟真实微处理器的每一步骤,并显示内部寄存器、存储器、堆栈、变量和标志寄存器,而且其中任何一个数值都可通过鼠标双击来改变。
同时它还提供了微机显示器、直流步进电机、交通灯、LED等虚拟外设。
本节对EMU 8086的使用方法作一简介,仍以例1的HELLO程序为例。
双击EMU8086图标,打开程序。
此时会弹出welcome窗口,见图1.1所示,可将该窗口关闭直接进入编辑状态;也可点击它的new按钮,则会弹出代码模板选择框供用户选择(可选择EXE模板),见图1.2所示,一般点击Cancel按钮,直接进入编辑状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8086/8088微机原理课程设计
1、课程设计说明
“微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。
设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。
特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。
本课程的课程设计实际上是一个综合性应用的设计和制作。
这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。
纯汇编语言软件的设计未在这里列出。
欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。
2、课程设计计分办法
课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。
一、题目的选择
设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。
要根据个人情况合理选择题目,不可多组选择同一题目。
1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。
2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。
3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。
4、星级题目多做可提高分值。
5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。
6.、未完成设计者视设计程度减星计分。
7、无星题目可单人完成,但不选题目者记0分。
二、报告要求
课设报告应按规定格式书写,并按时上交。
报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。
三、考勤
考勤。
点名一次未到扣5分,5次以上记0分。
3、课程设计题目
设计一、发光管间隔交替闪烁。
使QTH实验仪上的8个发光管间隔交替闪烁,要求:
①8255的PA0~PA7接L1~L8;
②8255的片选信号CE接地址线A15;
③闪烁时间可通过PC键盘、QTH小键盘或波动开关调整;
说明:
①发光管可接8255的其它口,CE也可接其它地址线。
★设计二、循环显示“0~9”。
使与KL1相连的数码管以闪烁的方式循环显示“0~9”(即每个数字亮、灭至少两次),要求:
①8255的PA0~PA3接KL1~KL4,PB0~PB7接KD0~KD7;
②8255的片选信号CE接地址线A15;
③除与KL1相连的数码管外,其余数码管熄灭。
说明:
①或是与KL2、KL3、KL4相连的数码管;
②数码管可接8255的其它口,CE也可接其它地址线。
★设计三、电机控制
电机(步进电机)控制,要求:
①通过程序控制电机的转速、方向,要求有多档调速;
②电机的转速、方向可通过PC键盘、QTH小键盘或拨动开关调整;
③显示电机的转速、方向。
★★设计四、循环显示“00~99”。
使与KL1相连的数码管以闪烁的方式循环显示“0~9”(即每个数字亮、灭至少两次),要求:
①8255的PA0~PA3接KL1~KL4,PB0~PB7接KD0~KD7;
②8255的片选信号CE接地址线A15;
③除与KL1相连的数码管外,其余数码管熄灭。
说明:
①或是与KL2、KL3、KL4相连的数码管;
②数码管可接8255的其它口,CE也可接其它地址线。
★★设计五、LED 16×16点阵显示汉字。
使LED16×16点阵显示一个汉字,要求:
①点阵模块的D7~D0和D15~D8与CPU模块的AD7~AD0相连;
②点阵模块的CS1与地址线A14相连,CS2与地址线A15相连;
③点阵模块的A0~A3与8255的PA0~PA3相连;
说明:
①CS1、CS2也可接其它地址线;
②点阵模块的A0~A3也可与8255的其它端口相连;
③可显示更多的字符、或调整移动速度。
★★设计六、显示开关编号。
当开关KN01,KN02,……,KN08中任意一个为1时,使与KL1相连的数码管显示该开关的编号;若有两个以上为1 时,显示“E”,要求:
①8255的PA0~PA7接KN01~KN08,PB0~PB7接KD0~KD7;
②8255的片选信号CE接地址线A15;
③除与KL1相连的数码管外,其余数码管熄灭。
说明:
①或是与KL2、KL3、KL4相连的数码管;
②数码管可接8255的其它口,CE也可接其它地址线。
4、设计报告格式及要求
这里给出了设计报告书写的一般格式要求,以后的设计报告均可按此格式书写,甚至一些科技类论文也可参照这种格式。
一、封面和目录
设计报告应有包含课程名称、设计题目、班级、姓名、学号、日期的封面,和含有内容条目信息的目录。
二、关键字(可选)
本设计中所涉及到的关键技术或应用词组等,如:微机原理、程序设计、接口、显示、精度、A/D转换等。
三、摘要
以简洁文字叙述本设计的主要内容、设计的目标及达到的效果、成就等,一般字数控制在100字左右。
四、设计简介
简单说明设计的动机、相关的成熟技术与方法、本系统(设计)的特点、系统准备实现的主要功能。
五、系统设计
设计的理论依据、技术依据、数学模型(公式、算法)的推导,主要器件特性说明、系统逻辑功能结构、主要算法及说明。
六、设计(实验)结果与讨论
系统连线、核心程序流程说明、设计记录、数据分析及讨论。
七、结论
在设计中的主要工作、设计特点、评价、总结、意见或建议。
八、参考资料
书籍、期刊、网址。
书籍应有书名、作者及出版社等信息;期刊应有期刊名称、期号及所参考文章的名称、作者信息。
九、附录
程序清单、特殊仪器、电路图、元器件及参数等。
特别注意的是,在论文的正文中不要有程序清单,如果需要只能出现关键的程序代码,其它应放在附录中。