实验3:8253可编程定时器计数器_第1页
实验3:8253可编程定时器计数器_第2页
实验3:8253可编程定时器计数器_第3页
实验3:8253可编程定时器计数器_第4页
全文预览已结束

下载本文档

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

文档简介

微机实验报告书学号:姓名:班级:同组名单:实验日期:实验题目:8253可编程定时器/计数器实验目标:掌握8253的根本工作原理和编程方法〔功能:定时器:手动输入单脉冲,计数初值N<=0FH,编程在屏幕上显示计数值,并观察OUT0电平变化。计数器:输入1MHz频率脉冲,分频输出1Hz频率脉冲。〕解题思路:按图7虚线连接电路,将计数器0设置为方式0,计数器初值为N,用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUTO电平变化。按图8连接电路,将计数器o、计数器i分别设置为方式3,计数初值设置为1000,用逻辑笔观察out1输出电平的变化。程序框图:定时器如图九左计数器如图九右关键问题分析:〔定时器〕屏幕显示的是当前计数值,还是输入脉冲数?屏幕显示的是当前计数值。2、为什么题目要求计数初值范围为N<=0FH,如果超出这个范围,处理方法上有何不同?因为8253计数时同时要在屏幕上显示出来,但是如假设计数初值超过0FH,也就超过了十六进制最大能表示的范围,按照十六进制的话屏幕上根本无法显示,所以N必须小于或者等于0FH,初值为0FH时,屏幕上显示F。〔计数器〕1、计数初值分别设为1000和1000H的实验现象有什么不同,为什么?指示灯闪烁的速度会变慢。初值为1000时输出频率1HZ,小灯1s闪一下。当两个通道初值均为1000H时,那么频率为0.0596Hz,16.77s闪烁一下。根据计数初值=输入脉冲频率/输出脉冲频率可得。2、计数格式分别选二进制和十进制计数的实验现象有什么不同,为什么?选用二进制及本程序所选用的方式,输出1Hz的频率,如果改为十进制计数,会将十进制数直接当做十六进制数看待,即1000当做1000H,小灯如上题也为16.77s闪烁一次,频率变慢。设置的计数初值与计数格式之间有什么关系?设置的计数初值与计数格式相同。比方用BCD码计数,那么计数初值和当前值形式也是BCD码,计数格式为BCD码计数,这是由控制字控制的。程序清单:〔定时器〕ioportequ0c800h-0280hio8253aequioport+283hio8253bequioport+280hcodesegmentassumecs:codestart:moval,14h;00010100b,设置8253通道0为工作方式2,二进制计数movdx,io8253aoutdx,almovdx,io8253b;送计数初值为0fhmoval,0fhoutdx,alzby:inal,dx;读计数初值calldisp;调显示子程序pushdxmovah,06hmovdl,0ffhint21hpopdxjzzbymovah,4ch;退出int21hdispprocnear;显示子程序pushdxandal,0fh;首先取低四位movdl,alcmpdl,9;判断是否<=9jlenum;假设是那么为'0'-'9',ascii码加30hadddl,7;否那么为'a'-'f',ascii码加37hnum:adddl,30hmovah,02h;显示int21hmovdl,0dh;加回车符int21hmovdl,0ah;加换行符int21hpopdxret;子程序返回dispendpcodeendsendstart〔计数器〕ioportequ0c800h-0280hio8253aequioport+280hio8253bequioport+281hio8253cequioport+283hcodesegmentassumecs:codestart:movdx,io8253c;向8253写控制字moval,36h;00110110B,0通道为工作方式3,2进制计数outdx,almovax,1000;写入循环计数初值1000movdx,io8253aoutdx,al;先写入低字节moval,ahoutdx,al;后写入高字节movdx,io8253cmoval,76h;01110110B,1通道为工作方式2,2进制计数outdx,almovax,1000;写入循环计数初值1000movdx,io8253boutdx,al;先写低字节moval,ahoutdx,al;后写高字节movah,4ch;程序退出int21hcodeendsendstart运行结果:定时器:手动输入单脉冲,屏幕上显示计数值,经观察指示灯闪烁。并且逻辑开关〔单脉冲〕频率越高,小灯闪烁越明显。计数器:输入1MHz频率脉冲,分频输出1Hz频率脉冲,可观察到指示灯闪烁,大约1s闪烁1次。问题与讨论:〔定时器〕1、计数初值与计数的脉冲数有什么关系?计数初值是计数脉冲的个数。每次输入单脉冲,初值减一,直到0。2、计数到0之后,继续输入脉冲会观察到什么现象?因为是计数方式0,即计数结束中断方式,计数到0之后继续输入脉冲,由于OUT引脚变成高电平,不在计数,屏幕上显示数值应该是最后一个计数值即0。〔计数器〕1、初始化之后就停止程序的运行,会有怎样的实验现象?为什么?初始化后就停止程序的运行,实验现象应该不变。因为控制字,通道和计数方式都已确定,如果有1MHz的频率输入的话,初始化完毕后输出频率仍未1Hz,只是无法正常返回DOS而已。可以看到程序中也根本只有初始化代码。2、程序中需要循环结构或按键判断吗?为什么?不需要,因为方式2和方式3可以自动重复计数,如果gate门控始终为高电平

温馨提示

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

评论

0/150

提交评论