频率计.docx

上传人:b****9 文档编号:25946006 上传时间:2023-06-16 格式:DOCX 页数:18 大小:210.68KB
下载 相关 举报
频率计.docx_第1页
第1页 / 共18页
频率计.docx_第2页
第2页 / 共18页
频率计.docx_第3页
第3页 / 共18页
频率计.docx_第4页
第4页 / 共18页
频率计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

频率计.docx

《频率计.docx》由会员分享,可在线阅读,更多相关《频率计.docx(18页珍藏版)》请在冰豆网上搜索。

频率计.docx

频率计

 

微机原理及接口技术

课程设计

2010/2011学年第2学期

 

学院:

中北大学 

专业:

 测控技术与仪器

起迄日期:

5月16日~5月27日

课程设计地点:

10203H14502H 

指导教师:

 姜三平,李建民

姓名.学号:

 

一﹑课程设计目的

通过课程设计,掌握8253的控制字的设置、工作方式、编程原理和微机接口方法,熟悉8088的功能几个管脚的作用;提高理论联系实际的解决实际问题的能力,提高对接口技术等相关硬件知识的深入理解,进而提高动手能力和学习兴趣为顺利进入毕业环节做必要的准备。

二﹑课程设计内容

以8088CPU为核心设计一个数字频率计,要求能测量1HZ~1MHZ频率范围的矩形和正弦波的频率或周期。

三﹑课程设计要求

用8253芯片设计电路图,画出电路原理图,说明工作原理,编写程序。

四﹑数字频率计基本原理

1—数字频率计的原理

1)数字频率计是用于测量信号(方波、正弦波或其它脉冲信号)的频率,并用十进制数字显示,它具有精度高,测量迅速,读数方便等优点。

频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。

通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。

闸门时间也可以大于或小于一秒。

闸门时间越长,得到的频率值就越准确,但闸门时间越长每测一次频率的间隔就越长。

闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。

数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。

如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。

脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为f=N/T,其中,f为被测信号的频率,N为计数器所累计的脉冲个数。

T为产生N个脉冲所需的时间。

计数器所记录的结果,就是被测信号的频率。

如在1S内记录1000个脉冲,则被测信号的频率为1000Hz。

晶振产生较高的标准频率,经分频器后可获得各种时基脉冲(1mS,10mS,0.1S,1S等),时基信号的选择由开关k控制。

用单稳态触发器产生指令和清零信号,对置零信号而言,当达到所调节的延时时间时,延时电路输出一个复位信号,使计数器和所有的触发器量0,为后续新的一次取样作好准备,即能锁住一次显示的时间,使保留到接受新的一次取样为止。

2)系统框图

从数字频率计的基本原理出发,根基设计要求,得到如图1所示的电路框图

 

图1.电路系统框图

 

2—8088CPU的原理

8088CPU是一块具有40条引出线的集成电路芯片,如图2所示。

为了减少芯片的引线,有许多引线具有双重定义和功能,采用分时复用方式工作,即在不同时刻,这些引线上的信号是不相同的。

同时,8088CPU上的MN/MX=1时,8088CPU工作在最小模式之下。

此时,构成的微型机中只包括一个8088CPU,且系统总线由CPU的引线形成,微型机所用的芯片最少。

当MN/MX=0时,8088CPU工作在最大模式之下。

在此模式下,构成的微型计算机中除了有8088CPU之外,还可以接另外的CPU(如8087),构成多微处理器系统。

图2.8088CPU管脚图

数据总线D0~D15:

双向传输,可分别使用其低8位或高8位,该总线与地址总线A0~A15共用CPU引脚形成复用总线AD0~AD15,地址、数据分时传送。

地址总线A0~A19:

20位,单向,地址由CPU产生,用于寻址访问存储器单元或IO端口。

A0~A15与D0~D15复用,A16~A19与状态信号S3~S6复用(A16/S3~A19/S6)。

其中AD15~AD0地址/数据复用信号(标号2~16、39),双向,三态。

状态信号S3~S6:

S6:

指示8088当前是否与总线相连。

S6=0表示8088连在总线上。

S5:

表示中断允许标志状态。

