基于一款80C51微控制器实现智能测试系统的设计

发布者:SerendipityJoy最新更新时间:2024-03-14 来源: elecfans关键字:80C51  微控制器  智能测试系统 手机看文章 扫描二维码
随时随地手机看文章

1 引言

随着电子、电器类产品在社会生活中的普及,国内众多中小企业也纷纷开始自行研制,生产此类产品以满足市场的需求,但由于中小企业人力、物力的局限,往往将主要经历放在了产品的生产上,而对于产品的出厂检测却不够完善,造成产品返修率较高的局面,从实际情况来看,造成产生返修的故障中很大一部分是能够在出厂检测时被发现的,但是由于目前国内的中小企业大部分依靠人工借助部分仪器,仪表来检测,使得检测效率低、测试面不广,存在错检,误检等情况。


智能测试系统的引入可以很好地解决此类矛盾,帮助企业提高产品检测的效率,下面将以一款麻将机主机板的智能测试系统为例,全国阐述设计原理。


2 SST89E58RD2特性介绍

SST87E58RD2是一款80C51微控制器,包含32KB+8KB FLASH和256+768B的数据RAM。SST89E58RD2的典型特性是他的×2方式选项,利用该特性,设计者可使应用程序以传统的80C51时钟频率(每个机器周期包含12个时钟)或×2方式(每个机器周期包含6个时钟)的时钟频率运行。

FLASH程序存储器支持传统的并行编程,也支持串行在系统编程(ISP)。ISP允许在软件控制下对成品中的器件进行重复编程,SST89E58RD2也可采用在应用中编程(IAP),允许随时对两片FLASH程序存储器重新配置,即使应用程序正在运行时也不例外。

SST89E58CD2特性如下:

80C51核心处理单元;

5V的工作电压,操作频率为0-40MHz;

64KB的片内FLASH程序存储器,具有ISP(在系统编程)和IAP(在应用中编程)功能;

通过软件或ISP选择支持12时钟(默认)或6时钟模式;

SPI(串行外围接口)和增强型UART;

PCA(可编程计数器阵列),具有PWM和捕获/比较功能;

4个8位I/O口(P0-P3),1个4位I/O口(P4);

3个16位定时器/计数器;

可编程看门狗定时器(WDT);

10个中断源,4个中断优先级;

2个DPTR寄存器

低EMI方式(ALE禁能);

兼容TTL和CMOS逻辑电平;

掉电检测;

低功耗模式(掉电模式,外部中断唤醒,空闲模式)。


3 智能测试系统原理

本智能测试系统以SST89E58RD2为核心,其原理框图如图1所示,包括:

SPI口线 主要用于向被测主板进行程序下载和通讯;

I2C总线 向被测主板中的外部E2PROM读取数据;

RS232电路 用于与上位计算机的通信;

外部FLASH 主要存放被测主板的程序目标代码,选用AT29C010A;

指示灯电路,每个故障点用一个指示灯指示,总数有32个,用4片74HC595做输出驱动电路;

2个步进按钮 用于测试过程中的步进控制,其控制线直接连到SST89E58RD2的P1.1,P1.2口线上;

LED显示 用于测试步进的显示,用1片74HC595控制;

DI输入电路 选用74HC165逻辑芯片,并入串出;

DO输出电路 选用74HC595逻辑芯片,串入并出;

由于单片机外围接口芯片较多,故采用GAL16V8D作为控制译码电路。

基于一款80C51微控制器实现智能测试系统的设计

4 智能测试系统功能

本文中的智能测试系统的测试对象是自动麻将机的主机板,以下对该系统的设计进行阐述。

自动麻将机的主要测试项包括:

主板供电:内部3个分块电源;12个9V交流DO信号,16个DI信号;4个电源信号;1个主电源和3个分支电源,1个蜂鸣器,1个带I2C的E2PROM;1个SPI口用于与智能测试系统通信和程序下载。

麻将机主机板选用AT89S52,该单片机具有通过SPI口系统编程(ISP)功能。

针对麻将机主机板的这些硬件功能,智能测试系统具有以下几个功能接口;

24个DO输出 用于检测被测主板的DI信号;

16个交流/直流DI输入 用于检测被测主板的DO信号;

一个SPI总线接口 用于被测主板的程序下载和通讯;

一个I2C接口 用于读写被测主板的I2C的E2PROM。

;

测试步骤如下:

(1)被测主板的电源测试

该电源的标称值为5V,判定条件为是否在4.75-5.25V之间,可通过由一个N555搭建的SHMILT比较器进行判断,通过指示灯显示结果是否正常。如果电源检测不能通过,后续的检测步骤不再进行,并由蜂鸣器提示。

