微机原理及接口技术课程设计数字频率计设计_第1页
微机原理及接口技术课程设计数字频率计设计_第2页
微机原理及接口技术课程设计数字频率计设计_第3页
微机原理及接口技术课程设计数字频率计设计_第4页
微机原理及接口技术课程设计数字频率计设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及接口技术课程设计2010/2011 学年第 2 学期学 院:中北大学专 业:测控技术与仪器起 迄 日 期:5月 16 日 5 月27日课程设计地点:指 导 教 师:姓名.学号:一课程设计目的 通过课程设计,掌握8253的控制字的设置、工作方式、编程原理和微机接口方法,熟悉8088的功能几个管脚的作用;提高理论联系实际的解决实际问题的能力,提高对接口技术等相关硬件知识的深入理解,进而提高动手能力和学习兴趣为顺利进入毕业环节做必要的准备。二课程设计内容以8088cpu为核心设计一个数字频率计,要求能测量1hz1mhz频率范围的矩形和正弦波的频率或周期。三课程设计要求用8253芯片设计电路

2、图,画出电路原理图,说明工作原理,编写程序。四数字频率计基本原理1数字频率计的原理1)数字频率计是用于测量信号(方波、正弦波或其它脉冲信号)的频率,并用十进制数字显示,它具有精度高,测量迅速,读数方便等优点。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长每测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周

3、期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为fnt,其中,f为被测信号的频率,n为计数器所累计的脉冲个数。 t为产生n个脉冲所需的时间。计数器所记录的结果,就是被测信号的频率。如在1s内记录1000个脉冲,则被测信号的频率为1000hz。晶振产生较高的标准频率,经分频器后可获得各种时基脉冲(1ms,10ms,0.1s,1s等),时基信号的选择由开关k控制。用单稳态触发器产生指令和清零信号,对置零信号而言,当达到所调节的延时时间时,延时电路输出一个复位信号,使计数器

4、和所有的触发器量0,为后续新的一次取样作好准备,即能锁住一次显示的时间,使保留到接受新的一次取样为止。2)系统框图从数字频率计的基本原理出发,根基设计要求,得到如图1所示的电路框图 图1. 电路系统框图28088cpu的原理8088 cpu是一块具有40条引出线的集成电路芯片,如图2所示。为了减少芯片的引线,有许多引线具有双重定义和功能,采用分时复用方式工作,即在不同时刻,这些引线上的信号是不相同的。同时,8088cpu上的mn/mx=1时,8088cpu工作在最小模式之下。此时,构成的微型机中只包括一个8088cpu,且系统总线由cpu的引线形成,微型机所用的芯片最少。当mn/mx=0时,8

5、088cpu工作在最大模式之下。在此模式下,构成的微型计算机中除了有8088cpu之外,还可以接另外的cpu(如8087),构成多微处理器系统。 图2. 8088cpu管脚图数据总线d0d15:双向传输, 可分别使用其低8位或高8位,该总线与地址总线a0a15共用cpu引脚形成复用总线ad0ad15, 地址、数据分时传送。地址总线a0a19:20位,单向,地址由cpu产生,用于寻址访问存储器单元或io端口。a0a15与d0d15复用,a16a19与状态信号s3s6复用(a16/s3 a19/s6)。其中ad15ad0地址数据复用信号(标号216、39),双向,三态。状态信号s3s6:s6:指示

6、8088当前是否与总线相连。s60表示8088连在总线上。s5:表示中断允许标志状态。s51表示中断允许标志if1(对可屏蔽中断请求起作用)。s50表示if0,禁止可屏蔽中断。s4和s3用来指出当前使用的段寄存器。 s4、s3代码组合对应的含义如下表所示。s4s3当前正使用的段寄存器 0 0 es 0 1 ss 1 0 cs或未使用任何段寄存器 1 1 dsrd(read):读信号(标号32),输出,三态。rd信号有效,表示cpu执行一个对存储器或i/o端口的读操作,在一个读操作的总线周期中,rd在t2t3状态中有效,为低电平。为0时,cpu作读操作。wr(write):写信号(标号29),输

7、出,三态。wr信号有效,表示cpu执行一个对存储器或i/o端口写操作,在写操作总线周期中,wr在t2t3状态中有效,为低电平。为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信号除了在t2t3状态中有效外,还在tw(等待)状态有效。下表为对存储器或i/o的读写操作选择。 rd