S5=1表示中断允许标志IF=1(对可屏蔽中断请求起作用)。

S5=0表示IF=0,禁止可屏蔽中断。

S4和S3用来指出当前使用的段寄存器。

S4、S3代码组合对应的含义如下表所示。

S4

S3

当前正使用的段寄存器

0

0

ES

0

1

SS

1

0

CS或未使用任何段寄存器

1

1

DS

RD(Read):

读信号(标号32),输出,三态。

RD信号有效,表示CPU执行一个对存储器或I/O端口的读操作,在一个读操作的总线周期中,RD在T2~T3状态中有效,为低电平。

为0时,CPU作读操作。

  WR(Write):

写信号(标号29),输出,三态。

WR信号有效,表示CPU执行一个对存储器或I/O端口写操作,在写操作总线周期中,WR在T2~T3状态中有效,为低电平。

为0时,CPU作写操作;M/IO,RD,WR组合成系统的存储器和端口的读写信号:

MEMR,MEMW,IOR,IOW。

高电平有效时,将地址存入外部地址锁存器。

通常用RD#以及WR#信号控制存储器或I/O的读出和写入端。

RD和WR指出CPU当前进行的是读还是写操作,它和M/IO信号一起,指出当前进行的是存储器读、I/O读、存储器写、I/O写四种操作中的哪一种。

RD和WR信号除了在T2~T3状态中有效外,还在TW(等待)状态有效。

下表为对存储器或I/O的读/写操作选择。

RD

WR

M/IO

对应的操作

0

1

0

I/O写操作

0

1

1

存储器写操作

1

0

0

I/O读操作

1

0

1

存储器读操作

3—8253的原理

8253是一种可编程的计数器/定时器芯片,如图3所示。

8253内部具有3个独立的16位计数器通道,通过对它进行编程,每个计数器通道均有6种工作方式,并且都可以按2进制或10进制2种格式进行计数,最高计数频率能达到2MHz。

8253还可用作可编程方波频率产生器、分频器、程控单脉冲发生器等。

图3.8253管脚图

D0~D7:

8位双向数据线,用来传送数据、控制字和计数器的计数初值。

CS:

选片信号,输入。

低电平有效,由系统高位I/O地址译码产生。

RD:

读控制信号,输入,低电平有效,当它有效时表示CPU要对此定时器芯片进行读操作。

WR:

写控制信号,输入,低电平有效,当它有效时表示CPU要对此定时器芯片进行写操作。

A0,A1:

地址信号线。

CLK0~CLK2:

每个计数器的时钟信号输入端。

GATE0~GATE2:

门控信号,用于控制计数的启动和停止,GATE=1时计数允许,GATE=0时停止计数。

OUT0~OUT2:

计数器输出信号。

4—74LS48七段译码器

BCD---七段显示译码器(74LS48)

因为计算机输出的是BCD码,要想在数码管上显示十进制数,就必须先把BCD码转换成7段字型数码管所要求的代码。

我们把能够将计算机输出的BCD码换成7段字型代码,并使数码管显示出十进制数的电路称为“七段字型译码器”。

1)输入:

8421BCD码,用A3A2A1A0表示(4位)。

2)输出:

七段显示,用Ya~Yg表示(7位)3)逻辑符号:

七段显示译码器

在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来,一方面供人们直接读取测量和运算的结果;另一方面用于监视数字系统的工作情况。

因此,数字显示电路是许多数字设备不可缺少的部分。

数字显示电路通常由译码器、驱动器和显示器等部分组成,如图4所示。

下面对显示器和译码驱动器分别进行介绍。

图4数字显示电路方框图

数码显示器是用来显示数字、文字或符号的器件,现在已有多种不同类型的产品,广泛应用于各种数字设备中,目前数码显示器件正朝着小型、低功耗、平面化方向发展。

数码的显示方式一般有三种:

第一种是字形重叠式,它是将不同字符的电极重叠起来,要显示某字符,只须使相应的电极发亮即可,如辉光放电管、边光显示管等。

第二种是分段式,数码是由分布在同一平面上若干段发光的笔划组成,如荧光数码管等。

第三种是点阵式,它由一些按一定规律排列的可发光的点阵所组成,利用光点的不同组合便可显示不同的数码,如场致发光记分牌。

数字显示方式目前以分段式应用最普遍,下图表示七段式数字显示器利用不同发光段组合方式,显示0~15等阿拉伯数字。

在实际应用中,10~15并不采用,而是用2位数字显示器进行显示。

图5七段数字显示器发光段组合图

 按发光物质不同,数码显示器可分为下列几类:

7448七段显示译码器

7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。

该集成显示译码器设有多个辅助控制端,以增强器件的功能。

7448的功能表如下表所示,它有3个辅助控制端LT、RBI、BI/RBO,现简要说明如下:

灭灯输入BI/RBO

BI/RBO是特殊控制端,有时作为输入,有时作为输出。

当BI/RBO作输入使用且BI=0时,无论其它输入端是什么电平,所有各段输入a~g均为0,所以字形熄灭。

试灯输入LT

当LT=0时,BI/RBO是输出端,且RBO=1,此时无论其它输入端是什么状态,所有各段输出a~g均为1,显示字形8。

该输入端常用于检查7488本身及显示器的好坏。

7488功能表

 动态灭零输入RBI

当LT=1,RBI=0且输入代码DCBA=0000时,各段输出a~g均为低电平,与BCD码相应的字形熄灭,故称“灭零”。

利用LT=1与RBI=0可以实现某一位的“消隐”。

此时BI/RBO是输出端,且RBO=0。

动态灭零输出RBO

BI/RBO作为输出使用时,受控于LT和RBI。

当LT=1且RBI=0,输入代码DCBA=0000时,RBO=0;若LT=0或者LT=1且RBI=1,则RBO=1。

该端主要用于显示多位数字时,多个译码器之间的连接。

从功能表还可看出,对输入代码0000,译码条件是:

LT和RBI同时等于1,而对其它输入代码则仅要求LT=1,这时候,译码器各段a~g输出的电平是由输入BCD码决定的,并且满足显示字形的要求。

5—频率测量方法

频率测量方法有M法,T法,M/T法,测量的基本要求是快速准确。

(1)M法:

测量计数在一定时间Tc内的信号脉冲数M。

譬如,Tc=1秒,计数值M=1200,则信号频率为1200Hz;Tc=0.1秒,计数值M=1200,则信号频率为12000Hz。

显然,M法适用于高频信号的测量。

(2)T法:

测量一个完整脉冲的周期T,则此周期T的倒数就是待测频率。

譬如,测得T=0.1ms,则信号频率为10000Hz。

显然,T适用于低频信号测量。

五、编写程序(设8253端口地址为40H~43H)

(1)8253初始化(五微秒信号)

------------------------------------

FOR8253:

MOVDX,0FFFBH

MOVAL,36H;01110110CT1,方式3

OUTDX,AL

MOVAL,76H;00110000CT0,方式0

OUTDX,AL

MOVDX,0FFF9H

MOVAX,18432;(6144)CT1产生10ms方波

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,0FFF8H

MOVAX,2;;5ms脉冲

OUTDX,Al

MOVAL,AH

OUTDX,AL

RET

------------------------------------

8253初始化(一秒信号)

------------------------------------

FOR8253:

MOVDX,0FFFBH

MOVAL,36H;01110110CT1,方式3

OUTDX,AL

MOVAL,76H;00110000CT0,方式0,

OUTDX,AL

MOVDX,0FFF9H

MOVAX,18432;(6144)CT1产生10ms方波

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,0FFF8H

MOVAX,100;1000;1s脉冲

OUTDX,Al

MOVAL,AH

OUTDX,AL

RET

------------------------------------

8253初始化(十秒信号)

------------------------------------

FOR8253b:

MOVDX,0FFFBH

MOVAL,36H;CT0,方式0

OUTDX,AL

MOVAL,076H;CT1,方式3

OUTDX,AL

MOVDX,0FFF9H;CT1

MOVAX,18432;(18432)产生10ms方波

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,0FFF8H;CT0

MOVAX,1000;1000;10s脉冲

OUTDX,AL

MOVAL,AH

OUTDX,AL

RET

;------------------------------------

;控制CT2计数,设置频率范围

