微电脑吸尘器控制板量产测试系统的设计和实现

上传人:无*** 文档编号:74097825 上传时间:2022-04-12 格式:DOC 页数:41 大小:1.96MB
收藏 版权申诉 举报 下载
微电脑吸尘器控制板量产测试系统的设计和实现_第1页
第1页 / 共41页
微电脑吸尘器控制板量产测试系统的设计和实现_第2页
第2页 / 共41页
微电脑吸尘器控制板量产测试系统的设计和实现_第3页
第3页 / 共41页
资源描述:

《微电脑吸尘器控制板量产测试系统的设计和实现》由会员分享,可在线阅读,更多相关《微电脑吸尘器控制板量产测试系统的设计和实现(41页珍藏版)》请在装配图网上搜索。

1、 微电脑吸尘器控制板量产测试系统的设计和实现The Design and implementation for Production test system of Micro-computer vacuum cleaner control panel院 系:教育科学学院教育信息技术学系专 业: 教育技术学 姓 名: 胡祝青 学 号: 10050340132 指导 教师: 毛敏 副教授 2009年 5月完成目 录摘要1英文摘要1一、引言3(一)问题的提出3(二)需求分析31. 为测试提供的接口32. 需要测试的参数4二、系统的总体设计7(一)功能要求7(二)基于单片机的测控系统81系统构成82基

2、本原理9(三)TC-161测试系统的组成101ATmaga16单片机112交流信号频率采集113基准时钟频率采集124电压量采集135交流电流量采集136测试结果的呈现147模拟手柄14三、硬件电路的实现15(一)单片机系统151复位电路的设计152时钟电路的设计15(二)数据采集电路151频率测量152电压测量163电流测量17(三)液晶显示电路17(四)模拟手柄电路18四、软件的设计20(一)主程序设计201简单嵌入式操作系统sEOS202主程序设计22(二)数据采集程序设计231频率采集程序232电压与电流采集程序设计25(三)LCD液晶显示器程序设计261HF12864B2的相关原理介

3、绍262LCD液晶显示器程序设计29五、调试及性能分析34六、结论和展望35参考文献36附录37致谢3837正文: 微电脑吸尘器控制板量产测试系统的设计与实现微电脑吸尘器控制板量产测试系统的设计和实现【摘要】:TC-161为华师大与某日本公司合作开发的一款微电脑吸尘器内部的控制板。本毕业设计开发了一个用以量产测试此类控制板性能好坏的单片机测试系统。本文首先详细介绍了本次测试系统开发的需求以及所需测试的11个接口和15个参数。其次,总结了测试系统所需实现的功能要求,接着从典型的单片机测控系统的原理及框图入手,介绍了本次测试系统设计的组成框图以及测量原理。再次,分块介绍了测试系统的单片机系统电路,

4、频率、电流、电压采集电路,液晶显示电路,以及模拟手柄电路。最后,设计并实现了系统软件。系统软件的设计包括主程序的设计、数据采集程序的设计和LCD液晶显示器程序的设计。本文还详细介绍了主程序设计所需用到的简单嵌入式操作系统sEOS 以及LCD液晶显示器的显示原理。【关键词】:AVR单片机 单片机测试系统 数据采集 LCD液晶显示器The Design and implementation for Production test system of Micro-computer vacuum cleaner control panel【Abstract】:TC-161, which is deve

5、loped by East China Normal University and a Japanese company, is a micro-computer control panel inside the vacuum cleaner. This thesis has developed a single-chip test system for the mass production of such panels to test the performance of good and bad.Firstly, the paper elaborates on the developme

6、nt requirement of this test system and the 11 interfaces and 15 parameters which are necessary.Secondly, it summarizes the requirement of function in this test system, and also introduces the test system design block diagram as well as the measuring principle, according to the principle and block di

7、agram of typical single-chip test system.Thirdly, it introduces the blocks of test system, such as single-chip microcomputer circuit, frequency, current, voltage acquisition circuit, liquid crystal display circuit, and circuit simulation of the handle.Finally, system software has been successfully d

8、esigned. The software involves the design of main program, data collection program and liquid crystal display (LCD) program. This article also introduces the simple embedded operating system (SEOS) as well as the display principle of liquid crystal display (LCD) in detail.【Keywords】:AVR Single-Chip

9、Single-chip test system Data collection Liquid crystal display (LCD) Monitor一、引言(一)问题的提出日前,由华东师大与日本某公司合作开发出一系列新式智能吸尘器。该系列吸尘器内部有一块用以控制吸尘器的工作模式以及确保吸尘器工作安全性的微处理器控制板(以下简称“控制板”),故又称“微电脑吸尘器”。该系列控制板有如下作用:1、 控制吸尘器的工作模式该吸尘器具有五种工作模式,分别为空闲模式、模拟键盘关闭模式、模拟键盘低档模式、模拟键盘高档模式、异常模式。后面将会详细介绍。2、 实现吸尘器的慢启动在控制板的控制之下,吸尘器的电动