(2)被测主板的 SPI连接测试和测试程序下载

通过SPI口串行下载命令读取被测主板CPU的特征码,通过识别判断为AT89S52芯片(麻将机主机板选用的单片机型号),即认为被测主板已连接上。因对于SST89E58单片机而言,他的SPI口是一个完全的SPI口,但AT89E52单片机的SPI口是用于FLASH的ISP功能,当特征码读对后,表明SPI口连线正常,此时测试系统将向被测主板下载测试程序,该测试程序的代码放在SST89E58RD2的FLASH地址为0X7000-0X7FF的空间内,下载完成后将使被板测主可以配合智能测试系统进行检测。

(3)被测主板的DI功能测试

将被测主板的16点DI分成两组,8点一组,与测试系统的DO口线相连,通过测试系统输出DO信号经被测主板采样后,再通过SPI口通讯读回采样数据,比较输出信号与采样信号的异同、判断是否有通道异常,若存在异常则通过故障指示灯显示。

(4)被测主板的DO功能测试

将被测主板的12个DO分成2组,8点一组和4点一组,与测试系统的DI口连接,通过SPI口通讯命令,让被测主板进行特定状态输出,测试系统通过DI采样,比较采样数据和输出特征数据的异同、判断是否有通道异常,若存在异常则通过故障指示灯显示。

(5)被测主板的断电数据保存测试

因被测主板另有一个非常重要的断电数据保存功能,该功能可使被测主板内部的电源检测电路一旦检测到失去电源后,CPU会在有限的时间内将一些特征数据存放到外部E2PROM(AT24C64)中。针对此功能,测试系统将通过I2C总线直接读取E2PROM内部的数据判断断电数据保存是否有效,通过指示灯指示。

(6)查看故障指示灯,完成测试

以上5个步骤完成后如果没头有指示灯显示故障,则可按下下载按键,将麻将机主机板的程序下载到AT89S52中,完成整个测试。如果发现还有故障,则按后退键再次进行测试,以便确认故障。

5 智能测试系统关键的程序代码

测试步进处理程序:

6 结 语

本设计实现的智能测试系统已应用于某自动麻将机的生产厂家,并取得了良好的应用效果。以往该厂产品的出厂检测均采用人工检测模式,完成检测需要花费20 min,且检测的范围局限于最主要的几项指标;引入本智能检测系统后,只需2min即可完成对产品的检测,且检测的范围覆盖了绝大部分功能,遇到检测不能通过的产品还可以根据智能检测系统的提示快速、准确地找到故障源,大大提高了生产效率。

该智能测试系统还可以进行更深入的开发:

(1)目前很多电子产品出厂前需要进行带电老化测试,但仅仅是带电空载,如果将智能测试系统引入老化测试,模拟产品的工作负载,使产品在老化测试的过程中满负荷工作,则能通过该老化测试的产品将在实际应用中体现出更稳定、可靠的性能。

(2)电子产品出厂前都需要标注序列号,以及产品的版本号,如何将产品的实体与序列号、版本号有效地控制起来,一直是众多厂家的棘手问题,如果将智能测试系统引入出厂产品的序列号、版本号管理也将是非常有效的,利用智能测试系统的上位机扩展功能,通过RS232与计算机相连,智能测试系统在向测试产品下载程序之前已经获取了该产品的版本号,再根据当天日期和出厂顺序等一系列属性计算出出厂序列号,当该产品检测通过后,智能测试系统将序列号和版本号上送给上位计算机,计算机中的专用软件将序列号和版本号存入数据库,并将序列号标注在产品上。

目前,本设计实现的智能测试系统正在进行二期开发,拟将智能测试系统引入老化测试和出厂序列号管理,开发成功后,将可大大完善系统的性能、提高系统的适用范围。


关键字:80C51  微控制器  智能测试系统 引用地址:基于一款80C51微控制器实现智能测试系统的设计

上一篇:基于DDS器件设计的高精度、高稳定度、高分辨率射频正弦波信号发生器
下一篇:80C51单片机的定时计数器的结构和工作原理

推荐阅读最新更新时间:2024-11-13 10:29

