关闭
关闭
首页 > 嵌入式电路图 > 单片机制作

本文分析了基于AT89S51 单片机的角度测量的硬件组成、电路设计原理。给出了主函数的工作流程和源代码。设计样机已通过多种环境实验的测试。

角度测量仪是某控制系统中瞄准装置的关键部件。在以往的控制系统中,多数都是仅凭设备操作人员眼睛瞄准指定目标,然后作出相应的控制,这样就带来一系列问题,如操作人员的经验、瞄准装置转盘的空回都可能会严重会影响瞄准目标的精确程度,从而严重影响控制系统的精度。为了提高控制系统的瞄准精度,在控制系统的瞄准装置中增加了角度测量仪部件,操作人员瞄准目标后的角度值能够精确定量地显示在操作面板上,帮助操作人员更加准确地瞄准目标,因此,极大地提高了控制系统的控制精确度。

角度测量仪利用光电编码器读取角度值,采用AT89S51 单片机实现角度值数码显示、角度值偏差范围的发光二极管指示功能(有三个指示灯,分别指示:偏高、偏低、适中)。不论在操作的复杂程度上还是在测量的精度上,都是传统的眼瞄方法、刻度测量及标识方法无法比拟的。

作为某控制系统的瞄准装置的重要技术改进,此仪器的应用大大提高了控制系统瞄准的精度,增加瞄准偏差范围的可读性,淘汰了传统的用刻度测量和标识角度的方法,使该控制系统的整体性能得到了显着提高。此外,该角度测量仪只要稍作改动即可广泛用于其它工业控制系统中。

1 硬件基本原理

首先,角度测量仪利用单片机读取光电编码器测出的角度值,再将角度值转换成密位值并显示在数码屏上(注意: 密位(mil) 是一种角度单位,密位100 = 角度6°)。单片机判断当前角度值的偏差范围,给出控制信号点亮相应的发光二极管指示灯。此外,角度测量仪还可以通过控制面板上的开关控制实现瞄准镜照明和低温环境下瞄准镜自动除霜功能。单片机的主要功能是实现角度值数码管显示、角度值范围的发光二极管指示。该系统的难点在于确保角度值转换成密位值的转换精度和系统在非常温环境下的工作可靠性。

硬件分为以下几个模块:控制面板、单片机、光电编码器、电源、数码显示器、发光二极管匹配指示装置、周视镜与直瞄镜照明与除霜,如图1所示。

1_副本.jpg

 

1. 1 单片机的选用

首先,根据项目的需求分析可以得知单片机要完成的主要功能是:从光电编码器(数据总线宽度是15 位) 读取角度值后,将该角度值与系统预设的角度值比较,判断瞄准的角度值范围,点亮相应的指示灯。然后将从光电编码器读得的角度值转换成密位值,发送给串行L ED 显示驱动器MAX7219 ,显示在LED 显示器上。

从以上分析可以得知,适合此需求的单片机至少应具备3 个8 位并行I/ O 端口(其中光电编码器占用2 个端口,其它占用1 个端口) ,才能有效工作。众所周知,产品的品质等级通常分为三级:军用级、工业级和商用级,其中,军用级等级最高,商用级等级最低。由于此工业控制设备通常在户外作业,工作环境比较恶劣,故单片机的品质的等级也是需要考虑的一个重要因素。

目前,MCS - 51 系列单片机技术成熟,开发所用的教材和技术资料多,开发工具齐全,市场上产品种类丰富、性价比较高、购买容易,开发语言简单易学(可以用汇编或C51) ,因此,该系列产品应用广泛,经久不衰。

经过综合考虑,单片机采用ATMEL 公司生产的AT89S51 芯片(MCS - 51 系列单片机的工业级产品) , 兼容MCS51 微控制器,4 K 字节FLASH 存贮器支持在系统编程( ISP) 1000 次擦写周期,128 字节片内RAM ,工作电压4. 0 V 到5. 5 V ,全静态时钟0 Hz 到33 MHz ,三级程序加密,4 个8 位的可编程I/ O 端口,2/ 3 个16 位定时/ 计数器,6/ 8 个中断源,全双工UART ,低功耗支持Idle 和Power down 模式,Powerdown 模式支持中断唤醒,双数据指针,上电复位标志。ATMEL 公司生产的89 系列单片机在工业、交通、仪器仪表、自动生产过程、航空、运输、汽车、家电等领域都有着极及其广泛的应用。所选型号为ATMEL 公司的AT89S51 - 24PI ,工业级。能适应- 45 ℃~ + 80 ℃环境工作。