10、机是慢慢地启动。3、 确保吸尘器的工作安全性(1)温度保护:控制板能够实时监测吸尘器工作时的内部温度,当温度超过某一范围时,则自动关闭电动机。(2)过压保护:控制板能监测电动机的工作电压,当电压超过某一范围时,则自动关闭电动机。TC-161为该系列控制板中功能最全面的一个。为方便检测TC-161的好坏,并满足其工业批量生产的需求,本毕业设计开发了这个微电脑吸尘器控制板量产测试系统(以下简称“测试系统”)。(二)需求分析在测试系统的需求分析中,用户1 这里指TC-161的生产厂家1只提供测试需要的相关接口以及必要的协议,而TC-161的各项功能的实现原理以及设计图,对此次测试系统的设计来说可有可

11、无。1. 为测试提供的接口用户最终提供的接口有11个,分别以TP1、TP2、TP11计。详细接口如下图1-1:图 1-1 T-161测试治具接口Figure 1-1 Fixture interface各接口说明如下:TP1:接工作电源正极,用于检查测试系统是否工作在正常电压下TP2:接地TP3:接NTC热敏电阻,用于测试温度保护电路是否正常TP4:接某交流信号,用于测试50赫兹的同步信号是否输入到TC-161TP5:接某电阻,用于测试过压保护电路是否正常TP6:该接口用于测手元电压TP7:该接口用于测基准时钟TP8:手柄插头之一,通过此接口与手柄连接TP9:手柄插头之一,通过此接口与手柄连接T

12、P10:用于测量通过负载(电动机)的电流TP11:用于测量通过负载(电动机)的电流2. 需要测试的参数(1)必要的说明由于即将介绍的许多参数跟如图1-2所示的手柄有关,所以下面就该手柄做些必要的说明。图 1-2 手柄与吸尘器的拓扑关系图Figure 1-2 Topotaxy chart between handle and vacuum该手柄的作用是控制TC-161的工作模式。TC-161一共分5种工作模式:空闲模式(开关S1、S2、S3全部断开)、模拟键盘关闭模式(仅开关S1合上)、模拟键盘低档模式(仅开关S2合上)、模拟键盘高档模式(仅开关S3合上)、异常模式(专指手柄突然掉落或者被拔下)

13、。每种工作模式分别对应关于电流和关于电压的两个参数。 不难发现,以上所说的工作模式中有三个模式都带有“模拟键盘”这个四个字。为什么有这么一说呢?原来通过该手柄控制微电脑的工作模式的方法与传统的键盘直接控制电动机的方式不同,当按下手柄中的某一个按钮时,实际上是在给控制板发一个信号,而控制板在查询到此信号的变化时,决定对电动机发出停止、小功率或大功率的信号。因而,该手柄实际上是起到一个模拟键盘的作用。(2)需要测试的参数1) 工作电压此参数检测TC-161是否工作在正常电压范围内,由TP1接入。2)NTC热敏电阻电压此参数检测TC-161内部温度保护电路是否正常,NTC热敏电阻两端的电压与温度成负

14、相关,由TP3接入。3)交流信号频率此参数测试TC-161内的信号是否同步(频率为50Hz),由TP4接入。4)过压此参数测试TC-161的电压保护电路是否正常,由TP5接入。5)基准时钟频率此参数测基准时钟的频率,一般为16K赫兹左右,由TP7接入。6)手元基准电压“手元”是继承日本公司的叫法,即手柄的意思。此参数为空闲模式下TP6点的电压。7)空载电流此参数为空闲模式下通过TC-161电动机的电流,理论情况下应该为0。8)低档电压此参数为模拟键盘低档模式下TP6点的电压。9)低档电流此参数为模拟键盘低档模式下通过TC-161电动机的电流。10)高档电压此参数为模拟键盘高档模式下TP6的电压

15、。11)高档电流此参数为模拟键盘高档模式下通过TC-161电动机的电流。12)停止电压此参数为模拟键盘停止模式下TP6的电压。13)停止电流此参数为模拟键盘停止模式下通过TC-161电动机的电流。14)手元拔出电压此参数为异常模式下TP6的电压。15)手元拔出电流此参数为异常模式下通过TC-161电动机的电流二、系统的总体设计根据上一章的需求分析,作者设计出了控制板TC-161的测试系统,测试仪器如图2-1。图 2-1 测试系统实物图片Figure 2-1 Actual pic of test system下面两节将详细介绍该系统的主要功能要求及其测试原理。(一)功能要求毋庸讳言,该测试系统最

16、主要的功能应该是准确地测试出需求分析中的各个参数大小并及时通过显示模块显示出来。具体地讲,应该实现以下几个功能:(1)频率的测量可以测量出交流信号频率和基准时钟频率这两个参数。应该注意这两个频率一个是低频一个是高频,因此运用到的测量方法会有所不同。(2)电压的测量可以测量以下8个参数的电压:工作电压、NTC热敏电阻电压、过压、手元基准电压、低档电压、高档电压、停止电压和手元拔出电压。其中最后五个参数测量点为都为TP6这个接口。(3)电流的测量可以测量以下5个参数的电流:空载电流、低档电流、高档电流、停止电流以及手元拔出电流。注意这五个电流的侧两点都为TP10和TP11接口。(4)测试结果的呈现

