(完整word版)微机原理完整实验报告+程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1实验题目8253定时/计数器实验一、实验目的与要求:1.学会8253芯片和微机接口原理和方法。2.掌握8253定时器/计数器的工作方式和编程原理。二、实验内容:1、实验原理本实验原理图如图1所示,8253A的A0、A1接系统地址总线A0、A1,故8253A有四个端口地址,如端口地址表1所示。8253A的片选地址为48H~4FH。因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字。采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0为1MHZ,输出OUTO要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地(0电平)或甩空(1电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。2、实验线路连接(1)8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。(2)8253A的GATE0接+5V。3、实验步骤(1)按图1连好实验线路(2)运行实验程序1.按“调试”按钮2。选“窗口”“进入示波器窗口”,然后最小化3.按“运行按钮”4.将模拟示波器窗口打开,选择“串行口2”,再按ctrl+F2按钮即可看到波形图1显示“8253-1”用示波器测量8253A的OUT2输出插孔,应有频率为1KHZ的方波输出,幅值0~4V三、实验代码:CODESEGMENTASSUMECS:CODETCONTROEQU004BHTCON2EQU004AHCONTPORTEQU00DFHDATAPORTEQU00DEHDATA1EQU0500HSTART:JMPTCONTTCONT:CALLFORMATCALLLEDDISPMOVDX,TCONTROMOVAL,0B6H;要使用方式2,0B6H要改为0B4H2OUTDX,ALMOVDX,TCON2MOVAL,00;输入频率(即时间常数)OUTDX,AL;要修改频率,只需更改送给AL的值(注意先送低8位,MOVAL,10H;后送高8位)OUTDX,ALHLTLEDDISP:MOVAL,90H;显示数据方式命令字送8279控制字MOVDX,CONTPORT;8279命令状态口OUTDX,ALMOVBYTEPTRDS:[0600H],00;置显示位数初值为0LED1:CMPBYTEPTRDS:[0600H],07H;判断显示位数满8为否?JALED2;满8位转子程序返回MOVBL,DS:[0600H];未满8位从数据区取数MOVBH,0HMOVAL,CS:[BX+DATA1]MOVDX,DATAPORT;8279数据口OUTDX,ALADDBYTEPTRDS:[0600H],01H;显示位数加1JNZLED1LED2:RET;子程序返回FORMAT:MOVBX,0;显示8253---1MOVWORDPTRDS:[BX+0500H],4006HADDBX,2MOVWORDPTRDS:[BX+0500H],4040HADDBX,2MOVWORDPTRDS:[BX+0500H],6D4FHADDBX,2MOVWORDPTRDS:[BX+0500H],7F5BHRETCODEENDSENDSTART四、思考题若改用方式2,并改变时间常数,如何编写程序。答:,若使用方式2,根据8253控制字原理,控制字必须设置为B4H,相应的修改在代码中在上述代码中,修改时间常数的方法也在程序中注明。3实验题目8255并行接口实验一、实验目的与要求1.掌握8255A和微机接口方法。2.掌握8255A的工作方式和编程原理二、实验内容1、实验原理如实验原理图1所示,PC口8位接8个开关K1~K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。拨动K1~K8,PB口上接的8个发光二极管L1~L8对应显示K1~K8的状态。2、实验线路连接(1)8255A芯片PC0~PC7插孔依次接K1~K8。(2)8255A芯片PB0~PB7插孔依次接L1~L8。(3)8255A的CS插孔接译码输出070H-07FH插孔。3.实验主要仪器设备和材料PC机、DVCC-8086JH实验系统及连接导线4、实验步骤(1)按图1连好线路。(2)运行实验程序。1。按“调试”按钮2.按“运行”按钮在DVCC-8086JH数码管上显示“8255-1”,同时拨动K1~K8,L1~L8会跟着亮灭三、实验程序CODESEGMENTASSUMECS:CODEIOCONPTEQU0073HIOCPTEQU0072HIOBPTEQU0071HCONTPORTEQU00DFHDATAPORTEQU00DEH4DATA1EQU0500HSTART:JMPIOLEDIOLED:CALLFORMATCALLLEDDISPMOVAL,89HMOVDX,IOCONPTOUTDX,ALNOPNOPNOPIOLED1:MOVDX,IOCPTINAL,DXMOVDX,IOBPTOUTDX,ALMOVCX,0FFFFHDELAY:LOOPDELAYJMPIOLED1LEDDISP:MOVAL,90HMOVDX,CONTPORTOUTDX,ALMOVBYTEPTRDS:[0600H],00LED1:CMPBYTEPTRDS:[0600H],07HJALED2MOVBL,DS:[0600H]MOVBH,0HMOVAL,CS:[BX+DATA1]MOVDX,DATAPORTOUTDX,ALADDBYTEPTRDS:[0600H],01HJNZLED1LED2:RETFORMAT:MOVBX,0MOVWORDPTRDS:[BX+0500H],4006HADDBX,2MOVWORDPTRDS:[BX+0500H],4040HADDBX,2MOVWORDPTRDS:[BX+0500H],6D6DHADDBX,2MOVWORDPTRDS:[BX+0500H],7F5BHRETCODEENDSENDSTART四、思考题5试将B口与C口的功能对调(连线对调),如何编写程序答:把IOLED段的89H改为82H,把IOLED1段中的IOCPT和IOBPT对换。82H(10000010)表示用B口输入,C口输出,均使用方式0.IOCPT和IOBPT分别对应B、C口的地址。程序代码如下:CODESEGMENTASSUMECS:CODETCONTROEQU004BHTCON2EQU004AHCONTPORTEQU00DFHDATAPORTEQU00DEHDATA1EQU0500HSTART:JMPTCONTTCONT:CALLFORMATCALLLEDDISPMOVDX,TCONTRO;将控制口地址给DXMOVAL,10110101B;选通道二,先写低字节,后高字节,方式2,数字控制用BCD码OUTDX,AL;写控制字MOVDX,TCON2;计数器二的地址给DXMOVAX,10D;计数初值为10(十进制)OUTDX,AL;写低字节MOVAL,AHOUTDX,AL;写高字节HLT;停机LEDDISP:MOVAL,90HMOVDX,CONTPORTOUTDX,ALMOVBYTEPTRDS:[0600H],00LED1:CMPBYTEPTRDS:[0600H],07HJALED2MOVBL,DS:[0600H]MOVBH,0HMOVAL,CS:[BX+DATA1]MOVDX,DATAPORTOUTDX,ALADDBYTEPTRDS:[0600H],01HJNZLED1LED2:RETFORMAT:MOVBX,0MOVWORDPTRDS:[BX+0500H],4006HADDBX,2MOVWORDPTRDS:[BX+0500H],4040HADDBX,2MOVWORDPTRDS:[BX+0500H],6D4FH6ADDBX,2MOVWORDPTRDS:[BX+0500H],7F5BHRETCODEENDSENDSTART按实验要求,修改后的实验程序如上。在思考题实验中,用了方式二控制计数端口二,计数初值设为10,即当用CLK(1MHz)进行计数时,每次当计完十个时钟周期,OUT输入端就由高电平变为低电平,就是先有十个周期的高电平,接着低电平出现的只有一个时钟周期,比较短;实现将1MHz的CLK转化为1KHz的信号;7实验题目数字式时钟(电子钟)一、实验目的与要求1.学习8253编程定时/计数器的工作方式2.掌握终端控制器8259A与微处理机接口的原理和方法3.掌握中断控制器8259A的综合应用编程二、实验内容和要求1.实验原理用8253和8259实现数码管显示时钟。利用8253的定时器功能。8253有三个端口地址为48H,49H,4AH,本实验采用8253的通道2,工作在方式3(方波发生器方式)输入CLK2为1MHZ。先给8253的初始值0C350H,循环计数。即一次记数完后,自动装入初始值。输出OUT2作为8259的输入脉冲。8259有两个口地址,本实验为20H和21H,其中2H用来写ICW1,21H用来写ICW2、ICW4,本实验中8259为单片,边沿触发,采用3号中断源,即IR3和8253输出口OUT2相连,每过1/20秒接收到一个中断,向8259发出中断请求信号,如果电平信号不符合要求,则自动转到7号中断,显示ERR,CPU响应后,在中断处理程序中,对终端次数进行记数,记满20次,把时间缓冲区中的时间加1,并将其输入到显示缓冲区,以便显示器显示更新后的时间。记数初值的计算:1/1000000*X=1/20X=50000D=0C350H(用1MHZ信号产生1/20秒方波).2.实验线路连接(1)8253A芯片的CLK2引出插孔连分频输出插孔IMHZ(2)8253A的GATE2接+5V(3)8259A的IR3插孔和8253A的OUT2插孔相连图13.实验主要仪器设备和材料PC机、DVCC-8086JH实验系统及连接导线4.实验步骤1、按图1连好线路2、打开DVCC86H目录下的CLOCK子目录中的Eclock.asm83、运行实验程序:按“调试”按钮按“运行”按钮在DVCC-8086JH数码管上显示器“00-00-00”,然后开始计时三、实验程序CODESEGMENTASSUMECS:CODEINTPORT1EQU0020HINTPORT2EQU0021HINTQ3EQUINTREEUP3INTQ7EQUINTREEUP7CONTPORTEQU00DFHDATAPORTEQU00DEHDATA0EQU0580HDATA1EQU0500HDATA2EQU0508HDATA3EQU0518HDATA4EQU0520HORG1800HSTART:JMPTint1Tint1:CALLFORMATCLDMOVDI,DATA0MOVCX,08HXORAX,AXREPSTOSWMOVSI,DATA3CALLLEDDISPMOVAX,0HMOVDS,AXCALLWRINTVERMOVAL,13H;写初始化命令字ICW1为13HMOVDX,INTPORT1OUTDX,ALMOVAL,08H;写初始化命令字ICW2为08HMOVDX,INTPORT2OUTDX,ALMOVAL,09H;写初始化命令字ICW4为09HOUTDX,ALMOVAL,0F7H;写操作控制字OCW1为F7H,即IR3开放,其他IR屏蔽OUTDX,ALMOVBYTEPTRDS:[0601H],01HSTIWATING:JMPWATINGWRINTVER:MOVAX,0H9MOVES,AXMOVDI,002CH;使用3号中断源中断矢量地址为2CH~2FHLEAAX,INTQ3STOSWMOVAX,CSSTOSWMOVDI,003CHLEAAX,INTQ7STOSWMOVAX,CSSTOSWRETINTREEUP3:CLIMOVAL,DS:[0601H]CALLCONVERSMOVSI,DATA0CALLLEDDISPDMOVAL,20H;写操作命令字OCW2为20H,选择中断结束方式MOVDX,INTPORT1OUTDX,ALADDBYTEPTRDS:[060

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功