;-------------------------------------

FOR8253X:

MOVDX,0FFFBH;控制口地址

MOVAL,0B0H;CT2,方式0

OUTDX,AL

MOVDX,0FFFAH;CT2地址

MOVAX,65535;T2计数的最大值

OUTDX,AL

MOVAL,AH

OUTDX,AL

movcx,10;延时

good:

loopgood

RET

;-------------------------------------

;二——十进制转化(高频无小数点,利用了M法测量)

;-----------------------------------

BTRO:

MOVCL,6

XORCH,CH

XORDX,DX

MOVBX,10

MOVSI,OFFSETBUF

ADDSI,5;从低位到高位存储

NEXT:

DIVBX

MOV[SI],DL;除以10的余数存放低位

DECSI

ANDAX,AX

JZSTOP;判断是否除尽

MOVDL,0

LOOPNEXT

STOP:

RET

;-----------------------------------

;二——十进制转化(低频有小数点,利用了T法测量)

;-----------------------------------

BTROb:

MOVCL,3

XORCH,CH

XORDX,DX

MOVBX,10

MOVSI,OFFSETBUF

ADDSI,5;使其从数码管的低位开始显示

DIVBX

MOV[SI],DL

DECSI

MOVDL,0;将存放余数的清0

DIVBX

ADDDL,10;查表将该位的小数点显示出来

MOV[SI],DL

DECSI

ANDAX,AX;检测商是否为0,若为0程序跳出,否则继续

JZSTOP1

MOVDL,0

NEXT1:

DIVBX

MOV[SI],DL

DECSI

ANDAX,AX

JZSTOP1

MOVDL,0

LOOPNEXT1;由于数码管只能显示5为,则CL=3

STOP1:

RET

(2)8255的有关内容

MOVAX,DATA

MOVDS,AX;设数据段寄存器的值

MOVAX,STACK

MOVSS,AX;设堆栈段寄存器的值

MOVDX,0FF03

MOVAL,80H

OUTDX,AL;写入模式字

(3)LED显示

MOVAL,[DI+3];取要显示的数字

MOVBX,OFFSETLEDADD;取显示代码表首址

XLAT;将数字转换成显示代码

MOV0FF00H,AL;将显示代码送入A口

MOVDX,0FF02H

MOVDX,01H;将0EH送入C口

CALLDELAY

MOVAL,[DI+2]

MOVBX,OFFSETLEDADD

XLAT

MOV0FF00H,AL

MOVDX,0FF02H

MOVDX,03H

CALLDELAY

MOVAL,[DI+1]

MOVBX,OFFSETLEDADD

XLAT

MOV0FF00H,AL

MOVDX,0FF02H

MOVDX,05H

CALLDELAY

MOVAL,[DI]

MOVBX,OFFSETLEDADD

XLAT

MOV0FF00H,AL

MOVDX,0FF02H

MOVDX,07H

CALLDELAY

DELAYMOVCX,0021H

P1:

MOVDX,0006H

P2:

DECDX

JNZP2

DECCX

JNZP1

RET

LEDADD:

DB40H

DB79H

DB24H

DB30H

DB19H

DB12H

DB02H

DB78H

DB00H

DB10H

CODEENDS

六.电路原理图

七、设计总结

微型计算机已经广泛应用于各行各业,促进了社会的进步。

作为今天的设计人员,必须很好的掌握微型计算机的概念与技术。

书本上学习的知识通常只是理论上的东西,而微机原理则是与实际结合很紧密的事情。

所以实践是必不可少的掌握所学内容的阶段。

为期两周的课程设计过程中,我们遇到了一些困难,最后通过我们到图书馆借阅有关书籍、网上查找资料、询问老师以及同学完成了此次课程设计,这次课程设计加强了我们的动手、思索和解决问题能力。

熟悉了所常用的芯片比如8253,8255等的应用,此次课设使我们又一次明白了团队合作的的重要性,收获很大。

八、参考文献

《微型计算机原理与接口技术》冯博琴吴宁主编

《电子器件常用器件应用手册》陈汝全主编

《数字电子基础》韩炎主编

《单片机应用入门》龙威林杨冠声主编

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1