20xx年电子设计大赛实验报告——倾角测量仪

时间:2024.4.20

倾角测量仪的设计

当前,大多数行业测量角度时依然沿用传统的水泡式(条式)水平仪.其检测方法有诸多缺点,如测量值因人而易、功能单一、测量范围小等。本倾角测量仪,它与传统的水泡式(条式)水平仪相比具有电子检测、即时数值显示、测量精度高、测量范围大、使用及携带方便等特点,大大提高了工作效率。     本文详细介绍了一种利用倾角传感器 、AD 转换器 、单片机实现高精度倾角测量的方法,它可以测量-45°~+45°范围内的任意倾角,分辨率可达0.1°。

此外,由于该倾角仪输出为数字结果,因此它也可以与其他的数字设备结合起来,组成一个功能更加强大的仪器。该装置可满足大量工程上的应用。该数字倾角仪具有携带方便、精度高、功能多等特点。它使用方便 ,应用范围广泛 。该数字倾角仪可广泛用于建筑、机械、道路、桥梁、石油、煤矿和地质勘探等各种需要测量重力参考系下倾角的场合。

关键词:倾角测量;AD转换器;单片机

目 录

引 言.............................................................................................................................................. 6

第1章 绪论 ..................................................................................................................................... 7

1.1 测试系统方案选择 .............................................................................................................. 7

1.2 测试系统一般结构 .............................................................................................................. 7

第2章 系统硬件设计 .................................................................................................................... 9

2.1 系统硬件组成....................................................................................................................... 9

2.2 倾角传感器选择 .................................................................................................................. 9

2.2.1 选择传感器的的基本原则........................................................................................... 9

2.2.2 倾角传感器原理 ......................................................................................................... 10

2.2.3 本设计选用的传感器 ................................................................................................. 11

2.3 单片机的选择及其外围电路设计 ................................................................................... 16

2.3.1 89S52单片机的原理与结构 ...................................................................................... 17

2.3.2 89S52在本设计中的应用 .......................................................................................... 19

2.4 A/D转换电路设计 ............................................................................................................. 22

2.4.1 AD574A的A/D转换原理 ......................................................................................... 22

2.4.2 AD574A在本设计中的应用 ...................................................................................... 23

2.4.3 AD574A在本系统中的应用 ...................................................................................... 26

2.5 显示模块设计..................................................................................................................... 27

2.5.1 LED驱动器功能简介 ................................................................................................. 28

2.5.2 本设计LED显示器的应用 ....................................................................................... 32

第3章 系统软件设计 .................................................................................................................. 35

3.1 系统主流程图..................................................................................................................... 35

3.2 系统初始化设计 ................................................................................................................ 35

3.3 A/D转换子程序设计 ......................................................................................................... 36

3.4 数制转换程序设计 ............................................................................................................ 37

3.5 LED显示模块子程序设计 ................................................................................................ 38

3.6 X5045模块程序设计 ......................................................................................................... 39

致 谢 ....................................................................................................................................... 43

参考文献 ....................................................................................................................................... 44

附录A 电气原理图....................................................................................................................... 45

附录C 主要参考文献及其摘要 ................................................................................................. 51

附录D 程序清单 ........................................................................................................................... 53

引 言

当前,大多数行业测量角度时依然沿用传统的水泡式(条式)水平仪.其检测方法依然是—水泡移动,肉眼分辨‖。这种原始的检测方法有诸多缺点,如测量值因人而易(由于是用肉眼观察水泡的位置来估计值,所以测量误差偏大,且测量误差主要有认为因素导致)、功能单一(其只能在一定的环境下测量角度,而不能完成其他测量)、测量范围小(传统的水泡式水平仪由于是靠观察水泡的位置来估计值的,所以其测量范围受到很大的限制)等[9]。 本倾角测量仪,它与传统的水泡式(条式)水平仪相比具有电子检测、即时数值显示、测量精度高、测量范围大、使用及携带方便等特点,彻底摆脱了—看水泡移动、估计值‖的传统测量方法,大大提高了工作效率。此外,由于该倾角仪输出为数字结果,因此它也可以与其他的数字设备结合起来,组成一个功能更加强大的仪器。该装置测量误差小于0.1°,可满足大量工程上的应用。该数字倾角仪具有携带方便、精度高、功能多等特点。它使用方便,应用范围广泛,该倾角测量仪可广泛用于建筑、机械、道路、桥梁、石油、煤矿和地质勘探等各种需要测量重力参考系下倾角的场合。所以该倾角仪有良好的发展前景和使用价值。它与传统的一些测量角度的仪器相比有着很大的优越性,所以其必将逐渐取代传统的水泡式(条式)水平仪。 本文分3章对本设计进行了阐述。第1章绪论介绍了系统整体方案的选择,提出了系统的整体结构及设计思路。第2章为系统硬件的设计,对倾角传感器、主控模块、A/D转换模块和显示模块的选择及应用分别做了说明。第3章为系统软件的设计,介绍了系统各个模块的软件设计思想及程序。

嵌入式应用软件园,版权所有,请勿转载/销售。

- 7 -

第1章 绪论

1.1 测试系统方案选择

本设计采用了单片机测试系统。 随着超大规模集成电路技术的发展,微型计算机正以惊人的速度飞速发展。目前,微型计算机的发展有两个大的趋向:一个发展是向128位以上的巨型机迈进,另一个发展方向是向更加微型化、多功能化,使其在一块芯片是构成一台完整的微型计算机,即所谓的单片机。单片机只要用于工业过程控制及智能控制仪器中,特别是在传感器智能仪器发展中,已显示出巨大的优越性,因而深受人们的欢迎,成为近年来最为活跃的领域[3]。 单片机之所以在智能仪器中广泛采用,主要是因为其具有以下特点[11]。

① 体积小、价格低廉

目前的单片机不但把CPU、存储器及I/O接口集成在一块芯片上,而且集成了用户常用的硬件内容,使用起来特别方便、灵活。例如,目前刚传入国内不久的高速SOC(system on chip,片上系统)美国CYGNAL公司的80C51系列单片机,全兼容51指令集、最高配置为芯片上集成了高达64KB的Flash存储器、4352B的RAM、12位ADC(转换速率为500kb/s,32通道输入)、两路12位DAC(带基准电源)、两路模拟电压比较器、温度传感器等,采用TQ48、 TQ64、 TQ100和MLP11封装。芯片的输入、输出口由用户自定义,而且直接在线仿真编程、擦除、校验、加密,大大简化了传统的—仿真器+编程器‖结构。

② 便于产品小型化、智能化

由于单片机体积小、功能强、用它不仅能代替常规的控制逻辑,而且还具有计算和处理功能,因而被广泛用于智能化仪器、自动化测控装置、家用电器和机器人等广大领域。

③ 研发周期短、可靠性高

一般微型机用于过程控制和智能仪器的研制周期都比较长,需要二次开发;而单片机通过简单的开发装置,即可实现所谓在线开发,因而大大缩短了研制周期。 此外,由于单片机都集成在一块芯片上,所以节省了大量的外部连线,简化了印刷线路板的设计和加工,因而减小了外部干扰,其可靠性大大提高。 单片机集成度高、运算速度快、体积小、运行可靠、价格低廉,因此在非电量测控、传感器智能化仪器仪表中得到了广泛应用[9]。 基于以上单片机的优点和使用范围,本设计采用了单片机为倾角测量系统的微处理器。

1.2 测试系统一般结构

传感器与单片机相结合构成的检测系统,本质上就是单片机控制系统。一般说来,采用单片机做智能控制部件的测控系统,为了对被测控非电量实施控制,对其参数和状态进行检测是必不可少的。单片机控制是以自动化控制理论和计算机技术为基础的。控

嵌入式应用软件园,版权所有,请勿转载/销售。

- 8 -

制对象从小到大,从简单到复杂,都可以有单片机参与控制。 传感器与单片机相结合构成的检测系统,根据其用途和功能的不同可以采用各种不同的类型。但是,实际上这些系统的基本结构是完全相同的,如图1-1所示。收集信息端把从传感器得到的信息通过输入接口送给单片机,把结果通过输出接口送给显示器、记录设备等[11]。

根据本设计的任务要求: 测量范围:-45°~+45° 测量精度:≤0.1° 本倾角测量仪的设计按照图1-1系统结构进行设计。

检测对象

传感器

输入接口

单片机

输出接口

显示/记录设备

图1-1 单片机测试系统的一般结构

嵌入式应用软件园,版权所有,请勿转载/销售。

- 9 -

第2章 系统硬件设计

前面我们对测试系统的一般结构有了个大概的了解,在接下来的一章中我们将对倾角测量仪的传感器、A/D转换电路、单片机电路、LED显示以及驱动电路等进行设计和分析并给出以上各部分的实际电路,为系统软件开发打下坚实的基础。

2.1 系统硬件组成

系统硬件结构主要包括以下组成部分:倾角传感器、A/D转换模块、单片机、显示模块、如图2-1所示。其中,倾角传感器作为测试单元输出电压信号; A/D转换模块则将调理过的电压模拟信号转换为数字信号,以便送给单片机进行数据的处理;单片机是整个系统的核心,负责协调各部分的工作,以及进行数据处理;显示模块则是人机交互的通道。

2.2 倾角传感器选择

从单片机诞生的最初年代开始,非电量测量技术和仪器仪表行业就成为单片机应用的重要领域。传统的仪器仪表配以单片机做智能部件,构成了当今各种的所谓智能化仪器仪表。这些智能化仪器仪表主要由硬件和软件两部分组成。其中的硬件主要由传感器(包括信号的采集和放大)和单片机两部分组成。二者通过一定的接口进行连接,构成典型的智能化仪表。所以选择一个合适的倾角传感器对本设计至关重要[12]。

2.2.1 选择传感器的的基本原则

实现非电量测量的关键技术之一就是正确地选择和使用好传感器。传感器处于系统前向通道的最前端,是构成系统信息输入的主要窗口,为系统提供进行处理和决策控制所必须原始信息。倾角传感器的精度直接影响整个自动测试系统的精度,能否找到一些恰当的传感器来准确、迅速、全面反映倾角的特性,并把它变换成便于识别、传输、接收、处理和控制的信息,即尽可能地选择性能优异有价格低廉的合适倾角传感器至关重要[13]。

倾角传感器

单片机

A/D转换模块

显示模块

图2-1 系统硬件结构框图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 10 -

传感器种类繁多,性能各异。从测量角度看,根据输出电信号形式的不同,可以把传感器分为开关式、数字式和模拟式3大类[11]。 (1)开关式传感器 其工作特性是:当输入位移量高于某一设定值(阈值)时,传感器处于接通状态,输出高电平(或低电平);当输入位移量低于某一设定值(阈值)时,传感器处于断开状态,输出低电平(或高电平)。所以这类传感器输出是高、低电平变化的。

(2) 数字式传感器

采用数字式传感器可将被测参数直接转换成数字信号输出,因此它具有以下特点:

① 精确度和分辨率高;

② 抗干扰能力强,便于远距离传送;

③ 信号易于处理和存储,便于与计算机接口;

④ 可以减小读数误差。

正因为如此,数字式传感器引起了人们的普遍重视。然而到目前为止,数字式传感器的种类还不多。根据工作原理不同可分为脉冲数字式传感器(如光电编码传感器、光栅传感器、感应同步器、磁栅传感器等)和频率输出式数字传感器(如振弦式传感器、振筒式传感器和振膜式传感器等)。

(3) 模拟式传感器

其输出以各种连续量的形式变化,可以是电压、电流、电阻、电感、电容等。连续变化量与数字系统连接,需要通过模拟通道,再经A/D转换器把模拟信号转换成数字信号。 实际应用中,选择传感器的基本原则可概括为以下几方面: ①具有确定的传感特性,即能保证一定的灵敏度、精确度、重视性和长时间的工作稳定性; ②具有高的可靠性,能在价格适中的前提下有较长的工作寿命; ③具有良好的工作环境适应性,受外界因素如高低温冲击、振动、潮湿等的影响小; ④具有高的非电量识别和抑制能力,即在多个非电量环境中,要求传感器对不属于它们的自然输入量应有较强的识别和抑制能力; ⑤具有较小或者适宜的几何尺寸和形状,便于使用。

2.2.2 倾角传感器原理

倾角传感器经常用于系统的水平测量,从工作原理上可分为—固体摆‖式、—液体摆‖式、—气体摆‖三种倾角传感器[1],下面就它们的工作原理进行介绍。 (1)—固体摆‖式惯性器件 固体摆在设计中广泛采用力平衡式伺服系统,其由摆锤、摆线、支架组成, 摆锤受重力G和摆拉力T的作用,其合外力F为: F=Gsinθ=mgsinθ (2-1) 其中,θ为摆线与垂直方向的夹角。在小角度范围内测量时,可以认为F与θ成线性关系。如应变式倾角传感器就是基于此原理。 (2)—液体摆‖式惯性器件

液体摆的结构原理是在玻璃壳体内装有导电液,并有三根铂电极和外部相连接,三

嵌入式应用软件园,版权所有,请勿转载/销售。

- 11 -

根电极相互平行且间距相等。当壳体水平时,电极插入导电液的深度相同。如果在两根电极之间加上幅值相等的交流电压时,电极之间会形成离子电流,两根电极之间的液体相当于两个电阻R1 和R2。若液体摆水平时,则R1=R2。当玻璃壳体倾斜时,电极间的导电液不相等,三根电极浸入液体的深度也发生变化,但中间电极浸入深度基本保持不变。左边电极浸入深度小,则导电液减少,导电的离子数减少,电阻R1增大,相对极则导电液增加,导电的离子数增加,而使电阻R2减少,即R1>R2。反之,若倾斜方向相反,则R1<R2。在液体摆的应用中也有根据液体位置变化引起应变片的变化,从而引起输出电信号变化而感知倾角的变化。在实用中除此类型外,还有在电解质溶液中留下一气泡,当装置倾斜时气泡会运动使电容发生变化而感应出倾角的—液体摆‖。 (3) —气体摆‖式惯性器件 气体在受热时受到浮升力的作用,如同固体摆和液体摆也具有的敏感质量一样,热气流总是力图保持在铅垂方向上,因此也具有摆的特性。—气体摆‖式惯性元件由密闭腔体、气体和热线组成。当腔体所在平面相对水平面倾斜或腔体受到加速度的作用时,热线的阻值发生变化,并且热线阻值的变化是角度θ或加速度的函数,因而也具有摆的效应。其中热线阻值的变化是气体与热线之间的能量交换引起的。 —气体摆‖式惯性器件的敏感机理基于密闭腔体中的能量传递,在密闭腔体中有气体和热线,热线是唯一的热源。当装置通电时,对气体加热。在热线能量交换中对流是主要形式[5]。 基于以上传感器的选择原则及本设计的任务要求,本设计采用了气体摆式倾角传感器。在下一目中将做一阐述。

2.2.3 本设计选用的传感器

本设计采用的是CJRS-A01型气体摆式倾角传感器。 (1)CJRS-A型气体摆式倾角传感器 CJRS-A型气体摆式倾角传感器是一种新型传感器。它的工作介质是气体,敏感元件是热敏丝。这种传感器可用于坦克、舰船和机器人的姿态测控系统,也可用于测井斜、房屋建筑等工程中。它具有测量范围宽、响应快、精度高、寿命长和成本低等优点。 在重力场内,密度大的气体下沉,密度小的气体上浮。利用热敏丝加热空气,其周围空气密度减小,由于浮升力的存在,热空气上浮,热气流力图保持在竖直向上方向,这就形成一个具有单摆特性的—气体摆‖。

Vh

R

R

r2

r1

V0

敏感轴方向

图2-2 A型气体摆式倾角传感器敏感头示意图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 12 -

利用一对热敏丝作敏感元件,既可形成—气体摆‖,又可以检测敏感元件的倾斜角度。

热敏丝装在敏感元件内,敏感元件内腔内为圆柱形或球形。图2-2 示出采用平行丝结构

的敏感元件电路示意图。热敏电阻r1 和r2 是电桥的两臂。敏感元件平直并无振动时,r1

和r2 在同一水平面内,r1=r2=r ,电桥平衡,输出为零。当有倾角θ 输入时,由于r1 和

r2 的温度相互影响,r1≠r2,输出信号为V0,其大小与倾角θ 呈线性关系,即

V0=Kθ (2-2)

式中,K 为比例常数。通过信号处理,根据终端信号的大小和极性,就可以得知倾角θ

的大小及方向。

倾角传感器的电路包括电源、电桥电源、放大、滤波、补偿、限幅等电路,其电路

框图如图2-3 所示[8]。

①工作原理:

CJRS 型气体摆式倾角传感器是一种新型传感器,它的工作介质是气体,敏感元件

是热敏丝。在重力场内,密度大的气体下降,密度小的气体上升。利用热敏丝加热空气,

其周围空气密度减小,由于浮力的存在,热空气上升,热气流力图保持在竖直向上方向。

这就形成一个具有单摆特性的—气体摆‖。利用热敏丝既可以产生—气体摆‖又可以检测

—摆‖的倾斜角度。

②特点:

输出电压 敏感

元件

零位补偿

灵敏度补偿

零位补偿

非线性补偿

滤波

倾角

图2-3 倾角传感器电路原理图

补偿电路

放大电路

嵌入式应用软件园,版权所有,请勿转载/销售。

- 13 -

它具有测量范围宽、响应快、精度高、交叉耦合小、寿命长和成本低等优点。采用气体作为敏感质量,由于气体质量极小,在高过载和强冲击情况下引入的惯性力小,因此可以承受高过载和强冲击。试验表明,气体摆式倾角传感器承受16000g冲击后还能正常工作。并且,此种类型的传感器不受电磁干扰的影响。 ③应用范围: 可广泛用于坦克、舰船、汽车和机器人的姿态测控系统,也可应用于测井斜、海上石油平台、建筑、桥梁、交通(铁路和公路)等工作。

④ 主要性能指标:

表2-1 CJRS-A型一维气体摆式倾角传感器的主要性能指标

指标 型号

测量范围

分辨率

非线 性度

满量程输出

供电 电源

响应 时间

质量

工作温度

外形尺寸(mm)

CJRS-A1

±45°

0.01°

<1%

±5V

±15VDC<75mA

<100ms

350g

-40~+50℃

60×70

CJRS-A2

±30°

<0.5%

CJRS-A3

±15°

<0.5%

(2)CJRS-A01型气体摆式倾角传感器 本设计要求倾角仪的测量范围为-45°~+45°,精度为0.1°。所以选择CJRS-A01型做为本设计的倾角传感器。 CJRS-A01型气体摆式倾角传感器工作原理如图2-4所示,在密闭腔体中设置一热源,热敏电阻构成电桥的两个敏感臂,当传感器水平放置时,热气流垂直通过两个热敏电阻组成的平面,两个热敏电阻吸收的热量相同,温度也相同,电桥平衡;当传感器倾斜时,热气流由于摆的特性,仍然保持垂直向上,但偏离热敏电阻平面法线方向,从而使热敏电阻吸收的热量不一样。温度不相同,导致电桥失去平衡,输出与倾角成正比的电压信号。

θ

法线

a)

b)

图2-4 CJRS-A01型气体摆式倾角传感器工作原理

θ

热敏丝

热敏丝

气流

法线

热敏丝

热敏丝

气流

嵌入式应用软件园,版权所有,请勿转载/销售。

- 14 -

CJRS-A01型气体摆式倾角传感器结构如图2-6所示。敏感元件是圆柱的密闭腔体,两电极通过玻璃绝缘子向外引出。热敏电阻r1和r2既起加热作用,使密闭腔体内气体产生自然对流,又起敏感倾角的作用。密闭腔体内的气体为干燥空气。传感器壳体平行于水平面时,密闭腔体内两个几何对称的热敏电阻r1和r2所产生的热气流均垂直向上,两者互不影响,故由它们分别使电桥电路臂的电桥平衡,输出为零。若传感器壳体相对于水平面产生倾角θ时,由于自然对流气体的浮升力(方向与重力相反)作用,两个热敏丝产生的热气流仍然保持在铅直方向,而两束热气流对彼此的气流源(r1和r2)产生作用。当θ角为正时,r2产生的热气流作用在r1上,电桥失去平衡,输出与倾角θ大小成正比的正模拟电压;当θ为负时,r1产生的热气流作用在r2上,电桥失去平衡,输出与倾角θ大小成正比的负模拟电压。即V0=Kθ,CJRS-A01型气体摆式倾角传感器的比例系数K为(100±1)mV/(°),本设计以K=100 mV/(°)来进行计算。如: 当倾角θ=25°时, V0= Kθ =2.5V 则经A/D转换后输送给单片机的数字量: D=2048(1+2VIN/VFS) =2048(1+2×2.5V/10V) =3072 =C00H 当倾角θ=0°时, V0= Kθ =0V 则经A/D转换后输送给单片机的数字量: D=2048(1+2VIN/VFS) =2048(1+2×0V/10V) =2048 =800H 当倾角θ=-25°时, V0= Kθ =-2.5V 则经A/D转换后输送给单片机的数字量: D=2048(1+2VIN/VFS) =2048[1+2×(-2.5V)/10V] =1024 =400H

嵌入式应用软件园,版权所有,请勿转载/销售。

- 15 -

本设计中,倾角传感器的1脚接+12V,2 脚接-12V,3 脚接地,5脚悬空。由于CRJS-A1型气体摆式倾角传感器内部电路包括放大、滤波、补偿、限幅等电路,输出电压为-5V~+5V,所以将4脚直接与A/D转换器件的输入端相连。

CJRS-A01型气体摆式倾角传感器主要技术指标见表2-2。 表2-2 CJRS-A01型气体摆式倾角传感器主要技术指标

测量范围

±45°

非线性度

≤1%

分辨率

≤0.01°

Vh

r2

电极

R

R

V0

敏感轴方向

敏感元件外壳

r1

图2-6 CJRS-A01型气体摆式倾角传感器结构原理

1

2

4

5

3

1(红)—+12V 2(黑)—地 3(黄)—-12V 4(绿)—输出 5(白)—外壳

图2-5 CJRS-A01型气体摆式倾角传感器插座接点分配图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 16 -

比例系数

(100±1)mv/(°)

显示时间

≤100ms

准备时间

≤5min

零位电压

±50mV

工作电源

DC±15V,≤250mA

工作温度

-40~+65℃

外形尺寸

Φ60mm×70mm

输出电压

-5V~+5V

2.3 单片机的选择及其外围电路设计