STC单片机timer2捕获模式测频率
在使用STC单片机测频率最常用的方法是在一定时间内计算脉冲个数,这种方式一般需要一个计数器和一个定时器配合,而且对低频信号也不太准确,下面我们可以用到timer2的捕获模式通过测量两个下降沿的时间,来计算频率,这样做仅使用timer2就好了,而且对低频信号测量准确,经实际测试,在100Hz一下时,精度可达0.05Hz。 下面先介绍一下STC51 timer2的捕获模式: 在捕获模式中,通过T2CON中的EXEN2设置两个选项,如果EXEN2=0,定时器作为一个16位的定时器或计数器,溢出时置位TF2。该位可用于产生中断(ET2=1)。如果EXEN2=1,就增加了一个特性,即外部输入T2EX(P11)有下降沿时,将timer2中
[单片机]
MSP430单片机中断函数的编写方法
以USCI0为例,说明该两种不同方法。 1.switch-case方法 #pragmavector=USCI_A0_VECTOR __interruptvoidUSCI_A0_ISR(void) { switch(__even_in_range(UCA0IV,4)) { case0: break; case2://接收中断 //dosomethinghere break; case4://发送中断 //dosomethinghere break; default: break; } } 2.查询标志为方法 #pragmavector=USCI_A0_VECTOR __interruptvoidUSCI_A0_ISR(vo
[单片机]
MSP430<font color='red'>单片机</font>中断函数的编写方法
51单片机中断、串口通信综合程序
正在初学51的中断,定时器,串口等等,遇到很多瓶颈比如串口怎么发送变量的数值啦(加一个0x30就好),分享这个程序给初学者们啦 功能: 1. 开机以后,LED0和LED1实现0.5秒间隔闪烁2次,蜂鸣器同时鸣叫2次。 2. 之后,串口等待接收到一个字符'R',开始进入主循环体。 3. 主循环体中,LED0和LED1实现1秒间隔闪烁。 4. 串口接收到字符'D',回复LED当前状态和系统当前处于运行还是暂停状态,如果运行状态,收到字符'R',如果暂停状态,收到字符'P'。 5. 串口接收到字符'T',回复主循环体开始运行的时间和系统当前处于运行还是暂
[单片机]
什么是PIC单片机又有何应用
PIC单片机(Peripheral Interface Controller)是一种用来开发的去控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。与人类相比,大脑就是CPU,PIC 共享的部分相当于人的神经系统。 PIC 单片机是一个小的计算机 PIC单片机有计算功能和记忆内存像CPU并由软件控制允行。然而,处理能力—存储器容量却很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K—4K字节。 时钟频率与扫描程序的时间和执行程序指令的时间有关系。但不能仅以时钟频率来判断程序处理能力,它还随处理装置的体系结构改变(1*)。如果是同样的体系结构,
[单片机]
什么是PIC<font color='red'>单片机</font>又有何应用
基于51单片机之16键电子琴实验例程
************************** Copyright(C) CaKe **************************************** ============================================= ==============**版权信息 : CaKen工作室 ============== ==============**文件名 : main.c ============== ==============**作者 : CaKen ============== ==============**版本号
[单片机]
51单片机外部中断示例
void Usart_INT0_init() { TMOD = 0X21; TH1 = 0XFD; TL1 = 0XFD; SM0 = 0; SM1 = 1; REN = 1; TR1 = 1; //ES = 1;//串口中断影响外部中断0 这句话会让程序无法进入外部中断服务 TH0 = 0; TL0 = 0; ET0 = 0;//关闭定时器0 IT0 = 1;//外部中断下降沿触发*/ EX0 = 1;//打开外部中断 EA = 1; //ES = 1; } void Send_data(unsigned char dat) { SBUF = dat; while(!TI); TI =
[单片机]
基于51单片机的点阵贪吃蛇
这是基于51单片机的贪吃蛇小游戏,用四个独立按键控制上下左右,用8*8点阵作为显示 程序如下: #include reg52.h #include intrins.h #include stdlib.h #define SNAKE 20 unsigned char x ; //存放蛇的X轴坐标 unsigned char y ; //存放蛇的Y轴坐标 unsigned char point_x; //存放果实的X轴坐标 unsigned char point_y; //存放果实的Y轴坐标 /* //点阵模块接口定义 sbit LEDARRAY_LAT = P3^6;//储存寄存器
[单片机]
单片机红外接受解码程序成功版
1、效果图 2、发射码格式 3、38KH载波发射(完整的发射图) 4、 0 与 1的区别 5、 载 波 6、小结 7、代码 发射码格式 38KH载波发射(完整的发射) 0与1的区别 载 波 小 结 1、发射端发射出来的是高电平。但是接收到的是低电平。(接收到的数据与发射的相反) 2、我这里用的外部下降沿触发的中断 3、使用12M的晶振完
[单片机]
<font color='red'>单片机</font>红外接受解码程序成功版
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved