微机原理试验指导书_第1页
微机原理试验指导书_第2页
微机原理试验指导书_第3页
微机原理试验指导书_第4页
微机原理试验指导书_第5页
免费预览已结束,剩余15页可下载查看

付费下载

下载本文档

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

文档简介

1、微机原理实验指导书(版本0.1)余有灵副教授控制科学与工程系2007年12月11日说明本实验指导书是依据西安唐都科教仪器公司的产品手册编制,在实验中心相关领导和实验工作人员的帮助下完成的,在此表示感谢。本次实验包括两个实验系统。任意完成其中一个即可。但严重建议都完成两个实验。实验5-18254定时/计数器应用实验1 .实验目的(1)掌握8254的工作方式及应用编程。(2)掌握8254的典型应用电路接法。2 .实验设备PC微机一台、TD-PIT+实验系统一套。3 .实验内容(1)计数应用实验。编写程序,应用8254的计数功能,用开关模拟计数,使每当按动KK1-五次后,产生一次计数中断,并在屏幕上

2、显示一个字符5(2)定时应用实验。编写程序,应用8254的定时功能,实现一个秒表计时并在屏幕上显示。4 .实验原理8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:(1)有3个独立的16位计数器;(2)每个计数器可按二进制或十进制(BCD)计数;(3)每个计数器可编程工作于6种不同工作方式;(4) 8254每个计数器允许的最高计数频率为10MHz(8253为2MHz);(5) 8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。(6)计数脉冲可以是有规律的时钟信号,也可以是随机

3、信号。计数初值公式为n=fCLKiXOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。图5-1是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率发生器方式。(4)方式3:方波发生器。(5)方式4:软件触发选通方式。(6)方式5:硬件触发选通方式。j数据总搐獴冲寿控制R.'W,小,HL离-CLKOGATESWTDtCLKt-GAT£1-OUT)CI.K?GATE:OL7T21'.呜7Z5

4、322421520£8254L9LS1716111511,412157噂$时W-工中总O。口DCH口>DDDD(K:TrENTvtcWRRDCS*A1AOCLK2OUT2GATE?CLK1GATEIOVT1图5-18254的内部接口和引脚8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1所示。读回控制字格式如表5-2所示。当读回控制字的D4位为0时,由该读回控制字D1D2位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。状态字格式如表5-3所示。表5-1

5、8254的方式控制字格式D7D6D5D4D3D2D1D0计数器选择读,写格式选择工作方式选择计数码制选择。一计数器001计数器110一计数器211一读出控制字标志00锚存计数值01一读,写低8位19一读与高*位口一先读,写低X位再读,写高8位0。一方式0001一方式101。一方式2。11一方式3100一方式4101一方式50二进制数1一十进制数表5-28254读出控制字格式D7D6D弓D4D3D2T)D0110-镯存计数值。一锁存状态信息计数器选择(同方式控制字)0表5-38254状态字格式D7OUT引脚现行状态1一高电平。一低电平D6计数初值是否装入1-无牧计数。一计数有效D5D4D.iD2

6、DID0计数器方式(同方式控制字)5 .实验说明及步骤(1)定时应用实验编写程序,将8254的计数器2设置为方式3,用1.8432MHz作为CLK2时钟,计数值为64H,OUT2输出为18.432KHz的时钟。将OUT2连接到计数器0的CLKQ设置计数器0也工作在方式3,计数值为18432,相当于18432分频,则在OUT0得到1Hz的输出。参考程序流程如图5-2所示。隙x:owXASXA2706?D4XJOB,IOYQX33XD1765442101oRD5DDDDDDDDAAURICGATHCIKOIF8254单兀CT_KDOLTTOl.S432UlzB+辟海DO小灯图5-28254定时应用

7、实验接线图实验步骤如下。a)确认从PC机引出的两根扁平电缆已经连接在实验平台上b)首先运行CHECKS序,查看I/O空间始地址。c)利用查出的地址编写程序,然后编译链接。d)参考图5-2所示连接实验线路。e)运行程序,看数据灯显示是否正确。8254定时应用实验代码输出1Hz;*根据查看端口资源修改下歹U符号值*IOY0EQU9C00H.*MY8254_COUNT0EQUMY8254_COUNT1EQUMY8254_COUNT2EQUMY8254_MODEEQUIOY0+00H*4;8254计数器0端口地址IOY0+01H*4;8254计数器1端口地址IOY0+02H*4;8254计数器2端口地

8、址IOY0+03H*4;8254控制寄存器端口地址STACK1SEGMENTSTACKDW256DUPSTACK1ENDSCODESEGMENTASSUMECS:CODESTART:MOVDX,MY8254_MODEMOVAL,0B6H;初始化8254工作方式;计数器2,方式3MOVDX,MY8254_COUNT2MOVAL,64HOUTDX,ALMOVAL,00HOUTDX,ALMOVDX,MY8254_MODEMOVAL,36HOUTDX,ALMOVDX,MY8254_COUNT0MOVAL,00HOUTDX,ALMOVAL,48HOUTDX,AL;装入计数初值;100分频;初始化8254

9、工作方式;计数器0,方式3;装入计数初值;18432分频OUTDX,AL;结束程序退出QUIT:MOVAX,4C00HINT21HCODEENDSENDSTART(2)计数应用实验编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1作为CLK0时钟,OUT0连接INTR每当KK1按动5次后产生中断请求,在屏幕上显示字符“5:'参考程序流程如图5-3所示。单元中GATE0B经连接了一个上拉电阻,所以GATE怀用连接。美中断It?jtfi1tPCI_INTCSR料秧INIR中航矢量、打开屏敲出设置8254I作方式并装入il数初值斤中断恢复PCIINTCERINTR

10、中歌量和中断屏蔽字开卬淅_U=;DOS.丁I存g)中断处理程序图5-38254计数应用实验参考程序流程图实验步骤如下。a)确认从PC机引出的两根扁平电缆已经连接在实验平台上。b)首先运行CHECKS序,查看I/O空间始地址。c)利用查出的地址编写程序,然后编译链接。d)参考图5-4所示连接实验线路。e)运行程序,按动KK1微动开关,观察是否5次后屏幕显示字符5”f)可以改变计数初值,从而实现不同要求的计数。34卜旗娓XA1XD7TDTTUTxdmoD7D6D5D4D3D21DQCLKO<x>KK1+A1AGS254单兀单次咏;I单元XIOWXIOR10Y。小二R.*;INTR_IV

11、ADDINTR_OCW1INTR_OCW2INTR_IMPCI_INTCSRIOY0根据CHEC博已置信息修改下歹U符号值*EQUEQUEQUEQUEQUEQU01CCH0A1H0A0H0F7H9438H9C00H;INTR对应的中断矢量地址;INTR对应PC机内部8259的OCW1地址;INTR对应PC机内部8259的OCW2地址;INTR对应的中断屏蔽字;PCI卡中断控制寄存器地址WRRDCSouro图5-48254计数应用实验参考接线图8254计数应用实验代码*MY8254_COUNT0EQUMY8254_COUNT1EQUMY8254_COUNT2EQUMY8254_MODEEQUIO

12、Y0+00H*4;8254计数器0端口地址IOY0+01H*4;8254计数器1端口地址IOY0+02H*4;8254计数器2端口地址IOY0+03H*4;8254控制寄存器端口地址STACK1SEGMENTSTACKDW256DUPSTACK1ENDSDATASEGMENTCS_BAKDW?;保存INTR原中断处理程序入口段地址的变量IP_BAKDW?;保存INTR原中断处理程序入口偏移地址的变量IM_BAKDB?;保存INTR原中断屏蔽字的变量STR1DB'COUNT:$'显示的字符串DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART

13、:MOVAX,DATAMOVDS,AXCLIMOVDX,PCI_INTCSRSUBDX,19HINAL,DX;初始化PCI卡中断控制寄存器;向PCI_INTCS中写入003F1F00HMOVDX,PCI_INTCSRMOVAX,1F00HOUTDX,AXADDDX,2MOVAX,003FHOUTDX,AXMOVAX,0000H潜换INTR的中断矢量MOVES,AXMOVDI,INTR_IVADDMOVAX,ES:DIMOVIP_BAK,AX;保存INTR原中断处理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:DI,AX;设置当前中断处理程序入口偏移地址ADDDI,2MOVAX,