17、能将每一步测量的结果都实时地显示出来;需要有一个指示灯说明测量正在进行、一个指示灯说明此控制板为坏板、一个指示灯说明此控制板为好板;当测量出现异常,即测试的某个参数不在其指定范围之内时,有相关设备发出报警的声音。显示面板如图2-2。好板指示灯运行指示灯坏板指示灯液晶显示屏图 2-2 测试系统显示面板Figure 2-2 Display mainboard of test system(二)基于单片机的测控系统由于单片机体积小、重量轻、成本低,且具有较强的控制功能和多种计算能力,因此单片机自问世以来便大量应用于工业测控系统当中。在基于单片机的测控系统中,经常需要对一些现场物理量进行采样,最后将采

18、样结果或进一步处理的结果显示出来,同时输出需要的物理量反过来控制被测对象以及相关设备。1系统构成下面给出一个典型的,比较全面的单片机测控系统。如图2-3,图中间是单片机的主机板。图的左边为计算机的外部设备,包括键盘显示器等。图的右边为被测控对象,总称为用户。键盘单片机显示器打印机接口接口接口模拟量传感器数字量传感器开关量传感器模拟量输出模拟量输出开关量输出接口接口接口接口接口接口A/D调节放大调节放大调节放大电压放大D/A放大电路电压转换图 2-3 典型单片机测控系统框图Figure 2-3 Black diagram of test and control system based on s

19、ingle-chip由于本次设计的单片机系统主要任务是测试,而工业控制部分涉及得比较少,因而下面一小节作者将详细介绍基于单片机的测试系统的原理。2基本原理基于单片机的测试系统的基本原理是,通过单片机I/O接口传输控制命令和测试信息,通过单片机串行接口组织测试网络,运行模块化的测试程序自动完成对不同被测对象的测试任务及测试数据的管理2 陈步月.基于单片机的测试技术原理与应用M.北京:机械工业出版社,2007.2,229.。(1)测试方式在测试应用中,测试往往包括了一定的数据处理要求,因此基于单片机的测控系统执行多任务的实时性会大大降低。然而通过分解被测对象的工作状态,以分步骤的形式分时安排测试任

20、务,基于单片机的测控系统在处理和执行相关测试任务中就显得游刃有余了。测试步骤是根据被测对象的工作原理人为制定的。有了测试步骤之后,测试软件的设计才能按模块化的方法编写,使测试程序流程更加有序和科学。一般测试方式有两种,即步进方式和连续方式。步进方式是指在人为的控制之下,按步骤地执行测试任务的过程。这种方式使程序执行完一个步骤之后,进入等待的状态。连续方式是指单片机不按测试步骤停顿,连续执行测试任务的过程。这种方式特别适合产品的合格检验和流水作业的场合3 陈步月.基于单片机的测试技术原理与应用M.北京:机械工业出版社,2007.2,79230.。(2)测试信息显示测试信息有三种显示方式,即单片机

21、控制LED数码管显示、单片机控制LCD液晶屏显示、通过串行接口发送数据到PC显示。一般显示的测试信息类型包括:连续、步进方式选择提示、测试步骤提示、参考数据和测试数据显示、测试步骤结果显示、最终测试结果显示等4 陈步月.基于单片机的测试技术原理与应用M.北京:机械工业出版社,2007.2,7984、230231.。(3)测试软件设计基于单片机的测试软件比一般的控制软件要大很多,而且相对较复杂,因而使用模块化的设计方法更加适合不同的被测对象和不同内容的测试步骤。(三)TC-161测试系统的组成按照TC-161测试系统的功能要求,决定采用如图2-4所示的模块组成系统,主要包括单片机控制器、交流信号

22、频率检测电路、基准时钟频率检测电路、电压采样电路、电流采样电路、LED指示灯电路、液晶显示电路、报警电路和模拟手柄电路。图 2-4 微电脑吸尘器控制板量产测试系统的组成框图Figure 2-4 Composition block diagram of Production test system of Micro-computer vacuum cleaner control panel该测试系统的基本原理是:利用AVR单片机(ATmega16L)自带的模数转换器对被测对象(频率、电压、电流等)进行采样,然后对采样数据进行处理 ,并最终将处理结果通过液晶显示屏、蜂鸣器、LED指示灯等设备呈现出