单片机的I/ O 端口资源分配是: P0 和P2口分配给光电编码器,P1 口分配给显示驱动和匹配指示发光二极管控制以及MAX813.

1. 2 单片机主要外围电路的设计

监控电路:为了提高单片机在恶劣环境下的可靠性,必须采用μP 监控电路来增加单片机的稳定性和抗干扰能力。硬件监控电路有以下功能:(1) 上电复位:保障系统加电时能正确地启动。(2) 掉电复位:当电源失效或电压降到某一电压值以下时,产生复位信号对系统进行复位。(3)看门狗定时器:当处理器遇干扰,程序运行混乱产生"死锁"时,对系统复位。此处采用MAXIM公司的军用级芯片MAX813LMJA.

显示驱动电路: 为了节省单片机I/ O 口资源,降低单片机的计算量,选用串行L ED 显示驱动器MAX7219. 它能控制8 位共阴级L ED 数码管,具有16 级亮度控制、译码灵活,上电发光二极管全熄、只占用三根单片机I/ O 口线等优点。

单片机及主要外围电路的原理如图2 所示。

2_副本_副本.jpg

 

1. 3 单片机与外围器件的数据通信

单片机与光电编码器:因为光电编码器获得角度值的速度远大于单片机的工作速度,所以,单片机可以认为光电编码器上的数据总是处于"准备好"状态,单片机随时可以读取有效数据,16 位的角度值分成高8 位和低8 位两次读取,它们之间的数据是并行无条件传送。

单片机与MAX7219 :从单片机和MAX7219的工作速度来看,CPU 两次发送数据给MAX7219 的时间间隔,足以保证单片机访问MAX7219 时,MAX7219 总是处于"准备好"状态。而MAX7219 又是串行L ED 显示驱动器,因此,单片机与MAX7219 的数据传送是串行无条件传送。

单片机与MAX813 :因为单片机向MAX813发送数据时,MAX813 只等待接收单片机的初始化数据而并无其它的工作其工作速度足够快,可以认为MAX813 总是处于"准备好"状态。因此,单片机与MAX813 的数据传送也是串行无条件传送。

2 软件设计原理

角度测量仪启动工作后,单片机的工作过程是:系统启动后,初始化外部看门狗,初始化显示驱动芯片MAX7219 ,给看门狗计数器赋初值,读取光电编码器获取的角度值,当角度偏差值处在某一特定范围时,单片机发出控制信号点亮与该范围相对应的指示灯,将当前的角度值转换成密位值显示在数码屏,又重新给看门狗计数器赋初值,进入下一个工作循环。主函数的工作流程如图3 所示。

3_副本.jpg

 

请注意,流程图中,带双线边的矩形框表示该部分为函数。在本课题的软件设计中,采用了C51 编程语言,因为用C51 编程不仅效率高,而且可读性很强。

下面给出主函数的源代码。

void main (void)

{

WDI = 0 ; / / 初始化看门狗

INItMax7219 () ; / / 初始化MAX7219 的函数

while (1) {

WDI = 1 ; / /"喂狗"

WDI = 0 ; / /"喂狗"

GetAngle () ; / / 读角度值的函数

MachView() ; / / 指示灯匹配显示的函数

GetMil () ; / / 计算密位值的函数

DisplayMil () ; / / 显示密位的函数

}

}

在主函数调用的几个函数中,InitMax7219() 的功能是初始化L ED 显示驱动器MAX7219 ,单片机向MAX7219 发送消影控制、亮度、扫描范围、译码方式信息。

GetAngle () 的功能是从光电编码器读角度值,先读高8 位,再读低8 位,然后将高8 位和低8 位合并,最后舍去最低位(光电编码器的有效数据是15 位) .

MachView() 的功能是角度偏差指示灯匹配显示,将该角度值与系统预设的角度值比较,判断瞄准的角度值是偏高、偏低还是适中。如果角度值偏高,那么单片机就发出控制命令,使偏高指示灯亮,如果偏低,则令偏低指示灯亮,否则令适中指示灯亮。

值得注意的是,计算密位值的函数GetMil() 的代码编写,要考虑角度的转换精度,在本课题中,采用了C51 中的long 型变量来分别存放密位的整数和小数部分,并将角度的小数部分放大十万倍后参加运算,保证转换精度。

DisplayMil( )的功能是驱动MAX7219 显示密位。首先显示密位,判断此角度是否进入预设区,如果是,熄灭符号灯,各位显示"0";如果没有,判断角度值是否为负,如果是,显示负号,如果是正,不显示负号,然后将角度值显示在L ED显示屏上。

3 结束语

 

