单片机课程设计报告---简易数字频率计.doc_第1页
单片机课程设计报告---简易数字频率计.doc_第2页
单片机课程设计报告---简易数字频率计.doc_第3页
单片机课程设计报告---简易数字频率计.doc_第4页
单片机课程设计报告---简易数字频率计.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1 目目 录录 第一章第一章 引言引言2 1.1 课题背景: 2 12 本课题研究意义 .3 第二章第二章 555555 电路电路.4 2.1 电路功能介绍 4 2.2 555 时基电路的主要参数6 2.3 555 等效电路7 2.4 555 时基电路的应用8 第三章第三章 单片机定时器单片机定时器9 3.1 定时器的编程 9 3.1.中断编程10 3.1. 2 中断应用实例10 3.2 定时计数器的原理 .11 3.3 tmod 定时器|计数器方式寄存器12 3.4 tcon 定时器|计数器控制寄存器13 第四章第四章 硬件电路设计硬件电路设计14 4.1 多谐振荡器设计 .14 4.2 单稳态触发器 .14 4.3 led 数码管显示14 4.4 复位电路和晶振电路 .14 第五章第五章 软件设计软件设计15 5.1 信号的输出 .15 5.2 定时计数器 .15 5.3 led 数码管18 第六章第六章 结论结论19 致致 谢谢21 参考文献:参考文献:22 2 摘摘 要要 在数字电路中,数字频率计属于时序电路,它主要由具有记忆功能的触发 器构成。在计算机及各种数字仪表中,都得到了广泛的应用。在 cmos 电路系 列产品中,数字频率计是用量最大、品种很多的产品,是计算机、通讯设备、 音频视频等科研生产领域不可缺少的测量仪器,并且与许多电参量的测量方案、 测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。 本课题主要选择以集成芯片作为核心器件,设计了一个简易数字频率计, 以触发器和计数器为核心,由信号输入、隔直,触发、计数、数据处理和数据 显示等功能模块组成。利用 555 多谐振荡器产生的输出作为输入(频率低于 6khz) ,用单片机计算出频率,并在 led 上显示。用定时器 0 作为定时器,定 时 1s;用定时器 1 作为计数器,对输入的脉冲进行计数。利用 zlg7290 键盘 显示芯片在 led 上显示 5 位的频率数值。放大整型电路:对被测信号进行预处 理;闸门电路:由 ne556 构成一个秒信号,攫取单位时间内进入计数器的脉冲 个数;时基信号:产生一个秒信号;计数器译码电路:计数译码集成在一块芯 片上,计单位时间内脉冲个数,进制计数器计数结果译成 bcd 码;显示:把 bcd 码译码在数码管显示出来。设计中采用了模块化设计方法,采用适当的放 大和整形,提高了测量频率的范围。 关键词关键词:555 电路、定时器,计数器,触发器。 第一章第一章 引言引言 3 1.1 课题背景课题背景: (1)单片机发展前景)单片机发展前景 中国使用单片机的历史只有短短的 30 年,在初始的短短五年时间里 发展 极为迅速。1986 年在上海召开了全国首届单片机开 发与应用交流会,很多地 区还成立了单片微型计算机应用协会,那是全国形成的第一次高潮。单片机, 亦称单片微电脑 或单片微型计算机。它是把中央处理器(cpu) 、随机存取存 储器(ram) 、只读存储器(rom) 、输入/输出端口 (i/0)等主要计算机功能 部件都集成在一块集成电路芯片上的微型计算机。正因为如此他才改变了我的 生活。 (2)定时器的发展历史)定时器的发展历史 1876 年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯 的开关。它利用机械钟带动开关来控制煤气阀们。起初每周上一次发条,1918 年使用电钟计时后,就不用上发条了。 定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简 单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。 现在的不少家用电器都安装了定时器来控制开关或工作时间。 定时器是一个多任务定时提醒软件,它全面支持 windows 9x/me/nt/2k/xp 按时执行程序、播放声音、关机、待机、拨号、断开连接、 关闭显示器等等操作。具有多种设定任务的方法。支持 skin,可以随意更换界 面。 12 本课题研究意义本课题研究意义 随着微电子技术和计算机技术的飞速发展, 各种电子测量仪器在原理、功 能、精度及自动化水平等方面都发生了巨大的变化, 特别是 dsp 技术诞生以后, 电子测量技术更是迈进了一个全新的时代。近年来,dsp 逐渐成为各种电子器 件的基础器件,逐渐成为 21 世纪最具发展潜力的朝阳行业,甚至被誉为信息化 数字化时代革命旗手。在电子测量技术中,频率是最基本的参数之一,它与许 多电参量和非电量的测量都有着十分密切的关系。 数字频率计广泛采用了高速集成电路和大规模集成电路,使得仪器的体积 4 更小、耗电更少、精度和可靠性更高。而传统的频率计测量误差较大,范围也 较窄,因此逐渐被新型的数字频率计所代替。基于 dsp 的等精度频率计以其测 量准确、精度高、方便、价格便宜等优势将得到广泛的应用。 我们设计的简易数字频率计在未采用任何门控器件控制的情况下,在很宽 的范围内实现了等精度频率测量,0.5hz10mhz 的范围内测量方波的最大相对 误差小于 2e-6,测量正弦波的最大相对误差小于 3.5e-5;结果通过 rs232 通讯 显示在计算机上,可以很方便地监测数据。 5 第二章第二章 555 电路电路 2.1 电路功能介绍电路功能介绍 555 时基电路是一种将模拟功能与逻辑功能巧妙地结合在同一硅片上的组 合集成电路。该电路可以在最基本的典型应用方式的基础上,根据实际需要, 经过参数配置和电路的重新组合,与外接少量的阻容元件就能构成不同的电路, 因而 555 电路在波形的产生与变换、测量与控制、家用电器、电子玩具等许多 领域中都得到了广泛应用。 (一)555 时基电路的电路结构和逻辑功能 1.电路结构及逻辑功能 图 1 555 时基电路的电路结构 555 时基电路的引脚图 图 1 为 555 时基电路的电路结构和 8 脚双列直插式的引脚图,由图可知 555 电路由电阻分压器、电压比较器、基本 rs 触发器、放电管和输出缓冲器 5 个部分组成。它的各个引脚功能如下: 1 脚:gnd(或 vss)外接电源负端 vss 或接地,一般情况下接地。 2 脚:tr 低触发端。 3 脚:out(或 vo)输出端。 4 脚:r 是直接清零端。当 r 端接低电平,则时基电路不工作,此时不论 tr、th 处于何电平,时基电路输出为“0” ,该端不用时应接高电平。 5 脚:co(或 vc)为控制电压端。若此端外接电压,则可改变内部两个比较器的 基准电压,当该端不用时,应将该端串入一只 0.01f 电容接地,以防引入干 6 扰。 6 脚:th 高触发端。 7 脚:d 放电端。该端与放电管集电极相连,用做定时器时电容的放电。电阻 分压器由三个 5k 的等值电阻串联而成。电阻分压器为比较器 c1、c2 提供参 考电压,比较器 c1 的参考电压为 2/3vcc,加在同相输入端,比较器 c2 的参考 电压为 1/3vcc,加在反相输入端。比较器由两个结构相同的集成运放 c1、c2 组成。 8 脚:vcc(或 vdd)外接电源 vcc,双极型时基电路 vcc 的范围是 4.516v,cmos 型时基电路 vcc 的范围为 318v。一般用 5v。 在 1 脚接地,5 脚未外接电压,两个比较器 c1、c2 基准电压分别为 2/3vcc,1/3vcc 的情况下,555 时基电路的功能表如图 2 所示。 图 2 555 时基电路的功能表 2.2 555 时基电路的主要参数时基电路的主要参数 555 时基电路的主要参数有电源电压、静态电流、定时精度、阈值电压、 阈值电流、触发电压、触发电流、复位电压、复位电流、放电电流、驱动电流 及最高工作频率。以下图 3 是 555 电路与 7555 电路主要参数的对比。 7 图 3 555 电路与 7555 电路主要参数的对比 2.3 555 等效电路等效电路 555 时基电路内部既有模拟电路,又有数字电路,读图和应用十分不便, 为便于一目了然地理解 555 的功能,可以将 555 电路的数字与模拟功能合在一 起考虑,进行化简。 图 4(b)是图 4(a)中 555 电路的内电路方框图简化成为带一个放电开 关的特殊的 rs 触发器,其逻辑功能见图 5 所示。 图 4 555 电路简化电路 8 图 5 基本 rs 触发器和化简后的特殊 rs 触发器 化简后的特殊 rs 触发器输出电压 vo 与输入电压 vth 及 vtr 的关系见 图 6 所示。 图 6 输出电压 v0 与输入电压 vn 及 vtn 的关系 2.4 555 时基电路的应用时基电路的应用 由 555 时基电路构成常见的最基本的典型应用电路有:单稳态触发电路、 双稳态触发电路、无稳态电路,而用这 3 种方式中的 1 种或多种组合起来可以 组成各种实用的电子电路,如定时器、分频器、电路检测电路、自动控制电路 等。 1.模拟声响发生器模拟声响发生器 图 7 是由两个多谐振荡器构成的模拟声响发生器。由于低频振荡器的输出 端 3 接到高频振荡器的复位端 4,故当振荡器的输出电压 uo1 为高电平时, 振荡器就振荡;当 uo1 为低电平时,振荡器停止振荡,从而使扬声器便发 9 出间歇声响。 图 7 模拟发生器 2.可调速的电动玩具车电路可调速的电动玩具车电路 通过调节 555 振荡器的充电时间常数,来调节玩具电动车电动机的转速。 555 和 r1、r2、r3、rp 及 c1 等组成一个无稳态多谐振荡器。当 c1 通过 r1、rp、r2 充电至 uc2/3vdd(4v)时,555 翻转复位,3 脚转呈低电平, vt 截止,电动机 m 失电,电动车依靠惯性滑行。此时,c1 上的电荷通过 r3、d1 向芯片内的放电管泄放,即放电回路与充电回路由于 d1 的接入是分开 的,且由于 rp+r2 的阻值远大于 r3,放电主要是在 r3 上进行。多谐振荡器的 振荡频率为 fc=1.44/(r1+rp+r2+r3)c1 10 第三章第三章 单片机定时器单片机定时器 3.1 定时器的编程定时器的编程 定时器编程主要是对定时器进行初始化以设置定时器工作模式,确定计数 初值等,使用 c 语言编程和使用汇编编程方法非常类似。 用定时器实现 p1 所接 led 每 60ms 亮或灭一次,设系统晶振为 12m。要 使用单片机的定时器,首先要设置定时器的工作方式,然后给定时器赋初值, 即进行定时器的初始化。这里选择定时器 0,工作于定时方式,工作方式 1, 即 16 位定时/计数的工作方式,不使用门控位。由此可以确定定时器的工作方 式字 tmod 应为 00000001b,即 0x01。定时初值应为 65536600005536, 由于不能直接给 t0 赋值,必须将 5536 转化为十六进制即为 0x15a0,这样可以 写出初始化程序: tmod0x01; th00x1 tl00xa0; 初始化定时器后,要定时器工作,必须将 tr0 置 1,程序中用 “tr01;”来实现。 由定时时间到后,tf0 被置为 1,因此,只需要查询 tf0 是否等于 1 即可得 知定时时间是否到达,程序中用“if(tf0)”来判断,如果 tf00,则条件 不满足,大括号中的程序行不会被执行到,当定时时间到 tf01 后,条件满 足,即执行大括号中的程序行,首先将 tf0 清零,然后重置定时初值,最后是 执行规定动作取反 p1.0 的状态。 3.1.中断编程中断编程 c51 编译器支持在 c 源程序中直接开发中断过程,使用该扩展属性的函数 定义语法如下: 返回值 函数名 interrupt n 11 其中 n 对应中断源的编号,其值从 0 开始,以 80c51 单片机为例,编号从 04,分别对应外中断 0、定时器 0 中断、外中断 1、定时器 1 中断和串行口中 断。 3.1. 中断应用实例中断应用实例 用中断法实现定时器控制 p1.0 所接 led 以 60ms 闪烁。 这里仍选用定时器 t0,工作于方式 1,无门控。要开启中断,必须将 ea(总中断允许)和 et0(定时器 t0 中断允许)置 1,程序中用“ea1;” 和“et01;”来实现。在做完这些工作以后,就用 for(;);让主程序进入无 限循环中,所有工作均由中断程序实现。 由于定时器 0 的中断编号为 1,所以中断程序中这样写: void timer0() interrupt 1 80c51 单片机内部设有两个 16 位的可编程定时器/计数器。可编程的意思 是指其功能(如工作 方式、定时时间、量程、启动方式等)均可由指令来确定 和改变。在定时器/计数器中除了有两个 16 位的计数器之外,还有两个特殊功 能寄存器(控制寄存器和方式寄存器) 。 图 8 80c51 单片机定时器、计数器结构原理图 从图 8 定时器/计数器的结构图中我们可以看出,16 位的定时/计数器分别 由两个 8 位专用寄存器组成,即:t0 由 th0 和 tl0 构成;t1 由 th1 和 tl1 12 构成。其访问地址依次为 8ah-8dh。每个寄存器均可单独访问。这些寄存器是 用于存放定时或计数初值的。此外,其内部还有一个 8 位的定时器方式寄存器 tmod 和一个 8 位的定时控制寄存器 tcon。这些寄存器之间是通过内部总线 和控制逻辑电路连接起来的。tmod 主要是用于选定定时器的工作方式; tcon 主要是用于控制定时器的启动停止,此外 tcon 还可以保存 t0、t1 的 溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚 t0 (p3.4)和 t1(p3.5)输入。 3.2 定时计数器的原理定时计数器的原理 当定时器/计数器为定时工作方式时,计数器的加 1 信号由振荡器的 12 分 频信号产生,即每过一个机器周期,计数器加 1,直至计满溢出为止。显然, 定时器的定时时间与系统的振荡频率有关。因一个机器周期等于 12 个振荡周期, 所以计数频率 fcount=1/12osc。如果晶振为 12mhz,则计数周期为: t=1/(12106)hz1/12=1s 这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并 要适当选择定时器的长度(如 8 位、13 位、16 位等) 。当定时器/计数器为计数 工作方式时,通过引脚 t0 和 t1 对外部信号计数,外部脉冲的下降沿将触发计 数。计数器在每个机器周期的 s5p2 期间采样引脚输入电 平。若一个机器周期 采样值为 1,下一个机器周期采样值为 0,则计数器加 1。此后的机器周期 s3p1 期间,新的计数值装入计数器。所以检测一个由 1 至 0 的跳 变需要两个 机器周期,故外部事年的最高计数频率为振荡频率的 1/24。例如,如果选用 12mhz 晶振,则最高计数频率为 0.5mhz。虽然对外部输入信号 的占空比无特 殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高 电平与低电平保持时间均需在一个机器周期以上。当 cpu 用软件给定时器设置 了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用 cpu 的操作时间,除非定时器计满溢出,才可能中断 cpu 当前操作。cpu 也可以 重新设置定时器工作方式,以改变定时器的操作。由此可见,定时器是单片机 中效率高而且工作灵活的部件。 我们已知定时器/计数器是一种可编程部件,所以在定时器/计数器开始工作 之前,cpu 必须将一些命令(称为控制字)写入定时/计数器。将控制字写入定 13 时/计数器的过程叫定时器/计数器初始化。在初始化过程中,要将工作方式控制 字写入方式寄存器,工作状态字(或相关位)写入控制寄存器,赋定时/计 数 初值。下面我们就提出的控制字的格式及各位的主要功能与大家详细的讲解。 控制寄存器 定时器计数器 t0 和 t1 有 2 个控制寄存器-tmod 和 tcon,它 们分别用来设置各个定时器计数器的工作方式,选择定时或计数功能,控制 启动运行,以及作为运行状态的标志等。其中,tcon 寄存器中另有 4 位用于 中断系统 3.3 tmod 定时器定时器|计数器方式寄存器计数器方式寄存器 定时器方式控制寄存器 tmod 在特殊功能寄存器中,字节地址为 89h,无 位地址。tmod 的格式如下图所示。 由图可见,tmod 的高 4 位用于 t1,低 4 使用于 t0,4 种符号的含义如下: gate:门控制位。gate 和软件控制位 tr、外部引脚信号 int 的状态,共同 控制定时器计数器的打开或关闭。 ct:定时器计数器选择位。c/t1,为计数器方式;ct0,为定时 器方式。 m1m0:工作方式选择位,定时器计数器的 4 种工作方式由 m1m0 设定。 m1m0工作方式功能描述 00工作方式 013 位计数器 01工作方式 116 位计数器 10工作方式 2自动再装入 8 位计数器 11工作方式 3定时器 0: 分成两个 8 位计数器; 定时器 1:停止计数 定时器/计数器方式控制寄存器 tmod 不能进行位寻址,只能用字节传送 指令设置定时器工作方式,低半字节定义为定时器 0,高半字节定义为定时器 14 1。复位时,tmod 所有位均为 0。 3.4 tcon 定时器定时器|计数器控制寄存器计数器控制寄存器 tcon 在特殊功能寄存器中,字节地址为 88h,位地址(由低位到高位)为 88h 一 8fh,由于有位地址,十分便于进行位操作。tcon 的作用是控制定时 器的启、停,标志定时器溢出和中断情况。 tcon 的格式如下图所示。其中,tfl,trl,tf0 和 tr0 位用于定时器 计数器;iel,itl,ie0 和 it0 位用于中断系统。 各位定义如下: tf1:定时器 1 溢出标志位。当字时器 1 计满溢出时,由硬件使 tf1 置 “1” ,并且申请中断。进入中断服务程序后,由硬件自动清“0” ,在查询方式 下用软件清“0” 。 tr1:定时器 1 运行控制位。由软件清“0”关闭定时器 1。当 gate=1, 且 int1 为高电平时,tr1 置“1”启动定时器 1;当 gate=0,tr1 置“1”启 动定时器 1。 tf0:定时器 0 溢出标志。其功能及操作情况同 tf1。 tr0:定时器 0 运行控制位。其功能及操作情况同 tr1。 ie1:外部中断 1 请求标志。 it1:外部中断 1 触发方式选择位。 ie0:外部中断 0 请求标志。 it0:外部中断 0 触发方式选择位。 tcon 中低 4 位与中断有关。由于 tcon 是可以位寻址的,因而如果只清 溢出或启动定时器工作,可以用位操作命令。 15 第四章第四章 硬件电路设计硬件电路设计 系统的硬件设计分为三个部分:多谐振荡器,单稳态触发器,以及 led 数 码管的设计。下面分别进行介绍。 1 2 j4 c on 2 c 21 10 0u f c 3 10 4 c 4 10 4 c 5 10 4 c 6 10 4 c 7 10 4 c 8 10 4 g nd +5vg nd v 1 l ed r 6 51 0 位位位位 c 22 10 4 图 9 电源电路 4.1 多谐振荡器设计多谐振荡器设计 多谐振荡器由门电路和阻容元件构成,它没有稳定状态,只有两个暂稳态, 通过电容的放电和充电,是两个暂稳态相互交替,从而产生激震荡,输出周期 性的矩形脉由于矩形脉冲含有丰富的谐波分量,因此,常将矩形脉冲产生电路 称做多谐振荡器。 4.1.1 电路组成电路组成 4 8 1 3 5 7 6 2 r 2 10k 104 555 c 474 r 1 10k +5v v o 16 图 10 多谐振荡器的电路图 用 555 定时器构成的多谐振荡器电路如图 10 所示:图中电容 c、电阻 r1 和 r2 作为振荡器的定时元件,决定着输出矩形波正、负脉冲的宽度。定时器 的触发输入端(2 脚)和阀值输入端(6 脚)与电容相连;集电极开路输出端 (7 脚)接 r1、r2 相连处,用以控制电容 c 的充、放电;外界控制输入端 (5 脚)通过 0.01uf 电容接地。 412.工作原理:工作原理: 图 11 多谐振荡器的工作波形 多谐振荡器的工作波形如图 11 所示: 电路接通电源的瞬间,由于电容 c 来不及充电,vc=0v,所以 555 定时器状 态为 1,输出 vo 为高电平。同时,集电极输出端(7 脚)对地断开,电源 vcc 对电容 c 充电,电路进入暂稳态 i,此后,电路周而复始地产生周期性的输出 脉冲。多谐振荡器两个暂稳态的维持时间取决于 rc 充、放电回路的参数。暂稳 态的维持时间,即输出 vo 的正向脉冲宽度 t10.7(r1+r2)c;暂稳态的维 持时间,即输出 vo 的负向脉冲宽度 t20.7r2c。 因此,振荡周期 t=t1+t2=0.7(r1+2r2)c,振荡频率 f=1/t。正向脉冲宽度 t1 与振荡周期 t 之比称矩形波的占空比,由上述条件可得 d=(r1+r2) /(r1+2r2),若使 r2r1,则 d1/2,即输出信号的正负向脉冲宽度相等的 矩形波(方波)。 4.2 用用 555 定时器构成的单稳态触发器定时器构成的单稳态触发器 触发器有两个基本特征:1、它有两个稳定状态,可分别用来表示二进制数 码 0 和 1;2、在输入信号作用下,触发器的两个稳定状态可相互转换,输入信 号消失后,已转换的稳定状态可长期保持下来,这就使得触发器能够记忆二进 17 c 20 22uf r 1 1k +5v g nd c re st 位位位位 s5 r 8 1k 制信息,常用作二进制存储单元。因此,它是一个具有记忆功能的基本逻辑电 路,有着广泛的应用。 421.电路组成电路组成 4 8 1 3 5 7 6 2 55 5 v o v c r 5.1k v i c 10 5 c 10 4 +5v 图 12 单稳态触发器电路 图 13 由 555 定时器构成的单稳态触发器 如图 13 所示,其中 r、c 为单稳态触发器的定时元件,它们的连接点 vc 与定时器的阀值输入端(6 脚)及输出端 vo(7 脚)相连。单稳态触发器输出 脉冲宽度 tpo=1.1rc。 ri、ci 构成输入回路的微分环节,用以使输入信号 vi 的负脉冲宽度 tpi 限 制在允许的范围内,一般 tpi5rici,通过微分环节,可使 vi的尖脉冲宽度小 于单稳态触发器的输出脉冲宽度 tpo。若输入信号的负脉冲宽度 tpi 本来就小 于 tpo,则微分环节可省略。 定时器复位输入端(4 脚)接高电平,控制输入端 vm 通过 0.01uf 接地,定时器输出端 vo(3 脚)作为单稳态触 发器的单稳信号输出端。 图 14 复位电路 18 422.工作原理工作原理 当输入 vi 保持高电平时,ci 相当于断开。输入 vi由于 ri 的存在而为高 电平 vcc。此时,若定时器原始状态为 0,则集电极输出(7 脚)导通接地, 使电容 c 放电、vc=0,即输入 6 脚的信号低于 2/3vcc,此时定时器维持 0 不变。 若定时器原始状态为 1,则集电极输出(7 脚)对地断开,vcc 经 r 向 c 充 电,使 vc 电位升高,待 vc 值高于 2/3vcc 时,定时器翻转为 0 态。 单稳态触发器的工作过程分为下面三个阶段来分析,图 12 为其工作波形图: 图 15 单稳态触发器工作波形图 触发翻转阶段: 输入负脉冲 vi 到来时,下降沿经 rici 微分环节在 vi端产生下跳负向尖脉 冲,其值低于负向阀值(1/3vcc)。 暂态维持阶段: 由于集电极开路输出端(7 脚)对地断开,vcc 通过 r 向 c 充电,vc 按 指数规律上升并趋向于 vcc。 19 返回恢复阶段: 当 c 充电使 vc 值高于正向阀值(2/3vcc)时,由于 vi端负向尖脉冲已消 失 ,vi值高于负向阀值(1/3vcc),定时器翻转为 0,输出低电平,集电极 输出端(7 脚)对地导通,暂态阶段结束。 4.3 led 数码管显示数码管显示 常见的七段数字显示器有半导体数码显示器(led)和液晶显示器 (lcd)等。这里主要介绍半导体数码显示器。 发光二极管数码显示器的内部接法有两种:一种是共阳接法,一种是共阴 接法。七段译码器输出低电平时,需选用共阳接法的数码显示器;译码器输出 高电平时,则需选用共阴接法的数码显示器。 c0 6 c1 8 c2 9 c3 12 h 3 g 5 f 10 e 1 d 2 c 4 b 7 a 11 l 1 c0 6 c1 8 c2 9 c3 12 h 3 g 5 f 10 e 1 d 2 c 4 b 7 a 11 l 2 bit4 bit5 bit6 bit7 bit0 bit1 bit2 bit3 r k1 r k2 220 r k3 220 r k4 220 r k5 220 r k6 220 r k7 220 r k8 220 220 seg7 seg6 seg5 seg4 seg3 seg2 seg1 seg0 s1 sw -pb s2 sw -pb s3 sw -pb s4 sw -pb r 1 1k r 2 1k r 3 1k r 4 1k s5 sw -pb s6 sw -pb s7 sw -pb s8 sw -pb r 5 1k r 6 1k r 7 1k r 8 1k d 1 4148 s9 sw -pb s10 sw -pb s11 sw -pb s12 sw -pb s13 sw -pb s14 sw -pb s15 sw -pb s16 sw -pb d 2 4148 sb 0 sb 1 sb 2 sb 3 sb 4 sb 5 sb 6 sb 7 seg6 seg7 sb 0 sb 1 sb 2 sb 3 sb 4 sb 5 sb 6 sb 7 b it0 b it1 b it2 b it3 b it4 b it5 b it6 b it7 sega 23 segb 24 segc 1 segd 2 sege 7 segf 8 segg 9 segh 10 v cc 16 o sc 1 17 o sc 2 18 /r st 15 d ig7 13 d ig6 12 d ig5 21 d ig4 22 d ig3 3 d ig2 4 d ig1 5 d ig0 6 sd a 20 sc l 19 /int 14 g nd 11 u 4 z lg 7290 b it7 b it6 b it5 b it4 b it3 b it2 b it1 b it0 sd a sc l in t ke y seg7 seg6 seg5 seg4 seg3 seg2 seg1 seg0 o scin o sco ut r st l i2c_v c 13 103 c 23 22p x 1 8m h z c 24 22p 图 16 led 数码管 20 第五章第五章 软件设计软件设计 5.1 信号的输出信号的输出 利用 555 多谐震荡器产生的输出作为输入(频率低于 6khz) ,用单片机算 出频率,并在 led 上显示。 5.2 定时计数器定时计数器 晶振产生一个振荡频率稳定的脉冲,通过分频整形、门控双稳后,产生所 需宽度的基准时间 t 的脉冲,又称闸门时间脉冲。 注意:分频器一般采用计数器完成,计数器的模即为分频比。 计数脉冲形成电路: 将被测信号变换为可计数的窄脉冲,其输出受闸门脉冲的控制。 计数显示电路: 对被测信号进行计数,显示被测信号的频率。计数器一般采用多位 10 进 制计数器;控制逻辑电路控制计数的工作程序:准备、计数、显示、复位和准 备下一次测量。其中十进制计数器要求具有计数使能端 cnten、复位端 clr、进位输。 利用 555 多谐振荡器产生的输出作为输入,用单片机算出频率,并在 led 上显示。以下是所需程序: #include“reg52.h” #include“zlg7290.h” /zlg7290 库 unsigned char scount; /i*ic 库 void timer0_int()interrupt 1 tr0=0; 21 th0=0; /关闭定时器 th0=0x4c; /重装定时器值 tl0=0x19; tf0=0; /清除溢出标志 scount-; if(scount0) /到 1s 了吗? tr0=1; /没到,开定时器 else tr=0; /到了,停止 t1 的计数 main() unsigned char a5; unsigned char i,resh,res1; unsigned long int freq; tmod=0xd1; th0=0x4c; /定时 50ms tl0=ox19; th1=0; /计数值清 0 tl1=0; scount=20; /定时 1s et0=1; /开定时器 0 中断 ea=1; /开总中断 tr0=1; /启动定时器和计数值 tr1=1; for (i=0;i5;+i) ai=0; zlg7290_sendbuf(a,5); /在 led 上显示 5 位 0 while (1) 22 if(!scount) /1s 时间到 resh=th1; /取出计数值 res1=tl1; th1=0; /计数值清零 tl1=0; th0=0x4c; /重装定时器 0 tl0=0x19; scount=20; /定时 1s tr0=1; /启动定时器和计数 tr1=1; freq=resh*256+resl; /计算机频率值 a0=freq%10; /将各位分离显示 a1=(freq/10)%10; a2=(freq/100)%10; a3=(freq/1000)%10; a4=freq/10000; zlg7290_sendbuf(a,5); /送 zlg7290 显示 5.3 led 数码管数码管 单片机中通常使用的是有 7 个发光二极管,即七段 led 按日字排列成的数 码管。七段 led 的阳极连在一起称为共阳极接法,而阴极连在一起称为共阴极 接法。每段的笔画分别称为 a,b,c,d,e,f,g,另有一段构成小数点。 在动态显示方式中,6 个数码管的段选信号是分时轮流输出,要得到稳定 的显示效果,必须不断重复执行显示程序。设 8155 的 cs 接 8051 的 p2.7,io/m 接 8051 的 p2.0。显示程序如下: mod: push acc ;保护现场 push dph push dpl 23 setb rs0 clr p2.7;选通 8155 setb p2.0 ;选 8155 的 i/o 口 mov r1, #0f8h ;设定 8155 的控制口 mov a, #4dh ;设定 8155 的 a 口,c 口为输 出 mov x r1, a dir: mov r0, #dis0 ;显示缓冲区首地址送 r0 mov r6, #20h ;选最左边的 led mov r7, #00h ;设定显示时间的计数 mov dptr, #tab ;字形段码表首地址送 dptr dir1 : mov a, #00h ;关显示 mov r1, #0fbh ;指向 8155 的 a 口 movx r1, a ;取要 8155 的 c 口 mov a, r0 ;取要显示的数 movc a, a+dptr ;取段码 mov r1,

温馨提示

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

评论

0/150

提交评论