23、来。在测试期间, AVR单片机会做出相应的控制以方便测量的进行,比如控制模拟手柄电路,模拟手柄的工作方式,从而逐步测试TC-161在不同工作模式下的电压和电流。由于测试只需检验被测板是否合格,因而测试系统采取的是连续测试方式,这大大降低了测试的周期,满足了流水作业的需要。下面简述框图中的几个主要模块:1ATmaga16单片机ATMEL公司的magaAVR单片机不但性能优越,同时也有非常好的性能价格比。ATmega16是中档型的AVR芯片,它的引脚数为40,在片内集成了1K字节的SRAM,16K字节的Flash,512字节的PROM,两个8位和1个16位共3个超强功能的定时/计算器,以及USAR

24、T、SPI、多路10位ADC、WDT、RTC、ISP、IAP、TWI、片内高精度RC振荡器等多种功能的接口和特性,较全面的体现了AVR的特点,不仅适合对AVR了解和使用的入门起步学习,同时也满足一般的普通应用,在实际中得到了大量的使用5 ATmega16的数据手册。考虑到测试时需要用到定时器、外部中断口以及众多的ADC口,因此作者最终选择了ATmega16作为主控芯片。2交流信号频率采集考虑到mega16的3个定时计数器引脚可能会全部都被占用,因而在被测信号频率(50Hz)不是很高不至于引起CPU繁忙的前提下,可以考虑使用外部中断口(INT0)来测量交流信号的频率。若用T表示一定的时间间隔,用

25、N表示在该时间间隔内的周期信号重复出现的次数,则周期信号的频率表达式为 (2-1)单片机外部中断口测频方法可以严格按照式(2-1)进行,测量原理如图2-5所示。被测周期信号外中断0触发计数所得频率定时器/计数器1定时单片机周期信号图 2-5 单片机外部中断测频原理图Figure 2-5 Schematic diagram of frequency measurement by means of external interrupt单片机的定时器/计数器1设置成定时器方式,由它对单片机周期信号计数定时,形成时间间隔T,去控制单片机外部中断的打开和关闭,显然单片机的机器周期信号在这里用作时基。将外

26、部中断设置成上跳沿触发或者下跳沿触发方式,当每接收到一个被测周期信号,外部中断便被触发一次,而在时间间隔T内被触发的次数就是式(2-1)中的N。再经过单片机的计算,即可得到被测周期信号的频率。3基准时钟频率采集基准时钟频率的大小大概为16KHz,若仍然采用外部中断测频法进行测量,那么测试过程中频繁的中断会占用大量系统资源,所以本毕业设计采用ATmaga16定时器/计数器0进行测量。定时器/计数器的测频原理跟外部中断测频原理基本相同(见图 2-6),只不过在这里扮演计数角色的不是外部中断而是定时器/计数器。将定时器/计数器1设置成计数器方式,由它对被测周期进行计数,技数的结果就是式(2-1)中的

27、N。被测周期信号定时器/计数器0计数所得频率定时器/计数器1定时单片机周期信号图 2-6 单片机定时器/计数器测频原理图Figure 2-6 Schematic diagram of frequency measurement by means of Timer/Counter4电压量采集ATmega16有一个10位的逐次逼近型ADC(模数转换器)。ADC与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。单端电压输入以0V(GND)为基准6 ATmega16数据手册。ADC通过逐次逼近的方法将输入的模拟电压转换成一个10位的数字量。转换的结果被存入ADC结果寄存器(A

28、DCL,ADCH)。单次转换的结果如下:式中,为被选中引脚的输入电压,为参考电压。则所测的电压值为:测试系统需要测量的电压的地方有4处,因而可分别用ADC0、ADC1、ADC2、ADC3连接被测电压量,再分时采集每一路的ADC值,进行计算后即可得到所测电压值。5交流电流量采集对于交流电流的检测决定采用电流互感器的方法。电流互感器是利用变压器原、副边电流成比例的特点制成。其工作原理、等值电路也与一般变压器相同,只是其原边绕组(初级绕组)串联在被测电路中,且匝数很少;副边绕组(次级绕组)接电流表、继电器电流线圈等低阻抗负载,近似短路。原边电流(即被测电流)和副边电流取决于被测线路的负载,而与电流互

29、感器的副边负载无关。由于副边接近于短路,所以原边电压、副边电压都很小,励磁电流也很小。将电流互感器的原边绕组串联在被测控制板电路中,即两端分别接TP10 和TP11,副边绕组串联一个电阻,然后将电阻两端的电压输入单片机的AD口(ADC4)进行采样即可得到副边电流的相关量。根据当原边与副边绕组的匝数比一定时,原边电流与副边电流成正比的特点,即可检测出交流电流的大小。6测试结果的呈现测试结果的呈现分三个方面:(1)通过LCD将测试步骤提示、测试数据、测试结果等信息显示出来。上海恒芳电子的HF12864B2是一块128*64的汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16*