14、ES:DIMOVCS_BAK,AX;保存INTR原中断处理程序入口段地址MOVAX,SEGMYISRMOVES:DI,AX;设置当前中断处理程序入口段地址MOVDX,INTR_OCW1;设置中断屏蔽寄存器,打开INTR的屏蔽位INAL,DXMOVIM_BAK,AL保存INTR原中断屏蔽字ANDAL,INTR_IMOUTDX,ALSTIMOVDX,OFFSETSTR1;显示字符串MOVAH,9INT21HMOVDX,MY8254_MODE;初始化8254工作方式MOVAL,10H;计数器0,方式0OUTDX,ALMOVDX,MY8254_COUNT0MOVAL,4OUTDX,ALWAIT1:MO

15、VAH,1INT16HJZWAIT1;装入计数初值;判断是否有按键按下;无按键则跳回继续等待,有则退出QUIT:CLIMOVDX,PCI_INTCSRMOVAX,0000HOUTDX,AXMOVAX,0000HMOVES,AXMOVDI,INTR_IVADDMOVAX,IP_BAKMOVES:DI,AXADDDI,2MOVAX,CS_BAKMOVES:DI,AXMOVDX,INTR_OCW1MOVAL,IM_BAKOUTDX,ALSTI;恢复PCI卡中断控制寄存器;恢复INTR原中断矢量;恢复INTR原中断处理程序入口偏移地址;恢复INTR原中断处理程序入口段地址;恢复INTR原中断屏蔽寄存器

16、的屏蔽字MOVAX,4C00H;返回至UDOSINT21HMYISRPROCNEAR;中断处理程序MYISRMOVAL,35HMOVAH,0EHINT10HMOVAL,20HINT10HMOVDX,MY8254_COUNT0;重装计数初值MOVAL,4OUTDX,ALOVER:MOVDX,PCI_INTCSR;清PCI卡中断控制寄存器标志位SUBDX,19HINAL,DXMOVDX,PCI_INTCSRADDDX,2MOVAX,003FHOUTDX,AXMOVDX,INTR_OCW2;向PC机内部8259发送中断结束命令MOVAL,20HOUTDX,ALMOVAL,20HOUT20H,ALIR

17、ETMYISRENDPCODEENDSENDSTART实验5-28259中断控制器应用实验1 .实验目的(1)学习中断控制器8259的工作原理。(2)掌握可编程控制器8259的应用编程方法。2 .实验设备PC微机一台、TD-PIT+实验系统一套。3 .实验内容(1)利用PC机给实验系统分配的中断线,设计一个单中断应用。使用单次脉冲模拟中断产生。编写中断处理程序,在显示器屏幕上显示一个字符。(2)利用实验平台上8259控制器对扩展系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IR1中断请求进行处理。4 .实验原理(1) 8259控制器的介绍中断控制器8259A是Intel

18、公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:a)记录各级中断源请求;b)判别优先级,确定是否响应和响应哪一级中断;c)响应中断时,向CPU传送中断类型号。8259A的内部结构和引脚如图5-5所示。8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始

19、化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图5-6所示,OCW1-OCW3各命令字格式如图5-7所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。“底胃汴器比比舞CASQCAS1-*-*-CAS2*-S?EN数据怠找暧冲器KWlx先分物优幽析I234-s.&l«.rrnlrrrrrLrLrxTxrLrLrLEEi新端化KW:,命令寄1匚wmICW

20、+/c内小忠A二盯r.3日-吧Locwi1掠作给OCTV2/'音(j.br:-.仅wa1WRRD才D7D&口5D4D3mD1DOCASOCAS1GND图5-58259内部结构和引脚图AOED7TD5D4DJD2D1LSIA3I5088088不住用I;j;_ji-i.DO=Ijm=Q-Dl=l:DH):DAt:图5-6(a)ICW1格式VCCAO"INTAIR71即5-IRIR4WER2-IR1IR0INT&PEXCAS:不需要ICW4.卉;If4学片银联旧片住目由昌转笈电部发图5-6ICW2格式AOHAOHD7D6口5D4口3D2DIDOS7S6|S4S3S2

21、SI|SOD7D6D5D4D3D2DI主片DOI1D2ID1IDO从片不可用图5-6(c)ICW3格式A0ruD70D6nD5"5"EMD3D2$FNMM,DIDOAFcJ|i闲图5-6(d)ICW4格式AOM7M6M5M4M31MlMO|0CW1D7D6D5D4D3D2D1DORSLEOI|1oI01L二LILO口OCW2D"D6DfD4D3D;DIDO知四小".R力配做优k权00L一般EOI中就绪束命令OH特殊EO1101r循春优先机的一庭51tl动循环100在门前EOI卜电循环优先校000在自动EOI卜复位御坏优范权111110设首优先权相林循环G