8、wrm/io 对应的操作 0 1 0 i/o写操作 0 1 1 存储器写操作 1 0 0 i/o读操作 1 0 1 存储器读操作38253的原理8253是一种可编程的计数器/定时器芯片,如图3所示。 8253内部具有3个独立的16位计数器通道,通过对它进行编程,每个计数器通道均有6种工作方式,并且都可以按2进制或10进制2种格式进行计数,最高计数频率能达到2mhz。 8253还可用作可编程方波频率产生器、分频器、程控单脉冲发生器等。 图3. 8253管脚图d0d7:8位双向数据线,用来传送数据、控制字和计数器的计数初值。cs:选片信号,输入。低电平有效,由系统高位i/o地址译码产生。rd:读控

9、制信号,输入,低电平有效,当它有效时表示cpu要对此定时器芯片进行读操作。wr:写控制信号,输入,低电平有效,当它有效时表示cpu要对此定时器芯片进行写操作。a 0,a1:地址信号线。clk0clk2:每个计数器的时钟信号输入端。gate0gate2:门控信号,用于控制计数的启动和停止,gate=1时计数允许,gate=0时停止计数。out0out2:计数器输出信号。474ls48七段译码器bcd-七段显示译码器(74ls48)因为计算机输出的是bcd码,要想在数码管上显示十进制数,就必须先把bcd码转换成 7 段字型数码管所要求的代码。我们把能够将计算机输出的bcd码换成 7 段字型代码,并

10、使数码管显示出十进制数的电路称为“七段字型译码器”。 1)输入:8421bcd码,用a3 a2 a1 a0表示(4位)。 2)输出:七段显示,用ya yg 表示(7位) 3)逻辑符号:七段显示译码器在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来,一方面供人们直接读取测量和运算的结果;另一方 面用于监视数字系统的工作情况。因此,数字显示电路是许多数字设备不可缺少的部分。数字显示电路通常由译码器、驱动 器和显示器等部分组成,如图4所示。下面对显示器和译码驱动器分别进行介绍。 图4数字显示电路方框图数码显示器是用来显示数字、文字或符号的器件,现在已有多种不同类型的产品,广泛应用于各种数

11、字设备中,目前数码显示器件正朝着小型、低功耗、平面化方向发展。数码的显示方式一般有三种:第一种是字形重叠式,它是将不同字符的电极重叠起来,要显示某字符,只须使相应的电极发 亮即可,如辉光放电管、边光显示管等。第二种是分段式,数码是由分布在同一平面上若干段发光的笔划组成,如荧光数码管等。第三种是点阵式,它由一些按一定规律排列的可发光的点阵所组成,利用光点的不同组合便可显示不同的数码,如场致发光记分牌。 数字显示方式目前以分段式应用最普遍,下图表示七段式数字显示器利用不同发光段组合方式,显示015等阿拉伯数字。在实际应用中,1015并不采用,而是用2位数字显示器进行显示。 图5 七段数字显示器发光

12、段组合图按发光物质不同,数码显示器可分为下列几类: 7448七段显示译码器 7448七段显示译码器输出高电平有效,用以驱动共阴极显示器。该集成显示译码器设有多个辅助控制端,以增强器件的功能。 7448的功能表如下表所示,它有3个辅助控制端lt、rbi、bi/rbo,现简要说明如下: 灭灯输入bi/rbo bi/rbo是特殊控制端,有时作为输入,有时作为输出。当bi/rbo作输入使用且bi0时,无论其它输入端是什么电平,所有各段输入ag均为0,所以字形熄灭。 试灯输入lt 当lt0时,bi/rbo是输出端,且rbo1,此时无论其它输入端是什么状态,所有各段输出ag均为1,显示字形8。该输入端常用

13、于检查7488本身及显示器的好坏。 7488功能表 动态灭零输入rbi当lt1,rbi0且输入代码dcba0000时,各段输出ag均为低电平,与bcd码相应的字形熄灭,故称“灭零”。利用lt=1与rbi=0可以实现某一位的“消隐”。此时bi/rbo是输出端,且rbo=0。动态灭零输出rbobi/rbo作为输出使用时,受控于lt和rbi。当lt1且rbi0,输入代码dcba=0000时,rbo=0;若lt=0或者lt1且rbi1,则rbo=1。该端主要用于显示多位数字时,多个译码器之间的连接。 从功能表还可看出,对输入代码0000,译码条件是:lt和rbi同时等于1,而对其它输入代码则仅要求lt