30、16点阵)、128个字符(8*16点阵)及64*256点阵显示RAM(GDRAM)7 恒芳HF12864B2型LCD数据手册。(2)通过I/O口控制相关的LED指示灯的量灭来进一步说明测试的状态。(3)通过I/O控制蜂鸣器,从而当测试步骤的结果出现异常时,系统会自动报警。7模拟手柄图2-7 单刀双掷开关继电器Figure 2-7 Relay-spdt在测试15个参数当中的最后10个参数时,因为它们都跟手柄有关,所以我们在测试系统中必须要电路模拟这个手柄的存在。模拟手柄电路的关键是控制开关的开与合,这用单刀双掷开关继电器(如图2-7)代替开关即可以解决。用单片机的I/O口给4、5两端通电,开关被

31、掷向3,断电,则开关重新回到2。三、硬件电路的实现(一)单片机系统下面给出单片机系统的基本组成部分,复位电路与时钟电路。见图 3-1。图 3-1 复位电路与时钟电路图Fiture 3-1 Diagram of Reset circuit and clock circuit1复位电路的设计外部复位电路采用上电复位和按键复位。即当给系统上电时,VCC与地通过R1和电容E3导通,RST相当于低电平,此时系统复位;当按下开关sw1时,电容E3被短路,则RST低电平复位。详见图3-1复位电路。2时钟电路的设计采用外部晶振,主机时钟频率为6MHz。详见图3-1时钟电路。(二)数据采集电路1频率测量如图 3

32、-2,频率的测量电路实现很简单,只要将测频率的接口(TP4、TP7)串上一个电阻再接入单片机的外部中断口和计数器口即可。图3-2 频率测量电路Figure 3-2 Circuit of frequency measurement2电压测量如前所述,ATmega16片内自带了一个8通道的10位模数转换器,其接口为PA口。因而只需将采样的信号串联一个10K的电阻接入ADC口即可。所有信号在接入ADC口之前最好都串上一个接地电容滤波。具体电路图如图3-3。图 3-3 电压测量电路Figure 3-3 Circuit of voltage measurement需要说明的两点是:(1)TP2连接的是控

33、制板的地线,必须与测试系统的地线相连,所以在图3-3中,TP2串联了一个0的电阻之后再与地相连。(2)工作电源(TP1)的测量实际上是分压之后再接至ADC0的,这是出于防止因电压过大而烧坏单片机的考虑。3电流测量电流的测量采取电流互感器的方法,如图 3-4所示。T2为电流互感器,流经TP10、TP11的为交流电流,经过电流互感器之后,电流量按一定比例缩小,通过二级管和电容的作用之后,变为直流电流量,再通过弹片机的ADC4口采样,即可测出电流的大小。图 3-4 电流测量电路Figure 3-4 Circuit of current measurement (三)液晶显示电路图 3-5 液晶显示器

34、HF12864B2引脚功能图Figure 3-5 The Pins of HF12864B2 LCD液晶显示器HF12864B2的引脚功能8 恒芳HF12864B2型LCD数据手册如图3-5所示,具体介绍如下。引脚1:液晶电源地引脚2:液晶电源正端引脚3:LCD驱动电压输入端,调节对比度引脚4:并行的指令/数据选择信号;串行的片选信号引脚5:并行的读写选择信号;串行的数据口引脚6:并行的使能信号;串行的同步时钟引脚714:液晶的并行数据引脚15:并串行接口选择:H-并行,L-串行引脚16:空脚引脚17:复位 低电平有效引脚18:空脚引脚19:背光LED阴极引脚20:背光LED阳极单片机与液晶显

35、示器接口电路图如图 3-6 所示。说明以下几点:(1)引脚V0的电压是通过可调电阻在VCC和GND之间分压得到,实践证明当V0的电压在4.5V左右的时候,液晶的显示效果最好。(2)背光的阳极LED_A是通过串上一个电阻接到VCC上的,实际上也可以串上可调电阻,调节背光的亮度。(3)由于测试系统中,单片机与LCD的接口采取串行接口方式,因而应将引脚PSB接低电平GND。图 3-6 单片机与液晶显示器接口电路图Figure 3-6 Circuit of interface between single-chip and liquid crystal display(四)模拟手柄电路模拟手柄电路如图

36、3-7所示,可以发现,该图的作用原理跟前面提到的手柄(图1-2)是完全一样的。只不过该图是使用开关继电器代替图1-2所示手柄的开关。此处继电器的工作原理为:当单片机的PC45口输出高电平的时候,继电器内的线圈通电,开关P14被吸合;否则,继电器内的线圈电流为0,开关P14被断开。说明以下几点:(1)图中三极管起到放大器的作用,从而以大电压驱动继电器。(2)稳压管的作用是在单片机口猛然由高电平到低电平时产生强大的回流烧坏继电器线圈。图 3-7 模拟手柄电路Figure 3-7 Analog circuit of handle四、软件的设计测试系统的软件采用CodeVisionAVR编写并编译。下