22、LQ无效D6D5DID3A00A0D2DIESMMSMMOX:肥效10:复位带珠屏蔽11:设置特殊沙蔽RISOCW30:f;森旬ox:心效b允许查询ioiurytiRKlh即彩R图5-7OCW命令字格式(2) 8259寄存器及命令的控制访问在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如表5-4所示。表5-48259寄存器及命令的控制访问AOD4IB该信号写信号片施操作U010读出也用RR的内容1010读出IMR的内容00010号OCW2O0110O写入OCW501X100写ICW1XX1Q0可人OCWI,KW2t

23、ICW3,ICW4(3) PC微机系统中的8259在80x86系列PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表5-5示。两片8259A的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级15级,然后是3级7级。在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改

24、中断向量。表5-5PC微机系统中的硬件中断中断号功能中断向童号中断向量地址主8259IRQO日时钟,计数器0O8HCO2OH0023H主M59IRQ1键盘09H0O24H0027H±8259IRQ2接从片82590AH002SH-002BH主8259IRQ3串行口20BH002CH002FH主8259IRQ4申行口10CH0030H-0033H主82行IRQ5并行口二ODH0034H0037H主8259IRQ6软盘0EH。期HM3BH主8259IRQ7井行口1OFH003cH-003FH从8259IRQ8实时钟7OHC1C0H-01C3H从8259HIQ9保留71H01C4H-01C

25、7H从S259IRQ1O保新72H01C8H-01CBH从8259IXQ1L保留73HC1CCH-01CFH从8259IRQ12保普74HC1D0H-O1D3H从8259IRQ皑切处理器中断75H01D4H-01D7HA8259IRQ14硬盘控制独76HOIDSHOIDBH从8259IR.Q1S保留77H01DCH-01DFH5 .实验说明及步骤(1)中断查询方式应用实验8259支持查询方式检测中断请求,具体过程为:设置8259OCW3中的P位为1即可执行查询命令,8259将下一个I/O读命令视作一次中断响应。如果有中断请求,则置ISR中的相应位并读优先级。从OCW3写操作到I/O读操作期间禁

26、止中断,读出字节的最高位为1表示有中断,最低3位(D0-D2)为最高优先级中断请求源的编码。查询字格式如图5-8所示。D7MD5D4D3D2DII-口W1W00;无中断请求请求中断中1;有中断请求优先领最高的中断源端屿图5-88259OCW筵询字格式本实验要求使用这种方法编写程序处理实验单元8259IR0和IR1请求的中断,IR0请求在屏幕上显示字符“0”,IR0请求则在屏幕上显示字符“1”以示中断到来。IR0和IR1分别用一个单次脉冲的上升沿模拟中断产生。参考流程如图5-9所示,参考实验接线图如图5-10所示。图5-9实验参考流程图*XD了,、,、:XDEXKXD4(XXDY_XD_XD,_

27、KD._X1OWxid;广口工.1.八*IRO/82598单元IR1WRRDCSAO单KK1+次脉KK2+单元图5-10参考实验接线图实验步骤如下:a)确认从PC机引出的两根扁平电缆已经连接在实验平台上。b)运行Tdpit集成操作软件,查看系统资源分配情况,记录与所用片选信号对应的I/O端口始地址c)参考实验流程图编写程序,注意使用正确的端口地址,然后编译链接。d)参考实验接线图连接实验线路。e)运行程序,按动KK1卡KK1歧键,观察中断响应是否正常。8259中断查询方式应用实验代码;*根据查看端口资源修改下列符号值*IOY0EQU9C00H;片选IOY0对应的端口始地址*MY8259_ICW1EQUMY8259_ICW2EQUMY8259_ICW3EQUMY8259_ICW4EQUMY8259_OCW1EQUMY8259_OCW2EQUMY8259_OCW3EQUIOY0+00H;实验系统中IOY0+04H;实验系统中IOY0+04H;实验系统中IOY0+

温馨提示

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

评论

0/150

提交评论