微机实验报告_第1页
微机实验报告_第2页
微机实验报告_第3页
微机实验报告_第4页
微机实验报告_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术实验报告姓名:学号:08212023班级:自动化0801指导教师:付文秀实验一交通灯控制实验一、实验目的 通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。二、实验内容 实验内容,如图1连接电路,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连,编程使六个灯按交通灯变化规律亮灭。图1连接图要求:十字路口交通灯的变化规律要求:〔1〕南北路口的绿灯、东西路口的红灯同时亮30秒左右。〔2〕南北路口的黄灯闪烁假设干次,同时东西路口的红灯继续亮。〔3〕南北路口的红灯、东西路口的绿灯同时亮30秒左右。〔4〕南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁假设干次。〔5〕转〔1〕重复。三、实验流程图开始开始设置8255A口输入,C口输出南北路口绿灯亮,东西路口红灯亮长延时南北路口黄灯闪,东西路口红灯亮南北路口红灯亮,东西路口绿灯亮长延时南北路口红灯亮,东西路口黄灯闪是否有键按下返回DOSNY图2流程图四、试验程序:datasegmentpcequ0c40ahpdequ0c40bhdataendsstack1segmentstackdw100Hdup(?)stack1endscodesegmentassumecs:code,ds:data,ss:stack1start:movdx,datamovds,dx;初始化moval,80hmovdx,pdoutdx,als:moval,24hmovdx,pcoutdx,alcalldelay3;南北绿灯亮、东西红灯亮3秒movcx,6y1:moval,44houtdx,alcalldelay1moval,04houtdx,alcalldelay1loopy1;南北绿灯灭,南北黄灯闪,东西红灯亮moval,81houtdx,alcalldelay3;东西红灯灭,南北红灯、东西绿灯亮3秒movcx,6y2:moval,82houtdx,alcalldelay1moval,80houtdx,alcalldelay1loopy2;东西绿灯灭,东西黄灯闪,南北红灯亮movdl,0ffhmovah,6int21hjzsmovah,4chint21h;查询是否有键按下delay3proc;延时3秒子程序pushcxpushaxmovcx,0afffht1:movax,0ffffht2:decaxjnzt2loopt1popaxpopcxretdelay3endpdelay1proc;延时半秒子程序pushcxpushaxmovcx,1d55ht3:movax,0ffffht4:decaxjnzt4loopt3popaxpopcxretdelay1endpcodeendsendstart五、实验步骤〔1〕将PC总线接口卡插在任意扩展槽中〔已接好〕。〔2〕用50芯线扁平电缆线连接接口卡和实验台。〔3〕如图1所示连接线路。〔4〕翻开实验箱电源,启动TCP-2003实验系统软件环境。〔5〕测试8255、LED和串口是否完好。六、实验现象:南北路口的绿灯、东西路口的红灯同时亮3秒左右,然后南北路口的黄灯闪烁假设干次,东西路口的红灯继续亮,接着南北路口的红灯、东西路口的绿灯同时亮3秒左右,然后南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁假设干次。如此循环。结果与实验要求相符。七、实验心得本实验的重要一局部就是延时子程序,编写程序时候要根据流程图,这样就从一定程度上简化了实验,还有就是实验的调试过程,一定要细心又有耐心实验二可编程定时器/计数器〔1〕一、实验目的掌握8253的根本工作原理和编程方法二、实验内容1、按电路图虚线连接电路,将计数器0设置为方式0,计数器初值N〔N≤0FH〕,用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化〔当输入N+1个脉冲后OUT0变高电平〕。实验电路图:三、试验流程图开始开始设计数器为工作方式0送计数器初值读计数器初值显示计数值有键按下吗结束YN四、实验程序:CODESEGMENTASSUMECS:CODESTART:MOVDX,0C403HMOVAL,10H;设置计数器0工作方式0OUTDX,ALMOVDX,0C400HMOVAL,03H;设置N为3〔可更改设置〕OUTDX,ALL1:MOVDX,0C400HINAL,DX;读计数器0的计数值ANDAL,0FH;屏蔽高四位CMPAL,09HJLEL2ADDAL,07HL2:ADDAL,30H;判断大小并将其变为ASCII码MOVDL,ALMOVAH,02HINT21H;2号功能显示计数值MOVDL,0DH;回到本行最前面MOVAH,02HINT21HMOVDL,0FFHMOVAH,06HINT21H;6号功能输入任意字符JZL1;无键按下,执行L1循环MOVAH,4CH;INT21HCODEENDS;结束ENDSTART五、实验结果及分析:程序运行之后逻辑笔代表低电平的绿灯亮,当按下脉冲按键后,屏幕上会显示数字3,每按一下按键数字就会减1,直到为0,且同时指示灯由绿灯变成红灯。计数脉冲由CLK端输入,计数初值写入16位计数初值存放器,并加载到16位减‘1’计数执行部件。方式0计数工程中,OUT一直保持低电平,直到计数达‘0’,OUT输出由低电平变为高电平。可编程定时器/计数器〔2〕一、实验目的掌握8253的根本工作原理和编程方法二、实验内容按图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化〔频率为1Hz〕电路图:三、实验流程图:开始开始设计数器0为工作方式3向计数器送初值1000先送低字节后送高字节设计数器1为工作方式2向计数器1送初值1000先送低字节后送高字节结束四、实验程序:CODESEGMENTASSUMECS:CODESTART:MOVAL,36H;计数器0为工作方式3,先读低字节再读高字节MOVDX,0C403HOUTDX,ALMOVAX,1000;设置计数初值MOVDX,0C400HOUTDX,ALMOVAL,AHOUTDX,AL;送计数初值至计数器0MOVAL,76H;计数器1工作方式3MOVDX,0C403HOUTDX,ALMOVDX,0C401HMOVAX,1000;设置计数初值OUTDX,ALMOVAL,AHOUTDX,ALMOVAH,4CH;返回操作系统INT21HCODEENDSENDSTART五、实验结果:计数器0输入1MHz作为时钟,工作在方式3方波发生器,计数初值为1000,输出1000Hz的方波,此方波做为计数器1的时钟接入,而计数器1也工作在方式3方波发生器,输出1Hz的方波,用逻辑笔观观察到的现象为红、绿灯不停交替闪烁。实验三中断实验一、实验目的1、掌握PC机中断处理系统的根本原理2、学会编写中断效劳程序二、实验原理与内容1、实验原理PC机用户可使用的硬件中断只有可屏蔽中断由8259中断控制器管理中断控制器用于接收外部的中断请求信号经过优先级判别等处理后向CPU发出可屏蔽中断请求IBMPC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源中断源中断类型号中断功能IRQ008H时钟IRQ109H键盘IRQ20AH保存IRQ3OBH串行口2IRQ40CH串行口1IRQ50DH硬盘IRQ60EH软盘IRQ70FH并行打印机8个中断源的中断请求信号线IRQ0IRQ7在主机的62线ISA总线插座中可以引出系统已设定中断请求信号为边沿触发普通结束方式对于PC/AT及286以上微机内又扩展了一片8259中断控制IRQ2用于两片8259之间级连对外可以提供16个中断源中断源中断类型号中断功能IRQ8070H实时时钟IRQ9071H用户中断IRQ10072H保存IRQ11O73H保存IRQ12074H保存IRQ13075H协处理器IRQ14076H硬盘IRQ15077H保存PCI总线中的中断线只有四根INTA#INTB#INTC#INTD#它们需要通过P&P的设置来和某一根中断相连接才能进行中断申请2、实验内容实验电路如图5-8直接用手动产单脉冲作为中断请求信号只需连接一根导线要求每按一次开关产生一次中断在屏幕上显示一次TPCpcicardInterrupt中断10次后程序退出编程提示:1.由于9054的驱动程序影响直写9054芯片的控制存放器,中断实验需要在纯DOS的环境中才能正常运行。2.由于TPC卡使用PCI总线,所以分配的中断号每台微机可能都不同,编程时需要了解当前的微机使用那个中断号并进行设置。获取方法是在纯DOS环境中,运行一个读PCI配置空间的程序“PORTR.EXE〞,该程序能够获得本机TPC板卡或所有PCI板卡的硬件资源,如IO、内存、中断占用情况。然后根据获得的中断请求号码来修改程序中的中断向量、中断掩码的参数,并重新编译链接后即可。3.由于TPC卡使用9054芯片连接微机,所以在编程使用微机中断前需要使能9054的中断功能代码如下:movdx,ioport_cent+68h;设置tpc卡中9054芯片io口,使能中断inax,dxorax,0900houtdx,ax其中IOPORT_CENT是9054芯片存放器组的I/O起始地址,每台微机可能都不同,编程时需要了解当前的微机使用哪段并进行设置,获取方法请参看汇编程序使用方法的介绍。+68H的偏移是关于中断使能的存放器地址设置含义如下:设置INTCSR(68H)存放器中断模式设置BITS功能81:能够产生PCI中断0:禁止产生PCI中断111:能够LOCAL端输入的中断送到PCI端0:禁止LOCAL端输入的中断送到PCI端其它位为零即可更多内容参看9054芯片数据手册三、实验流程图四、实验程序;386以上微机适用;纯dos下才能使用;tasm4.1或以上编译datasegmentint_vectEQU071H;中断0-7的向量为:08h-0fh,中断8-15的向量为:70h-77hirq_mask_2_7equ011111011b;中断掩码,中断0-7时从低至高相应位为零,中断8-15时第2位为零irq_mask_9_15equ011111101b;中断0-7时全一,中断8-15时从低至高相应位为零ioport_centequ0d800h;tpc卡中9054芯片的io地址csregdw?ipregdw?;旧中断向量保存空间irq_timesdw00h;中断计数msg1db0dh,0ah,'TPCpcicardInterrupt',0dh,0ah,'$'msg2db0dh,0ah,'Pressanykeytoexit!',0dh,0ah,'$'msg3db0dh,0ah,'PressDMCtointerrupt10timesandexit!',0dh,0ah,'$'dataendsstackssegmentdb100dup(?)stacksendscodesegmentassumecs:code,ds:data,ss:stacks,es:datastart:;EnableLocalInterruptInput.386climovax,datamovds,axmoves,axmovax,stacksmovss,axmovdx,ioport_cent+68h;设置tpc卡中9054芯片io口,使能中断inax,dxorax,0900houtdx,axmoval,int_vect;保存原中断向量movah,35hint21hmovax,esmovcsreg,axmovipreg,bxmovax,cs;设置新中断向量movds,axmovdx,offsetint_procmoval,int_vectmovah,25hint21hinal,21h;设置中断掩码andal,irq_mask_2_7out21h,alinal,0a1handal,irq_mask_9_15out0a1h,almovax,datamovds,axmovdx,offsetmsg2movah,09hint21hmovdx,offsetmsg3movah,09hint21hmovirq_times,0ahstiloop1:cmpirq_times,0;等待中断并判断中断10次后退出jzexitmovah,1int16hjnzexit;按任意键退出jmploop1exit:climovbl,irq_mask_2_7;恢复中断掩码notblinal,21horal,blout21h,almovbl,irq_mask_9_15notblinal,0a1horal,blout0a1h,almovdx,ipreg;恢复原中断向量movax,csregmovds,axmovah,25hmoval,int_vectint21hmovdx,ioport_cent+68h;设置tpc卡中9054芯片io口,关闭中断inax,dxandax,0f7ffhoutdx,axmovax,4c00hint21hint_procprocfar;中断处理程序clipushaxpushdxpushdsdecirq_timesmovax,data;Interrupttodomovds,axmovdx,offsetmsg1movah,09hint21hmoval,20h;SendEOIout0a0h,alout20h,alpopdspopdxpopaxstiiretint_procendpcodeendsendstart五、实验现象每按下一次中断按钮,产生中断并在电脑屏幕上显示一次中断信息,当中断十次后,那么结束程序,回到DOS界面。六、实验心得中断实验相对来说是比拟难的一次实验,它要求在纯DOS界面下执行,因此得用DOS命令调用程序,并进行编译链接执行。这就增加了本来已经熟悉的实验软件操作的难度。在实验中,需注意以下几个问题:要装入新的中断前需将该处原中断取出保存,当用完后还需再次把原中断装入,以防止原中断内容被覆盖或者发生改变。在本次实验中还需将用到的仪器先使能,否那么无法正常工作。中断需要用的堆栈段,因此必须定义足够的堆栈段。实验四模/数转换器一、实验目的了解模/数转换的根本原理,掌握ADC0809的使用方法。二、实验内容实验电路原理图如图5-5。通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),编程采集IN0输入的电压,在屏幕上显示出转换后的数据〔用16进制数〕图5-5模数转换电路三、实验提示1.ADC0809的IN0口地址为298H,IN1口地址为299H。2.IN0单极性输入电压与转换后数字的关系为:NUU256iREF=其中Ui为输入电压,UREF为参考电压,这里参考电压为PC的机+5V电源。3.一次A/D转换的程序可以为MOVDX,口地址;启动转换OUTDX,AL;延时INAL,DX;读取转换结果放在AL中四、实验流程图五、实验程序STACK1SEGMENTPARASTACKDW100DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,SS:STACK1START:MOVDX,0C418H;ADC0809地址为0C410HMOVAL,0;向其地址写入0,启动ADC0809进行模数转换OUTDX,ALMOVCX,0FFFH;延时,使ADC0809完成转换T1:MOVDI,0FFFFHT2:DECDIJNZT2LOOPT1INAL,DX;将转换结果读进来MOVBL,AL;将数据的高,低位存入BL位存入ALANDAL,11110000BANDBL,00001111BMOVCL,4SHRAL,CLCMPAL,0AH;比拟AL的值与0AH的大小JAEL0;假设大于等于0AH转L0ADDAL,30H;假设小于0AH加30H转换成它的ASCII码JMPL1L0:ADDAL,37H;大于0AH时加37H转换成它的ASCII码L1:CMPBL,0AH;比拟BL的值与0AH的大小JAEL2;假设大于等于0AH转L2ADDBL,30H;假设小于0AH加30H转换成它的ASCII码JMPL3L2:ADDBL,37HL3:MOVDL,AL;2号功能调用,显示高位MOVAH,02HINT21HMOVDL,BL;显示低位MOVAH,02HINT21HMOVDL,13;回车MOVAH,02HINT21HMOVDL,10;换行MOVAH,02HINT21HMOVDL,0FFH;按任意键退出MOVAH,06HINT21HJZSTARTMOVAH,4CHINT21HCODEENDSENDSTART六、实验现象调节滑动变阻器,屏幕上显示的数值〔00~FF〕随着电阻的改变而改变,并且是整屏幕显示。七、实验心得本次实验是将电压值经过AD后把模拟量变化为了数字量,使得表示更精确了,也方便于读数。启动转换后需要等待一段时间,以防还没有转换好就读出结果,造成错误。输出结果要求用16进制显示,因此还需将结果转换为对应的ASCII码。实验五串行通信实验目的掌握串行接口芯片8250的根本原理和编程方法熟悉PC机串行的根本连接方法进一步了解串行通信的根本原理实验内容PC机RS-232串口自发自收自发自收实验:将RS232C的DB9的电缆插头第2脚和第3脚短接,然后编程实现。2台PC的串行通信:用RS232C的DB9的电缆〔交叉线〕将两台机器连接,然后编程实现收发数据。三、硬件连接四、实验程序1-单机通信〔自发自收〕CODESEGMENT ASSUMECS:CODESTART: MOVAL,10000000B ;8250初始化,设DLAB=1 MOVDX,3FBH OUTDX,AL MOVAX,30H ;写入除数低字节 MOVDX,3F8H OUTDX,AL MOVAL,AH ;写入除数高字节 MOVDX,3F9H OUTDX,AL MOVAL,00001010B ;7位数据,1位停止,奇校验 MOVDX,3FBH OUTDX,AL ;写入线路控制存放器 MOVAL,00010000B ;自检控制 MOVDX,3FCH OUTDX,AL ;写入Modem控制存放器 MOVAL,0 MOVDX,3F9H OUTDX,AL ;写中断允许存放器,屏蔽中断WAIT_FOR: MOVDX,3FDH ;读线路状态存放器 INAL,DX TESTAL,00011110B ;出错否 JNZERROR ;出错,转ERROR TESTAL,00000001B ;接收数据就绪否 JNZRECEIVE ;就绪,转接受 TESTAL,00100000B ;发送存放器空否,不空,返回等待 JZWAIT_FOR MOVAH,1 INT21H ;读键盘 MOVDX,3F8H ;发送 OUTDX,AL JMPWAIT_FOR ;返回等待RECEIVE:PUSHCXPUSHAXMOVCX,02000HT1:MOVAX,0FFFFHT2:DECAXJNZT2LOOPT1;延时程序 MOVDX,3F8H ;读接收数据 INAL,DX ANDAL,01111111B ;保存7位数据 CMPAL,03H ;是Ctrl+C? JNZCHAR MOVAH,4CH ;返回DOS INT21HCHAR:PUSHAX MOVDL,AL MOVAH,2H ;显示接收字符 INT21H POPAX JMPWAIT_FOR ;返回等待ERROR:MOVDX,3FDH ;出错那么去除线路状态存放器 INAL,DX MOVDL,'?' ;显示'?' MOVAH,02H INT21H JMPWAIT_FORCODEENDS ENDSTART2-双机通信发送程序:CODESEGMENT ASSUMECS:CODESTART: MOVAL,80H ;8250初始化,设DLAB=1 MOVDX,3FBH OUTDX,AL MOVAX,0030H MOVDX,3F8H OUTDX,AL ;写入除数低字节 MOVAL,AH MOVDX,3F9H OUTDX,AL ;写入除数高字节 MOVAL,0AH ;7位数据,1位停止,奇校验 MOVDX,3FBH OUTDX,AL ;写入线路控制存放器 MOVAL,03H ;数据终端就绪,请求发送数据 MOVDX,3FCH OUTDX,AL ;写入Modem控制存放器 MOVAL,0 MOVDX,3F9H OUTDX,AL ;写中断允许存放器,屏蔽中断WAIT_FOR: MOVDX,3FDH ;读线路状态存放器 INAL,DX TESTAL,00100000B ;发送存放器空否,不空,返回等待 JZWAIT_FORSEND: MOVAH,1 INT21H CMPAL,21H JZEXIT MOVDX,3F8H ;读键盘,假设是'!',返回DOS,假设不是,那么发送 OUTDX,AL JMPWAIT_FOR ;返回等待EXIT: MOVAX,4C00H INT21HCODEENDS ENDSTART接收程序:CODESEGMENT ASSUMECS:CODESTART: MOVAL,80H ;8250初始化,设DLAB=1 MOVDX,3FBH OUTDX,AL MOVAX,0030H MOVDX,3F8H OUTDX,AL ;写入除数低字节 MOVAL,AH MOVDX,3F9H OUTDX,AL ;写入除数高字节 MOVAL,0AH ;7位数据,1位停止,奇校验 MOVDX,3FBH OUTDX,AL ;写入线路控制存放器 MOVAL,03H ;数据终端就绪,请求发送数据 MOVDX,3FCH OUTDX,AL ;写入Modem控制存放器 MOVAL,0 MOVDX,3F9H OUTDX,AL ;写中断允许存放器,屏蔽中断WAIT_FOR: MOVDX,3FDH ;读线路状态存放器 INAL,DX TESTAL,00000001B ;接收数据就绪否 JNZRECEIVE ;转接收 JMPWAIT_FOR ;返回等待RECEIVE: MOVDX,3F8H ;读接收数据 INAL,DX ANDAL,01111111B ;保存7位数据 CMPAL,21H ;是'!'? JNZCHAR MOVAX,4C00H ;返回DOS INT21HCHAR: PUSHAX MOVDL,AL MOVAH,2 ;显示接收字符 INT21H POPAX JMPWAIT_FOR ;返回等待CODEENDS ENDSTART实验现象及分析:自发自收:当把2口和3口用跳线连上时,输入带屏幕显示字符后,屏幕上会出现两个相同的字符,当把跳线拔出,屏幕上显示一个字符,因为此时不能接收,只显示发送字符。双机通信:发送机发出一个字符,接收机屏幕上会显示该字符。当发送字符为“!〞时,程序停止运行六、实验心得:自发自收程序相对较难,但是课本上有例题,根据课本山东各程序改编,相对降低了难度,刚开始的时候,无论怎么调试,输入一个字符,屏幕上总会出现两个字符,即便是在拔掉2、3间的跳线的情况下,刚开始疑心是程序有问题。找老师过来看看,老师说可能是机子的问题,后来换台机子就好使了,真的很令人无语。。。接下来做双机通信就较为顺利。实验六抢答器一、实验目的1、了解微机化竞赛抢答器的根本原理。2、进一步学习使用并行接口。二、实验内容下列图为竞赛抢答器〔模拟〕的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1〞时,相当某组抢答按钮按下。在七段数码管上将其组号〔0~7〕显示出来,并使喇叭响一下。从键盘上按空格键开始下一轮抢答,按其它键程序退出。三、编程分析1、设置8255为C口输入、A口输出,读取C口数据,假设为0表示无人抢答,假设不为0那么有人抢答。根据读取数据可判断其组号。从键盘上按空格键开始下一轮抢答,按其它键程序退出。2、计算组号的算法:组号=C口数据连续除以2得到商为零的除法运算次数MOVAH,0MOVDL,2MOVCL,0JISUAN:DIVDLINCCLCMPAL,0JNZJISUANDECCLMOVAL,CL3、响铃的DOS功能调用:MOVDL,7;响铃ASCII码为07MOVAH,2INT21H程序设计流程图五、汇编语言程序DATASEGMENTLISTDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H DATAENDSSTACK1SEGMENTSTACKKDW200DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START: MOVAX,DATA;初始化数据 MOVDS,AXMOVAX,STACK1MOVSS,AXMOVDX,0C40BH;初始化8255,设定C口输入、A口输出 MOVAL,10001001B OUTDX,ALBIN: MOVDX,0C408H;去除A口,消除影响MOVAL,0 OUTDX,ALL1: MOVDX,0C40AH ;读入C口 INAL,DX CMPAL,0;与0比拟,为零那么循环等待 JZL1 MOVDL,0CNT: SHRAL,1 ;逻辑判断抢答组号 JZOP INCDL JMPCNTOP: MOVAL,DL MOVBX,OFFSETLIST XLAT ;查表指令,计算物理地址 MOVDX,0C408H OUTDX,AL;A口输出RING: MOVDL,7;ASCII码为07,响铃 MOVAH,2 INT21H L2: MOVAH,08H INT21H CMPAL,20H;检测空格键下一轮抢答 JZBINMOVAH,4CH INT21HCODEENDSENDSTART实验现象及分析:初始状态为数码管全亮。拨下任一开关后,铃响,同时数码管显示该组的组号。按空格键,恢复到初始状态七、实验心得:组号的计算跟显示是个难点,首先是计算,要用到移位、循环、比拟,显示那么要用到查表,所以看似简单的抢答器程序设计其实并不简单,因为覆盖的知识点较多,但是,经过前几次的实验,这几方面都已经经受屡次考验了,总体上也不算难。实验七自主设计实验——循环彩灯电路一、实验目的:通过自主设计实验,使我们在完成实验的根底上提高自己提出问题解决问题的能力二、实验原理:本实验中,我们用到了实验箱中的8255以及八个LED灯;实验箱中,8255控制存放器地址:0C40BH,A口地址:04C408H,C口地址:04C40AH,我们使用8255的C口作为输出,实验中没有用到A口和B口;实验中循环彩灯的循环:第一次,从右至左,彩灯一次亮过去,第二次,从右至左,第1、3、5、7个灯亮;以此为整个循环,直到有键按下,循环跳出。实验原理图如下所示:L0L1L2L3L4L5L6L7L0L1L2L3L4L5L6L7PC0PC18255PC2PC3PC4PC5PC6PC0PC18255PC2PC3PC4PC5PC6PC7CS288h~28FhCS三、编程分析:〔1〕对8255初始化〔2〕通过右移循环输出高电平,使彩灯依次亮四、实验流程图:开始开始返回DOS设置8255C口输出彩灯顺次亮隔灯亮有键按下吗?YN五、实验程序STACKSEGMENTDB100DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKDYPROCNEARPUSHAXPUSHCXMOVAX,0FFFFH;延时程序MOVCX,02FFFHL0:DECAX

温馨提示

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

评论

0/150

提交评论