版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕毕 业业 论论 文文 题目:基于单片机的数字电压表的设计基于单片机的数字电压表的设计 专 业 学 号 学 生 姓 名 指 导 教 师 论论 文文 完完 成成 日日 期期 年年 月月 基于单片机的数字电压表的设计基于单片机的数字电压表的设计 摘摘 要要 本设计主要研究的是以 at89c51 单片机为核心的电压测量系统, 该系统能够在单片机的控制下完成对电压信号采集,能够根据采样 值进行量程自动转换,并且测量结果可通过四个数码管显示出来。 整个系统的设计完成了硬件电路的设计及软件程序的编写,通 过最终硬件电路的调试及软件程序的仿真,使该系统能够在要求的 条件下达到正常的测量及显示功能。 在整个系
2、统的设计过程中,主要采用了模块化的设计方法。 关键词:关键词: at89c51 单片机;数字电压表;模块化 designdesign ofof thethe digitaldigital voltmetervoltmeter basedbased onon thethe mcumcu abstractabstract this paper introduces an achievement of a voltage measure system based on the at89c51 mcu. this system can accomplish the signal sampling of
3、 voltage, and change range automatically according to the signal sampled. the result can be displayed through numeral rube of four places. in this design, the hardware circuit and software programming are both realized at the judge of hardware circuit and imitation of software program. this system c
4、an fulfill the function of measure and displaying under the demanded conditions. over the designing of the whole system, the method of modularity is used. key words: at89c51 mcu; digital voltmeter; modularity 目目 录录 绪论绪论.1 第一篇第一篇 硬件部分的设计硬件部分的设计.1 1. 数据采集部分的设计.2 1.1 交流信号和直流信号的采样.2 2. 量程自动转换电路的设计.4 3.
5、模数转换单元的设计.5 4. 控制电路的设计.7 4.1总体概况.7 一.主要功能.7 二.内部结构框图.8 三.外部引脚说明.9 4.2 单片机在系统中的应用.11 5. 显示部分的设计.12 5.1键盘显示8279芯片.12 5.2 8279的组成和基本工作原理.13 5.3 8279引脚及功能.15 5.4 8279的工作方式及命令字格式.17 第二篇第二篇 软件系统的设计软件系统的设计.23 1. mcs-51 单片机汇编语言.23 2. 主程序的设计.23 3. 子程序的设计.25 3.1采样程序的设计.25 3.2 量程处理程序的设计.26 3.21 采样及其处理程序.26 3.2
6、2 计算部分的设计.28 3.23 显示部分的软件设计.29 3.3 超量程处理.29 4. 系统程序清单.29 设计总结设计总结.41 参考文献参考文献.41 绪论绪论 在电气测量中,电压是一个很重要的参数。如何准确地测量模拟信号的电压值,一直 是电测仪器研究的内容之一。数字电压表是通用仪器中使用较广泛的一种测试仪器,很多 电量或非电量经变化后都用可数字电压表完成测试。因此,数字电压表被广泛地应用于科 研和生产测试中。 本文将介绍一种以单片机为核心的电压测量仪表,它能够测量电压量,能够自动进行 量程选择,并且测量结果能够通过数码管显示,从而具有一定的智能性。本文将就这一系 统的硬件电路部分和
7、软件程序部分分别作以介绍。在硬件部分,本文就系统的各个组成模 块的原理作了详细的介绍。另外,在每一模块电路中都对元器件的选择作了简单的介绍, 其中包括有关数值的计算和分析。在软件部分,详细阐述了各个模块电路的软件设计方法 和设计中的细节。 第一第一篇篇 硬件硬件部分的设计部分的设计 分析本设计,可以看出其主要任务就是对电压信号能够自动选择合适的量程进行测量 并显示。本设计要求采用单片机进行控制,由于单片机的有效输入输出信号均为数字信号, 而对于整个系统的前向通道有效信号均应为模拟信号,所以在设计过程中必然包括模拟量 转换为数字量单元的设计。根据要求本设计中采用的是 v/f 转换电路。对于 v/
8、f 转换电路, 要使其转换具有良好的线性度和精度必须使其输入电压变化范围较小。而本系统中要求测 量的电压范围是 0500v,无法满足 v/f 转换的要求。所以,前向模拟通道的设计要包括量 程转换部分,即对大信号进行分压变小,对小信号进行放大,显然,这样不仅能满足 v/f 转换电路的要求,而且也能有效的防止超量程测量。另外,前向通道的设计还应包括对模 拟信号的采集部分。本设计框图如图 1-1 所示: 图图1-11-1 设计总框图设计总框图 在以后的各节中,将分别介绍各个部分的设计。 1.1. 数据采集部分的设计数据采集部分的设计 根据本系统的要求所采集的信号应为电压信号,同时电压信号还应有交流和
9、直流之分。 所以在设计中应该具有相应的处理电路,使最终的信号得以统一。对于交流信号可以采用 交/直流变换的方法变为直流,这样最终进入模/数转换单元(即 v/f 转换单元)的模拟信 号就应该为直流电压信号。对于信号变换部分应该注意的是所采样的信号种类应能够通知 控制部分(单片机) ,以使控制部分做出相应的计算处理,只有这样才能保证最终的显示结 果的正确性。 1.11.1 交流信号和直流信交流信号和直流信号的采样号的采样 本设计中所采用的交直流转换电路如图 1-2 所示: 分析此电路,可以看出此电路集精密全波整流、量程切换、信号过零比较于一体。 cd4053 是三组单刀双掷集成模拟开关,开关 x
10、承担了全波整流的任务,其控制端 a 受 控于比较器的输出电平。图中 u10 工作于同相放大状态,运放 u11 工作于反相放大状态, 比较器的输入引自 u10 的放大输出信号,这有利于提高比较器对信号的灵敏度。电路输入 交流信号的正半波时,同相连接的比较器 u9 输出高电平,模拟开关 x 接通运放 u10 输出信 号送后续的模拟信号与数字信号的转换单元;电路输入交流信号的负半波时,比较器 u9 输 出低电平,模拟开关 x 接通反相器 u11 的输出信号送后续的模拟信号与数字信号的转换单 v/f mcu 元。由此完成了由 u9 过零跃变的准数字量控制的全波整流过程。这个准数字信号就可以用 来通知控
11、制部分所进行测量的是交流信号还是直流信号,以使控制部分进行相应的计算和 显示。 cd4053 的另两组模拟开关 y 和 z 承担了三个量程的切换任务,它们的控制端 b 和 c 通过来自单片机的量程切换命令。 2 3 7 6 5 1 84 u9 lm311 3 2 1 84 u11a ne5532 3 2 1 84 u10a ne5532 p1.2 p1.3 p1.4 r30 0.5k r17 6k r20 5k vcc r16 10k -vccgnd vcc r31 0.5k x0 12 x1 13 y0 2 y1 1 z0 5 z1 3 inh 6 a 11 b 10 c 9 vee 7 x
12、 14 y 15 z 4 cd4053 r18 5k r10 1k r9 1k r19 5k 500 r7 1uf c7 1k r vcc 500 r8 gnd 99k r69k r5 q0 e5 v e5 图图 1-21-2 交直流转换电路交直流转换电路 另外,图 1-2 电路能同样有效地用于直流信号的前置处理。电路的输入端无论接入的 是直流正信号还是直流负信号,输出的幅值都是 0 伏以上的直流正信号,这对于后续电路 的设计尤其适用,而此时可以从比较器输出的电平高低获知是正输入还是负输入。特别重 要的示,直流信号和交流信号具有同样的传输增益,给交直流参数的测量软件同一处理提 供了极大的方便。
13、 显然,此电路满足本设计的要求,而且它集量程转换于一体,为量程转换部分的设计 提供了方便,节省了硬件资源。 2.2. 量程自动转换电路的设计量程自动转换电路的设计 在仪表的设计过程中,量程转换的设计是相当重要的。所设计的系统应该具有自动转 换量程的功能,并且能够自动判断是否超量程测量。这样才能够为后续的模数转换单元提 供适当的输入电压,使其转换具有良好的精度和线性度。在本设计中模数转换单元选择的 是电压/频率转换电路,对于 v/f 转换电路,其输入电压选择 05v。这样,经过量程转换 后的电压范围就应该为 05v。因为本系统的输入电压范围是 0500v,故我们可以选择 1/100 作为其最大电
14、压的量程档,500v 经过 1/100 分压后降为 5v,恰好可以满足 v/f 转换 的要求。 在本设计中,对于电压信号设置了五个量程,即 1/100 档,1/10 档,1 档,10 档, 100 档。1/100 档和 1/10 档由分压电路来完成,它们是用来测量较大电压的。而1 档, 10 档,100 档则是应用放大电路来完成的,它们则是用来测量较小的电压的。在本设 计中,1 档,10 档,100 档可由交直流转换部分的电路来实现,见图 1-4。此电路中 的多路选择开关 cd4053 可以用来选择放大倍数,在该电路中分别设置了1,10 和 100 的放大倍数。具体选择多大的放大倍数可以通过单
15、片机的引脚 p1.3 和 p1.4 电平来 控制。本设计中 cd4053 各个开关的导通与单片机引脚的关系见表 1-1 所示。 表表 1-11-1:cd4053cd4053 与单片机引脚的关系与单片机引脚的关系 c(p1.4) b(p1.3)y 选通情况 z 选通情况 0 0 yy0 0 1 yy1 zz0 1 0 yy0 1 1 yy1 zz1 本设计中 1/100 和 1/10 分压比的选择也由单片机引脚控制多路选择开关来实现。由于 本系统要求的电压测量范围是 0500v,所以多路开关的选择应特别注意其耐压值。在本设 计中采用的是 max4602,因为它的耐压值可达到两千伏左右,故可以应用
16、在本系统中。分压 比的选择由单片机的 p1.0 和 p1.1 来控制。电路图见图 1-3。 900kr3 90kr2 10kr1 x0 13 x1 14 x2 15 x3 12 x4 1 x5 5 x6 2 x7 4 inh 6 a 11 b 10 c 9 vee 7 x 3 max4602 gnd in(v) gnd p1.0 p1.1 图图 1-3 量程转换部分的分压电路量程转换部分的分压电路 由上述分析可知量程的转换由两部分(即分压和放大)共同完成,所以在量程的选择 时需注意两部分的关系,即选用分压时放大电路的放大倍数要选为 1,选用放大时信号要 直接进来而不经过分压。 3.3. 模数转
17、换模数转换单元的设计单元的设计 单片机对模拟信号的读取通常是采用 a/d 转换方式,这一方法对输出阻抗低,惰性强, 变化缓慢,传输距离长的信号,采用 a/d 转换的抗干扰性能就比较差。对于不需要较快检 测速度的信号,如果采用 v/f 变换器代替原有的 a/d 转换器,把电压信号转换成与之对应 的频率信号(f=kv),由单片机 cpu 计数器在采样周期内对频率脉冲进行计数,采样时, cpu 发出计数指令,定时时间一到,计数停止,从读到的计数值乘以一定的系数,就可以 得到相应电压值。 本设计中,采用的是 lm331 转换芯片(v/f)将模拟信号转变为相应的频率信号,具体 电路如图 1-4 所示:
18、图图 1-41-4 v/fv/f 转换电路转换电路 lm331 是单片集成芯片,在 v/f 转换器中,它是 lm31 系列中的一种,它作为一种简 单廉价的电路很适用于模/数转换。它使用了新的温度补偿能隙基准电路,在整个工作温度 范围内和低到 4.0v 电源电压下都有较高的精度,最大线性度达 0.01%,6 个数量级的动态 范围,即满量程的频率范围为 1hz 100khz。其数字脉冲重复率正比于模拟输入电压的幅 值。这类器件的高精度,高线性度,低温移及单调性的组合所提供的性能是其它技术难以 实现的。逐次近似 a/d 转换器定期进行“抽样” ,因此易受噪声尖峰的影响,而电压频 率转换器的输出端一直
19、在进行积分,因此能对噪声或变化的输入信号进行平滑,特别适合 于噪声工作环境。 对 v/f 变换,整个电路都是线性放大。对 lm331,根据 v/f 变换的原理,其输出频率与 输入电压的关系满足下面的公式: f=(v/2.09)(r/r )(1/r )(1/c ) (1-3) insltt 由公式 1-3 可以看出输出频率 f 与输入电压 v成正比。 in 对 v/f 转换,满度频率 f 大,闸门周期短,转换快,分辨率高,但同时线性度下降。 因此在选择参数 r、r 、r 、c 时格外要注意。本设计中的输入电压 vi 在 05v(即量 sltt 程转换后的电压均为 05v)内变化,输出 f 选择在
20、 010khz 内变化,既可满足转换率又 可满足分辨率的要求。 在本设计中,为了消除干扰,在输入信号端加一个低通滤波器,c=1uf,r=100k,低通 滤波的截止频率为: in 7 rc 5 ref 2 gnd 4 vcc 8 out 1 thr 6 freq 3 lm311 lm311 out 6 +v 8 gnd 5 c 3 nc 1 nc 4 a 2 en 7 6n137 6n137 r27 10k r28 10k r4 5k r35 62k r26 62k r22 22k r23 2kr21 5.1k t0 c6 1ufr31 1k -vcc vcc vcc gnd c5 0.05uf
21、 c8 0.01uf gnd r43 100k q3 q0 vdd r30 5k r24 12k vcc f=1/(2rc)1.59hz 图 1-4 中,选择 r (r26)为 62k,r (r22)为 5.1k,c (c5)为 0.01uf,r 为 r24+r30, ltts 仔细调节 r30 即可满足输入为 5v 时,输出 f 为 10khz。 lm331 由 7 脚输入电压,由 5 脚输入偏置电流,5 脚最大保持电压为 7vs,2 脚的参考电 压为 1.9v。流入 c6 的 iaver=i(1.1 r c )f。f 输出期间(t=1.1 r c ),c14 充电到 tttt v ,此后,
22、i=0,f 无输出,c14 从 v 放电到 v,而后比较器工作,开始另一个循环,整个 xxin 过程始终保持电荷平衡。 lm331 的输出接光电耦合器 6n137,6n137 采用射极输出,不改变输出相位,集电极开 路,内部有脉冲整形电路,其输出可直接接单片机的引脚,而不会改变信号的频率输出。 使用光电耦合器,一方面可以抑制较大的随机干扰信号进入单片机, (6n137 最大可抑 制 3000v 的噪声干扰) ,减少进入单片机的干扰信号修改单片机内部寄存器的数值或发生死 机的现象;另一方面可以避免数字电路,模拟电路的共地,因而能有效的抑制由于数字电 路,模拟电路的共地带来的地电位脉冲引起的数据抖
23、动现象。 4.4. 控制电路控制电路的设计的设计 4.14.1 总体概况总体概况 一一. .主要功主要功能能 mcs-51 系列单片机是美国 intel 公司在 1980 年推出的高性能 8 位单片微型计算机,比 原来的 mcs-48 系列结构更为先进,功能增强,它包括 51 和 52 两个子系列。 在 51 子系列中,主要有 8031、8051、8751 三种机型,他们的指令系统与芯片引脚完 全兼容,仅片内 rom 有所不同。51 子系列的主要功能为: 8 位 cpu。 片内带振荡器,振荡频率 fosc 范围为 1.212mhz;可有时钟输出。 128 个字节的片内数据存储器。 4k 字节的
24、片内程序存储器(8031 无) 。 程序存储器的寻址范围为 64k 字节。 片外数据存储器的寻址范围为 64k 字节。 21 个字节专用寄存器。 4 个 8 位并行 i/o 接口:p0、p1、p2、p3。 1 个全双工串行 i/o 接口,可多机通信。 2 个 16 位定时器/计数器。 中断系统有 5 个中断源,可编程为两个优先级。 111 条指令,含乘法指令和除法指令。 有强的位寻址、位处理能力。 片内采用单总线结构。 用单一+5v 电源。 二二. .内部结构框图内部结构框图 mcs-51 系列单片机的内部结构框图如下图 1-5 所示: 图图 通道0驱动器通道2驱动器 ram地址 锁存器 ra
25、m 通道0锁存器通道2锁存器rom b寄存器 程序地址寄存器 缓冲器 pc递增器 程序计数器 dptr指针 vcc gnd p1.0p1.7 堆栈指针sp acc tmp2 psw 通道3锁存器 通道1锁存器 通道1驱动器通道3驱动器 tmp1 中断、串行口和定时器逻辑 振荡器 p3.0p3.7 rst ea ale psen xtal2xtal1 alu (+5v) 指 令 寄 存 定 时 逻 辑 指 令 译 码 1-51-5 mcs-51mcs-51 系列单片机的内部结构框图系列单片机的内部结构框图 由图可大致看到:它含运算器、控制器、片内存储器、4 个 i/o接口、串行接口、定 时器/计
26、数器、中断系统、振荡器等功能部件。图中 sp 是堆栈指针寄存器,栈区占用了片 内 ram 的部分单元;未见通用寄存器(工作寄存器) ,因单片机片内有存储器,与访问工 作寄存器一样方便,所以就把一定数量的片内 ram 字节划作工作寄存器区;psw 是程序 状态字寄存器,简称程序状态字,相当于其他计算机的标志寄存器;dptr 是数据指针寄 存器,在访问片外 ram、片外 rom、甚至扩展 i/o 接口时特别有用;b 寄存器又称乘法 寄存器,它与累加器 a 协同工作,可进行乘法操作和除法操作。 三三. .外部引脚说明外部引脚说明 mcs-51 系列单片机芯片有 40 个引脚。用 hmos 工艺制造的
27、芯片采用双列直插式封 装,见下图 1-6。低功耗的、采用 chmos 工艺制造的机型(在型号中间加一“c”字作为识 别,如 80c31、80c51、87c51)也有用方封装结构的。 p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 rst v rxd p3.0 txd p3.1 int0 p3.2 int1 p3.3 t0 p3.4 t1 p3.5 wr p3.6 rd p3.7 xtal xtal v pd 2 1 ss vcc p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 ea/v ale/prog psen p2.7 p2.
28、5 p2.4 p2.3 p2.2 p2.1 p2.0 dd p2.6 mcs51系列 单片机 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 (8031) (8051) 图图 1-6 mcs-51 系列单片机芯片引脚图系列单片机芯片引脚图 现将各引脚分别说明如下: 1.主电源引脚 vcc:接+5v 电源正端。 vss:接+5v 电源地端。 2.外接晶体引脚 xtal1:片内反相放大器输入端。 xtal2:片内反相放大器输出
29、端。外接晶体时,xtal1 与 xtal2 各接晶体的一端, 借外接晶体与片内反相放大器构成振荡器。 3.输入/输出引脚 p0.0p0.7:p0 口的 8 个引脚。在不接片外存储器与不扩展 i/o 接口时,可作为准双 向输入/输出接口。在接有片外存储器或扩展 i/o 接口时,p0 口分时复用为低 8 位地址总线 和双向数据总线。 p1.0p1.7:p1 口的 8 个引脚。可作为准双向 i/o 接口使用。 p2.0p2.7:p2 口的 8 个引脚。一般可作为准双向 i/o 接口;在接有片外存储器或扩 展 i/o 接口且寻址范围超过 256 个字节时,p2 口用为高 8 位地址总线。 p3.0p3
30、.7:p3 口的 8 个引脚。除作为准双向 i/o 接口使用外,还具有第二功能,见 表 2-2。 表表 2-2: 输入输入/输出引脚输出引脚 引脚第二功能 p3.0rxd (串行输入口) p3.1txd (串行输出口) p3.2 (外部中断 0 请求输入端)int0 p3.3 (外部中断 1 请求输入端)int1 p3.4t0 (定时器/计数器 0 计数脉冲输入端) p3.5t1 (定时器/计数器 1 计数脉冲输入端) p3.6 (片外数据存储器写选通信号输入端)wr p3.7 (片外数据存储器读选通信号输入端)rd 4.控制端 ale/:地址锁存有效信号输出端。在访问片外程序存储器期间,每机
31、器周期prog 该信号出现两次,其下降沿用于控制锁存 p0 口输出的低 8 位地址。 :片外程序存储器读选通信号输出端,或称片外取指信号输出端。在向片外程psen 序存储器读取指令或常数期间,每个机器周期该信号两次有效(低电平) ,以通过数据总线 p0 口读回指令或常数。 在访问片外数据存储器期间,信号将不出现。psen rst/vpd:ret 写全是 reset,是复位端。单片机的振荡器工作时,该引脚上出现持 续两个机器周期的高电平就可实现复位操作,使单片机回复到初始状态。上电时,考虑到 振荡器有一定的起振时间,该引脚上高电平必须持续 10ms 以上才能保证有效复位。 vcc 掉电期间,该引
32、脚如接备用电源 vpd(+5v0.5v),可用于保存片内 ram 中的 数据。当 vcc 下降到某规定值以下,vpd 便向片内 ram 供电。 /vdd:片外程序存储器选用端。该引脚有效(低电平)时只选用片外程序存储器,ea 否则计算机上电或复位后先选用片内程序存储器。 综上所述,对 mcs-51 系列单片机的引脚可归纳出下列两点: 单片机功能多,引脚少,许多引脚都具有第二功能。 单片机对外呈三总线形式。由 p2、p0 组成 16 位地址总线;由 p0 分时复用为数据 总线;由 ale、rst、与 p3 口中的、t0、t1、pseneaint0int1wr 共 10 个引脚组成控制总线。因是
33、16 位地址线,使片外存储器的寻址范围达到 64k 字rd 节。 4.24.2 单片机单片机在系统中的应用在系统中的应用 在整个系统中,单片机的控制功能为:采用 t0 口对 v/f 转换之后的频率进行计数,采 用 t1 口进行定时,采用 p1.0、p1.1、p1.3 和 p1.4 进行量程选择,采用 p1.2 口判断所测 信号是交流信号还是直流信号,采用 p0.0 口作为显示电路的清零端,采用串行输入端 rxd 作为移位寄存器的输入端,采用串行输出端 txd 作为移位脉冲,电路如图 1-7 所示: ea/vpp 31 xtal1 19 xtal2 18 rst 9 p3.7(rd) 17 p3
34、.6(wr) 16 p3.2(int0) 12 p3.3(int1) 13 p3.4(t0) 14 p3.5(t1) 15 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 (ad0)p0.0 39 (ad1)p0.1 38 (ad2)p0.2 37 (ad3)p0.3 36 (ad4)p0.4 35 (ad5)p0.5 34 (ad6)p0.6 33 (ad7)p0.7 32 (a8)p2.0 21 (a9)p2.1 22 (a10)p2.2 23 (a11)p2.3 24 (a12)p2.4 25 (a13)p2.5 26 (a
35、14)p2.6 27 (a15)p2.7 28 psen 29 ale/prog 30 (txd)p3.1 11 (rxd)p3.0 10 gnd 20 vcc 40 at89c51 p0 p1 p2 p3 p4 p5 t0 txd rxd p0.0 dp1 dp2 dp3 510kr1 510kr2 510kr3 p0.0 dp1 dp2 dp3 3k r7 3k r6 3k r5 3k r4 vdd 10k r29 22uf c3 vdd 33pf c2 33pf c1 y1 12m at89c51 p1.3 图图 1-71-7 控制部分电路图控制部分电路图 系统的控制过程为:t1 口定时
36、,t0 口采样,定时时间到,采样结束,通过单片机进 行计算并选择适当的量程,然后再进行采样、计算、显示。 5.5. 显示显示部分部分的设计的设计 5.15.1 键盘显示键盘显示 82798279 芯片芯片 图图 1-81-8 显示电路显示电路 8279 是一种可编程的键盘/显示器接口芯片。它既具有按键处理功能,又具有自动显 示功能,在单片机系统中应用很广泛。8279 内部有键盘 fifo(先进先出堆栈)/传感器, 双重功能的 8864bram,键盘控制部分可控制 8864 个按键或控制 88 阵列方式的 传感器。该芯片能自动消除键抖动并具有双键锁定保护功能。显示 ram 容量为 168,即 显
37、示器最大配置可达 16 位 led 数码显示。 5.25.2 82798279 的组成和基本工作原理的组成和基本工作原理 图 1-9 为 8279 内部结构框图。 数据缓冲器i/o 控制 fifo/传感器 ram 的状态寄存器 键盘去抖动与控 制 88fifo/传感 器 ram 控制与定时寄 存器 显示地址 寄存器 168 显 示 ram 显示寄存器 定时与控 制 扫描计数器 回复 outa03 outb03 bd sl03 rl07 时钟复位d0d7 a0 rdwrcs irq 图图 1-9 8279 内部结构框图内部结构框图 由图可知,8279 由下列电路组成: 1)数据缓冲器和 i/o
38、控制 数据缓存器为双向缓冲器,连接内、外总线,用于传送 cpu 和 8279 之间的命令或数据。 i/o 控制线用于 cpu 对 8279 内部各种寄存器、缓冲器读写数据和读写状态命令的控制。 是片选信号,=0 时 8279 被选通,cpu 才能对其进行读、写操作;、cscsrd 是来自 cpu 的读、写控制信号;a0 用于区别信息的特性,a01,表示数据线输入的wr 是指令,输出的是状态字;a00,表示输入输出的是数据。 2)控制与定时寄存器及定时控制 控制与定时寄存器用来寄存键盘和显示器的工作方 式,以及由 cpu 编程的其他操作方式。这些寄存器一旦接收并锁存 cpu 送来的命令,就通 过
39、译码产生相应的信号,从而完成相应的控制功能。 定时控制包含基本的计数链,首级计数器是一个可编程的 n 分频计数器。n 可以在 cntl/stb shift 231 之间由软件编程,以便从外部时钟 clk 分频得到内部所需要的 100khz 时钟。然后再 经过分频,为键盘扫描提供适当的逐行扫描频率和显示时间。 3)扫描计数器 扫描计数器由两种工作方式:编码方式和译码方式。 编码工作方式时,计数器作二进制计数,4 位计数状态从扫描线 sl0sl3 输出。外接 4/16 译码器,能提供 16 位 led 的字位控制;外接 3/8 译码器,能为行列式键盘提供 8 列 扫描信号,与 rl0rl7 构成
40、88 键盘的行列扫描。 译码方式工作时,扫描计数器的最低二位被译码后,从 sl0sl3 输出一位低电平,可 接 4 位 led 或 48 键盘。 4)回复缓冲器、键盘去抖动及控制、回复缓冲器用来接收并锁存来自回复线 rl0rl7 的 8 个回复信号。 (1)在键盘工作方式中,回复线为行列式键盘的行(列)输入线。在逐行逐列扫描时, 回复线用来搜寻每一行(列)中闭合的键。当某一键闭合时,去抖电路被置位,延时 10ms 后,再检验该键是否继续闭合,并将该键的地址和附加的移位、控制状态一起形成键盘数 据,送入 8279 内部 fifo ram(先入先出存储器) 。键盘数据格式如表 3-3 所示: 表表
41、 3-33-3 键盘数据格式键盘数据格式 d7d6d5d4d3d2d1d0 控制移位扫描回复 控制(d7)和移位(d6)的状态由 cntl、shift 端外接的两个附加按键决定; 扫描(d5、d4、d3)来自扫描计数器,是闭合键所在列的编号,由 sl0sl3 确定; 回复(d2、d1、d0)是闭合键所在行的编号,由 rl0rl7 确定。 (2)在传感器开关状态矩阵方式中,回复线的内容直接被送往相应的传感器 ram(即 fifo 存储器) 。 (3)在选通输入方式工作时,回复线的内容在 cntl/stb 信号的脉冲上升沿被送入 fifo ram。 5)fifo/传感器 ram 及其状态寄存器 f
42、ifo/传感器 ram 是一个双重功能的 88 位 ram。 在键盘或选通方式工作时,它是 fifo ram,其写入或读出遵循先入先出的原则。fifo 状态寄存器用来存放 fifo ram 的状态,如 ram 是满还是空,其中存有多少数据,是否操作 出错等。若 fifo ram 不空,例如已存有闭合键的键值,状态逻辑将产生 irq=1 信号,向 cpu 申请中断。 在传感器矩阵方式工作时,这个存储器又是传感器存储器,它存放着传感器矩阵中的 每一个传感器状态。在此方式中,若检索出传感器的变化,irq 信号变为高电平,向 cpu 申请中断。 6)显示 ram 和显示地址寄存器 显示 ram 用来存
43、储显示数据,容量为 168 位。在显 示过程中,存储的显示数据轮流从显示寄存器输出。显示寄存器分为 a、b 两组, outa30 和 outb30 可以单独送数,也可以组成一个 8 位的字。显示寄存器的输出与显 示扫描配合,不断从显示 ram 中读出显示数据,同时轮流驱动被选中的显示器件,以达到 多路复用的目的,使显示器件呈现稳定的显示状态。 显示地址寄存器用来寄存 cpu 读/写显示 ram 的地址,它可以由命令设定,也可以设置 成在每次读出或写入之后自动递增。 5.35.3 82798279 引脚及功能引脚及功能 8279 是具有 40 个引脚的双列直插式封装的芯片,其引脚及功能如图 1-
44、10 所示。 下面介绍各引脚功能。 1)数据线 d0d7 是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送 cpu 与 8279 之间的数据和命令。 2)地址线 0 选中 8279,当 a01 为命令字及状态字地址。 cs a00 为片内数据地址,故 8279 芯片占用两个端口地址。 3)控制线 8279 有较多的控制线。 (1)clk:时钟输入线 8279 所需时钟频率为 100khz,该频率通常由 8051 单片机 ale 端分频得来。ale 的频率 为单片机系统主频的 1/6,再由指令送入分频系数,从而得到 100khz 的 8279 时钟频率。 (2)irq:中断请求输出线
45、,高电平有效。 vcc rl1 rl0 cntl/stb shift sl3 sl2 sl1 sl0 outb0 outb1 outb2 outb3 outa0 outa1 outa2 outa3 bd cs a0 rl2 rl3 clk irq rl4 rl5 rl6 rl7 reset rd wr d0 d1 d2 d3 d4 d5 d6 d7 gnd 8279 irq d0d7 rd wr cs a0 reset clk rl7rl0 shift cntl/stb sl3sl10 outa30 outb30 bd 8 8 4 4 4 1 40 2 39 3 38 4 37 5 36 6
46、35 7 34 8 33 9 32 31 10 8279 30 11 29 28 12 27 13 26 14 25 15 24 16 17 23 18 22 19 20 21 cpu 接口 键盘数据 数据显示 图图 1-10 8279 引脚及功能引脚及功能 (a)管脚配置管脚配置; (b)引脚功能引脚功能 (a) (b) (3)、:读、写输入控制线。 rdwr (4)sl0sl3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。 (5)rl0rl7:回复输入线,它们是键盘或传感器矩阵的信号输入线。 (6)shift:来自外部键盘或传感器矩阵的输入信号,它是 8279 键盘数据的次高
47、位即 d6 位的状态,该位状态控制键盘上/下档功能。在传感器方式和选通方式中,该引脚无用。 (7)cntl/stb:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位 (d7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把 rl0rl7 的数据存入 fifo ram 中。 (8)outa0outa3:通常作为显示信号的高 4 位输出线。 (9)outb0outb3:通常作为显示信号的低 4 位输出线。 (10):显示熄灭输出线,低电平有效。当0 时将显示全熄灭。 bdbd 5.45.4 82798279 的工作方式及的工作方式及命令字格式命令字格式 一、8279
48、 的工作方式 8279 有三种工作方式:键盘方式、显示方式和传感器方式。 1)键盘工作方式 8279 在键盘方式工作时可设置为双键互锁方式和 n 键巡回方式。 双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最 后一个被释放的键,并把该键值送入 fifo ram 中。 n 键巡回方式:一次按下任意个键均可被识别,以按键被扫描顺序把键值存入 fifo ram 中。 2)显示方式 8279 的显示方式又可分为左端入口和右端入口方式。 显示数据只要写入显示 ram 则可由显示器显示出来,因此显示数据写入 ram 的顺序, 决定了显示的次序。 左端入口方式即显示位置从显示器最左
49、端 1 位(最高位)开始,以后显示的字符逐个 向右顺序排列。 右端入口方式即显示位置从显示器最右端 1 位(最低位)开始,以后显示的字符逐个 向左顺序排列。 3)传感器方式 传感器方式是把传感器的开关状态送入传感器 ram 中。当 cpu 对传感器矩阵扫描时, 一旦发现传感器状态发生变化就发出中断请求(irq 置“1” ) ,中断响应后转入中断处理程 序。 二、8279 的命令字及其格式 8279 的各种工作方式都要通过对命令寄存器的设置来实现。8279 共有 8 种命令,通过 这些命令设置工作寄存器,来选择各种工作方式。命令寄存器共 8 位,其格式如下: d7 d6 d5d4 d3 d2 d
50、1 d0 命令特征位(3 位) 有关命令内容(5 位) 8279 的一条命令由两大部分组成,一部分为命令特征,代表某一类命令,由命令寄存 器高 3 位 d7d5 决定。d7d5 三位的状态可组合出 8 种形式,分别对应 8 种命令,故称 为命令特征位。另一部分为命令的具体内容,由 d4d0 决定。每一种特征所代表的命令如 表 1-4 所示。 表表 1-4:1-4: 82798279 命令特征表命令特征表 d7 d6 d5代表的命令种类 0 0 0键盘/显示命令 0 0 1时钟编程命令 0 1 0读 fifo/传感器 ram 命令 0 1 1读显示器 ram 命令 1 0 0写显示命令 1 0
51、1显示禁止/熄灭命令 1 1 0消除命令 1 1 1结束中断/出错方式设置命令 下面详细说明各种命令中,d4d0 各位的设置方法,以便确定各种命令字。 1)键盘/显示命令 特征位 d7d5000 d4,d3 两位用来设定 4 种显示方式,d2d0 三位用以设定 8 种键盘/显示扫描方式, 分别如表 1-5 和表 1-6 所示。 由于显示是硬件扫描显示,因此显示方式种规定了扫描显示的位数(8 位、16 位)和 第 1 个显示的字符位置(最左端或最右端) 。 表表 1-5:1-5: 显示方式显示方式 d4 d3显示方式 0 08 个字符显示,左端入口方式 0 116 个字符显示,左端入口方式 1
52、08 个字符显示,右端入口方式 1 116 个字符显示,右端入口方式 表表 1-6:1-6: 键盘键盘/ /显示扫描方式显示扫描方式 d2 d1 d0键盘/显示扫描方式 0 0 0编码扫描键盘,双键锁定 0 0 1译码扫描键盘,双键锁定 0 1 0编码扫描键盘,n 键轮回 0 1 1译码扫描键盘,n 键轮回 1 0 0编码扫描传感器矩阵 1 0 1译码扫描传感器矩阵 1 1 0选通输入,编码显示扫描 1 1 1选通输入,译码显示扫描 表 1-6 中所谓编码扫描指扫描代码直接由扫描线 sl0sl3 输出,每次只有 1 位是低电 平(4 选 1) 。 所谓译码扫描,扫描代码经 sl0sl3 外接译
53、码器输出。由于键盘最大 8864 个键, 由 sl0sl2 接 38 译码器,译码器的 8 位输出作为键盘扫描输出线(列线) ,rl0rl7 为输入线(行线) 。8279 最多驱动 16 位显示器,故可由 sl0sl3 接一个 416 译码器, 译码器 16 位输出为显示扫描输出线(16 选 1) ,决定第几位显示。显示字段码由 outa0outa3 和 outb0outb3 输出。 以上表 1-4、表 1-5、表 1-6 三个表相互组合可得到各种键盘/显示命令。 2)时钟编程命令 一般单片机的 ale 端接 8279 的 clk 端,但 ale 端输出的脉冲是主机频率的 1/6,而 8279
54、 工作只需 100khz 的时钟脉冲,利用分频系数可把 clk 端输入脉冲再分频以达到产生 100khz 脉冲之目的。分频系数是由时钟编程命令输入。 由表 1-4 可见时钟编程命令特征位 d7d5001。 d4d0 用来设定分频系数。 3)读 fifo/传感器 ram 命令 特征位 d7d5010。d2d0 为 8279 中 fifo 及传感器 ram 的首地址。d3 无用。d4 控 制 ram 地址自动加 1 位:d41 时 cpu 读完一个数据,ram 地址自动加 1,准备读下一个单 元数据;d40 时 cpu 读完一个数据后,地址不变。 4)读显示 ram 命令 此命令用来读显示器 ra
55、m,其格式如下: 特征位 d7d5011。d41ram 地址自动加 1,d40 不加 1。d3d0 为显示 ram 中的 地址。 5)写显示 ram 命令 特征位 d7d5100。d4 是地址自动加 1 控制,d41 地址自动加 1,d40 地址不加 1。d3d0 是欲写入的 ram 地址,若连续写入则表示 ram 首地址。命令格式同读显示 ram。 6)显示器禁止写入/熄灭命令 特征位 d7d5101。d4 为无用位,可设为“1”或“0” 。d3 为禁止 a 组显示 ram 写 入,d31 禁止。d2 为禁止 b 组显示 ram 写入,d21 禁止。d1 为 a 组显示熄灭控制, d11 时
56、熄灭,d10 恢复显示。d0 为 b 组显示熄灭控制,d01 时熄灭,d00 恢复显示。 利用该命令可以控制 a、b 两组显示器,哪组继续显示,哪组被熄灭。 7)清除命令 此命令用以清除显示 ram 和 fifo 中的内容。 特征位 d7d5110。d0 为总清除特征位,d01 把显示 ram 和 fifo 全可清除。d1=1 清除 fifo 状态,使中断输出线复位,传感器 ram 的读出地址清 0。d4d2 设定清除显示 ram 的方式,如表 1-7 所示。 表表 1-7:1-7: 清除显示清除显示 ramram 方式方式 d4d3 d2消除方式 0 将全部显示 ram 清为 0 1 0将显
57、示 ram 置为 20h(a 组0010 b 组0000)1 1 1将显示 ram 置为 ffh 0d00 不清除 d11 仍按上述方式清除 8)结束中断/出错方式设置命令 特征位 d7d5111。 d41 时(其 d3d0 位任意)有两种不同作用。 (1)在传感器方式,用此命令结束传感器 ram 的中断请求。 因为在传感器工作方式时,每当传感器状态发生变化,扫描电路自动将传感器状态写 入传感器 ram,同时发出中断申请即将 irq 置高电平,并禁止再写入传感器 ram。中断响应 后,从传感器 ram 读走数据进行中断处理,但中断标志 irq 的撤除分两种情况。若读 ram 地址自动加 1 标
58、志位为“0” ,中断响应后 irq 自动变低,撤销中断申请;若读 ram 地址自 动加 1 标志位为“1” ,中断响应后 irq 不能自动变低,必须通过结束中断命令来撤销中断 请求。 (2)在设定为键盘扫描 n 键轮回方式时作为特定错误方式设置命令。 在键盘扫描 n 键轮回工作方式,又给 8279 写入结束中断/错误方式命令,则 8279 将以 一种特定的错误方式工作,即在 8279 消颤周期内,如果发现多个按键同时按下,则将 fifo 状态字中错误特征位置“1” ,并发出中断请求阻止写入 fifo ram。 根据上述 8 种命令可以确定 8279 的工作方式。在 8279 初始化时把各种命令
59、送入命令 地址口,根据其特征位可以把命令存入相应的命令寄存器,执行程序时 8279 能自动寻址相 应的命令寄存器。 三、8279 的状态字及其格式 状态字显示出 8279 的工作状态。状态字和 8 种命令字共用 1 个地址口。当 a01 时, 从 8279 命令/状态口地址读出的是状态字。状态字格式如表 1-8 所示: 表表 1-81-8 状态字格式状态字格式 d7d71 表示显示无效,此时不能对显示 ram 写入 d6d61 表示至少有 1 个键闭合;在特殊错误方式时有多键同时按下错误 d5d51 表示 fiforam 已满,再输入 1 个字则溢出 d4d41 表示 fifo 中已空,无数据
60、可读 d3d31 表示 fiforam 中数据已满 d2d0fifo ram 中数据个数 状态字主要用于键盘和选通工作方式,以指示 fiforam 中的字符数及有无错误发生。 四、8279 数据输入输出格式 对 8279 输入/输出数据不仅要先确定数据地址口,而且数据存放也要按一定格式,其 格式在键盘和传感器方式有所不同。 1) 键盘扫描方式数据输入格式 键盘的行号、列号及控制键位置如表 1-9 所示: 表表 1-9:1-9: 键盘的行号、列号及控制键位置键盘的行号、列号及控制键位置 d7控制键 cntl 状态 d6控制键 shift 状态 d5d3被按键所在列号(由 sl0sl2 状态确定)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度网络游戏开发运营合同
- 2024年度塔吊操作培训合同
- 2024合同书CIF合同书
- 2024全新血液透析培训
- 2024年家具加盟授权合同
- 2024国际货物买卖中检验检疫服务合同
- 公司管理年终工作总结
- 企业办公室励志标语8篇
- 2024年度××智能穿戴设备研发生产合同
- 2024年度钢材物流配送合同
- 木材材积速算表
- 如何培养学生良好的双姿习惯(精)
- 计算机及外部设备装配调试员国家职业技能标准(2019年版)
- GB18613-2012中小型异步三相电动机能效限定值及能效等级
- 《临床决策分析》课件.ppt
- 家风家训PPT课件
- 泪道冲洗PPT学习教案
- 浅谈校园影视在学校教育中的作用
- 无公害农产品查询
- 试剂、试药、试液的管理规程
- 研究生课程应用电化学(课堂PPT)
评论
0/150
提交评论