37、面重点介绍下主程序设计、数据采集程序设计和液晶显示程序设计。(一)主程序设计1简单嵌入式操作系统sEOS简单嵌入式操作系统(simple Embedded Operating System,简称sEOS8 Michael J.Pont. Embedded CM. London:Pearson Education Limited 2002,143203.)是一种开发中小型嵌入式项目比较合适的简单操作系统。sEOS像许多其它的嵌入式操作系统一样,可以有效地提供周期性执行单任务的功能,亦可建立多任务状态系统。在具体的控制系统任务中, 可根据使用要求,通过增减相应的任务函数,增加和删除任务,使用非常方

38、便。sEOS的基础是由片上的定时器在规律且精准的时间间隔产生中断(一个“tick9 (美)庞特著;继辉等译.C语言嵌入式系统开发M京:中国电力出版社,2003,147.”),每到中断来临的时候周期性地调用合适的函数,进行任务的调度,这是sEOS执行多任务的基本原理。sEOS实时操作系统应用任务管理函数原型10 Michael J.Pont. Embedded CM. London:Pearson Education Limited 2002,143203.如下:void main(void)X_Init();/初始化任务X()sEOS_Init_Timer(n);/设定时间间隔,每隔nms调用

39、中断刷新函数(ISR)while(1)/任务X()在超级循环中有中断ISR调用sEOS_Go_To_Sleep();/系统运行在节电模式,提高CPU工作效率该系统实现任务管理的原理,是采用定时器的溢出所产生的中断调用中断服务例程 (ISR),这里设为X()。在中断服务例程(ISR)中,实现所需的任务调度及任务间的转移(或多状态间的转移)。因而,在sEOS中,任务都是从ISR中被调度。中断服务例程(ISR)函数X()原型:void X(void) interrupt n /n由具体的定时器决定X_Update(); /任务调度函数,以执行具体的任务,是系统软件设计的重点根据系统的具体任务的分配要

40、求任务调度函数X_Update()原型设计如下:void X_Update(void)/每隔nms刷新调用switch(state)case 1:Task_1();state = x1; /x1的值决定了下一个tick会执行的任务break;case 2:Task_2();state = x2; /x2的值决定了下一个tick会执行的任务break;.case n: Task_n();/xn的值决定了下一个tick会执行的任务state = xn;break;在调度函数的X_Update()里,switch-case语句中每一个case语句对应一个任务,当需要跳转到某一任务Task_n()时,

41、只要在当前任务的case语句里将state设置成n,那么在下一个tick来临时,Task_n()便会被执行。不难发现,使用sEOS,使多任务状态系统中的任务调度变得简单,因为系统中状态的转换只需要改变state的值;使实时应用程序的设计具有很大的灵活性,因为它不需要大的改动,就可以增加新的功能。可以说,sEOS已经被广泛应用于单片机的工业控制与测试系统中。然而在实际应用中,设计者通常不会完全照搬sEOS较为繁琐的形式,而只是应用它利用定时器中断进行任务调度的思想。微电脑吸尘器控制板量产测试系统的程序,正是基于sEOS的思想设计而成。2主程序设计根据测试系统的功能要求以及终合各被测参数的相关性,

42、决定将整个测试任务分为15个步骤,分别为:步骤1:空载测试(测空载电流);步骤2:工作电源测试(测工作电压);步骤3: NTC测试(测NTC热敏电阻电压);步骤4:交流电源测试(测交流信号频率);步骤5:过压保护(测过压);步骤6:手元基准测试(测手元基准电压);步骤7:基准时钟测试(测基准时钟频率);步骤8:低档电压测试;步骤9:低档电流测试;步骤10:高档电压测试;步骤11:高档电流测试;步骤12:停止电压测试;步骤13:停止电流测试;步骤14::手元拔出测试(测手元拔出电压);步骤15:2秒自停测试(测手元拔出电流)。根据步骤,画出主程序的框图如图 4-1所示。图中定时中断由maga16

43、的定时器/计数器1产生。采用T/C1的比较匹配中断模式,可以非常精准地产生中断(一个tick),每个tick的时间为25ms,即每25ms调用一次任务调度函数。图4-1 主程序流程图Figure 4-1 Flow chart of main program(二)数据采集程序设计1频率采集程序如前所述,交流信号频率与基准时钟频率的测试原理基本相同,仅仅是二者在计算N(计数值)时所用的方式有所不同。下面分别简述二者的计数方式。外部中断测频法计数方式:(1)在某一个tick到来时,开始对INT0进行初始化,这包括在中断控制寄存器(GICR)中关闭中断INT0、在通用中断标志寄存器(GIFR)中将中断

44、INT0的标志位清0、将进入外中断的次数(记为INT0_times)置0等。(2)在初始化工作完毕过后的第一个tick到来时,使能(打开)外中断0。此后,每当外中断0被触发一次,其中断服务子程序中的INT0_times都会自动加1。(3)在采样时间为第n个tick到来时(假设n=40),关闭外中断0,读取此时的计数值N=INT0_times,则测量频率的结果即为:1000*N/(40*25)=N。定时器/计数器测频法计数方式:(1)在某一个tick到来时,开始对T/C0进行初始化,这包括在T/C控制寄存器(TCCR0)中关闭T/C0、在T/C寄存器(TCNT0)中将计数值清0。这里与外中断测频