为了使角度测量仪能在各种可能的恶劣环境下(如高温、低温、振动等环境) 正常工作,在整个设计过程中,要着重考虑的问题是硬件的可靠性和软件的可靠性。设计时的注意事项如下: (1)电源芯片的额定功率选择要留有余量。(2) 元器件选择工业级或军用级产品。(3) 采用硬件看门狗方案,防止单片机程序锁死。本课题设计的样机已处于测试阶段,目前已通过了常温和多种环境试验的测试。

换一批

延伸阅读

[新鲜事] iPhone要用柔性屏?LG在新建OLED厂

iPhone要用柔性屏?LG在新建OLED厂

消息,LG Display周四宣布将投资1.05万亿韩元(约9.08亿美元)建设新的OLED(有机发光二极管)显示屏生产线。而鉴于目前LG Display的苹果屏幕供应商的身份,外界猜测未来的iPhone将会使用这种柔性......

关键字:发光二极管 液晶显示器 对比度 供应商 生产线

[趣科技] 单片机物语

单片机物语

  通用运动控制技术现状、发展及其应用:运动控制技术的发展是制造自动化前进的旋律,是推动新的产业革命的关键技术。运动控制器已经从以单片机或微处理器作为核心的运动控制器和以专用芯片(ASIC)作为核心处理器的......

关键字:单片机 微型处理机

[疯狂史] 英特尔第一款完整的商业处理器已经44岁了

英特尔第一款完整的商业处理器已经44岁了

英特尔于1971年11月15日宣布了4004处理器及其芯片集,它是芯片巨人第一个完整的单片机和第一个商业微处理器。4004处理器有2300个晶体管,手指甲大小,计算性能与第一代电子计算机相当,但第一代计算机需要占据整间房......

关键字:英特尔 处理器 单片机

[行业资讯] MCU市场:中国制胜的方法

MCU市场:中国制胜的方法

MCU作为一个成熟的芯片类型,其市场竞争一直非常激烈,特别是在ARM推出的Cortex M系列内核之后,厂家对于实现产品的差异化以取得竞争优势就更加重视了。然而该如何更好地实现产品的差异化呢?记者采访业界主流企业。 ......

关键字:MCU 中国芯 单片机

[行业资讯] 如何选购单片机成品开发板

如何选购单片机成品开发板

为了尽早熟练掌握单片机程序开发,我们在学习单片机的时候,是比较有必要选择一款适合的成品单片机开发板的,毕竟通过自己搭建所有电路的难度比较大的。下面我们来简单介绍......

关键字:开发板 单片机

[行业资讯] 嵌入式技术不断革新的今天,为何8位MCU市场依然潜力巨大?

嵌入式技术不断革新的今天,为何8位MCU市场依然潜力巨大?

今日话题事实上,在工业控制、安防、物联网、消费类电子等诸多领域,8位MCU的身影依然处处可见,而且不断推陈出新。从市场的占有率和销售额来看,8位 MCU的市场份额甚至还......

关键字:嵌入式 MCU 单片机

[行业资讯] 向51单片机说再见

向51单片机说再见

最近在访问论坛时看到好多人在讨论51单片机,有人说51单片机应该学习,它是基础;也有人说51单片机是过时的产品,现在产品应用已经不再选用了,也就失去了学习的必要性。从最......

关键字:51单片机 再见
条评论

我 要 评 论

网友评论

大家都爱看

  • 华为的优势,就是自家的各种自研芯片

    CPU即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

    2017-08-16
  • 你不知道Ryzen芯片有多火?来看看AMD的股票吧

    据外媒报道,美银美林认为,AMD最新的Ryzen芯片可能会引发一波销售浪潮,进而推动该股继续上涨。它认为AMD股票还有40%以上的上涨空间。

    2017-08-16
  • 国产芯片:厚积薄发,强势崛起

    关于国产芯片,是近几年才有崛起的势头,可是在几年之前,国产芯片还处于“沉睡”的状态,尤其是手机芯片,几乎大部分都依赖进口,而且国外的市场几乎被高通和联发科所垄断,也就展讯还在市场边…

    2017-08-16
  • 为了数据安全 大疆无人机增加隐私飞行功能

    大疆周一表示,在美国陆军因为“网络缺陷”而要求其成员停用大疆无人机后,这家中国无人机制造商将加强无人机的数据安全性。 大疆政策和法务副总裁布伦丹&middot…

    2017-08-15
  • Intel代工 展讯发布14nm SC9853I手机SoC

    SC9853I采用的Intel的14nm FinFET制程,架构为8核64位Airmont架构,主频1.8GHz,GPU为Mali-T820 MP2,号称面向799~1299元档次的手机。…

    2017-08-15