单片机就是单片微型计算机,它是把微型计算机的主要部件CPU、存储器、I/O接口电路部分及其他功能部件,如定时/计数器、中断系统和串、并行口,都集成在一片半导体芯片上,它具有微型计算机最基本的功能。MCS-51系列单片机是美国Intel公司在1980年继MCS-48系列8位单片机之后推出的8位单片机。具有性价比高、稳定性可靠、通用性强、体积小及价格低等优点,目前是国内单片机应用及教学的主流产品。MCS-51系列单片机的典型产品有8031、8051、8751和89S52,它们的功能、内部逻辑部件基本相同,引脚都一样(40个引脚),可以互换,不同的是8031内部没有程序存储器ROM,8051内部有4KB的ROM,8751内部有4KB的紫外线可擦除可编程只读存储器EPROM,而89S52内部有8KB的电擦除可编程只读存储器[6]。 本次设计选用的单片机是AT89S52,下面对AT89S52单片机的硬件结构、引脚功能用法以及在本设计中的应用作一阐述。 AT89S52是一种低功耗、高性能CMOS八位微控制器,具有8K在系统可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许ROM在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使其为众多嵌入式控制应用系统提供灵活的解决方案。 其主要特性为: ●与MCS-51单片机产品兼容; ●8K字节在系统可编程Flash存储器; ●1000次擦写周期; ●全静态操作:0Hz~33Hz; ●三级加密程序存储器; ●32个可编程I/O口线; ●三个16位定时器/计数器; ●八个中断源; ●全双工UART串行通道; ●低功耗空闲和掉电模式; ●掉电后中断可唤醒;

嵌入式应用软件园,版权所有,请勿转载/销售。

- 17 -

●看门狗定时器;

●双数据指针;

●掉电标识符。

单片机是本设计的核心,它要负责系统个模块的协调工作和数据处理。选择

AT89S52 完全满足本设计的要求。

2.3.1 89S52 单片机的原理与结构

(1)89S52 单片机的内部结构

89S52 单片机内部的主要功能部件有CPU,4KB 的程序存储器ROM,256B 的数据

存储器RAM,两个16 位的定时/计数器T0 和T1,4 个8 位的并行I/O 接口P0、P1、P2、

P3,1 个串行接口;5 个中断源。其功能结构示意图2-7 所示[2]。

其中,CPU 是单片机内部最核心的部件,它是单片机的大脑和心脏,单片机的性能

主要取决于CPU 的性能。CPU 的主要功能是控制程序的运行、数据的传送和运算,其

主要功能部件如下:

①控制器:程序计数器PC(16 位,用户不可用指令改变其内容、数据(地址)指

针寄存器DPTR(16 位,用户可用指令改变其内容)等。

②运算器:算术逻辑运算单元(ALU)、累加器(ACC)、程序状态寄存器(PSW)

等。

(2)89S52 单片机引脚及功能

89S52 单片机有40 个引脚,采用双列直插(DIP)封装形式,其引脚见图2-8 所示。

VCC(40 脚):接+5V 电源线。

V SS(20 脚):接地线。

外部计数脉冲

总线

复位电路

CPU

晶振电路

8KB ROM 256B RAM

16 位×2

定时/计数器

并行接口 串行接口 中断系统

P0 P1 P2 P3

RXD TXD INT0

图2-7 单片机内部结构图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 18 -

XTAL1(19 脚)、XTAL2(18 脚):外接晶振引脚。51 系列单片机的晶振频率fosc

的范围在1.2~12 MHz。

RST(9 脚):复位引脚。信号输入引脚(即该引脚功能受输入信号控制),高电平

有效,就是该引脚高电平使单片机复位,当该引脚输入的高电平信号保持至少两个机器

周期以上时即可使单片机复位(如晶振频率fosc 为12 MHz,机器周期就等于1μs,也就

是说,只要RST 引脚有2μ s 以上的电平,就可以使单片机复位)。单片机正常工作期间

该引脚应该为低电平。

PSEN (29 脚):CPU 访问片外程序存储器输出信号。低电平有效。该引脚在CPU

要从某片外程序存储器读取指令时,输出负脉冲作为读该片外程序存储器的选通信号。

ALE(30 脚):低8 位地址锁存允许引脚。信号输出引脚,高电平有效。当CPU 访

问片外存储器时,在ALE 引脚输出高电平期间用于将低8 位地址锁存起来。平常ALE

引脚输出矩形脉冲,频率为晶振频率的1/6。因此ALE 引脚也可用来作时钟脉冲。例如:

当晶振频率fosc 为12 MHz 时,ALE 引脚输出2 MHz 的方波。

EA(31 脚):低电平时CPU 访问片外程序存储器;高电平时CPU 先访问片内程序

存储区4KB 的地址范围,若访问片内程序存储器的地址超过4KB 范围时,CPU 会自动

使PC 指向片外程序存储器。

4 个8 位并行I/O 接口:用来输入/输出数据。

P0 口(P0.0~P0.7):39~32 脚;作低8 位地址线和8 位数据线用。程序中用到外部

存储器时,不能作I/O 接口。P0 口在不作数据/地址总线时可作I/O 口用,当作为输出口

用时要外接上拉电阻。

P1 口(P1.0~P1.7):1~8 脚;是用户最常用的I/O 口。输出可直接(或通过同相反

相驱动集成电路)带发光二极管或数码管。

P2 口(P2.0~P2.7):21~28 脚;可作为8 位I/O 接口,又可有第二功能,若某个P3

89S52

EA/VP 31

X1

19

X2 18

RESET

9

INT0 12

INT1

13

T0

14

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

P0.0 39

P0.1 38

P0.2

37

P0.3

36

P0.4

35

P0.5 34

P0.6 33

P0.7

32

P2.0

21

P2.1 22

P2.2 23

P2.3

24

P2.4

25

P2.5

26

P2.6 27

P2.7 28

RD

17

WR

16

PSEN 29

ALE/P 30

TXD

11

RXD

10

图2-8 89S52 单片机引脚图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 19 -

口位已经用作第二功能,就不能再用作I/O 接口使用。一般在接有片外数据存储器或I/O

芯片的情况下,P3.6(WR )和P3.7( RD)不作为I/O 使用。P3 口的第二功能如表2-3

所示。

表2-3 89S52 P3 口第二功能

2.3.2 89S52 在本设计中的应用

由于本设计选用的A/D 转换器AD574A 为12 位逐次逼近型A/D 转换器。所以单片

机的P0 口作为数据线分别与AD574A 高8 位输出接口相连,AD574A 的低4 位分别与

P0.4~P0.7 相连。然后通过控制总线RD、WR 、PSEN 、ALE 和EA 等信号将采集到的

数据传送给单片机。单片机对这些数据量处理后在显示器中显示对应的角度值。单片机

是本设计的核心不但要进行数据的处理,而且还要负责系统各部分的协调工作。

单片机是一个复杂的系统,它需要有合适的外围电路和内部程序才能达到整个系统

的要求[15-17],下面就介绍一下本设计单片机的外围电路

(1)振荡器和时钟电路

如果说CPU 是单片机的心脏,那么石英晶振就相当于心脏起搏器。单片机系统的

各部分都要以时钟频率为基准,才能在CPU 的指挥下有条不紊一拍一拍地协调工作。

在89S52 单片机内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出

端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体震荡器和微调电容,形成反馈

电路,就构成了一个稳定的自激震荡器。这是单片机时钟信号产生的方式之一,称为内

部时钟方式。另一种称为外部时钟方式,如图2-9(b)所示。其是把外部时钟信号引入

到单片机内。

本设计单片机的时钟电路如图2-9(a)所示。其中C1 和C2 的作用是稳定频率和快速

口线 专 用 功 能 口线 专 用 功 能

P3.0 RXD P3.4 T0

P3.1 TXD P3.5 T1

P3.2 INT0 P3.6 WR

P3.3

INT1 P3.7 RD

(a)

C2

C1

晶振XTAL1

XTAL2

89S52

XTAL1

XTAL2

89S52

悬空

外部

时钟

信号

(b)

图2-9 单片机时钟电路

嵌入式应用软件园,版权所有,请勿转载/销售。

- 20 -

起振,电容值为30pF。晶振的振荡频率为6MHz。

(2)复位电路的设计

单片机的RST 引脚为主机提供一个外部复位信号输入端口。复位信号是高电平有

效的持续时间应为2 个机器周期以上。复位后,单片机内部各部件恢复到初试状态,单

片机从ROM 的0000H 开始执行程序。单片机复位电路设计的好坏,直接影响到整个系

统工作的可靠性。许多人在设计完单片机系统,并在实验室调试成功后,在现场却出现

了—死机‖、—程序走飞‖等现象,这主要是单片机的复位电路设计不可靠引起的。

考虑到倾角测量仪的应用环境,本设计采用了看门狗复位电路。

看门狗型复位电路主要利用CPU 正常工作时,定时复位计数器,使得计数器的值

不超过某一值;当CPU 不能正常工作时,由于计数器不能被复位,因此其计数会超过

某一值,从而产生复位脉冲,使得CPU 恢复正常工作状态。此复位电路的可靠性主要

取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处。一般设计,将此段程

序放在定时器中断服务子程序中。然而,有时这种设计仍然会引起程序走飞或工作不正

常。原因主要是:当程序—走飞‖发生时定时器初始化以及开中断之后的话,这种—走飞‖

情况就有可能不能由Watchdog 复位电路校正回来。因为定时器中断一但在产生,即使

程序不正常,Watchdog 也能被正常复位。为此提出定时器加预设的设计方法。即在初始

化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句。在所有不

被程序代码占用的地址尽可能地用子程序返回指令RET 代替。这样,当程序走飞后,

其进入陷阱的可能性将大大增加。而一旦进入陷阱,定时器停止工作并且关闭中断,从

而使Watchdog 复位电路会产生一个复位脉冲将CPU 复位。当然这种技术用于实时性较

强的控制或处理器件中有一定的困难。在选用或自己设计Watchdog 型复位电路时,应

注意输入Watchdog 的—喂狗‖信号应该是沿信号,而不是电平信号,同时应考虑撤销复

位电压的电源电压值应大于系统最小正常电压值。

美国Xicro 公司生产的X5045 芯片集断电数据保存功能、看门狗功能、上电掉电复

位功能、电源电压监控功能于一身,所以这次复位电路的设计用X5045 来完成。

Ⅰ.X5045 芯片介绍

X5045芯片的引脚排列如图2-10所示。

VCC

8

RESET

7

SCK

6

SI

5

CS/WDI

1

SO

2

WP

3

VSS

4

X5 045

引脚功能:

①串行输出(SO):SO是串行数据输出引脚。在读周期内,数据在此引脚上输出,数

据由串行时钟的下降沿同步输出。

②串行输入(SI):SI是串行数据输入引脚。所有操作码,字节地址以及写入存储器的

数据在此引脚上输入。串行时钟的上升沿锁存SI数据。

图2-10 X5045 引脚排列图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 21 -

③串行时钟(SCK):串行时钟控制用于数据输入和输出的串行总线定时。出现在SI

引脚上的操作码,地址或数据在时钟输入的上升沿锁存,而SO引脚上的数据在时钟输入

的下降沿之后发生改变。

④芯片选择( CS ):当CS 为高电平时,将X5045 置于等待电源方式,SO输出引脚

处于高阻状态。CS 为低电平将X5045 置于工作电源方式。上电之后, 在任何操作开始

之前需要CS 从高电平至低电平的跳变。

⑤写保护(WP ):当WP 为低电平时,禁止向X5045的非易失性写操作,但是器件的

其它功能还正常。当WP保持高电平时,所有的功能都正常。在CS 仍为低电平时, WP 变

为低电平将中断对X5045的写操作。如果内部写周期已经开始, 则WP变为低电平将不影

响写操作。

⑥复位(RESET):X5045的复位是高电平有效。CS 的下降沿将复位看门狗定时器。

另有接地端和电源端,X5045芯片的电源电压有两种规格,一种是4.5~5.5V,另一种是

2.7~5.5V。

X5045 为4K 位串行EEPROM 芯片,可编程的看门狗定时器。低电压VCC 检测,直

至VCC=1V 复位输出有效;SPI 接口方式;低功耗,待机电流为10μA,工作电流为3mA,

工作电压为2.7~5V;具有块锁定保护功能,可以保护1/4、1/2,或所有EEPROM 阵列;

片内异常事件写保护:上电、掉电保护电路,写锁存,写保护引脚;1MHz 时钟频率;

可擦写次数100000 次,数据保存期为100 年;ESD 静电放电保护;有8 引脚DIP 和SOIC

或14 引脚TSSOP 封装三种形式;高电平复位信号输出。(最高有效位)在前方式传送。

读写指令中3 位的A8 是高位地址,此位用于选择器件的上半部或下半部[13]。

表2-4 X5045 指令寄存器指令集

指令名称 指令格式 操作

WREN 00000110 设置写使能锁存器,允许写操作

WRDI 00000100 复位写使能锁存器,禁止写操作

RDSR 00000101 读状态寄存器

WRSR 00000001 写状态寄存器

READ 0000A8011 从所选地址开始的存储器中读数据

WRITE 0000A8010 把数据写入所选地址开始的存储器中

Ⅱ. X5045 芯片与AT89S52 单片机接口电路

本设计X5045芯片与AT89S52单片机的接口电路如图2-11所示。该电路为AT89S52

扩展了上电复位、可编程看门狗定时、电源电压监控、串行EEPROM等功能。该芯片在

其上电后自动产生复位信号,这样就实现单片机的上电自动复位;当电源VCC低于规定

值时,(如VCC=5V,则规定值为4.25-2.5V),将产生复位信号。这样就实现系统电源

的掉电复位;当程序在编程选择的时间里没有访问X5045时,即设有一个看WDT的语句

——Feed DOG语句,则看门狗(WDT)将起作用RST将产生复位信号,迫使单片机复

位。电阻R1选择为10KΩ。

CS

1

SI

6

SCK

5

SO

2

RESET

7

Vss

4

Vcc

8

WP

3

X5045

+5V

R

10K

P1.0

P1.1

P1.2

P1.3

RST

嵌入式应用软件园,版权所有,请勿转载/销售。

- 22 -

2.4 A/D转换电路设计

在一些信号处理电路中,输出往往是连续变化的模拟量,由于计算机只能处理离散的数字量,需要将连续变化的模拟量转换为数字量,这一操作过程就是A/D转换。 目前,市场上A/D转换器芯片种类繁多,为了适应各种需要,不同的厂家生产了很多不同类型、不同性能和档次的A/D转换芯片。 根据本设计的要求,倾角测量仪的测量范围为-45°~+45°,精度要求0.1°。则由 [45°-(-45°)]/212 =0.022°知选择12位的A/D转换器可以满足设计精度的要求。而且要求A/D转换器内部必须具有双极性输入电路。 这里选择美国模拟数字公司(Analog)推出的单片高速12位逐次比较型A/D转换器AD574A。它内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高(≤0.05%)等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器。所以选择AD574A完全能够满足本设计的要求。

2.4.1 AD574A的A/D转换原理

A/D转换的原理很多,常见的有双积分式、逐次逼近式、计数式等,输出码制有二进制、BCD码等,输出数据宽度有8位、12位、16位、20位等(二进制)。根据设计的需要,我们这里只介绍12位逐次逼近式A/D转换器。 由于在本设计中选择的是逐次逼近式A/D转换器,所以我们这里简单阐述一下逐次逼近式A/D转换器原理。原理如图2-12所示,当转换器接收到启动信号后,逐次逼近寄存器清0,通过内部D/A转换器输出使输出电压V0为0,启动信号结束后开始A/D转换[10]。

控制电路

8位 D/A 转换器

逐次 逼近 寄存器

CLK

启动信号

转换结束

Vi

比较器:Vi>V0输出为“1” Vi≤V0输出为“0”

输出 模拟电压V0

嵌入式应用软件园,版权所有,请勿转载/销售。

- 23 -

2.4.2 AD574A在本设计中的应用

为了说明AD574A在本设计中的应用,这里先对AD574A芯片的部分引脚作个说明。AD574A为28引脚双列直插式封装,各个引脚功能如下: ①DB11~DB0:12位数据输出线,DB11为最高位,DB0为最低位,它们可由控制逻辑决定是输出数据还是对外呈高阻状态。 在本设计中,将此12位数据线接到单片机的P0口,将转换的结果传送给单片机。AD574A的DB口与单片机连接如图2-13所示。在本设计,AD574A在输出数据时采用12位输出,所以先传送高8位数据DB4~DB11,再传送低4位DB0~DB3。 ②12/8:数据模式选择。当此引脚输入为高电平时,12数据并行输出;当此引脚输入为低电平时,与引脚A0配合,把12位数据分两次输出,见表2-3所示。应该注意,此引脚不与TTL兼容,若要此引脚为高电平,则应接脚1,若要此引脚为低电平,则应接脚15。 由于本设计采用的是8位单片机,所以这里是把12位数据分两次输出,即此引脚接低电平,也就是与脚15相接。

AD574A

DB

R/

C

CS

74LS373

D0~D7

ALE

单片机

AD574A

DB0~DB3

DB4~DB11

P0.0

P0.7

A0

2

-

1

3

的口连接

嵌入式应用软件园,版权所有,请勿转载/销售。

- 24 -

③A0:字节选择控制。此引脚有两个功能,一个功能是决定方式是12位还是8位。若A0=0,进行全12位转换,转换时间为25uS;若A0=1,仅进行8位转换,转换时间为16uS。另一个功能是决定输出数据是高8位还是低4位。若A0=0,高8位数据有效;若A0=1,低4位有效,中间4位为—0‖,高4位为高阻状态。因此,低4位读出时,应遵循左对齐原则(即:高8位+低4位+中间4位的?0000‘)。 本设计为了提高精度,在这进行全12位转换。此脚的应用很灵活,在后面将给出详细的介绍。 ④CS:芯片选择。当CS=0时,AD574A被选中,否则AD574A不进行任何操作。 ⑤R/C:读/转换选择。当R/C=1时,允许读取结果,当R/C=0时,允许A/D转换。 在本设计中,我们将R/C、A0、CS三个引脚接到74LS373锁存器的Q0、Q1、Q2三个引脚上,通过地址的选择来连接并实现转换的要求。如图2-14所示。 要想芯片AD574A保持在工作状态,Q2必须为0,以使AD574A芯片处于选中状态。在输出数据时,先输出高8位数据,这时A0=0;接着输出低4位,这时A0=1,所以在读取转换结果期间,A0的状态是变化的。当系统在A/D转换时,74LS373的Q0输出为0,允许A/D转换;当系统读取结果时,74LS373的Q0输出为1,读取A/D转换结果。 这样系统在整个的过程中Q2Q1Q0的变化是:000-001-011。第一个状态000表示,芯片片选,AD574A进行全12位转换,系统允许A/D转换;第二个状态001表示,芯片片选,AD574A输出高8位数据,系统允许读取结果;第三个状态011表示,芯片片选,AD574A输出低4位数据,系统允许读取结果。 ⑥CE:芯片启动信号。当CE=1时,允许读取结果,到底是转换还是读取结果与R/C有关。 ⑦STS:状态信号。STS=1表示正在进行A/D转换,STS=0表示转换已完成。 本设计中利用此引脚对单片机进行中断方式响应,判断STS端口是0还是1来对单片机进行中断。

AD574A的CE和STS端口与单片机的连接如图2-15所示。在这里还需说明的是,STS口还可以与单片机的P2.7口相连,这样,系统就进行查询方式来读取转换结果。在

74LS373

AD574A

Q0

Q1

Q2

R/C

A0

CS

图2-14 74LS373与AD574A的连接

嵌入式应用软件园,版权所有,请勿转载/销售。

- 25 -

后面的软件设计中,我们将给出两种方式的程序,然后进行比较选择出最佳方式。

只有当单片机的外部RAM 读选通和写选通信号同时有效时,即同时为低电平,

AD574A 的CE 端口为1,这时启动AD574A 芯片。

⑧REFOUT:+10V 基准电压输出。

⑨REFIN:基准电压输入。只有由此脚把从—REFOUT‖脚输出的基准电压引入到

AD574A 内部的12 位DAC,才能进行正常的A/D 转换。

本设计采用双极性输入,所以此脚将与—REFOUT‖和—BIP OFF‖两引脚结合使用。

⑩BIP OFF:双极性补偿。此引脚适当连接,可实现单极性或双极性输入。

○11 10VIN :10V 量程模拟信号输入端。

本设计所采用的是双极性输入,所以这里的输入范围是-5V~+5V,而信号处理电

路出来的电压范围是-5V~+5V。满足设计要求。

AD574A 各控制输入脚功能说明如表2-5 示。这里需要注意的是,AD574A 的各引

脚的功能不是某个单独的引脚决定系统的功能,而是多数引脚联合起来共同决定系统的

功能。

表2-5 AD574A 各控制输入脚功能

CE CS R/C 12/8 A0 功能说明

0 × × × × 不起作用

× 1 × × × 不起作用

1 0 0 × 0 启动12 位转换

1 0 0 × 1 启动8 位转换

1 0 1 接引脚1 × 12 位数据并行输出

1 0 1 接引脚15 0 高8 位数据输出

1 0 1 接引脚15 1 低4 位数据尾接4 位0 输出

AD574A 在本设计中的极性输入方式:

AD574A 有两种极性输入方式,即为单极性和双极性输入。如图2-16 所示。

本设计所采用的是双极性输入方式,如图2-16(b)所示。R1 用于调整双极性输入

INT1

89S52

WR

RD

CE

STS

图2-15 CE 和STS 端口与单片机连接

嵌入式应用软件园,版权所有,请勿转载/销售。

- 26 -

电路的零点。如果输入信号VIN 在-5V~+5V 之间,应从10VIN 引脚输入;当VIN 在

-10V~+10V 之间,应从20 VIN 引脚输入。双极性输入时输出数字量D 与输入模拟电

压VIN 之间的关系:

D=2048(1+2VIN/VFS) (2-3)

或:VIN=(D/20##-1)VFS/2 (2-4)

式中VIN 为输入模拟量(V),VFS 为满量程值10V。

(a)单极性输入 (b) 双极性输入

由上式求出的数字量D 是12 位偏移二进制码。把D 的最高位求反便得到补码。补

码对应模拟量输入的符号和大小。同样,从AD574A 读到的或应代到式中的数字量D

也是偏移二进制码。例如,当模拟信号从10 VIN 引脚输入,则VFS=10V,若读得D

=FFFH,即111111111111B=4095,代入式中可求得VIN=4.9976 V。

在本设计中,传感器所采集的信号,经信号放大电路放大后,输入A/D 转换器的电

压为-5~+5V,所以这里A/D 转换器采用双极性输入方式时,信号由—10VIN‖端口输入。

2.4.3 AD574A 在本系统中的应用

AD574A 是具有三态输出锁存器的12 位逐次比较ADC 芯片,转换速度快(25us),

是目前国内使用最广泛的ADC 芯片之一。ADC574A 可并行输出12 位数据,也可以分

两次输出(先高8 位,后低4 位)数据;既可进行8 位转换,也可进行12 位A/D 转换。

这在上面的芯片介绍中已经提到了。

AD574A 与本系统连接如图2-17 所示。本设计采用双极性输入方式,可对范围-5V~

+5V 的模拟信号进行转换。当AD574A 与单片机配置时,由于AD574A 输出12 位数据,

所以当单片机读取转换结果时,应分两次进行:当A0=0 时,读取高8 位;当A0=1 时,

读取低4 位。

根据STS 信号线的三种不同接法,转换结果的读取有三种方式:(a) 如果STS 空

着不接,单片机就只能在启动AD574A 转换后延时25μS 以上再读取转换结果,即延时

方式;(b)如果STS 接到单片机的一条端口线上,单片机就可以采用查询方式。当查得

STS 为低电平时,表示转换结束;(c) 如果STS 接到单片机的中断端,则可以采用中断

+15V

-15V

100kΩ

100kΩ

100Ω

100Ω

0~10V

0~20V

DG AG

10VIN

20VIN

BIPOFF

REFIN

REFOUT

AD574

-5V~+5V

-10V~+10V

DG AG

10VIN

20VIN

AD574

REFIN 100Ω

REFOUT

BIPOFF

100Ω

R2

R1

R2

R1

图2-16 AD574A 的极性输入方式

嵌入式应用软件园,版权所有,请勿转载/销售。

- 27 -

方式读取转换结果。 本设计中AD574A的STS与AT89S52的外部中断端口相连,故采用中断方式读取转换结果。也可以用查询方式设计编制相应的服务程序,即将AD574A中的STS端与单片机中的P2.7端口相连,如图2-18所示。在本章我们就不介绍查询方式,在下一章的软件设计中,我们将给出中断和查询两种方式服务程序,以用来作比较。

在系统硬件调试时,AD574A中的R1用于调整双极性输入电路的零点, R2用于调整增益。

2.5 显示模块设计

单片机应用系统中,通常都需要进行人—机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行结果等。显示器、键盘电路就是用来完成人机对话的人—机通道。 本设计LED由ZLG7289A驱动。下一目将LED驱动器ZLG7289A在本设计中的应用作一介绍。

-10V-+10V

ALE

P0.7

P0.0

89S52

Vcc

EA

G

D7

D0

Q7

Q0

DG

A0

DB11

DB4

DB3

DB0

REFIN

REFOUT

BIPOFF

R1

AD574A

74LS373

CE

STS

AG

10VIN

20VIN

-5V-+5V

+

WR

RD

INT1

12/8

CS

R/C

OE

STS

图2-17 AD574A与单片机接口电路图

P2.7

89S52

图2-18 采用查询方式的连接图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 28 -

2.5.1 LED 驱动器功能简介

ZLG7289A 是广州周立功单片机发展有限公司自行设计的具有SPI 串行接口功能

的、可同时驱动8 位共阴式数码管或64 只独立LED 的智能显示驱动芯片,该芯片同时还

可连接多达64 键的键盘矩阵,单片即可完成LED 显示﹑键盘接口的全部功能。

ZLG7289A 内部含有译码器,可直接接受BCD 码或16 进制码,并同时具有2 种译码方

式,此外,还具有多种控制指令,如消隐﹑闪烁﹑左移﹑右移﹑段寻址等。ZLG7289A

具有片选信号,可方便地实现多于8 位的显示或多于64 键的键盘接口[19]。

(1)典型应用

仪器仪表工业控制器条形显示器控制面板

(2.)特点

●串行接口无需外围元件可直接驱动LED

●各位独立控制译码/不译码及消隐和闪烁属性

●(循环)左移/(循环)右移指令

●具有段寻址指令方便控制独立LED

●64 键键盘控制器内含去抖动电路

(3)ZLG7289 的引脚排列如图2-19 所示,引脚说明如表2-6 所示。

2 3 Title

/RES

OSC2

OSC1

DIG0

DIG7

DIG6

DIG5

DIG4

DIG3

DIG2

DIG1

RTCC

VCC

NC

NC

VSS

/CS

CLK

DATA

/KEY

SG

SF

SE

SD

SC

SB

SA

DP

ZLG7 2 89A

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17 18

19

20

21

22

23

24

25

27

28

26

表2-6 ZLG7289A 引脚说明

引脚 名称 说明

1,2 VDD 正电源

3,5 NC 悬空

4 VSS 接地

6 /CS 片选输入端,此引脚为低电平时,可向芯片发送指令及读

取键盘数据

图2-19 ZLG7289A 的引脚排列图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 29 -

7

CLK

同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效

8

DATA

串行数据输入/输出端,当芯片接收指令时,此引脚为输入端;当读取键盘数据时,此引脚在?读‘指令最后一个时钟的下降沿变为输出端

9

/KEY

按键有效输出端,平时为高电平,当检测到有效按键时,此引脚变为低电平

10-16

SG-SA

段g—段a驱动输出

17

DP

小数点驱动输出

18-25

DIG0-DIG7

数字0—数字7驱动输出

26

OSC2

振荡器输出端

27

OSC1

振荡器输入端

28

/RESET

复位端

(4)控制指令 ZLG7289A的控制指令分为二大类纯指令和带有数据的指令。在此只对带有数据的指令作一简介 ①下载数据且按方式0译码

D7

D6

D5

D4

D3

D2

D1

D0

DP

X

X

X

d3

d2

d1

d0

X=无影响 命令由二个字节组成,前半部分为指令, 其中 a2 ,a1 ,a0 为位地址,具体分配如下: 表2-7 位地址分配表

d0—d3 为数据,收到此指令时,ZLG7289A按以下规则(译码方式0)进行译码,如下表: 表2-8 ZLG7289A译码方式0

D7

D6

D5

D4

D3

D2

D1

D0

1

0

0

0

0

a2

a1

a0

a2

a1

a0

显示位

0

0

0

1

0

0

1

2

0

1

0

3

0

1

1

4

1

0

0

5

1

0

1

6

1

1

0

7

1

1

1

8

嵌入式应用软件园,版权所有,请勿转载/销售。

- 30 -

小数点的显示由DP位控制,DP=1时,小数点显示,DP=0时小数点不显示。 ②下载数据且按方式1译码

D7

D6

D5

D4

D3

D2

D1

D0

DP

X

X

X

d3

d2

d1

d0

X=无影响 此指令与上一条指令基本相同, 所不同的是译码方式 ,该指令的译码按下表进行 表2-9 ZLG7289A译码方式1

d0—d3 (十六进制)

d3

d2

d1

d0

7段显示

00H

0

0

0

0

0

01H

0

0

0

1

1

02H

0

0

1

0

2

03H

0

0

1

1

3

04H

0

1

0

0

4

05H

0

1

0

1

5

06H

0

1

1

0

6

07H

0

1

1

1

7

08H

1

0

0

0

8

09H

1

0

0

1

9

0AH

1

0

1

0

-

0BH

1

0

1

1

E

0CH

1

1

0

0

H

0DH

1

1

0

1

L

0EH

1

1

1

0

P

0FH

1

1

1

1

空(无显示)

D7

D6

D5

D4

D3

D2

D1

D0

1

1

0

0

1

a2

a1

a0

嵌入式应用软件园,版权所有,请勿转载/销售。

- 31 -

(5)ZLG7289A在本设计中应用 ZLG7289A采用串行方式与单片机相连,如图2-20示。串行数据从DATA引脚送入芯片,并由CLK端同步。当片选信号变为低电平后,DATA引脚上的数据在CLK引脚的上升沿被写入ZLG7289A的缓冲寄存器。 ZLG7289A的指令结构有三种类型:1.不带数据的纯指令指令的宽度为8个BIT,即微处理器需发送8个CLK脉冲。2.带有数据的指令,宽度为16个BIT,即微处理器需发送16个CLK脉冲。3.读取键盘数据指令宽度为16个BIT,前8个为微处理器发送到ZLG7289A的指令,后8个BIT为ZLG7289A返回的键盘代码。执行此指令时,ZLG7289A的DATA端在第9个CLK脉冲的上升沿变为输出状态,并与第16个脉冲的下降沿恢复为输入状态,等待接收下一个指令。 ZLG7289A应连接共阴式数码管,应用中,无需用到的数码管和键盘可以不连接,省去数码管和对数码管设置消隐属性均不会影响键盘的使用。 ZLG7289A需要一外接晶体振荡电路供系统工作。其典型值分别为F=16MHz,C=15P,其RESET复位端在一般应用情况下,可以直接和VCC相连,在需要较高可靠性的情况下,可以连接一外部复位电路,或直接由MCU控制。在上电或RESET端由低电平变为高电平后,ZLG7289A大约要经过18-25MS的时间才会进入正常工作状态。

d0—d3 (十六进制)

d3

d2

d1

d0

7段显示

00H

0

0

0

0

0

01H

0

0

0

1

1

02H

0

0

1

0

2

03H

0

0

1

1

3

04H

0

1

0

0

4

05H

0

1

0

1

5

06H

0

1

1

0

6

07H

0

1

1

1

7

08H

1

0

0

0

8

09H

1

0

0

1

9

0AH

1

0

1

0

A

0BH

1

0

1

1

B

0CH

1

1

0

0

C

0DH

1

1

0

1

D

0EH

1

1

1

0

E

0FH

1

1

1

1

F

嵌入式应用软件园,版权所有,请勿转载/销售。

- 32 -

2 3 16M

/RES

OSC2

OSC1

DIG0

DIG7

DIG6

DIG5

DIG4

DIG3

DIG2

DIG1

RTCC

VCC

NC

NC

VSS

/CS

CLK

DATA

/KEY

SG

SF

SE

SD

SC

SB

SA

DP

ZLG7289A

+5

P1.5

P1.6

P1.7

DG

DF

DE

DD

DC

DB

DA

DDP

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17 18

19

20

21

22

23

24

25

26

27

28

15P

15P

P3.2

2.5.2 本设计LED 显示器的应用

通常与单片机接口的显示器主要是LED 显示器和LCD 显示器两种。LCD 显示器好

控制、节能,但是其成本较高,考虑到倾角测量仪个工作环境主要在工程建设中,需要

有较强机械强度和光亮度,还有就是考虑倾角测量仪的设计成本,本设计选择了LED

显示器。

本次设计中要求用到4 位LED 显示,LED 显示器的控制方式为静态显示和动态显

示两种,因此在选择LED 驱动时,一定要先确定显示方式。

若选择静态显示,则LED 驱动器的选择较为简单,只要驱动器的驱动能力与显示

器电流相匹配即可。而且只须要考虑段的驱动因为共阳极接+5V,而共阴接地,所以位

的驱动不要考虑。

动态显示则不同,由于一位数据的显示是由段选和位选信号共同配合完成的,因此,

要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。动态显示就是一

位一位地轮流点亮显示器的各个位(扫描),在同一时刻只有一位显示器在工作(点亮)。

由于本设计用到了4 位LED,所以为了节省系统的功耗,本设计选择了动态显示。

LED 显示器由7 个发光二极管组成,因此也称之为七段LED 显示器。此外,显示

器中还有一个圆点型发光二极管,用于显示小数点。通过七个发光二极管亮暗的不同组

合,可以显示多种数字、字母以及其它符号。其排列形状如图2-21 所示。

图2-20 ZLG7289A 与89S52 的接口

嵌入式应用软件园,版权所有,请勿转载/销售。

- 33 -

a

b

c

e

f

g

dp

COM

d

a

b

c

d

f

e

g

dp

LED 显示器中的发光二极管共有两种连接方法:

● 共阳极接法

把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样

阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。

● 共阴极接法

把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高

电平的段发光二极管就导通点亮,而输入低电平的则不点亮。

使用LED 显示器时要注意区分这两种不同的接法。为了显示数字或符号,要为LED

显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。字形代码需要

七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED 显示器的字形代

码正好一个字节。各代码位的关系如表2-10 所示。在驱动LED 显示器时需要将BCD

码转换成七位段码,有很多LED 数码管显示驱动的译码器,如CD4051/CD4061 等,也

可以采用软件译码的方式,通过指令将原有的二进制数转换成BCD 码,再转换成数码

管的七位段码。

表2-10 LED 显示器字形代码

代码位 D7 D6 D5 D4 D3 D2 D1 D0

显示段 dp g F e d c b a

用LED 显示器显示十六进制数的字形代码在表2-11 中列出。

表2-11 十六进制数字形代码表

字型 共阳极代码 共阴极代码 字型 共阳极代码 共阴极代码

0 C0H 3FH 9 90H 6FH

1 F9H 06H A 88H 77H

2 A4H 5BH b 83H 7CH

3 B0H 4FH C C6H 39H

4 99H 66H D A1H 5EH

5 92H 6DH E 86H 79H

6 82H 7DH F 8EH 71H

7 F8H 07H 灭 FFH 00H

8 80H 7FH

本设计由于选用的LED 驱动器为ZLG7289A,其只能驱动共阴极接法的LED,所

以选用了共阴极接法LED。其构成了本设计的显示模块如图2-22。

其中ZLG7289A 的SA~SG 和DP 为输出口(段控位),以输出8 位字型代码(段控

线)连接于各LED 的a~g 和DP 位。DIG0~DIG7 也为输出口(位控口),输出位控线连

接于个LED 的COM 端口。

由倾角传感器CJRS-A01 输出的模拟电压V0,经A/D 转换器AD574A 转换为数字

图2-21 LED 显示器

嵌入式应用软件园,版权所有,请勿转载/销售。

- 34 -

量输送给单片机,单片机调用子程序把数字量转换为对应所测倾角角度值的BCD 码,

然后在输送给LED 驱动器ZLG7289A 的缓冲寄存器,最终在LED 中显示出所测量的角

度值。

1 2 3 1 2 3 D

C

B

A

Title

Size Number A4

Date: 1 4-Dec-2 0 07 File: C:\Do cumen ts an d Sett in gs \MS\28

27

2 6 8M

/RES

OSC2

OSC1

DIG0

DIG7

DIG6

DIG5

DIG4

DIG3

DIG2

DIG1

RTCC

VCC

NC

NC

VSS

/CS

CLK

DATA

/KEY

SG

SF

SE

SD

SC

SB

SA

DP

ZLG7 2 89A

25

24

23

22

21

20

COM0

19

COM1

18

COM2

17

COM3

16

15

14

DA

13

12

DB

11

DC

10

DD

9

DE

8

DF

7

DG

6

DDP

5

4

3

2

1

VCC

P1. 5

P1. 6

P1. 7

DG

DF

DE

DD

DC

DB

DA

DDP

a

b

c

d

e

f

g

DP

COM4

COM3

COM2

COM1

COM3

2 70 * 8

COM2

COM1

COM0

由于本设计测量的倾角范围为-45°~+45°,精度为0.1°。本设计只用了4 片LED

显示器,所以要用软件方法使第3 片LED 的DP 为一直置1。如果测量的倾角值为负值

(本设计规定向重力参考线左侧倾斜的倾角为负值,反之则为正值),则第1 片LED 的

g 段发光二极管点亮表示负号。若测量的倾角值为正值,则第1 片各段发光二极管均不

亮。软件设计均在下一章中作一阐述。例如:

当所测倾角 θ =+25°时,倾角传感器的输出电压为:

V0 =Kθ

=100 mV/(°)×25°

=2.5V

则,A/D 转换器的输出数字量为:

D=2048(1+2VIN/VFS)

=2048(1+2×2.5V/10V)

=3072

=C00H

式中K 为CJRS-A01 型气体摆式倾角传感器的比例系数K=100mV/(°) ;VIN 为输入

模拟量VIN = V0;VFS 为满量程值10V。

经单片机处理后,把数据传送到LED 驱动器中,并最中在4 组LED 显示器中显示

出对应的倾角值,如图2-23 所示。

图2-22 显示模块

图2-23 LED 显示的角度值

嵌入式应用软件园,版权所有,请勿转载/销售。

- 35 -

第3章 系统软件设计

系统软件设计采用模块化设计方法,采用汇编语言编程。整个软件系统由初始化模块、A/D转换模块、数制转换模块、LED显示模块。下面我们对整个软件系统做详细的介绍。

3.1 系统主流程图

系统软件流程图如图3-1所示。

3.2 系统初始化设计

在本设计中,首先对单片机进行初始化设计,然后通过单片机对LED显示的驱动器进行控制,使LED有显示角度的变化。单片机初始化完成后,将进行中断等待状态,即是否A/D转换结束。A/D转换结束后再控制 LED的显示,以达到设计目的。

(1) 单片机的初始化

ORG 0000H START: AJMP MAIN ORG 0013H ;外部中断1入口地址 AJMP WZ1 ;外中断服务子程序入口地址 堆栈设置 ORG 0030H ORG 0100H

图3-1 系统软件流程图

开 始

初 始 化

启动A/D转换

启动显示子程序

数制转换

嵌入式应用软件园,版权所有,请勿转载/销售。

- 36 -

MAIN: MOV SP,#70H ;设置堆栈指针SP=70H 在本设计中,将A/D转换器转换的结果进行堆栈,保护转换结果的准确性。 设置中断方式 SETB EA ;开总中断 SETB EX1 ;开外部中断1 SETB IT1 ;边沿触发 在本设计中,利用外部中断来判断A/D转换器转换是否结束。

(2) 延时子程序

DELAY: MOV R1,#40 ;延时20ms D1: MOV R2,#248 NOP D2: DJNZ R2,D2 ;498 DJNZ R1,D1

3.3 A/D转换子程序设计

本设计是以中断方式读取转换结果的,但这里我们也将查询方式读取转换结果的程序流程图写出来,以用来比较。查询方式程序流程图如图3-2所示,中断方式如图3-3所示[15]。 AD574A的中断方式转换程序段如下: ORG 0000H MOV R7,#41H MOV DPTR,#0FFF8H ;端口地址送DPTR MOVX @DPTR,A ;启动A/D转换 SETB EA SETB EX1 ;开外中断1 SETB IT1 ;外中断请求信号为下跳沿触发方式 LOOP: SJMP LOOP ;等待中断 ;中断服务程序: WZ1: MOV DPTR,#0FFF9H MOVX A,@DPTR ;读高8位数据 MOV @R0,A ;存高8位数据 INC DPTR INC DPTR MOVX A,@DPTR ;读低4位数据 ANL A,#0FH ;屏蔽高4位随机数 DEC R1 MOV @R1,A ;存低4位数据 LCALL HB2 ;跳至数制转换子程序

嵌入式应用软件园,版权所有,请勿转载/销售。

- 37 -

LCALL SET_DOG RETI

3.4 数制转换程序设计

入口条件:待转换的双字节十六进制整数在R6、R7中。 出口信息:转换后的三字节BCD码整数在R3、R4、R5中。 影响资源:PSW、A、R2~R7 堆栈需求: 2字节 HB2: CLR A ;BCD码初始化 MOV R3, A

执行主程序

启动A/D转换

P2.7=0?

数据处理 高8位 41H 低8位 40H

返回

Y

N

图3-2 A/D转换查询方式服务程序流程图

执行主程序

启动A/D转换

等待中断

中断返回

转换结果 处理程序

保护现场

读取转换结果 高8位 41H 低8位 40H

图3-3 A/D转换中断方式服务程序流程图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 38 -

MOV R4, A

MOV R5, A

MOV R2, #10H ;转换双字节十六进制整数

HB4: MOV A, R7 ;从高端移出待转换数的一位到CY 中

RLC A

MOV R7, A

MOV A, R6

RLC A

MOV R6, A

MOV A, R5 ;BCD 码带进位自身相加,相当于乘2

ADDC A, R5

DA A ;十进制调整

MOV R5, A

MOV A, R4

ADDC A, R4

DA A

MOV R4, A

MOV A, R3

ADDC A, R3

MOV R3, A ;双字节十六进制数的万位数不超过6,不用调整

DJNZ R2, HB3 ;处理完16bit

LCALL DISPLAYS ;跳至显示子程序

RETI

3.5 LED 显示模块子程序设计

程序中使用单片机内RAM 位寻址的29H 单元。29H 单元的位地址为48H~4FH。

1) 发送29H 单元中的数据到ZLG7289A,高位在前,程序入口条件为CS =1,

CLK=0。

DISPLAYS:

MOV R2,#08H ;发送8 位数据

CLR P1.5 ; =0

LCALL DELY1 ;延时32μ s(T1)

LOOP1: MOV C,4FH ;29H 单元的D7 位传至ZLG7289A

MOV P1.7,C ;数据出现在DATA 引脚上

SETB P1.6 ;置CLK 为高电平,数据写入ZLG7289A

MOV A,29H ;待发数据左移1 位

RL A

MOV 29H,A

LCALL DELY2 ;延时8μ s(T2)

CLR P1.6 ;置CLK 为低电平

LCALL DELY2 ;延时8μ s(T3)

嵌入式应用软件园,版权所有,请勿转载/销售。

- 39 -

DJNZ R2,LOOP1 ;检测8位数据是否发送完毕 CLR P1.2 ;发送完毕,DATA为低(输出状态) 2) 查询方式显示程序。 MOV P1,#0F9H ; =1,KEY=1,CLK=0,DATA=0 LCALL DELY3 ;延时24ms MOV 29H,#0A4H ;复位指令 LCALL DISPLAYS

