微机系统及应用实验

上传人:yx****d 文档编号:242870893 上传时间:2024-09-10 格式:PPT 页数:40 大小:536KB
返回 下载 相关 举报
微机系统及应用实验_第1页
第1页 / 共40页
微机系统及应用实验_第2页
第2页 / 共40页
微机系统及应用实验_第3页
第3页 / 共40页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,微机系统及应用实验,实验一 基本I/O端口应用实验,实验二 LCD 应用实验,实验三 可编程并行接口实验(8255),实验四 计数器定时器实验(8253),实验五 键盘与显示器实验,实验六 中断系统实验 (8259),实验七 A/D转换实验 (ADC0809),实验八 D/A转换实验 (DAC0832),1,实验一 基本,I/O,端口应用实验,一、 实验目的,掌握基本并行接口的工作原理及使用方法。,二、 实验内容,1基本的并行输出接口电路:将JS4的I/O 端口地址(280287)连接到DRV模块的JS6,然后将锁存器的输出(74LS273)Q0Q7,通过JS5一一对应连接到LED显示电路的JS2上。然后在DOS 方式下 运行DEBUG调试程序。进入 DEBUG 后,用输出命令 “O” 验证其正确性。,格式为: O 280 FF(00),编程:从键盘输入一个字符或数字,将其该字符或数字的ASIIC码通过该输出接口电路输出到 LED ,通过发光二极管的 “亮”或“灭” 验证其正确性。,2,基本I/O并行输出接口,3,2基本的并行输入接口电路:将JS4的I/O 端口地址(280287)连接到DRV模块的JS8,然后将驱动器(74LS245)的输入B0B7通过JS7一一对应连接到JS3的K0K7。然后在DOS 方式下运行DEBUG调试程序。进入DEBUG后,用输入命令 “I” 验证其正确性。,格式为: I 280 ,编程:通过逻辑电平开关预置某字符或数字的ASIIC码值。通 过该 输入接口电路将其对应的字母显示在计算机屏幕上。,4,基本I/O并行输入接口,5,ASCII代码表,128种字符:95个可见字符,33个控制字符;,制码,6,实验二 LCD 应用实验,一 实验目的,了解字符液晶的使用方法。,二 实验内容,编写程序在LCD上显示一串字符。,三 实验原理,LCD主要由LCD显示屏(LCD PANEL)、控制器(Controller)、列驱动器(Segment Driver)和偏压产生电路组成。,EDM1602为16x2的字符液晶。控制器由指令寄存器IR,数据寄存器DR,忙标志BF,地址计数器AC,DDRAM,CGROM,CGRAM以及时序发生电路组成,。,7,管脚号,符 号,功 能,1,Vss,电源地(GND),2,Vdd,电源电压(+5V),3,Vee,LCD驱动电压(可调),4,RS,输入口,输入MPU选择模块内部寄存器类型号:,RS=0,当MPU进行写模块操作,指向指令寄存器;,当MPU进行读模块操作,指向地址计数器;,RS=1,无论MPU进行读操作还是写模块,均指向数据寄存器,5,R/W,输入口,输入MPU选择读/写模块操作信号,R/W=0 读操作; RW=1 写操作,6,E,输入口,输入MPU读/写模块操作使能信号:,读操作时,信号下降沿有效;写操作时,高电平有效,7-14,DB0-DB7,输入/输出口,MPU与模块之间的数据传送通道,LCD引脚功能列表,8,将模块的控制线CS,WR,RD及地址线A0,A1与ISA槽中对应插孔用导线连接。编写程序,。,9,三. 编程提示,首先需要把控制字写入指令寄存器IR,对LCD进行初始设置,然后把数据(字符串)输入到数据寄存器,完成显示.,10,下面是一个简单的在LCD 上显示一串字符串 “012”的程序片断。,outportb(0xc400,0x06); 设定输入模式,AC自动加1,显示不位移,delay(100); 延时,outportb(0xc400,0x0f); 显示开关控制,开显示,delay(100); 延时,outportb(0xc400,0x01); 清显示,delay(100); 延时,outportb(0xc400,0x38); 功能设置,8位数据宽度,液晶2行显示,delay(100); 延时,outportb(0xc401,0x30); 显示 “ 0 ”,delay(100); 延时,outportb(0xc401,0x31); 显示 “1”,delay(100); 延时,outportb(0xc401,0x32); 显示 “ 2 ”,11,实验三 可编程并行接口实验(8255),一 实验目的,(1)熟练掌握8255并行接口芯片的基本功能及工作原理。,(2)掌握8255的三种工作方式及其初始化编程的方法。,(3)学会利用8255来构成实用的并行接口电路的方法,。,二 实验内容,(1),将8255端口B的PB,0,PB,7,(JS,13,)做为输入,连接,到逻辑电平开关K,0,K,7,(JS,3,)上,将8255端口A的,PA,0,PA,7,(JS,12,)做为输出连接到发光二极管的L,1-,L,8,(JS,2,)。编程要求:当输入不是全“0”时,输出与,输入保持一致。当输入为全“0”时,A口输出发光二极,管闪烁告警信号。,12,13,在DEBUG状态下,验证8255的A口和B口输入/输出功能的正,确性。其格式如下:, O 283 82 (写控制字), I 281 (读B口), O 280 00(FF) (A口输出),(2) 使用8255并行接口芯片,实现十字路口交通灯的模拟控制。,将8255端口C(JS14)的PC7、PC6、PC5与南北方向(S,JS18、NJS16)的红、黄、绿三个发光二极管分别相连。将,PC2、PC1、PC0与东西方向(EJS17、WJS15)的红、,黄、绿三个发光二极管分别相连。编程使东西和南北方向的红、,黄、绿三个指示灯的亮、灭按十字路口交通灯的变化规律进行。,14,十字路口交通灯的变化规律及控制时序:,南北路口的绿灯、东西路口的红灯同时亮20秒左右。,南北路口的黄灯闪烁大约4秒钟,同时东西路口的红灯继续亮。,南北路口的红灯、东西路口的绿灯同时亮20秒左右。,南北路口的红灯继续亮,同时东西路口的黄灯闪烁大约4秒钟。,转 重复。,15,实验四 计数器/定时器实验 (8253),一 实验目的,掌握8253的基本工作原理和编程方法。,二 实验内容,(1) 将计数器0设置为方式0,计数器初值为N(N0F)。将单,脉冲发生器的输出(JS1)与8253计数器0的CLK0(JS20),相连,将GATE0接+5V,将OUT0接发光二极管L1。然后在,DOS方式下运行DEBUG调试程序。进入DEBUG后,用输入/,输出命令验证其正确性。步骤如下:,O 283 10 (50 或 90):写控制字;,O 280 XX : 计数器赋初值;,I 280 : 读计数器值;,16,17,编程要求:用手动逐个输入单脉冲,并使计数值在屏幕上显示。同,时观察OUT0(发光二极管L1)电平变化的情况(当输,入N+1个脉冲后OUT0变为高电平)。,(2) 将计数器0和将计数器1分别设置为方式3,计数器初值,设为1000,将CLK0接1MHZ的时钟信号(JS32的/4),采用级连方式(将OUT0与CLK1相连),完成对1MHZ,时钟信号的1000000分频。,编程要求:使OUT0输出一个周期为1ms的方波(用示波器进行观察),OUT1输出频率为1HZ的脉冲信号(用发光二极管观察指,示灯的闪烁情况)。,(3) 利用8253定时器的功能,设计 一个用“分”和“秒”显示 的,电子钟(,选做,)。,18,实验五 键盘与显示器实验,一 实验目的,(1) 了解数码管显示字符的基本原理以及键盘硬件电路的工作原理。,(2) 掌握键盘扫描程序以及动态显示程序的设计方法。,二 实验内容,1. 将键盘的四条行线(JS35)分别与74LS273的Q0,Q1,Q2,,Q3(JS5)相连,JS6与JS4的280287H相连。将键盘的四条,列线(JS36)分别与74LS245的B0,B1,B2,B3(JS7)相,连,JS8与JS4的290297H相连。(也可采用8255)。然后,编写键盘扫描程序,要求当有某一键按下时,将该键所对应的字,符显示在计算机屏幕上。,19,20,2. 将数码管的 a、b、c、d、e、f、g、dp (JS33) 与 8255 A口的,PA0PA7分别一一对应相连。,静态显示,:,然后将位控制端 LED1LED4(JS34) 分别与逻辑电平开关的 K0K3 相连,在DEBUG状态下,用输出命令“O”,通过,8255的A口在数码管上显示数字 09(C0H、F9H、A4H、B0H、99H、92H、82H、F8H、FFH、90H),并通过开关来选择要显示的数码管(低电平选中,高电平禁止)。,动态显示,:,将位控端LED1LED4分别与8255C口的PC0PC3,相连。编程从计算机键盘上输入数字 09,并在数码管显示出来,(显示方式应从右到左逐个进行显示)。,3. 将44小键盘上输入的字符在4位的数码管上显示出来(选做)。,21,22,实验六,中断系统实验(8259),一.实验目的,1掌握8259中断控制器的工作原理及使用方法。,2掌握使用PC机内8259的方法,二.实验内容,编写一键盘中断处理程序计数键盘中断次数,并用该程序替换系统键盘中断处理程序。使当键盘中断产生10次以后,显示按键次数并结束应用。,23,PC机中断的过程受8259中断控制器控制。8259是专为控制优先级中断而设计的芯片,它将中断源按优先级排队、辨认中断源、提供中断向量的是路集于一体,因而中断系统无需附加任何电路,只需对8259进行编程,就可管理八级中断,并选择优先级模式和中断请求方式,即中断结构可以由用户编程来设定。,表6-1 8259内部结构和管脚图,三.实验原理,中断控制器,8259介绍,24,8259由中断请求寄存器(,IRR)、,优先级分析器、中断服务寄存器(,ISR)、,中断屏蔽寄存器(,IMR)、,数据总线缓冲器、读写电路和级连缓冲器/比较器组成。,中断请求线,IR07,输入端上的中断请求由两个级联的寄存器,IRR,和,ISR,来处理。,IRR,寄存器存放所有要求服务的中断请求,,ISR,寄存所有正在被服务的中断级。,IMR,寄存器存放被屏蔽的中断请示,该寄存器的每位表示一个中断信号,该位为1,则屏蔽该 号中断,否则开放该号中断,,IMR,对,ISR,起作用。,数据总线缓冲器是双向三态的,用于连接系统数据总线和8259内部总线,以便编程时,由,CPU,对8259写入状态字和控制字,或者对其读出。 读写控制电路用来接受,I/O,命令,对初始化命令(,ICW),寄存器和操作命令字(,OCW),寄存器进行编程写入,以规定8259的工作方式和控制模式,也可对其进行读出操作。,级联缓冲器/比较器用于多片8259的连接,以实现优先级电路最多扩展到64级,多片连接时,一个为主片,其余为从片,以接受主片发出的从片识别码,被识别的从片将被允许中断。,25,在现代PC微机系统中,系统中包含了两片8259中断控制器,经级连可以管理16级硬件中断,其中部分中断源已经被系统硬件占用。8259的端口地址为主片在020H-030H,实际使用020H和021H两个端口;从片在0A0-0BF,实际使用0A0和0A1H两个端口。,中断源,功能,中断向量号,中断源,功能,中断向量号,主8259A IRQ0,定时中断,08H,从8259A IRQ8,实时钟,70H,主8259A IRQ1,键盘中断,09H,从8259A IRQ9,保留,71H,主8259A IRQ2,接从8259A,0AH,从8259A IRQ10,保留,72H,主8259A IRQ3,COM2,0BH,从8259A IRQ11,保留,73H,主8259A IRQ4,COM1,0CH,从8259A IRQ12,保留,74H,主8259A IRQ5,硬盘/并口2中断,0DH,从8259A IRQ13,写处理器中断,75H,主8259A IRQ6,软盘,0EH,从8259A IRQ14,硬盘控制器,76H,主8259A IRQ7,打印机,0FH,从8259A IRQ15,保留,77H,表6-2 PC机系统中的硬件中断,PC机硬件中断系统,26,在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用,A0,来寻址不同的寄存器和命令字。对寄存器和命令字的访问控制如下表所示,A0,D4,D3,RD,WR,CS,操作,0,0,1,0,读出ISR,IRR的内容,1,0,1,0,读出IMR的内容,0,0,0,1,0,0,写入OCW2,0,0,1,1,0,0,写入OCW3,0,1,1,0,0,写入ICW1,1,1,0,0,写入OCW1、ICW2、ICW3、ICW4,27,CPU,在内存的前1024个字节(即地址00000003,FFH),建立了一个中断向量表,可存放256个中断向量,每个中断向量占用4个字节,前两个字节为中断服务程序的入口地址偏移量,后两个字节为段地址,取用时,这两个字节分别装入,IP,及,CS,中,以转入中断服务程序。每个中断向量用类型码加以区分,当执行中断时,,CPU,根据类型码乘4后,得到中断向量地址,进而得到,IP,及,CS,的值,它就是中断服务程序的入口地址,程序由此转入中断服务程序执行。,填写或者修改中断向量的方法位:,MOV ,中断向量*4,IP,地址,MOV ,中断向量*4+2,CS,地址,28,接口设备通过中断请求线,IRQ07,中的一条,输入中断请求信号,IRQX(X=0、17),,该信号将8259内部中断请求触发器,IRR,相应位置上。,8259收到,IRX,信号后,将其与同时申请中断的信号或正挂起的中断通过内部中断优先级分析器,分析比较优先级,如果该中断请求是唯一的,或优先级最高,则由8259的,INT,脚向8088,CPU,发出中断请求信号,INTR。,CPU,响应中断,连续发出两个,INTA,信号,第一个,INTA,信号将现行的服务寄存器,ISR,相应位置位(“1”),同时中断请求触发器,IRR,相应位置位(“0”),为本级再次中断请求作好准备,第二个,INTA,信号则要求8259输入存放中断向量号(八位)。,CPU,收到八位中断向量号后,将其乘4作为中断向量的地址。,CPU,将中断现场信息压入堆栈,标志寄存器,IF (,中断允许)位和,TF(,自陷标志)位清零,然后由取得的中断向量得到,IP,及,CS,的值。,以,CS,值为段值,,IP,为偏移值,转入中断服务程序。,硬中断的执行过程,29,键盘中断执行过程,当从键盘上键入一个键时,键盘上的单片机首先向微机产生硬件中断请求(IRQ1),然后将该键的扫描码传送给主机。而PC机在IRQ1中断的作用下,自动调用INT 09H硬件中断读入键盘的扫描码,并转换成ASCII码,存入键盘缓冲区。本试验中的键盘中断处理程序必须对键盘控制器完成键盘复位。复位键盘控制器只需读出端口61H的内容,并将最高位置1,再写入该端口。此外,按键按下和抬起均会引起中断,所以实际中断相应次数等于按键次数乘以2,30,调用新中断处理程序的准备,为了在中断时执行新的中断处理程序,主程序应做以下准备。,保存原中断向量,设置新中断向量,将,8259,屏蔽寄存器(,IMR),的相应位置,0,开中断 (等待中断),程序结束前,恢复原中断向量。,31,四. 编程提示,在实模式下,中断控制芯片,8259,的初始化已由,系统,自动完成。,取键盘中断向量:,mov ax,3509h,int 21h ; 返回参数 es:bx=中断向量,设置键盘中断向量:,mov ax,2509h,int 21h;返回参数 ds:dx=中断向量,32,中断结束,mov al,20h ;发送EOI命令,out 20h,al,33,实验七 A/D转换实验,一 实验目的,(1) 了解模/数转换的基本原理,掌握ADC0809的,使用方法。,(2) 学会编写数据采集与处理程序的方法。,二 实验内容,利用ADC0809测量外部模拟输入电压值,将结果用发光二极管LED输出,并在显示器显示采样的值。,34,三、实验原理,35,四 实验步骤,1.,将模数转换器 ADC0809 的 8位数据线(JS23)与 8255 A口的PA0PA7相连,将CLOCK接1MHZ的时钟信号(JS32的/4), 将地址锁存允许信号ALE,输出允许信号OE,启动转换信号START(JS25)分别接8255B口的PB0,PB1,PB2,转换结束信号EOC接8255C口的 PC0,将模拟通道地址选择信号 ADD-A,ADD-B, ADD-C全部接地,将 ADC0809 的模拟信号输入端IN0连到电位器RJ1的输出(JS27,05V的直流电压)。在DEBUG状态下,利用输出命令启动 A/D转换器,用输入命令读取转换结果,验证输入电压与转换后数字的关系。,36,O,283 91, :8255初始化;,O 281 FF :启动A/D转换;,I 280 :读取转换结果;,2. 编程采集IN0通道输入的电压,在计算机屏幕上显示转换后数据(用16进制数表示)。当转动电位器改变直流电压输出时,屏幕上显示的数据也应随之而改变。,37,实验八 D/A转换实验,一 实验目的,1.了解数/模转换的基本原理,掌握DAC0832的使用方法。,2.学会编写数据采集与处理程序的方法。,二 实验内容,编写产生方波,锯齿波,正旋波的程序通过D/AC0832输出,利用示波器观察波形。,38,三.实验原理,39,四.实验步骤,1. 将DAC0832的WR1接I/O端口地址290H297H,将数摸转,换器的输出OUT1(双极性)和OUT2(单极性)分别接发光二,极管L1和 L2,利用DEBUG输出命令(O 290,数据,)输出数据,给DAC0832,观察指示灯的变化或用万用表测量,当数据为FF,时OUT1和OUT2的输出都为+5V,当数据为00时OUT1的输出,为-5V, OUT2的输出为0V。,2. 编写产生方波,锯齿波,正旋波并通过DAC0832输出的程序。,3. 将DAC0832输出(OUT2)的波形作为ADC0809模拟信号输入,连到IN0,然后编写数据采集程序,并将采集的波形显示在计算机屏幕上(选做)。,40,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


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

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


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