版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术指导书齐鲁理工学院目录TOC\o"1-1"\h\u12638实验一、熟悉汇编语言环境及建立汇编的过程 实验一熟悉汇编语言环境及建立汇编的过程实验目的1.熟悉汇编语言环境。2.掌握汇编语言的上机过程。3.了解汇编语言程序的编程格式。4.学习数据传送和算术运算指令的用法。5.熟悉在PC机上建立汇编链接调试和运行汇编语言程序的过程。实验要求1.通过一个小程序的编写达到以上的实验目的。2.并完成两个多位十进制数相加的实验。实验原理1.汇编语言程序的上机过程用汇编语言编写的程序称为源程序,源程序也不能由机器直接执行,而必须翻译成机器代码组成的目标程序,这个翻译过程称为汇编。在微型机中,当前绝大多数情况下,汇编过程是通过软件自动完成的,用来把汇编语言编写的程序自动翻译成目标的软件叫汇编程序,汇编过程如下:汇编语言源程序汇编语言源程序汇编目标程序汇编程序2.汇编、连接过程将两个多位十进制数相加。要求加数和被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。3.ADC带进位相加指令的功能和指令格式AAA、DAA、AAS、DAS指令的功能和指令格式4.伪指令SEGMENT、ENDS、ASSUME、MACRO、ENDM的使用子程序的定义(PROCNEAR/FARENDP),以及子程序调用和返回指令:CALL、RET的使用5.循环指令LOOP的格式以及退出循环的条件6.中断指令的使用实验步骤一、学习汇编过程1.打开编辑环境2.输入程序CODESEGMENTASSUMECS:CODESTART:MOVAL,01HMOVBL,40HADDAL,BLMOVDL,ALMOVAH,02HINT21HMOVAH,4CHINT21HCODEENDSENDSTART3.保存源程序,以.ASM为扩展名。C:\MASM\1.ASM4.建立汇编过程用宏汇编程序汇编源程序C:\MASM>MASM1.ASM汇编程序有3个输出文件【.obj】文件,【.LST】文件,【.CRF】文件,.OBJ文件是我们所需要的文件。汇编程序还有另外一个重要功能:可以给出源程序中的错误信息。用连接程序将OBJ文件转换为可执行的EXE文件C:\MASM>LINK1.OBJ4.执行程序:C:\MASM>1.EXE二、完成两个多位十进制数的加法1.程序框图2.实验原理实验参考程序CRLFMACRO;建立回车换行宏MOVDL,0DHMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HENDMDATASEGMENT;数据段DATA1DB33H,39H,31H,37H,34H;第一个数据(作为加数)DATA2DB36H,35H,30H,38H,32H;第二个数据(作为被加数)DATAENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETDATA2MOVBX,05CALLDISPL;显示被加数28056CRLFMOVSI,OFFSETDATA1MOVBX,05CALLDISPL;显示加数47193CRLFMOVDI,OFFSETDATA2CALLADDA;加法运算MOVSI,OFFSETDATA1MOVBX,05CALLDISPL;显示结果CRLFMOVAX,4C00HINT21HDISPLPROCNEAR;显示子程序段DS1:MOVAH,02HMOVDL,[SI+BX-1];显示字符串中的一个字符INT21HDECBX;修改偏移量JNZDS1RETDISPLENDPADDAPROCNEARMOVDX,SIMOVBP,DIMOVBX,05AD1:SUBBYTEPTR[SI+BX-1],30H ;将ASCII码表示的数字串SUBBYTEPTR[DI+BX-1],30H;转化位十六进制的字符串DECBXJNZAD1MOVSI,DXMOVDI,BPMOVCX,05;包括进位位共5位CLC;清进位位AD2:MOVAL,[SI]MOVBL,[DI]ADCAL,BL;带进位相加AAA;非组合BCD码的加法调整MOV[SI],AL;结果送加数区INCSIINCDI;指向下一位LOOPAD2;循环MOVSI,DXMOVDI,BPMOVBX,05AD3:ADDBYTEPTR[SI+BX-1],30H ;十六进制的数字串转化ADDBYTEPTR[DI+BX-1],30H;为ASCII码表示的数字串DECBXJNZAD3RETADDAENDPCODEENDSENDSTART开始显示被加数和加数开始显示被加数和加数被加数和加数以ASCII码表示的数字串形式转化为由十六进制表示的数字串形式计数值5=CX清除最低位进位执行ADC带进位相加AAA调整结果送加数区调整偏移量CX-1=0?十六进制的结果转化为ASCII码表示的数字串显示结果结束3.汇编连接程序生成可执行文件4.执行程序观察结果六、拓展练习编写程序完成两个多位十进制数相减。要求显示结果格式为:被减数减数相减结果实验二、汇编语言程序设计一、实验目的:1.掌握显示提示信息的方法及接收键盘输入信息的方法,完成字符串匹配程序。2.掌握字符和数据的显示方法,完成字符和数据的显示程序。3.了解小写字母和大写字母在计算机内的表示方法,并掌握如何进行转换,完成将键盘输入的小写字母转换成大写字母。二、实验内容:1.编写程序,实现两个字符串的比较。如相同,则显示“MATCH”,否则,显示”NOMATCH”。2.先显示信息“INPUTSTRING,THEENDFLAGIS$”,再接收字符。如为非数字字符即非“0——9”,则计数器加1,并显示字符。如为数字,则直接显示,但不计数。3.接收键盘字符(以^-C为结束),并将其中的小写字母转变为大写字母,然后进行显示。三、实验原理1.DB、DUP、EQU等伪指令的功能以及使用格式;INT21H的09H子功能的功能、工作情况以及使用格式;INT21H的0AH子功能的功能、工作情况以及使用格式;串扫描指令SCASB的功能以及使用格式;入栈、出栈指令PUSH、POP的使用情况。2.程序跳转指令JMP的功能及用法;比较指令CMP、JB、JBE等指令的功能及用法;循环移位指令ROL的用法及功能;逻辑指令AND的功能及用法。3.比较指令JA的功能及用法;减法指令SUB的功能及用法。四、程序框图五、实验参考程序1.CRLFMACROMOVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21HENDMDATASEGMENTMESS1DB'MATCH',0DH,0AH,'$'MESS2DB'NOMATCH',0DH,0AH,'$'入口段寄存器及堆栈初始化入口段寄存器及堆栈初始化显示“请输入字符串1“使用INT21H的0AH号子功能,接收键入的字符串显示“请输入字符串2“指针SI指向串1的首字符SI指向的字符和串2中所有字符作比较相等SI加1,指向串1中下一字符串1中的字符已取完显示“NOMATCH”显示“MATCH”返回DOSMESS4DB'INPUTSTRING2:',0DH,0AH,'$'入口段寄存器初始化非数字字符计数器BX清0显示提示信息INT21H的01子功能接收键入字符是“$”入口段寄存器初始化非数字字符计数器BX清0显示提示信息INT21H的01子功能接收键入字符是“$”字符?是回车键?非0——9?计数器BX加1回车换行调用DISP,显示计数结果返回DOSN Y入口入口段寄存器和堆栈初始化BX指向字符行缓冲区首址偏移指针SI清0INT21H的01H号子功能接收键入字符^-C键?是回车键?是小写字母?小写字母的ASCII码值转化为大写字母的ASCII码值存入字符缓冲区[BX+SI]单元SI加1指向下一单元显示转换后的字符行缓冲区内容返回N Y N N YMAXLEN1DB81ACTLEN1DB?STRING1DB81DUP(?)MAXLEN2DB81ACTLEN2DB?STRING2DB81DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,DATAMOVES,AX;段寄存器及堆栈初始MOVAH,09HMOVDX,OFFSETMESS3INT21H;示输入提示MOVAH,0AHMOVDX,OFFSETMAXLEN1INT21H;接收键入的字符串1CRLF;回车换行MOVAH,09HMOVDX,OFFSETMESS4INT21H;显示输入提示2MOVAH,0AHMOVDX,OFFSETMAXLEN2INT21H;接收键入的字符串2CRLFCLDMOVSI,OFFSETSTRING1MOVCL,[SI-1]MOVCH,00H;字符串的实际字符数送CXMOVDI,OFFSETSTRING2REPZcmpsb;将串1中的一个字符和串2中的所有字符作比较JNZGGG;比较相等转GGGMOVAH,09HMOVDX,OFFSETMESS1INT21H;显示‘MATCH'JMPPPPGGG:MOVAH,09HMOVDX,OFFSETMESS2INT21H;显示'NOMATCH'PPP:MOVAX,4C00HINT21H;返回DOSCODEENDSENDSTART2.CRLFMACROMOVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21HENDMDATASEGMENTMESS1DB'INPUTSTRING,THEENDFLAGIS$'MESS2DB'NON-DIGITALCHARCOUNT=$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AX;;初始化MOVBX,0000H;;计数值清0MOVAH,09HMOVDX,OFFSETMESS1;;显示提示信息INT21HMOVAH,02HMOVDL,'$'INT21HCRLFXXX:MOVAH,01HINT21H;;接收键入字符CMPAL,'$';JZUUU;;是‘$’字符则转UUU:CMPAL,0DH;JNZIIICRLF;;是回车则回车换行JMPVVV;III:CMPAL,30HJBYYYCMPAL,39HJBEVVV;;非‘0’——‘9’转YYYYYY:INCBX;;计数值加1VVV:JMPXXXUUU:CRLFMOVAH,09HMOVDX,OFFSETMESS2INT21H;;显示表头MOVAX,BXCALLDISP;;显示结果MOVAH,02HMOVDL,'H'INT21H;;十六进制数标志MOVAH,4CHINT21HDISPPPROCNEAR;;显示子程序,按十六进制数方式显示AL中的数MOVBL,AL;;AL中数送BLKKK:MOVDL,BLMOVCL,04ROLDL,CLANDDL,0FHCALLDISPL;;显示字节高位MOVDL,BLANDDL,0FHCALLDISPL;;显示字节低位RET;DISPPENDPDISPLPROCNEARADDDL,30H;;将数值转为对应的ASCII码CMPDL,3AHJBDDD;;是‘0’——‘9’转DDDADDDL,27H;;是‘A’——‘F’DDD:MOVAH,02HINT21H;;显示DL中字符RETDISPLENDPDISPPROCNEAR;;显示子程序,按十六进制数方式显示AX中的数PUSHAX;;入栈保存MOVAL,AHCALLDISPP;;显示高字节POPAXCALLDISPP;;显示低字节RET;DISPENDPCODEENDSENDSTART3.DATASEGMENTBUFDB82DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AX;;段寄存器初始化MOVBX,OFFSETBUF;;BX指向字符行缓冲区首址KKK:MOVSI,00H;;指针SI清0GGG:MOVAH,01H;;接收键入字符INT21HCMPAL,03HJZPPP;;是CTRL-C键则转结束CMPAL,0DHJZBBB;;是回车键则转BBBCMPAL,61HJBTTTCMPAL,7AHJATTT;;不是小写字母转TTTSUBAL,20H;;小写字母转化为大写字母TTT:MOV[BX+SI],AL;;存入字符行缓冲区中INCSI;;指针加1JMPGGGBBB:MOV[BX+SI],ALMOVAL,0AHMOV[BX+SI+1],AL;;加入换行符MOVAL,'$'MOV[BX+SI+2],AL;;再加一个'$'标志字符MOVAH,09HMOVDX,BXINT21H;;显示转换后的字符串JMPKKK;PPP:MOVAH,4CHINT21HCODEENDSENDSTART六、实验步骤1.按实验要求编写程序2.汇编连接程序生成可执行文件3.执行程序观察结果七、拓展练习1.编写程序,实现两个字符串的比较。如字符长度相同并且对应字符顺序相同,则显示“MATCH”,否则,显示“NOMATCH”。2.编写程序,先显示信息“INPUTSTRING,THEENDFLAGIS$”,再接收字符。如为数字字符即为“0——9”,则计数器加1,并显示数据。如为数字,则直接显示,但不计数。3.编写程序,接收键盘字符(以^-C为结束),并将其中的大写字母转变为小写字母,然后进行显示。
实验三系统认识实验实验目的1、熟悉实验设备,了解THWJ-1型微机原理实验箱的性能特点,熟悉实验环境。2、掌握基本电路的电路原理、硬件操作的各功能键的使用方法;熟悉实验的软件系统,能对该实验平台进行熟练的操作。3、了解实验中的连线方法、基本的硬件电路的调试方法。实验内容及步骤:系统概述1.1 系统主要特点仪器运行环境:本仪器在直流5V、±12V电源驱动下单机运行。仪器性能特点:采用主频4.77MHz的8088为CPU,并以最小工作方式构建系统。系统基本内存为一片62256,地址范围00000~07FFFH,其中00000~00FFFH2K字节为监控占用,监控程序和软硬件实验程序存放于一片27512,地址范围F8000~FFFFFH。自带键盘、显示器、单机运行。仪器配有常用I/O接口芯片,如A/D转换芯片0809、D/A转换芯片0832、定时/计数器芯片8253、中断控制芯片8259、串行口芯片8250、8251、并行可编程I/O芯片8255、并行I/O芯片如D触发器和驱动器以及直接存贮芯片8237等。掌握通用电路的工作原理,并完成以下内容:由逻辑开关电平控制LED灯的亮灭,观察开关状态的高低电平变化,LED亮灭分别需要获得何种电平信号。单次脉冲电路控制LED,通过观察LED的亮灭分析两种单次脉冲的高低电平变换情况。掌握试验箱上功能键的使用:监控程序控制仪器以键盘操作方式运行调试实验程序。仪器一经上电后,数码显示器显示监控提示符“P.”。1.2 系统资源分配8088有1兆存储空间,系统提供用户使用的空间为00000H-0FFFFH,用于存放、调试实验程序。2 系统硬件组成(1)LED发光二极管指示电路:实验台上包括16只发光二极管及相应驱动电路。见图3-1,Ll-L16为相应发光二极管驱动信号输入端,该输入端为低电平“0”时发光二极管亮。(箱式实验机简化为12只发光二极管)图3-1(2)逻辑电平开关电路:见图3-2。实验台上有8只开关Kl-K8,与之相对应的K1-K8各引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”,向下拨相应插孔输出低电平“0”。图3-2(3)单脉冲电路:实验台上单脉冲产生电路如图3-3,标有“”和“”的两个引线插孔为正负单脉冲输出端。AN0为单脉冲产生开关,每拨动一次来回产生一个单脉冲。图3-3(4)分频电路:该电路由一片74LS393组成,见图3-4。T0-T7为分频输出插孔。该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。图3-4(5)脉冲发生电路:实验台上提供8MHZ的脉冲源,见图3-5,实验台上标有8MHZ的插孔,即为脉冲的输出端。图3-5(6)485接口电路:图3-6(7)系统通讯接口电路图3-7(8)数码管显示电路图3-8(9)键盘电路图3-9键盘监控程序的功能和操作方法3.1键盘显示⑴系统配备6位LED显示器,左边4位显示地址,右边2位显示该地址内容。⑵系统具有24个注塑键盘,左边l6个是数字键,右边8个是功能键。在键盘监控状态下用户可以通过一组键命令完成下列操作·读写寄存器内容·读写存储器内容·EPROM传送·断点设置/清除·通过单步、断点、连续等功能来调试运行实验程序。3.2功能键操作说明一缆表3.3监控程序命令及操作具体的键操作过程监控指示符“P.”状态下,寄存器的初始值如下:SP=0683H,CS=0000H,DS=0000H,SS=0000H,ES=0000H,IP=1000H,FL=0000H。“P.”状态下,监控命令才会有效,此时段地址缺省值为0000H。(1)存贮器单元内容的显示及修改操作:××××MRW●“P.”状态下,输入4位存贮单元地址,按MRW键,则显示2位该单元内容;●按数键可修改内容;●按NEXT键,地址加1,地址单元内容刷新;●按LAST键,地址减1,地址单元内容刷新;●按MON键,返回“P.”状态。(2)寄存器内容的显示及修改操作:×REG●“P.”状态下,先输入寄存器代号,再按REG键,显示寄存器名及其内容;●按数键可修改寄存器的内容;●按NEXT键,依次显示下一个寄存器名及其内容;●按LAST键,依次显示上一个寄存器名及其内容;●按MON键,返回“P.”状态。代号0123456789ABCD寄存器名AXBXCXDXSPBPSIDICSDSSSESIPFL数据寄存器名AbcdSPBPSIDICSDSSSESIPFL(3)I/O口读操作:××××IOR●“P.”状态下,输入4位口地址,再按IOR键,则显示其状态数据;●按IOR键再次读入该口地址的状态数据;●按NEXT键,口地址加1,状态数据刷新;●按LAST键,口地址减1,状态数据刷新;●按MON键,返回“P.”状态。(4)I/O写操作:××××IOW●“P.”状态下,先输入4位口地址,再按IOW键,则显示其内容为00,此时输入数据,I/O状态会随写入的内容而变化;●按NEXT键,口地址加1;●按LAST键,口地址减1;●按MON键,返回“P.”状态。(5)数据块移动操作:××××F1××××F2××××MOVE●“P.”状态下,先输入4位源首址,再按F1键,再输入4位源末址,按F2键,再输入4位目标块首地址,按MOVE键,则开始数据传送,传送结束返回监控“P.”状态。(6)单步运行操作:有三种状态都可以执行单步操作(段地址固定为0000H)。●“P.”状态下,按STEP键,从起始地址IP=1000H开始,单步执行一条指令;●存储器读写状态,按STEP键,从当前存贮器地址开始单步执行一条指令;●在输入4位起始地址的状态下,按STEP键则从起始地址开始单步执行一条的指令,然后显示下一条指令的地址及其内容。(7)断点运行操作:××××F2××××EXEC●“P.”状态下,先输入4位断点地址,按F2键,再输入4位起始地址,按EXEC键,程序从起始地址开始运行,显示器显示“┏”执行符,程序停在断点处后显示断点地址和其内容,同时保护所有寄存器的值。当程序不能运行到断点(俗称“跑飞”)。可按STOP键,中止程序运行,从显示器确定程序运行到何处,同时必须用存贮器读写功能键MRW来恢复断点处的一字节内容。注意EPROM中的实验程序不能以断点方式运行。(8)连续运行操作:有三种状态,可以进入连续运行●“P.”状态下,按EXEC键,从地址CS=0000H,IP=1000H开始连续执行程序;●存储器读写状态下,按EXEC键,从当前存贮器地址开始,连续执行程序(开始时CS=0000H);●先输入4位起始地址,按F1键,再输入4位偏移地址,最后按EXEC键,则从设定的段地址和偏移地址开始程序,当用户返回监控,可用MON键或Reset键。注意Reset键会初始化各寄存器。实验电路的硬件调试1)测发光二极管电路紧锁线一端接地,另一端点击L1~L16插座,点击时发光二极管亮。紧锁线一端接Ki(Ki下拨),另一端点击L1~L16插座,现象同上。2)数码显示器与键盘电路开机显示“P.”,按数字键,功能键,观察显示是否正确。3)测拨动开关电路用扁平电缆线连K1~K8与L1~L8,观察开关与发光二极管的关系。4)可调电压可调电压两组,一组是0~5V可调,另一组是-12V~+12V可调,可调电压输出端连直流电压表,观察调压结果。注意:-12V~+12V输出电压,不用时调至0V,以免与TTL信号线不慎相碰。5)12V风扇电路DJ1插座连+12V(开关旁),风扇正常启动。6)单路输出电路Vin插座连地,开关在BELL处、蜂鸣器响;在LED处、发光二极管亮。7)脉冲发生器电路插座用紧锁线连直流电压表指示0V,按AN键,电压指示3.5V。插座用紧锁线连直流电压表指示3.5V,按AN键,电压指示0V。注意事项及实验要求:注意事项:本实验箱有两个电源信号,±12V电源仅在做D/A实验,直流电机实验时需接入,做其它实验时只需单个+5V电源,千万注意别把TTL电平的信号线误触±12V电源!实验四8255并行口实验一、实验目的1.掌握8255与微机的接口方法。2.掌握8255的工作方式和编程方法。3.掌握用8255并行口输出不同数据来控制发光二极管的亮与灭。二、实验原理1.8255芯片简介8255是可编程并行接口芯片,具有ABC三个并行口,有三种工作方式即方式0的基本I/O方式、方式1的选通I/O方式、方式2的双向选通I/O方式。本实验系统中8255的ABC和命令寄存器的端口地址分别是0FF28H、0FF29H、0FF2AH、0FF2BH。2.硬件原理图实验内容1图实验内容2图三、实验内容及步骤1.8255的A口为方式0的输入口,B口为方式0的输出口,开关量用发光二极管指示。(1)8255的A口与开关量K1~K8相连。(2)8255的B口与发光二极管的L1~L8相连。(3)运行程序“P.”状态下,先输入F000后按F1键,再输入90C0按EXEC键,系统显示“┏”,拨动开关K1~K8,那么L1~L8会跟着亮灭。2.8255控制发光二极管,模拟交通灯运行情况。(1)PB4~PB7对应4只黄灯,PC4~PC7对应4只绿灯,PC0~PC3对应的4红灯。(2)交通灯亮灭规则,假设有个十字路口,东西南北两个方向,南北方向的为1、3路口,东西方向的为2、4路口。从框图可知初始状态4路口红灯全亮,不准通行。之后1、3路口绿灯亮,2、4路口红灯不灭,则1、3路口南北方向通行,延时一段时间后,1、3路口绿灯灭,黄灯闪烁8次,而后红灯亮,同时2、4路口红灯灭,绿灯亮,2、4路口东西方向通行,延时一段时间后,2、4路口绿灯灭,黄灯闪烁8次,而后红灯亮,同时1、3路口红灯灭,绿灯亮,循环上述过程。(3)各发光二极管共阳极接法,8255端口“0”电平发光二极管点亮。(4)程序流程图。(5)硬件连线。黄红绿方向1:PB4~L1PC4~L2PC0~L3方向2:PB5~L5PC5~L6PC1~L7方向3:PB6~L9PC6~L10PC2~L11方向4:PB7~L13PC7~L14PC3~L15(6)运行实验程序“P.”状态下,先输入F000,按F1键后,再输入90E0,按EXEC键,系统显示“┏”,L1-L3,L5-L7,L9-L11,L13-L15,12只发光二极管模拟十字路口交通灯的工作情况。注意事项1.注意8255控制字的写法2.做实验之前要测试逻辑开关电路和LED电路,确保本实验中使用的电路部分是完好,否则会影响到实验结果。五、扩展8255proteus仿真应用:地址分配:8255A口,B口,C口,控制字端口为60H,62H,64,66H应用1:将四个按键对应的数码值通过数码管显示出来。电路连接:PORTDEQU66H;CPU-8255控制寄存器PORTAEQU60H;8086A1接8255A0;A2接8255A1PORTBEQU62HPORTCEQU64HREGISEQU10010000B;AIN,BOUT,AB口工作方式0BEGIN:MOVDX,PORTD;设置8255工作方式MOVAL,REGIS;controlbyteOUTDX,ALG1:MOVDX,PORTAINAL,DX;读A口数据ANDAL,00001111B;高四位清零;数码管译码MOVBX,OFFSETLEDXLAT;取LED表;PUSHCXMOVCX,40H;延时DELAY:LOOPDELAYPOPCX;MOVDX,PORTBOUTDX,ALJMPG1:LEDDB3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,77H,7cH,39H,5eH,79H,71H;共阴数码管段选码表,无小数点实验五8253定时器/计数器实验一、实验目的1.掌握8253芯片与微机接口原理与方法。2.掌握8253的工作方式和编程方法。二、实验内容1.芯片介绍8253是有三个16位计数器的可编程定时器/计数器,其计数频率为0~2MHz,用+5V单电源供电。8253的功能用途:延时中断、频率发生器、事件计数器、二进制倍频器,实时时钟,数字单稳态,电机控制器。8253的6种工作方式:方式0的计数结束中断;方式1的可编程单个脉冲发生器;方式2的分频器;方式3的对称方波发生器;方式4的软件触发选通信号;方式5的硬件触发选通信号。2.硬件原理图如图。3.硬件连线(1)8253的GATE0接+5V插孔。(2)8253的CLK0接T2插孔,时钟频率2MHz。(3)8253的CS3接EX0。(4)分频电路的T插孔连8MHz插孔。4.编程提示8253通道0(定时器/计数器)工作方式3,产生对称方波。三、实验步骤1.按图连好线路。2.运行实验程序。“P.”状态下,先输入F000按F1键,再输入9180,按EXEC键。3.用示波器观察OUT0插孔的输出方波,或用直流电压表测得OUT0输出电压2.5V。四、扩展proteus8253仿真应用地址分配:310H-312H-314H-316H,分别为通道0,1,2,控制字地址,时钟10kHz应用1:通道0生成200Hz的方波,通道1计数结束中断方式,通道2可编程单稳态输出方式。电路连接:CODESEGMENTASSUME
CS:CODESTART:MOVDX,316H;方波发生200Hz,时钟10KHzMOVAL,00110111B;通道0,方式3,BCD计数OUTDX,ALMOVDX,310HMOVAL,50HOUTDX,ALMOVAL,00HOUTDX,AL;通道0初始化
MOVDX,316H;计数结束中断方式MOVAL,01110001B;通道1,方式0,BCD计数OUTDX,ALMOVDX,312HMOVAL,00HOUTDX,ALMOVAL,0FEHOUTDX,AL;通道1初始化
MOVDX,316H;可编程单稳态输出方式MOVAL,10010010B;通道2,方式1,二进制计数OUTDX,ALMOVDX,314HMOVAL,0FEHOUTDX,AL;通道2初始化
CODEENDSENDSTART
实验六8259中断控制器实验一、实验目的1.掌握8259中断控制器与微机的接口方法。2.掌握8259中断控制器的编程。二、实验内容1.硬件线路原理图如图。2.(1)8259芯片介绍8259是专用控制中断优先级而设计的集成电路,可对中断源的优先级排队、识别、及提供中断矢量。单块8259可编程实现8级中断管理,并可选择优先模式及中断请求方式。另外由多片8259级联,可构成多达64级的矢量中断系统。中断序号01234567变量地址20H24H28H2CH30H34H38H3CH23H27H2BH2FH33H37H3BH3FH(2)程序方框图主程序IR3中断服务程序IR7中断服务程序(3).初始化编程:由CPU向8259A送初始化命令字ICW。在8259A开始正常工作前,必须写初始化命令字使其处于开始状态。操作命令编程:用ICW1设置:是否级联?
用ICW1设置:是否级联?
请求信号的触发方式
后面是否用ICW4用ICW2设中断类型码是否为级联方式?本片为主片吗?设ICW3各位对应
IR0~IR7的连接状况设ICW3高5位为0;
低3位为标识码用ICW4吗?用ICW4设:为特殊全嵌套方式?
为缓冲方式?
为自动EOI方式?
为8086/8088系统?ENDNYNNY(4).初始化流程图4.硬件连线及实验结果:(1)8259的CS6插孔连线EX1插孔。(2)8259的INT插孔连线INTR插孔。(3)8259的INTA插孔连线INTA插孔。(4)8259的IR3插孔连线插孔。(5)D0~7数据线用扁平电缆连接数据总线。本实验用3号中断源IR3,与插孔线连,中断方式为边沿触发方式。程序每按一次AN键产生一次中断,满5次中断,显示“8259Good”。如果中断触发信号不符号要求,则自动转到7号中断,显示“Err”,以示出错。三、扩展proteus8259仿真应用
应用1:8259每次接受到按键中断,LED移动一次,循环显示。
电路连接:;定义堆栈STACKSEGMENTSTACK
DB200DUP(0)
STACKENDS
;定义变量DATA
SEGMENT
;定义CNT=1CNT
DB1DATA
ENDS;代码段code
SEGMENT'code'assume
CS:code,DS:datastart:
MOVAX,DATA
MOVDS,AX
CLI
;修改中断向量前关中断
MOVAX,0
MOVES,AX
;es段=0
MOVSI,60H*4
;设置中断向量96号中断
MOVAX,OFFSETint0
;中断入口地址
;stosw
MOVES:[SI],AX
;[si]=60h*4,存放入口地址
->IP
8086
MOVAX,CS
;segint0
->CS
8086
;stosw;
MOVES:[SI+2],AX
;初始化8259
MOVAL,00010011b
MOVDX,400H
;ICW1=00010011B//010000010000
A0=0,D4=1,CS=0
400H
OUTDX,AL
MOVAL,060h
;060b
MOVDX,402h
;ICW2=01100000B//010000000010A0=1,CS=0
402H
OUTDX,AL
MOVAL,1bh
;ICW4=00011011B//1bh
OUTDX,AL
MOVDX,402h
MOVAL,00h
;OCW1,八个中断全部开放00h
OUTDX,AL
MOVAL,20H
;EOI
OUT20H,AL
;MOVDX,400h
;//010000000000A0=0,CS=0
;MOVAL,60H
;OCW2,非特殊EOI结束中断
;OUTDX,AL
;OCW2可以不赋值;完成8259初始化
MOVAL,cnt
;初始cnt=1
MOVDX,0200H
;led的地址
//0010
00000000,led=0
OUTDX,AL
;开始第一个灯亮
STI
;开中断li:;8086模型有问题,它取得的中断号是最后发到总线上的数据,并不是由8259发出的中断号
;所以造成了要在这里执行EOI的假相,这三句与下面的指令效果是一样的
MOVDX,400H
;CS=0
400H
MOVAL,60h
;如果改为其它值,将出错,因为只有60H有中断向量
OUTDX,AL
JMPli
;中断服务程序
int0:
CLI
;关中断,MOVAL,cnt
;cnt=1;
ROLAL,1
;cnt=cnt<<1MOVcnt,ALMOVDX,0200h
;led=cnt<<1
OUTDX,AL
STI
;开中断IRET
;返回主程序;
code
ENDS
ENDstart实验七8251串行通信实验一、实验目的1.了解串行通信的一般原理和8251A的工作原理。2.初步了解RS-232串行接口标准与TTL电路的连接方法。3.掌握8251A编程方法。二、实验内容(1)利用实验机内的8253芯片的分频作为8251的收发时钟频率。(2)利用实验机内小键盘,每按动一次任一数字键,就把该键值通过8251发送给PC机接收,并在PC机屏幕上显示出该键值。实验接线图(1)TxCLK和RxCLK是8251的发送时钟和接收时钟,由8253的OUT1提供。(2)8251片选信号CS由GAL2译码器输出,地址为3F8~3FFH。(3)CTS端必须接“0”电平,8251才可对外发送数据。(4)RxRDY和TxRDY是收、发就绪信号,采用中断方式时可作中断申请信号,本系统采用查询方式通信,这两个信号不用。四、编程指南(1)8251状态口地址:03F9H,8251数据口地址:03F8H;(2)8253控制口地址:43H,8253计数器#1口地址:41H;(3)8255控制口地址:0FF23H,字位口:0FF20H,键入口PC:0FF22H,字形口PB:0FF21H;(4)通讯约定:异步方式,字符8位,一个起始位,一个停止位,波特率因子为16,波特率为9600;(5)计算T/RXC,收发时钟fc,fc=16*9600=153.6K;(6)8253分频系数:1843.2K/153.6K=12。五、实验步骤1.准备好2台实验仪器,确定1#机发送,2#机接收。2.2台仪器的TXD、RXD交叉相连,且共地,2#机实行3线通信。3.2#机“P.”状态下,输入F000,F1、9500、EXEC进入等待接收状态,显示“8251-2”。4.1#机“P.”状态下,输入F000、F1、9300、EXEC进入串行发送状态,显示“8251-1”。5.在1#机键盘上按动数字键,2#机显示出对应数字,1#机上,按动0、1、2、3、A、B键则2#机上显示“0123Ab”。当1#机按MON键时,1#机显示“Good”,此时可退出程序运行。实验八D/A转换实验一、实验目的了解数/模转换的基本原理,掌握DAC0832芯片的使用方法。二、实验内容利用0832通过D/A转换交替产生方波和锯齿波。三、实验接线图图1四、编程指南⑴首先须由CS片选信号确定量DAC寄存器的端口地址,然后锁存一个数据通过0832输出,典型程序如下:MOVDX ,DAPORT ;0832口地址 MOVAL,DATA ;输出数据到0832 OUTDX,AL⑵产生波形信号的周期由延时常数确定。五、实验程序框图六、实验步骤脱机步骤:⒈ 0832片选信号CS5插孔和译码输出FF80H插孔相连。⒉ 连JX2→JX0。⒊ 运行实验程序在系统显示监控提示符“P.”时,按SCAL键,待系统返P后,输入10D0,再按EXEC键,在系统上显示执行符“┌”。⒋ 用示波器测量0832左侧AOUT插孔,应有方波和锯齿波交替输出。联机步骤:1.将通讯线的一端插入系统通讯口,另一端插入PC机的COM口,打开实验箱。双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件,屏幕显示DJ-8086k软件的工作窗口。2. 0832片选信号CS5插孔和译码输出FF80H插孔相连。3.连JX2→JX0。4.打开H0832-1.ASM程序,装载程序,连续执行程序。七、实验参考程序CODE SEGMENT ;H0832-1.ASMASSUME CS:CODEDAPORTEQU0FF80h ORG10D0hSTART: MOVAL,0FFH MOVCX,0800HDACON1: MOVDX,DAPORTOUTDX,ALPUSHCXMOVCX,0400HLOOP$POPCXNOTALLOOPDACON1MOVDX,DAPORTMOVAL,00HMOVCX,0008HMOVBX,0FFFFHDACON2: OUTDX,ALINCALDECBXCMPBX,0000HJNZDACON2LOOPDACON2JMPSTARTCODEENDSENDSTART八、学生编程、连线完成实验
实验九A/D转换实验一、实验目的了解模/数转换基本原理,掌握ADC0809的使用方法。二、实验内容利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。三、实验接线图图13-1四、编程指南⑴ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令:MOVDX,ADPORT ;ADC0809端口地址 OUTDX,AL ;发CS和WR信号并送通道地址 ⑵用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。MOVDX,ADPORT ;ADC0809端口地址 INAL,DX ⑶循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。五、实验程序框图六、实验步骤脱机步骤1.将0809CS4插孔连到译码输出FF80H插孔、连JX6→JX17。2.将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。3.运行实验程序:8086K系统显示监控提示符“P.”时,用户段地址固定为0000(省略输入),按SCAL键,输入起始偏移地址1000,按EXEC键,在系统上显示“0809XX”。“XX”表示输入模拟量转换后的数字量。4.调节电位器Wl,显示器上会不断显示新的转换结果。模拟量和数字量对应关系的典型值为:0V→00H +2.5V→80H +5V→FFH5.按RST键退出。联机步骤:1.将通讯线的一端插入系统通讯口,另一端插入PC机的COM口,打开实验箱。双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件,屏幕显示DJ-8086k软件的工作窗口。2.将0809CS4插孔连到译码输出FF80H插孔、连JX6→JX17。3.将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。4.打开程序H0809.ASM,装载程序,连续执行。5.调节电位器Wl,显示器上会不断显示新的转换结果。模拟量和数字量对应关系的典型值为:0V→00H +2.5V→80H +5V→FFH七、实验参考程序CODE SEGMENT ;H0809.ASMASSUME CS:CODEADPORTEQU0FF80hPAEQU0FF20H ;字位口PBEQU0FF21H ;字形口PCEQU0FF22H ;键入口ORG1000HSTART: JMPSTART0BUF DB?,?,?,?,?,?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: CALLBUF1ADCON: MOVAX,00 MOVDX,ADPORT OUTDX,AL MOVCX,0500H;DELAY: LOOPDELAY MOVDX,ADPORT INAL,DX CALLCONVERS CALLDISP JMPADCONCONVERS: MOVAH,AL ANDAL,0FH MOVBX,OFFSETBUF MOV[BX+5],AL MOVAL,AH ANDAL,0F0H MOVCL,04H SHRAL,CL MOV[BX+4],AL RETDISP: MOVAL,0FFH ;00H MOVDX,PA OUTDX,AL MOVCL,0DFH ;20H;显示子程序,5ms MOVBX,OFFSETBUFDIS1: MOVAL,[BX] MOVAH,00H PUSHBX MOVBX,OFFSETDATA1 ADDBX,AX MOVAL,[BX] POPBX MOVDX,PB OUTDX,AL MOVAL,CL MOVDX,PA OUTDX,AL PUSHCXDIS2: MOVCX,00A0H LOOP$ POPCX CMPCL,0FEH JZLX1 INCBX RORCL,1 JMPDIS1LX1: MOVAL,0FFH MOVDX,PB OUTDX,AL RETBUF1: MOVBUF,00H MOVBUF+1,08H MOVBUF+2,00H MOVBUF+3,09H MOVBUF+4,00H MOVBUF+5,00H RETCODEENDSENDSTART八、学生自己编程完成实验实验十、8237DMA传送实验一、实验目的1.掌握DMA方式的工作原理和8237DMA控制器的编程使用方法。2.掌握如何在实验系统环境下,使用DMA的CH0进行数据传送。二、实验内容利用本实验系统提供的8237A-5DMA控制的CH0,实现DMA的内存到内存的读、写传送,采用DMA软件请求,把内存中3000H~4FFFH单元内容传送到5000H~6FFFH单元中。三、编程指南1、8237A引脚图2、8237A的内部寄存器格式⑴8237A控制寄存器格式(2)8237A模式寄存器格式(3)8237A状态寄存器格式(4)请求寄存器和屏蔽寄存器格式(5)多通道屏蔽寄存器格式(6)8237A端口地址3、8237A的初始化编程⑴命令字写入控制寄存器⑵方式字写入模式寄存器⑶屏蔽字写入屏蔽寄存器⑷写先/后触发器⑸写入基地址和当前地址寄存器以及基字节和当前字节计数器。⑹写入请求寄存器如果采用软件DMA请求,在适当的时候令通道的请求触发器置1。四、实验接线图五、实验步骤连CS10到FF80H,在系统内存3000H~4FFFH单元中填充10,11,12,13……,运行程序8237·ASM或在实验系统处于P态下,按SCAL键,然后在系统内存3000H~4FFFH单元中填充10,11,12,13……,输入2860,按EXEC键即可,当系统显示“8237——good”表示DMA传送结束,按RST钮,返回P态,用内存读写命令检查5000H~6FFFH单元内容是否和3000H~4FFFH单元内容相一致,验证其正确性。六、实验参考程序;8237.ASM,MOV:RAMFROM3000HTO5000H ;BYTE-MOVCODE SEGMENTASSUME CS:CODEPCTLEQU 0FF23H ;控制口PAEQU 0FF20H ;字位口PBEQU 0FF21H ;字形口PCEQU 0FF22H ;键入口CLEARF EQU 0FF8CHCH0A EQU 0FF80hCH1AEQU 0FF82HCH1C EQU 0FF83HMODE EQU 0FF8BHCMMD EQU 0FF88HMASKS EQU 0FF8FHREQ EQU 0FF89HSTATUS EQU 0FF88Hrst equ 0FF8dhLATCH EQU 9000HORG 2860H ;FORMEPROMFILE(.COM),SETORG=0100HSTART:JMPSTART0BUFDB?,?,?,?,?,?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: MOVSI,3000H MOVDI,5000H MOVCX,1FFFH MOVAL,00 MOVDX,LATCH OUTDX,AL NOP NOP movdx,rst outdx,al MOVDX,CLEARF OUTDX,AL MOVAL,0FH ;MASK_CH_0-3 MOVDX,MASKS OUTDX,AL NOP NOP MOVDX,CH0A ;L-SAD MOVAX,SI OUTDX,AL MOVAL,AH OUTDX,AL NOP NOP MOVDX,CH1A ;L-DAD MOVAX,DI OUTDX,AL MOVAL,AH OUTDX,AL NOP NOP MOVAX,CX ;COUNT MOVDX,CH1C OUTDX,AL MOVAL,AH OUTDX,AL MOVAL,48H ;P_MODE MOVDX,MODE OUTDX,AL MOVAL,45H OUTDX,AL MOVAL,01H ;ON-8237 MOVDX,CMMD OUTDX,ALL1: MOVAL,0EH ;UNMASK_CH_0 MOVDX,MASKS OUTDX,AL MOVAL,04H ;START_DMA_TRANSFER MOVDX,REQ OUTDX,AL MOVDX,STATUS NOP NOPWAIT1: INAL,DX TESTAL,03H JZWAIT1 MOVDX,CH1C INAL,DX MOVAH,AL INAL,DX CMPAX,0FFFFH JNZL1 CALLBUF1 MOVCX,0080HL2: PUSHCX CALLDISP POPCX LOOPL2 CALLBUF2L3: CALLDISP JMPL3CMP1: MOVDX,CH0A CALLCMP10 MOVSI,AX MOVDX,CH1A CALLCMP10 MOVDI,AX MOVAX,[SI] CMP[DI],AX RETCMP10: INAL,DX MOVBL,AL INAL,DX MOVAH,AL MOVAL,BL DECAX RETERR: CALLBUF3ERR0: CALLDISP JMPERR0DISP: MOVAL,0FFH ;00H MOVDX,PA OUTDX,AL MOVCL,0DFH ;20H;显示子程序,5ms MOVBX,OFFSETBUFDIS1: MOVAL,[BX] MOVAH,00H PUSHBX MOVBX,OFFSETDATA1 ADDBX,AX MOVAL,[BX] POPBX MOVDX,PB OUTDX,AL MOVAL,CL MOVDX,PA OUTDX,AL PUSHCXDIS2: MOVCX,00A0HDELAY: LOOPDELAY POPCX CMPCL,0FEH JZLX1 INCBX RORCL,1 JMPDIS1LX1: MOVAL,0FFH MOVDX,PB OUTDX,AL RETBUF1: MOVBUF,08H MOVBUF+1,02H MOVBUF+2,03H MOVBUF+3,07H MOVBUF+4,17H MOVBUF+5,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度临时科研助手聘用合同书3篇
- 2024年度亲子活动赞助商合同2篇
- 2024年度大棚蔬菜种植与农业产业扶贫服务合同3篇
- 2024年度展会现场消防设施检测与维护服务合同3篇
- 2024年度直系亲属间房产交易安全保障协议书3篇
- 2024年教师兼职工作合同范本(高校教师专用)3篇
- 2024年人才招聘与员工福利待遇合同3篇
- 2024年新能源电池原材料供应及运输管理协议3篇
- 2024年度房地产业务员招聘合同3篇
- 2024年度个人融资租赁贷款委托合同3篇
- DB32T 4132-2021 城乡污泥(淤泥)烧结节能砖自保温墙体系统应用规程
- 元旦晚会主持词(合集15篇)
- 出纳移交工作明细表(标准通用)
- 地基处理记录表
- 形式与政策论文
- 人教版八年级人文地理下册知识点整理(2021版)
- (历年中考)江苏省苏州市中考数学试题含答案
- 低压铸造典型缺陷及防止
- 2015年日历表(超清晰A4打印版)
- 健康证体检表
- 广东省涉水建设项目洪水影响评价 - gd
评论
0/150
提交评论