45、法不同的是,由于待测频率很大,势必会多次超过T/C0的最大计数值(255)而溢出,因而需要一个变量TC_OVF_times来记录T/C0溢出的次数。所以,初始化的工作还需加上一条,即将TC_OVF_times置0。(2)在初始化工作完毕过后的第一个tick到来时,打开T/C0。此后,TCNT0便会自动对输入的信号上跳沿或下降沿进行计数,每当T/C0溢出中断一次,其中断服务子程序中的TC_OVF_times都会自动加1。(3)在采样时间为第n个tick到来时(假设n=40),关闭外中断0,此时的计数值的算法位:N=TC_OVF_times * 256 + TCNT0,则测量频率的结果即为:100

46、0*N/(40*25)=N。交流信号频率采集子程序见图4-2。每当交流信号测试任务被sEOS所调度,该子程序便被调用一次,直至测试任务结束任务状态跳转。图 4-2 交流信号频率采集程序流程图Figure 4-2 Program flow chart of frequency measurement about AC signal基准时钟频率采集子程序见图4-3。同理,每当基准时钟测试任务被sEOS所调度,该子程序便被调用一次,直至测试任务结束任务状态跳转。图 4-3 基准时钟频率采集程序流程图Figure 4-3 Program flow chart of frequency measurem

47、ent about reference clock2电压与电流采集程序设计电压与电流的测量都是通过maga16的ADC口采集得到。其软件程序非常简单,利用CodeVisionAVR C编译器可以直接生成如下读取ADC转换值的子程序。#define ADC_VREF_TYPE 0x40/ Read the AD conversion resultunsigned int read_adc(unsigned char adc_input)ADMUX=adc_input|ADC_VREF_TYPE;/ Start the AD conversionADCSRA|=0x40;/ Wait for th

48、e AD conversion to completewhile (ADCSRA & 0x10)=0);ADCSRA|=0x10;return ADCW;该函数的运用也很简单。对于ADCi口,其AD转换的结果为read_adc(i) 。当参考电压VREF近似等于5V的时候,ADCi口的输入电压为VIN=read_adc(i)/1024*5000,单位为毫伏。考虑到在数据采集时,会存在许多随机误差,因而在本测试系统中我们不但在硬件上通过电容滤波,而且在软件上也加入了多次测量取平均值的数字滤波方法。下面画出测量手元基准电压的流程图(图 4-4),其它电压与电流的测量与此雷同。图 4-4 手元基准电

49、压测量流程图Figure 4-4 Flow chart of reference voltage measurement(三)LCD液晶显示器程序设计1HF12864B2的相关原理介绍(1)连接时序HF12864B2有并行和串行两种连接方式,本测试系统采用的是串行方式,其连接时序图如图 4-5所示。图 4-5 HF12864B2串行连接时序图Figure 4-5 Sequence chart when HF12864B2 is in series connection串行数据传送共分三个字节完成11 恒芳HF12864B2型LCD数据手册:第一字节:串口控制格式 11111ABC A为数据传送

50、方向控制:H表示数据从 LCD 到 MCU,L 表示数据从MCU到LCD B为数据类型选择:H 表示数据是显示数据,L表示数据是控制指令 C 固定为 0 第二字节:格式 DDDD0000,四个D分别为8位数据的高 4位第三字节:格式 DDDD0000,四个D分别为8位数据的低 4位(2)显示数据RAM(DDRAM)DDRAM(12864bits)是存储图形显示数据的。此RAM的每一位数据对应显示面板上一个点的显示(数据为H)与不显示(数据为L)。DDRAM能显示4行8列共32个汉字。汉字显示位置与DDRAM的地址对应关系如下表(表 4-1 )。表 4-1 汉字显示位置与DDRAM地址对照表Ta

51、ble 4-1 Comparison table of address between display position by Chinese characters and DDRAM(2)相关指令集HF12864B2 LCD液晶显示器内置的指令集很多,下面列出本次系统设计所用到或比较重要的几条指令集(见表4-2)表 4-2 HF12864B2 相关指令集Table 4-2 Instruction set related指 令 名 称控制信号控 制 代 码RSR/WD7D6D5D4D3D2D1D0清除显示0000000000进入点设定00000001S显示状态开/关0000001DCB功能设定

52、000011XREXX设定DDRAM地址001D6D5D4D3D2D1D0写显示数据10数 据读显示数据11数 据下面详细解释各个指令集功能。1)清除显示将 DDRAM 填满“20H” ,并设定 DDRAM 的地址计数器(AC)到“00H”,即起到清屏的作用。该指令需执行的时间为4.6ms。2)进入点设定指定在资料的读取与写入时,设定游标移动方向及指定显示开始处的位移。S决定从该行哪里开始显示,一般默认为0;P为1时,则向右移动光标,为0时,向左移动光标。该指令需执行的时间为72us。3)显示状态开/关D=1:整体显示 ON ;C=1:游标ON ;B=1:游标位置 ON。该指令需执行的时间为7

