基于单片机的数字电压表设计毕业论文 下载本文

西安工业大学学士学位论文 止ALE操作。该位置位后,只有一条MOVE和MOVX指令ALE才会被激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

PSEN:程序存贮允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。

EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持底电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。 Flash存储器编程时,该脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。

3.4显示驱动单元设计

3.4.1 ZLG7289芯片介绍

ZLG7289是广州周立功单片机发展有线公司自行设计的数码管显示驱动及键盘扫描管理芯片,可直接驱动8位共阴式数码管(或64只独立LED),同时还可以扫描管理多达64只按键。 ZLG7289内部含有显示译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式。此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。ZLG7289采用SPI串行总线与微控制器接口,仅占用少

数几根I/O口线。利用片选信号,多片 ZLG7289还可以并接在一起使用,能够方便地实现多于8位的显示或多于64只按键的应用。 3.4.2 ZLG7289的主要特征

很宽的工作电压范围:+2.7-6V;

直接驱动8位共阴式数码管(1英寸以下)或64只独立的LED; 段电流可达15mA以上,字电流可达100mA;

利用功率电路可以方便地驱动1英寸以上的大型数码管; 具有左移、右移、闪烁、消隐、段点亮等强大功能;

13

西安工业大学学士学位论文 要显示的数据提供有两种不同的译码方式(也可以选择不译码); 不接数码管而仅使用键盘管理功能时,工作电流可将至3mA;

与微控制器之间采用SPI串行总线接口,操作方便,占用I/O资源少; 工作温度范围:-40~+85℃; 封装:DIP-28。

3.4.3 ZLG7289引脚功能说明

表2.3 ZLG7289引脚功能表

引脚序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

引脚名称 RTCC VCC NC GND NC 功能描述 接电源 电源,+2.7~6V 悬空 接地 悬空 SPI总线片选信号,低电平有效 SPI总线时钟输入信号,上升沿有效 SPI总线数据信号,双向 键盘中断请求信号,低电平(下将沿)有效 数码管g段/键盘行信号0 数码管f段/键盘行信号1 数码管e段/键盘行信号2 数码管d段/键盘行信号3 数码管c段/键盘行信号4 数码管b段/键盘行信号5 数码管a段/键盘行信号6 数码管dp段/键盘列信号7 数码管字选信号0键盘列信号0 数码管字选信号1/键盘列信号1 数码管字选信号2/键盘列信号2 数码管字选信号3/键盘列信号3 数码管字选信号4/键盘列信号4 数码管字选信号5/键盘列信号5 14

CS CLK DIO INT SG/KR0 SF/KR1 SE/KR2 SD/KR3 SC/KR4 SB/KR5 SA/KR6 DP/KR7 DIG0/KC0 DIG1/KC1 DIG2/KC2 DIG3/KC3 DIG4/KC4 DIG5/KC5 西安工业大学学士学位论文 24 25 26 27 28

DIG6/KC6 DIG7/KC7 OSC2 OSC1 数码管字选信号6/键盘列信号6 数码管字选信号7/键盘列信号7 晶振输出信号 晶振输入信号 复位信号,低电平有效 RST 3.4.4 ZLG7289与单片机及数码管的连接

U1就是ZLG7289。为了使电源更加稳定,在Vcc到GND之间接入47-470μF的电解电容。J1是ZLG7289与微处理器的接口。晶振Y1取4-16MHz,调节电容 C3和C4通常在10pF左右。复位信号是低电平有效,一般只需外接简单的RC

图2.6只使用数码管的应用电路

复位电路,也可以通过直接拉低RST引脚的方法进行复位。

数码管必须是共阴式的,不能直接使用共阳式的。DPY1和DPY2是4位联体式数码管,共同组成完整的8位。数码管在工作时要消耗较大的电流,R9-R16是限流电阻,典型值是270Ω。如果要曾大数码管的亮度,可以适当减小电阻值,最低200Ω[13]。

ZLG7289通常应连接共阴式数码管,应用中无须用到的数码管可以不接,省

15

西安工业大学学士学位论文 去数码管不影响使用。ZLG7289与单片机的接口采用3线制I2C串行总线,由CS、CLK和DIO这3根信号组成。CS和CLK是输入信号,由单片机提供。DIO信号是双向的,必须接到单片机上具有双向功能的I/O上。设计中使ZLG7289的6-9脚分别于AT89C51的P1.0-P1.3相连。其中6脚为片选输入端CS,低电平有效,可用来向芯片发送数据,7脚CLK为同步时钟输入端,当向芯片发送数据时,此引脚上的电平上生表示数据有效;8脚为串行数据输入/输出端,当芯片接受指令时,此引脚为输入端。SPI信号线的具体意义参见表2.4。操作SPI总线的时序图参见图2.7、2.8。

表2.4 ZLG7289的SPI串行接口信号 信号名称 引脚时序 描述 SPI总线片选输入信号,低电平有效 SPI总线时钟输入信号,上升沿有效 SPI总线数据信号,双向 CS CLK DIO

6 7 8 图2.7 存指令时序图(单字节命令)

图2.8 带数据指令时序图(命令字在前,输入数据在后) 3.4.5时序图中的各项延迟时间

表中2.5各项参数的测试条件为:VCC=5.0V,Fosc=16MHz

表 2.5 时序延时表 符号 T1 T2 T3 T4 名称 片选信号CS的建立时间 CLK信号高电平的宽度 CLK信号低电平的宽度 命令字与输出数据之间的时间间隔 最小值 典型值 25 5 5 15 50 8 8 25 单位 μs μs μs μs 3.4.6控制指令

16

西安工业大学学士学位论文 ZLG7289的控制指令分为单字节纯指令和双字节数据指令两大类。在这里直介绍设计中所用的单字节复位(清除)指令和双字节带数据指令中的下载数据并按方式1进行译码指令[13]。

复位(清除)指令 D7 1 D6 0 D5 1 D4 0 D3 0 D2 1 D1 0 D0 0 这是一条软复位指令,执行后会将数码管所有的显示内容清楚掉,原先设置的所有闪烁、消隐等属性也一并清除,就像硬件复位一样。

下载数据并按方式1进行译码 D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 0 1 a2 a1 a0 D7 D6 D5 D4 D3 D2 D1 D0 dp x x x d3 d2 d1 d0 在指令格式中,高5位的11001是指令字节段;a2a1a0是数码管显示数据的位地址,位地址编号从左到右的顺序依次位0、1、2、3、4、5、6、7;dp控制小数点是否显示,dp=1时该位的小数点被点亮,dp=0时该位的小数点被熄灭;xxx是无关位;d3d2d1d0是要显示的数据。显示数据按照下表中的规则进行译码:

表2.6 下载数据命令译码方式1 d3d2d1d0(二进制) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 d3d2d1d0(十六进制) 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 显示结果 0 1 2 3 4 5 6 7 8 9 A B C D E F 3.5 SPI接口技术

3.5.1 SPI总线简介

SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备

17