3.6 X5045模块程序设计

1.X5045看门狗复位电路的程序框图 产生复位信号的条件要满足:①该芯片在其上电后自动产生复位信号,这样就实现单片机的上电自动复位;②当电源VCC低于规定值时,(如VCC=5V,则规定值为4.25-2.5V),将产生复位信号。这样就实现系统电源的掉电复位;③当程序在编程选择的时间里没有访问X5045时,即设有一个看WDT的语句——Feed DOG语句,则看门狗(WDT)将起作用RST将产生复位信号,迫使单片机复位。只要满足其一,就将使系统产生复位,迫使程序从起点执行,因此在软件设计方案中必须区分开上电复位、故障复位启动这两种情况,分别处理。其程序框图如图3-5所示 SET_DOG: MOV B, A ;存入B MOV A,#10H ;设置看门狗定时溢出时间为600ms MOV C,ACC.4

开始

写入数据到ZLG7289A

Yes

No

LED显示

数据是否写完?

结束

图3-4 显示程序流程图

嵌入式应用软件园,版权所有,请勿转载/销售。

- 40 -

MOV B.4,C MOV C,ACC.5 MOV B.5,C CLR SCK CLR CS MOV A, #01H MOV A, B ;送出状态寄存器内容 CLR SCK SETB CS RET DELY1: MOV R5,#4 DELAY1: NOP NOP DJNZ R5,DELAY1 RET DELY2: MOV R5,#1 DELAY2: NOP NOP DJNZ R5,DELAY2 RET DELY3: MOV R5,#3 DELAY3: NOP NOP END