53、2us。4)功能设定HF12864B2的指令集有两种,分别为基本指令集和扩展指令集,当RE=0时为基本指令集,RE=1时为扩展指令集;X表示可0可1,这里默认为0。该指令需执行的时间为72us。5)设定DDRAM地址设定DDRAM地址到地址计数器(AC)。地址计数器具有自动加一功能,在每一次读/写数据后它将自动加一,所以在连续进行读/写数据时,地址计数器不必每次都设置一次。该指令需执行的时间为72us。6)写显示数据该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后地址计数器自动加一。该指令需执行的时间为72us。7)读显示数据该操作将LCM接口部的输出寄存器内容读出,然后地址计数

54、器自动加一。该指令需执行的时间为72us。2LCD液晶显示器程序设计液晶显示器的程序设计必须从底层写起,逐步提高,最后完成显示一行文字的功能。即先从模拟LCD的同步时钟开始写起,逐步往上深入,最终写出能随意显示某行文字的程序。(1)模拟同步时钟子程序此函数的每执行一次,即产生一个同步脉冲。程序如下:#define RSTLCD PORTC.0#define CS1 PORTC.1#define SCLK PORTC.2void SCLKpulse(void)SCLK=1; SCLK=0;(2)向LCD发送一位数据子程序此函数是向R/W(SIN)口写入一位(bit)数据。程序如下:#define

55、 uchar unsigned char#define SID PORTC.3void opSID(uchar t)SID=t;(3)向LCD发送一字节数据或指令子程序如前所述,发送一字节的数据需分三个字节完成:第一个字节的格式为:11111ABC,其中A为RW,B为RS;第二个字节格式为:DDDD0000,其中四个D为待传送数据或指令的高四位;第三个格式为:DDDD0000,其中四个D为待传送数据或指令的低四位。详细程序实现如下:#define uchar unsigned charvoid out_byte(uchar byte,uchar RW,uchar RS)uchar i,j,te

56、mp;temp=0x80;SCLK=0;/第一字节开始/opSID(1);for(i=0;i5;i+)/连续传5个“1”SCLKpulse(); opSID(RW); SCLKpulse();/传第2位数据opSID(RS);SCLKpulse()/传第1位数据;opSID(0);SCLKpulse();/传第0位数据/第2、第3字节开始/for(j=0;j2;j+)for(i=0;i1;SCLKpulse();/传送该位/传送四个“0”for(i=0;i4;i+)opSID(0);SCLKpulse(); (4)LCD初始化子程序程序原型如下:调用方式:void iniLCD(void)函数

57、说明:用于开机初始化LCD液晶显示器。LCD的初始化程序算法如下:LCD初始化启动延时功能设定 / out_byte(0x30,0,0),即只需基本指令集执行72us / 即延时72us设置显示状态 / out_byte(0x0c,0,0),即开整体显示,光标不显示、不闪烁执行72us/ 即延时72us进入点设定 / out_byte(0x06,0,0),即光标向右移动执行72us / 即延时72us清屏 / out_byte(0x01,0,0)执行4.6ms / 即延时4.6ms(5)LCD显示一行数据子程序在初始化LCD之后,便可显示一行数据了。要显示一行数据,首先要将每行对应的DDRAM

58、地址写入地址计数器,再连续写入字符或汉字的编码数据。对于某一行来说,由于地址计数器是自动累加的,故而DDRAM地址只需写入一次。程序原型如下:调用方式:void LCD(uchar row, uchar *p)函数说明:欲显示的内容存在unsigned char型数组p16中,row指示该数据显示在第几行(一共四行)。程序流程见图4-6。图 4-6 LCD显示某行数据程序流程图Figure 4-6 Program flow chart of some row data displayed by LCD五、调试及性能分析本测试系统开发时的一个主要思想是,测试系统的本质目的是检查被测板(控制板)电

59、路的正确以及各器件功能的好坏,并不是真正地去测量某个电路上的电压是多少伏、电流是多少安或者频率是多少赫兹。因而测量的手段是将被测电路的电压量、电流量、频率量转化成一个单片机能识别的相关量,而判断被测板好环的方法是将该相关量与工业上能确定绝对OK的控制板的相关量比较,如果比较结果相差无几,则说明被测板同样是OK板,否则就是NG板。出于以上思想的考虑,在系统软件开发的初期并没有也无法确定15个被测参数的精确范围。因而在调试阶段,最终要的一个任务便是确定被测参数的范围。1调试方法(1)将软件参数的范围改成能让每一步都能顺利通过的模式,编译下载至ATmaga16芯片中,然后拿一块(最好是几块)OK板放到开发好的测试仪器上测试。记录下液晶显示器上显示的每一个所测参数的相关量,测试完成之后,根据所测数据初步确定每一个参数的上下限范围,然后将范

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!