14、1,这时候,译码器各段ag输出的电平是由输入bcd码决定的,并且满足显示字形的要求。5频率测量方法频率测量方法有m法,t法,m/t法,测量的基本要求是快速准确。(1)m法:测量计数在一定时间tc内的信号脉冲数m。譬如,tc1秒,计数值m1200,则信号频率为1200hz; tc0.1秒,计数值m=1200,则信号频率为12000hz。显然,m法适用于高频信号的测量。(2)t法:测量一个完整脉冲的周期t,则此周期t的倒数就是待测频率。譬如,测得t0.1ms,则信号频率为10000hz。显然,t适用于低频信号测量。五、编写程序(设8253端口地址为40h43h)(1)8253初始化(五微秒信号)-

15、for8253: mov dx,0fffbh mov al,36h ;0111 0110 ct1,方式3 out dx,al mov al,76h ;0011 0000 ct0,方式0 out dx,al mov dx,0fff9h mov ax,18432 ;(6144) ct1 产生10ms方波 out dx,al mov al,ah out dx,al mov dx,0fff8h mov ax,2 ; ;5ms脉冲 out dx,al mov al,ah out dx,alret-8253初始化(一秒信号)-for8253: mov dx,0fffbh mov al,36h ;0111

16、0110 ct1,方式3 out dx,al mov al,76h ;0011 0000 ct0,方式0 , out dx,al mov dx,0fff9h mov ax,18432 ;(6144) ct1 产生10ms方波 out dx,al mov al,ah out dx,al mov dx,0fff8h mov ax,100 ;1000 ;1s脉冲 out dx,al mov al,ah out dx,alret-8253初始化(十秒信号)-for8253b:mov dx,0fffbh mov al,36h ;ct0,方式0 out dx,al mov al,076h ;ct1,方式3

17、 out dx,al mov dx,0fff9h ;ct1 mov ax,18432 ;(18432) 产生10ms方波 out dx,al mov al,ah out dx,al mov dx,0fff8h ;ct0 mov ax,1000 ;1000 ;10s脉冲 out dx,al mov al,ah out dx,al ret;-;控制ct2计数,设置频率范围;-for8253x: mov dx,0fffbh ;控制口地址 mov al,0b0h ;ct2,方式0 out dx,al mov dx,0fffah ;ct2地址 mov ax,65535 ;t2计数的最大值 out dx,

18、al mov al,ah out dx,al mov cx,10 ;延时good: loop goodret;-;二 十进制转化(高频无小数点,利用了m法测量);-btro: mov cl,6 xor ch,ch xor dx,dx mov bx,10 mov si,offset buf add si,5 ;从低位到高位存储next: div bx mov si,dl ;除以10的余数存放低位 dec si and ax,ax jz stop ;判断是否除尽 mov dl,0 loop nextstop: ret;- ;二 十进制转化(低频有小数点,利用了t法测量);-btrob:mov cl

19、,3 xor ch,ch xor dx,dx mov bx,10 mov si,offset buf add si,5 ;使其从数码管的低位开始显示 div bx mov si,dl dec si mov dl,0 ;将存放余数的清0 div bx add dl,10 ;查表将该位的小数点显示出来 mov si,dl dec si and ax,ax ;检测商是否为0,若为0程序跳出,否则继续 jz stop1 mov dl,0next1: div bx mov si,dl dec si and ax,ax jz stop1 mov dl,0 loop next1 ;由于数码管只能显示5为,则

20、cl=3stop1: ret(2)8255的有关内容 mov ax,data mov ds,ax ;设数据段寄存器的值 mov ax,stack mov ss,ax ;设堆栈段寄存器的值mov dx,0ff03 mov al,80h out dx,al ;写入模式字 (3) led显示 mov al,di+3 ;取要显示的数字 mov bx,offset ledadd ;取显示代码表首址 xlat ;将数字转换成显示代码 mov 0ff00h,al ;将显示代码送入a口 mov dx,0ff02h mov dx,01h ;将0eh送入c口 call delay mov al,di+2 mov bx,offset ledadd xlat mov 0ff00h,al mov dx,0ff02h mov dx,03h call delay mov al,di+1 mov bx,offset ledadd xlat m

温馨提示

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

评论

0/150

提交评论