嵌入式应用软件园,版权所有,请勿转载/销售。

- 41 -

结论与展望 本设计借助了单片机控制技术,接口技术,电子技术等设计出来的一个基于单片机AT89S52的倾角测量仪,系统设计主要包括倾角传感器的选取,A/D转换电路的设计,单片机的应用处理,LED显示的驱动及显示和控制系统的软件设计。在系统设计过程中,查阅了大量的中英文资料以及厂家的技术资料手册,借助前人的成熟经验,经过长时间的设计,调试,完成了课题的设计。 当前,大多数行业测量角度时依然沿用传统的水泡式(条式)水平仪.其检测方法依然是—水泡移动,肉眼分辨‖。这种原始的检测方法有诸多缺点,如测量值因人而易、功能单一、测量范围小等。通过完成本课题的设计,可以得出以下结论: 1.它与传统的水泡式(条式)水平仪相比具有电子检测、即时数值显示、测量精度高、测量范围大、使用及携带方便等特点,彻底摆脱了—看水泡移动、估计值‖的传统测量方法,大大提高了工作效率。

开始

系统复位入口

读复位启动标志

故障重新处理

置启动标志为故障 再启动复位标志

上电复位处理

是故障复位?

结束

应用主程序

图3-5 X5045监控程序框图

N

Y

嵌入式应用软件园,版权所有,请勿转载/销售。

- 42 -

2.该装置测量误差小于0.1°,可满足大量工程上的应用。 3.该数字倾角仪具有携带方便、精度高、功能多等特点。它使用方便,应用范围广泛,可广泛用于建筑、机械、道路、桥梁、石油、煤矿和地质勘探等各种需要测量重力参考系下倾角的场合。所以该倾角仪有良好的发展前景和使用价值。 由于该倾角仪输出为数字结果,因此它也可以与其他的数字设备结合起来,组成一个功能更加强大的仪器。所以其应用前景很好。 本设计研究开发工作主要集中于倾角测量仪系统的性能改善、功能增加、智能化程度提高等方面,而对仪器系统的内部结构安排,壳体外形设计及控制面板布局几个方面做得还是很不够。因此,进一步的研究开发工作应该适当的往这三个方面倾斜。此外,进一步的研究开发工作还应该紧跟技术发展潮流,努力将最新的技术引入到倾角测量仪系统的设计中,在提高系统集成度、精度、可靠性等指标的同时满足用户日益增长的功能需求,进一步降低系统的功耗和成本。

嵌入式应用软件园,版权所有,请勿转载/销售。

- 43 -

致 谢

2作者: 200x年xx月xx日

嵌入式应用软件园,版权所有,请勿转载/销售。

- 44 -

参考文献

[1] 张维胜. 倾角传感器原理和发展[J].传感器世界,2002,8 :18-21 [2] 陈永煌.车用倒车镜转角测量仪.安徽工程科技学院学报,2004 [3] 张典荣.DXL05 型加速度计在倾角测量中的应用[J].西安:煤炭科学研究.2006,6(6) [4] 于天池 ,王佳菱. 单轴向列相液晶予倾角的测量[J].哈尔滨:哈尔滨商业大学学报自然科学版)2006,8(4):104-106 [5] 唐原广 赵曙东. 基于单片机的倾角测量系统设计[J]. 微计算机信息 .2007(23) [6] 林宇,朴林华,张福学. 全方位气体摆式倾角传感器的结构原理[J].电子元件与材料.2006,5(5) [7] 吴颖,宋延辉,苏维嘉.液体摆倾角传感器的研究[J].煤矿机械.2004,6(6):31-32 [8] 邱仁峰,胡晓东. 一种高精度数字倾角测量系统的设计[J]. 电子技术应用.2005(6):38-41 [9] 张伟,梁华为,杨新钢,杨先军.基于MSP430单片机的便携式数字倾角仪的研制[J].工业仪表与自动化装置.2006,2 [10] 中国电子学会敏感技术分会,北京电子学会,北京电子商会传感器分会.传感器与执行器大全[M].北京:机械工业出版社.2007,1 [11] 蒋敦斌,李文英.非电量测量与传感器应用[M].北京:国防工业出版社.2005 [12] 李全利,迟荣强.单片机原理与接口技术[M].北京:高等教育出版社.2003 [13] Han Hong,Wu Jiashu.Applicationof the 8051 microcontrollerX5043/X5045 management. Dept of comm and cont, Southern Yangtze University,Wux i 214122, China [14] 孙宝元,杨宝清. 传感器及其应用手册. 北京:机械工业出版社,2004 [15] 于海生等.微型计算机控制技术[M].北京:清华大学出版社.1998,1 [16] 李广弟,朱月秀,王秀山.单片机基础[M].北京:北京航空航天大学出版社.2001 [17] 喻宗泉,喻晗,李建民.单片机原理与应用技术[M].西安:西安电子科技大学出版社.2006 [18] 赵继文. 传感器与应用电路设计[M]. 北京:科学出版社,2002 [19] 广州周立功单片机发展有限公司.ZLG7289A串行接口LED数码管. Http://www.zlgmcu.com [20] Yu Tianchi,Wang Jialing. Measure of tilts for axial mamatic liquid crysta ls. Journal of Harb in Un iversity of Commerce ( Natural Sciences Edition) Aug. 20## [21] Yi Yaxing,LiZhongke,Deng Fanglin. Research on Inclination Measurement. Computer Measurement & Control .2002 . 10 ( 6)

嵌入式应用软件园,版权所有,请勿转载/销售。

- 45 -

附录A 电气原理图

VCC1REF-IN10lsbDB016DB117AN-GND9DB218DB319DB420BPLRof12DB521DB622DB72310Vspn13DB824DB92520Vspn14DB1026msb-1127REFout8STATUS28CE6CS3+Vs7A0/SC4R/C5-Vs1112/82AD574A16M123/RESOSC2OSC1DIG0DIG7DIG6DIG5DIG4DIG3DIG2DIG1RTCCVCCNCNCVSS/CSCLKDATA/KEYSGSFSESDSCSBSADPZLG7289AP3.3COM1COM2COM3COM4DA DBDCDDDEDFDGDDP+5P1.5P1.6P1.7DGDFDEDDDCDBDADDPabcdefgDPCOM4COM3COM2COM1COM4COM3COM2COM1P0.1P0.2P0.3P0.0P0.1p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78RST/VPD9RXD/p3.010TXD/p3.111/INT0/p3.212/INT1/p3.313T0/p3.414T1/p3.515/WR/p3.616/RD/p3.717XTAL218XTAL119Vss20Vcc40p0.039p0.138p0.237p0.336p0.435p0.534p0.633p0.732/EA/Vpp31ALE//PROG30/PSEN29P2.728p2.627P2.526P2.425P2.324P2.223P2.122P2.021AT89S52P0.2P0.3P0.4P0.5P0.6P0.0P0.7270×8D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U?74LS373wr+5-15+10K5OUT4VCC1GND2VSS3CJRS-A1+12-1212345678910111213141516171819202122232425262728R2R1100Ω100Ω/CS1SI6SCK5SO2RESET7Vss4Vcc8/WP3X5045R310K+515P15P12M30P30P10k×4Q2Q1Q0+5P3.2+5

嵌入式应用软件园,版权所有,请勿转载/销售。

- 46 -

附录B 引用的外文文献及其译文 X5045 FEATURES ? Selectable time out watchdog timer ? Low VCC detection and reset assertion —Five standard reset threshold voltages —Re-program low VCC reset threshold voltage using special programming sequence. —Reset signal valid to VCC= 1V ? Long battery life with low power consumption —<50μA max standby current, watchdog on —<10μA max standby current, watchdog off —<2mA max active current during read ? 2.7V to 5.5V and 4.5V to 5.5V power supply versions ? 4Kbits of EEPROM–1M write cycle endurance ? Save critical data with Block Lock? memory —Protect 1/4, 1/2, all or none of EEPROM array ? Built-in inadvertent write protection —Write enable latch —Write protect pin ? 3.3MHz clock rate ? Minimize programming time —16-byte page write mode —Self-timed write cycle —5ms write cycle time (typical) ? SPI modes (0,0 & 1,1) DESCRIPTION These devices combine four popular functions, Poweron Reset Control, Watchdog Timer, Supply Voltage Supervision, and Block Lock Protect Serial EEPROM Memory in one package. This combination lowers system cost, reduces board space requirements, and increases reliability.

The device utilizes Xicor‘s proprietary Direct Write? cell, providing a minimum endurance of 1,000,000 cycles and a minimum data retention of 100 years.

嵌入式应用软件园,版权所有,请勿转载/销售。

- 47 -

PRINCIPLES OF OPERATION Power On Reset Application of power to the X5043/X5045 activates a Power On Reset Circuit. This circuit pulls the RESET/RESET pin active. RESET/RESET prevents the systemmicroprocessor from starting to operate with insuf-ficient voltage or prior to stabilization of the oscillator. When VCCexceeds the device VTRIPvalue for 200ms(nominal) the circuit releasesRESET/RESET, allowingthe processor to begin executing code. Low Voltage Monitoring During operation, the X5043/X5045 monitors the VCC level and asserts RESET/RESET if supply voltage falls below a preset minimum VTRIP The RESET/RESET signal prevents the microprocessor from operating in a power fail or brownout condition. The RESET/RESET signal remains active until the voltage drops below 1V.It also remains active until VCC returns and exceeds VTRIP for 200ms. Watchdog Timer The Watchdog Timer circuit monitors the microprocessor activity by monitoring the WDI input. The microprocessor must toggle the CS/WDI pin periodically toprevent an active RESET/RESET signal. The CS/WDIpin must be toggled from HIGH to LOW prior to the expiration of the watchdog time out period. The state oftwo nonvolatile control bits in the Status Register determines the watchdog timer period. The microprocessor can change these watchdog bits. With no microprocessor action, the watchdog timer control bits remain unchanged, even during total power failure. SPI Serial Memory The device contains an 8-bit instruction register that controls the operation of the device. The instruction code is written to the device via the SI input. There are two write operations that requires only the instruction byte. There are two read operations that use the instruction byte to initiate the output of data. The remainder of the operations require an instruction byte, an 8-bit address, then data bytes. All instruction, address and data bits are clocked by the SCK input. All instructions (Table 1), addresses and data are transferred MSB first. Table 1. Instruction Set

Instruction Name

Instruction Format

Operation

WREN

00000110

Set the Write Enable Latch (Enable Write Operations)

WRDI

00000100

Reset the Write Enable Latch (Disable Write Operations)

RSDR

00000101

Read Status Register

WRSR

00000001

Write Status Register (Watchdog and Block Lock)

READ

0000A8011

Read Data from Memory Array Beginning at Selected Address

WRITE

0000A8011

Write Data to Memory Array Beginning at Selected Address (1 to 16 bytes)

Write Enable Latch

嵌入式应用软件园,版权所有,请勿转载/销售。

- 48 -

The device contains a Write Enable Latch. This latch must be SET before a Write Operation is initiated. The WREN instruction will set the latch and the WRDI instruction will reset the latch. This latch is automatically reset upon a power-up condition and after the completion of a valid byte,page, or status register write cycle. The latch is also reset if WP is brought LOW. When issuing a WREN, WRDI or RDSR commands, it is not necessary to send a byte address or data.

Figure 1. Write Enable/Disable Latch Sequence

X5045 ·特性 可选时间的看门狗定器间降 VCC的降压检测和复位控制 5种标准开始复位电压 使用特定的编程顺序即可对低电压检测和复位开始电压进行编程 复位电压可低至VCC=1V 省电特性 在看门狗打开时电流小于50uA 在看门狗关闭时电流小于10uA 在读操作时电流小于2mA 不同型号的器件,其供电电压可以是1.8-3.6V,2.7V-5.5V,4.5V-5.5V 4K位EEPROM 1000000次的擦写周期 具有数据块的保护功能可以保护1/4 1/2 全部的EEPROM 当然也可以置于不保护状态内建的防误写措施 用指令允许写操作 写保护引脚 时钟可达3.3M 短的编程时间 16字节的页写模式 写时由器件内部自动完成 典型的器件写周期为5mS

嵌入式应用软件园,版权所有,请勿转载/销售。

- 49 -

·功能描述 本器件将四种功能合于一体:上电复位控制、看门狗定时器、降压管理以及具有块保护功能的串行EEPROM,它有助于简化应用系统的设计,减少印制板的占用面积,提高可靠性。 该芯片内的串行EEPROM是具有Xicor公司的块锁保护CMOS串行EEPROM它被组织成8位的结构,它由一个由四线构成的SPI总线方式进行操作,其擦写周期至少有100- 0000次,并且写好的数据能够保存100年。 ·操作方法 上电复位

当器件通电并超过VTRIP时X5045内部的复位电路将会提供一个约为200MS的复位脉冲,让微处理器能够正常复位。

降压检测 工作过程中X5045检测VCC端的电压下降,并且在VCC电压跌落到VTRIP以下时会产生一个复位脉冲,这个复位脉冲一直有效,直到VCC降到1V以下,如果VCC在降落到VTRIP后上升,则在VCC超过VTRIP后延时约200ms,复位信号消失,使得微处理器可以继续工作。 看门够定时器 看门够定时器电路检测WDI的输入来判断微处理器是否工作正常,在设定的定时时间以内,微处理器必须在WDI引脚上产生一个由高到低的电平的变化,否则X5045将产生一个复位信号在X5045内部的一个控制寄存器中有2位可编程位决定了定时周期的长短,微处理器可以通过指令来改变这两个位从而改变看门狗定时时间的长短。 SPI串行编程EEPROM 芯片控制的指令被组织成一个字节8BIT,这些命令中有两条只要直接将指令代码写如芯片即可,有两条读指令用于初始化输出数据,其它的指令,还需要一个8位的地址以及相关的数据。所有指令见下表,它们都是通过SPI串行总线来写入器件的,所有指令地址数据都是MSB先写。

嵌入式应用软件园,版权所有,请勿转载/销售。

- 50 -

表1 指令表

指令名称 指令格式 完成的操作

WREN 00000110 写允许

WRDI 00000100 写禁止

RSDR 00000101 读状态寄存器

WRSR 00000001 写状态寄存器 看门狗和块锁存

READ 0000A8011 从选定的开始地址单元中读数据

WRITE 0000A8011 向选定的开始地址单元写入数据 1-16字节

写允许

在器件进行写操作之前,首先必须设置写操作指令,WREN指令允许进行写操作,

而WRDI将禁止写操作,在器件复位后将自动禁止写操作,而一旦对器件写入一个字节,

一页或写入状态寄存器后也将自动处于写禁止状态,在WP引脚接地后也会使器件处理

写禁止状态。

在写了WREN、WRDI、RSDR和WRSR指令后不需要在后跟上一个地址或一个数据。

嵌入式应用软件园,版权所有,请勿转载/销售。

- 51 -

附录C 主要参考文献及其摘要

[1] 张维胜. 倾角传感器原理和发展[J].传感器世界,2002,8 :18-21 摘要:本文简述了倾角传感器的原理和发展状况。对几种倾角传感器的性能作了比较,并给出了相应产品的性能参数。 关键词:倾角传感器原理;固体摆;气体摆;液体摆 [2] 陈永煌.车用倒车镜转角测量仪.安徽工程科技学院学报,2004 摘要:本文设计的系统是用来测量车用倒车镜的转角。该设计采用AT89C51单片机控制,利用角度传感器MC14433A/D转换器完成对转角信号的采集,经处理后并将其结果用LED数码管显示和微型打印机打印出来。本系统实用性强、精度高。如今单片机应用系统的设计在工业产品开发中的作用变得越来越广泛。该产品将会具有很好的市场竞争力和广阔的应用前景。 关键词:AT89C51微型处理器;角度传感器;LED显示;微型打印机 [3] 张典荣.DXL05 型加速度计在倾角测量中的应用[J].西安:煤炭科学研究.2006,6(6) 摘要: ADXFL 05是美国 ADI 公司生产的单片集成加速度传感器,它外形小巧、精度高、抗震性能强,本文对其原理及倾角测量电路作了详细介绍。 关键词: 加速度传感器;倾角测量 [4] 于天池 ,王佳菱. 单轴向列相液晶予倾角的测量[J].哈尔滨:哈尔滨商业大学学报自然科学版)2006,8(4):104-106 摘要: 针对在实验室中测量单轴向列相液晶予倾角实验装置比较复杂,而且测量精确度较低问题,为实验室中单轴向列相液晶予倾角设计了两种方法,分别解决了实验操作复杂和精确度较低的问题. 关键词: 向列相液晶; 指向矢; 倾角 [5] 唐原广 赵曙东. 基于单片机的倾角测量系统设计[J]. 微计算机信息 .2007(23) 摘要 : 本文详细介绍了一种利用加速度传感器、AD转换器、单片机实现高精度倾角测量的方法。给出了利用加速度传感器测量倾角的原理 , 提出了整体设计方案。实验证明,该系统工作稳定可靠 。 关键词 :SCA100T; 倾角测 ;ADS1211 [6] 林宇,朴林华,张福学. 全方位气体摆式倾角传感器的结构原理[J].电子元件与材料.2006,5(5) 摘要: 介绍了全方位气体摆式倾角传感器的敏感原理,并对几种敏感元件的结构设计方案进行了详细的分析。在影响传感器主要性能的基础上,比较了不同敏感元件的优劣,找出最合适的敏感元件结构设计,最后通过对实际制作的全方位倾角传感器进行测试,表明所介绍的全方位气体摆式倾角传感器的灵敏度达到0.1°,方位角测量范围达到360°,倾斜角度测量范围可达到25°,达到了预期的设计目的。 关键词: 电子技术;全方位气体摆;倾角传感器 [7] 吴颖,宋延辉,苏维嘉.液体摆倾角传感器的研究[J].煤矿机械.2004,6(6):31-32 摘要:详细介绍了一种液体摆倾角传感器的设计方法及原理,并配合一种抗寄生干扰的微小电容测量电路,最终实现对转动角度的精确测量。在-30~30°测量范围内,可实现精度011°,灵敏度为0102VΠ1°,可广泛应用于汽车四轮定位、导弹发射架及井架等许多领域。

嵌入式应用软件园,版权所有,请勿转载/销售。

- 52 -

关键词:传感器; 电容; 倾角; 电介液 [8] 邱仁峰,胡晓东. 一种高精度数字倾角测量系统的设计[J]. 电子技术应用.2005(6):38-41 摘要:详细介绍了利用A/D转换器、温度传感器和单片机实现数字倾角测量系统的硬件和软件设计。该系统具有精度高、运行稳定、性能可靠、带温度补偿等优点,可广泛应用于宽工作温度范围的高精度倾斜角测量中。 关键词:AT89C52单片机;倾角测量;ADS1210 [9] 张伟,梁华为,杨新钢,杨先军.基于MSP430单片机的便携式数字倾角仪的研制[J].工业仪表与自动化装置.2006,2 摘要:介绍了一种基于MSP430系列单片机和ADXL203加速度传感器的数字式倾角仪,它不仅可以实现水平度检测,而且可以测量0°~360°范围内的任意倾角,分辨率可达011°。此外,由于该倾角仪输出为数字结果,因此它也可以与其他的数字设备结合起来,组合成一个功能更加强大的仪器。该数字倾角仪可广泛应用于建筑、机械、道路、桥梁、石油、煤矿和地质勘探等各种需要测量重力参考系下倾角的场合。 关键词: MSP430F133单片机; 力敏传感器; ADXL203加速度计; 角度测量 [10] 中国电子学会敏感技术分会,北京电子学会,北京电子商会传感器分会.传感器与执行器大全[M].北京:机械工业出版社.2007,1 摘要:介绍了CJRS-A系列型气体摆式倾角传感器的工作原理、内部结构、主要技术指标、应用范围等。 关键词:气体摆式倾角传感器;CJRS-A;倾角测量 [11] 蒋敦斌,李文英.非电量测量与传感器应用[M].北京:国防工业出版社.2005 摘要:对单片机测控系统及其一般的结构,构成测控计算机系统的方案选择,选择传感器的基本原则,计算机的前、后向通道等非电量测控系统的全部模块都作了详细的介绍。 关键词:非电量测量;测控系统;传感器选择 [12] 李全利,迟荣强.单片机原理与接口技术[M].北京:高等教育出版社.2003 摘要:对AD574A芯片等A/D转换器的性能、参数以及其对单片机的接口都作了详细的介绍。而且还对89C51单片机作了详尽的介绍。 关键词:AD574A;A/D转换;89C51单片机 [13] Han Hong,Wu Jiashu.Applicationof the 8051 microcontrollerX5043/X5045 management. Dept of comm and cont, Southern Yangtze University,Wux i 214122, China Abstract: X5043/X5045 have a power-on reset and low voltage reset control, programmable watchdog timer, 4-WIRE Kbit3 interface nonvolatile EEPROM, only eight-pin package.

嵌入式应用软件园,版权所有,请勿转载/销售。

- 53 -

附录D 程序清单

如需此论文程序/单片机技术支持,请访问: 嵌入式应用软件园。

更多相关推荐:
电子电路设计实验报告

电专业班级二班学号姓名贺成林11级应用电子技术1103720xx307子线路实验报告日期20xx年11月12日PSpice92电子电路设计与仿真实验报告一实验目的学会用PSpice92设计与仿真一个单级共射放大...

电子设计与实习实验报告

电子实习与设计报告姓名张伟学号20xx0612专业机械工程及自动化一目的与要求电子实习与设计是一门重要的实践课程通过实习加深对课堂知识的理解初步了解和掌握一般电子产品安装焊接工艺的基本知识和操作方法掌握部分专用...

电子设计实验报告

《简易正弦波发生器设计、调试报告》第五组成员:一.设计目标1.频率可调,分辨率为1Hz2.频率由LED数码管显示并可按位置数3.输出幅度:1Vp-p(1kohm)4.提高部分:即可能拓展频率范围(低端和高端),…

电子设计竞赛实验报告

电子设计竞赛报告题目多功能测量仪专业电子信息工程小组飞翔一队姓名学号张勇08021231李翔08021211王赓08021204指导教师王薇完成日期20xx年5月目录一选题与设计要求二电路设计方案论证三程序设计...

电子设计实验报告

成都理工大学电子技术课程设计报告GM计数管读出电路设计20xx06090112左卓核技术工程系二一二年六月成都理工大学20xx级本科课程设计报告GM计数管读出电路设计作者姓名左卓学号20xx06090112摘要...

电子设计实验报告

电子系统设计实验报告姓名李浩然指导老师贾立新班级自动化0903学院信息工程学院提交日期20xx124一设计题目基于SOC单片机的数字化语音存储与回放系统设计要求1前置放大器增益可调功率放大器输出功率05W2带通...

数字时钟设计实验报告

电子课程设计题目数字时钟数字时钟设计实验报告一设计要求设计一个24小时制的数字时钟要求计时显示精度到秒有校时功能采用中小规模集成电路设计发挥增加闹钟功能二设计方案由秒时钟信号发生器计时电路和校时电路构成电路秒时...

模拟电子技术课程设计实验报告

xxxxxxx学院模拟电子课程设计综合实验班级姓名学号指导教师设计时间电子信息工程xxxxxx120xx5022720xx年xxxxxxx学院二一四年一实验目的通过集成直流稳压电源的设计安装和调试要求学会1选择...

电子工程设计实验报告 AD DA 温控

电子工程设计报告题目ADDA单片机显示电路班级电子信息工程小组第六组姓名学号指导教师完成日期20xx422不息为体日新为道第一章本次电子工程设计的背景第一节电子工程设计简介一摘要本实验主要内容是设计用于小型温度...

电子技术基础实验报告 (3)实验报告 (1)

实验二集成运算放大器的测量一实验目的1熟悉和掌握集成运算放大器组成的比例求和双端求和和积分等基本运算电路的功能2了解集成运算放大器的实际应用二实验内容1反相比例运算电路输入端输入正负不同直流电压测量大器的实际放...

电子设计课程实践 实验报告 收音机

实验报告

电子设计自动化实验研究论文实验报告-精品

电子设计自动化实验研究论文摘要AltiumDesigner60它是完全一体化电子产品开发系统的一个新版本也是业界第一款也是唯一一种完整的板级设计解决方案AltiumDesigner是业界首例将设计流程集成化PC...

电子设计实验报告(25篇)