基于51单片机的简易逻辑分析仪设计说明书

合集下载

基于51单片机的简易逻辑分析仪设计

基于51单片机的简易逻辑分析仪设计

本科生毕业设计报告学院物理与电子工程学院专业电子信息工程设计题目:基于51单片机的简易逻辑分析仪设计学生姓名指导教师(姓名及职称)班级学号完成日期:年月基于51单片机的简易逻辑分析仪设计物理与电子工程学院电子信息工程[摘要]本设计完成了一种能进行数字电路中多路数据测试的简易逻辑分析仪。

它以51单片机控制核心,数模转换器为逻辑信号门限电平控制电路,用按键和 12864LCD作为人机交互界面,采用C51进行模块化编程,实现了四路信号的测试,具有成本低,使用方便等特点。

[关键词]数字电路单片机数模转换器逻辑分析仪1 设计任务与要求本设计的主要任务及参数指标是:数据位数4位,存储深度80字;数据速率最高1kHz;输入阻抗大于50kΩ;逻辑信号门限电平在1.0V~4.0V 范围内按8级任意设定。

2 设计方案本系统采用51单片机为控制核心,系统由单片机系统、逻辑电平控制、按键、LCD显示、系统电源等模块构成。

被测数据输入到逻辑电平控制模块,然后进行单片机进行测试,按键用于控制逻辑信号门限电平的大小,系统电源为各模块供电,各模块的供电电压为5V。

图1 系统框图3 设计原理分析3.1 单片机系统电路设计图2 单片机系统电路单片机系统为逻辑分析仪的核心,负责控制逻辑分析仪的逻辑电平、检测按键并驱动LCD 进行显示。

单片机系统电路如图2所示,由晶体振荡器Y1、电容C3和C4构成振荡器电路,为单片机提供时钟信号。

电容C1、电阻R2和R1、按键KEY1构成单片机复位电路,高电平复位,当按键KEY1按下的时间超过2个机器周期以上时,单片机就执行复位操作。

EA 接高电平,单片机首先访问内部程序存储器。

J1为1KΩ的排阻,作为P0口的外部上拉电阻。

在硬件制作时为了方便单片机的测试和功能的扩展,把所有的I/O 口均通过排针引出。

EA/VP 31X119X218RESET 9RD 17WR 16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P 30TXD 11RXD 10U1P10P11P12P13P14P15P16P17P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27123456789J11KY112M+5RXD TXDRD WRT0T1INT0INT1C322p FC422p FR28.2KC110u F+512J6CON2KEY1SW2R1100..3.2 人机界面电路设计..图3 按键控制电路按键控制电路如图3所示,用于控制逻辑分析仪的工作状态,如采样率改变、逻辑电平的调整等等,单片机通过检测按键对应的I/O 口是否为低电平来判断按键是否按键,为了防止干扰,应在单片机的按键检测程序中加入延时函数。

基于单片机和EDA技术的逻辑分析仪设计

基于单片机和EDA技术的逻辑分析仪设计

摘要:本设计采用单片机控制8路逻辑信号电平采集;采用EDA技术设计的CPLD芯片处理逻辑信号,控制点阵扫描和分析结果在示波器上显示;单片机和CPLD间采用中断方式交换数据。

该设计具有1、3级触发方式,触发字位置和浮动时标线显示等功能,以及友好操作界面和波形稳定显示等特点,并拓宽示波器使用功能。

关键字:点阵扫描控制;逻辑分析;CPLD;VHDL编程Thedesignofthelogicalanalysisapparatusofone-chipmicroputerandtheEDA'stechnologybasedingon【Abstract】Thisdesignusestheone-chipmicroputertobecontrolledgatheringoflogicalsignallevelsof8tunnels,UseCPLD' schipofEDA'stechnicaldesigntothelogicsignalprocessingandControlscanningtothelatticesignalandTheresu ltofdisplayanalysisontheoscillograph,Usetheinterruptmodeexchangedatabetweenone-chipmicroputerand CPLD.thisdesignhas1and3gradeofmethodofactivation,triggerwordseatdisplayandtimetobemarkedthreaddi splayetc.meritability,Aswellasfriendlyoperationinterfaceandwaveformstabilizationwhatshowsetc.characteristic,Andwidentheos cillographusemeritability.【Keywords】Thelatticescanningcontrol;Thelogicalanalysis;CPLD;VHDL'sprogramming1引言逻辑分析仪是数字电路调试和信号分析中不可缺少的工具。

51单片机实验指导书

51单片机实验指导书

目录目录 0第一章实验装置 (1)一.伟福开发环境的使用 (1)二.LJD-SY-5100学习实验开发板的使用 (17)第二章微机原理及应用实验 (22)实验一开发环境的使用 (22)实验二数据传送 (23)实验三数码转换 (23)实验四数值运算 (24)实验五堆栈操作 (25)实验六查表操作 (25)实验七逻辑运算操作 (26)实验八中断及I/O口实验 (26)实验九串行通讯实验 (28)第一章实验装置一.伟福开发环境的使用1.菜单文件菜单选项●文件 | 打开文件打开用户程序,进行编辑。

如果文件已经在项目中,可以在项目窗口中双击相应文件名打开文件。

●文件 | 保存文件保存用户程序。

用户在修改程序后,如果进行编译,则在编译前,系统会自动将修改过的文件存盘。

●文件 | 新建文件建立一个新的用户程序,在存盘的时候,系统会要求用户输入文件名。

●文件 | 另存为将用户程序存成另外一个文件,原来的文件内容不会改变。

●文件 | 重新打开在重新打开的下拉菜单中有最近打开过的文件及项目,选择相应的文件名或项目名就可以重新打开文件或项目。

●文件 | 打开项目打开一个用户项目,在项目中,用户可以设置仿真类型。

加入用户程序,进行编译,调试。

系统中只允许打开一个项目,打开一个项目或新建一个项目时,前一项目将自动关闭。

伟福开发环境的项目文件包括仿真器设置,模块文件,包含文件。

仿真器设置包括仿真器类型,仿真头(POD)类型,CPU类型,显示格式和产生的目标文件类型,可以用以下几种方法设置仿真器。

✧在项目窗口中双击第一行,将打开仿真器设置窗口,对仿真器进行设置。

✧按鼠标右键,在弹出菜单中选择[仿真器设置]。

✧主菜单| 仿真器| 仿真器设置。

加入模块文件✧按鼠标右键,在弹出菜单中选择[加入模块文件]。

✧主菜单| 项目| 加入模块文件。

加入包含文件✧按鼠标右键,在弹出菜单中选择[加入包含文件]。

✧主菜单| 项目| 加入包含文件。

基于51的简易逻辑分析仪

基于51的简易逻辑分析仪

第33卷增刊2008年6月广西大学学报(自然科学版)JournalofGuangxiUniversity(NatSciEd)V01.33,Sup.June,2008文章编号:1001—7445(2008)增.0128—03基于51单片机的简易逻辑分析仪江波,叶丽(广西大学电气工程学院,广西南宁530004)摘要:介绍采用STC89LE54单片机控制8路逻辑信号电平采集的简易逻辑分析仪设计.采用EPM7128SLC84—15控制系统实现一个数字信号发生器可预置8路信号工作,单片机和EPM7128SLC84--15间采用中断方式交换数据.采集电路以5kbit每秒的速率同时对8路逻辑信号进行采样.逻辑信号门限电压通过键盘任意设定信号采集的触发等级、触发条件、触发位置由键盘设定.采集存储的8路信号可以同时清晰稳定地在示波器再现.关键词:STC89LE54EPM7128SLC84;逻辑分析;数字信号发生器中图分类号:TN702文献标识码:ASimplelogicanalyserbasedon51singlechipJIANGBo,YELi(CollegeofElectricalEngineering,GuangxiUniversity,Nanning530004,China)Abstract:Thepaperintroducesthedesignofthesimplelogicanalyserwhichacquisitionof8routessignalleveliscontroledthroughSTC89LE54singlechip.ThecontrolsystemthroughEPM7128SLC84-15torealizesadigitalwaveformgeneratorsscheduled8routessignal,itisthroughthesuspendedmeanstoexchangedatabetweensinglechipandEPM7128SLC84-15.5kbit/sreal—timesamplerateoftheacquisitioncircuitiSfacedtothe8routeslogicsignalinthemeantime.Thresholdvoltageoflogicsignalissetarbitrarilybykeybord;triggerrank,triggerconditionandtriggerlocationaresetbykeybord.8routessignalsampledandregisteredcanbereshowedclearlyontheoscilloscopesinthemeantime.Keywords:STC89LE54;EPM7128SLC84;logicanalyse;digitalwaveformgenerators逻辑分析仪(LogicAnalyzer)是以逻辑信号为分析对象的测量仪器.是一种数据域仪器,其作用相当于时域测量中的示波器.正如在模拟电路错误分析中需要示波器一样,在数字电路故障分析中也需要一种仪器,它适应了数字化技术的要求,是数字逻辑电路的设计、分析及故障诊断工作中不可缺少的工具,在数字电路的研制测试、电子计算机维修、微处理器以及各种集成化数字仪表和装置中均有广泛的用途.逻辑分析仪作为硬件设计中必不可少的检测工具,还可将其引人实验教学中,建立直观感性的印象,提升学生的硬件设计能力,可以全面提高教学质量.在数字电路的调试中,往往要测试多路信号波形,分析其逻辑关系,采用普通示波器时,最多只能测试2路信号波形,若采用市面上的逻辑分析仪,由于其核心部件设计昂贵,投资较高.本文着重讨论基于单片机技术的逻辑分析仪的实现方法.・收稿日期:2008—01—21;修订日期:2008—03一17作者简介:江波(1981一),男,广西兴安人,广西大学电气工程学院2005级硕士研究生增刊江波等:基于51单片机的简易逻辑分析仪1291系统总体结构本系统采用单片机和可编程器件作为数据处理及控制核心,整个系统由一个信号发生器和一个简易逻辑分析仪构成.将设计任务分解为数字信号发生、信号采集存储、信号融合处理、显示、掉电保护等功能模块.图1即为该系统的总体框图.考虑到硬件电路的紧凑性,故将上述模块合理分配连接成以下3个模块:数字信号发生器、单片机控制器、键盘/显示j图1系统总体框图Fig.1Totalsystemframe-structuredgraph2系统主要硬件电路设计2.1单片机控制器单片机控制器是整个硬件电路的核心,采用STC89LE54单片机为主控制核心的双CPU工作模式.STC89LE54单片机内部含有可重复编程的FLASHROM,可通过串口进行在线编程,在设计调试过程中可十分容易进行程序的在线修改.利用AT24C64存储器(EEPROM)实现掉电存储功能.从CPU系统即以AT89S52为主的显示键盘模块的控制.数字信号处理主要是D/A转换器件的选择,我们选用性能优良的DAC0832作为D/A变换芯片.该方案的特点是硬件简单,软件实现方便,大大提高了系统的设计性能.由单片AT89S52控制8个共阳数码管、8个按键构成动态显示模块.由于具有RS一232接口,易于与计算机相连,可以直接利用计算机来作为显示器显示波形.本设计的采样对象是逻辑信号,一般的逻辑电平为5V,所以在设计中,我们约定被采样信号的电平在0"5V之间.而STC89LE54内部的A/D转换模块所能判别的电平信号为0~3.3V,我们可以利用其内部的参考电平进行A/D的测试,参考电平选为VCC(3.3V).所以,必须要对输入信号进行压缩处理,压缩比为5s3.3.通过预处理的8路信号都是0--一3.3V电平信号,刚好适合STC89LE54内部A/D转换模块采样.由于要对8路信号进行采集,对每路信号的采样速率是总速率的1/8,STC89LE54内部A/D转换最快可实现200kHz的采样速率.理论可实现最高采样速率为200kHz/8=25kHz的采样速率.但是由于软件延时等因素.可实现最大采样速率为5kHz.为了提高采样速率,对每BIT信号,采样一次.为了实现对8路逻辑电路的同步采样,我们采用序列通道单次采样的方式,采样由输入时钟信号进行同步.Clock采样fI.fIff图2同步采样图Fig.2Phys.samplinggraph每个上升沿到来触发采样,依次对8路信号采样各采样一次.2.2数字信号发生器模块的电路设计与实现采用CPLD实现,使用可编程逻辑器件EPM7128sLC84完成数字信号发生器的功能.ALTERA的EPM7128S系列CPLD是基于第二代MAX结构体系地高性能EEPROM结构的CPLD.使用Maxplus软件可方便的编制一个十分频器件,得到100Hz频率.加上循环移位器,很容易就能实现循环移位序列.这种方案精准、稳定,便于控制,且可编程逻辑器件应用日益广泛,是高新电子技术发展的必备元器件.采用可编程器件提高了设计效率,并使系统更稳定,调试更方便.其电路框图如图3所示:图中的时钟产生电路由有源晶振提供,控制和预置电路和指示电路由拨码开关和发光二极管电路实现,信号序列产生电路由CPLD器件EPM7128SLC84来实现。

基于单片机的简易逻辑分析仪

基于单片机的简易逻辑分析仪

基于单片机的简易逻辑分析仪第1节引言逻辑分析仪是一种类似于示波器的波形测试设备,它可以检测硬件电路工作时的逻辑电平,并加以储存,用图形的方法直观地表现出来,一般的逻辑分析仪可以同时进行多个通道的分析,便于用户检查和分析电路中的错误,逻辑分析是电路设计中不可缺少的仪器,通过它可以迅速定位错误,解决问题达到事半功倍的效果。

1.1系统概述1.1.1 系统的特点逻辑分析仪也称逻辑示波器,它是用来分析数字系统逻辑关系的一种仪器。

逻辑分析仪的主要作用有二个:一是用于观察的形式显示出数字系统的运行情况,相当于扩展了人们的视野,起一个逻辑显示器的作用;二是对系统运行进行分析和故障诊断。

一般的逻辑分析仪是由数据获取和数据显示两大部分组成的。

前者捕获并存储所要观察分析的数据,后者用多种形式显示这些数据。

在这里,关键是触发.它的作用是在被分析的数据流中按索特定的数据字。

一旦发现这个数据字,便产生触发信号去控制和存储有效数据。

因此,它决定了观察的数据窗口在数据流中的位置。

本设计具有以下特点:1、具有足够多的输入通道,一般的示波器只有2路通道,本设计了8路输入通道。

2、多种触发方式:设置了单字触发和三级触发两种触发模式3、具有记忆能力:采用EEPROM实现数据的掉电存储本设计的主要特色:★数字信号发生器使用AT89C2051单片机来控制,达到了高精度的信号输出。

★数字信号的逻辑状态显示也用AT89C2051单片机辅助主CPU系统实现。

★使用D/A电阻网络,结合单片机对信号幅度进行灵活地控制。

★采用发光二极管来指示电路测试点,一目了然,便于调试。

★在系统的软硬件设计中均加入了运行良好的抗干扰措施。

★强大的软件设计功能,大大简化了硬件电路。

1.1.2 系统的功能逻辑分析仪的逻辑分析仪(简称LA)是新型的数据域分析仪器,它有许多独特的功能。

把这些功能分成取数、触发、存储、显示等几个方面,本系统实现的功能是:(1)能产生8路可预置的循环移位逻辑信号序列,输出信号为TTL电平,序列时钟频率为100Hz,并能够重复输出。

简易逻辑分析仪设计报告

简易逻辑分析仪设计报告

简易逻辑分析仪设计报告1.引言1.1 概述概述:简易逻辑分析仪是一种用于检测数字电路中逻辑信号的仪器,能够实时监测和分析数字电路中的信号波形和逻辑状态。

本设计报告将介绍一种基于FPGA的简易逻辑分析仪的设计方案,包括其设计原理、硬件设计和软件设计。

通过该设计,可以实现对数字电路中逻辑信号的实时观测和分析,为数字电路的调试和优化提供有力支持。

本报告将详细介绍该简易逻辑分析仪的设计过程和实现原理,以及展望未来在数字电路测试领域的应用前景。

1.2文章结构文章结构部分的内容应该是对整篇文章的结构进行简要概括,包括各个章节的主要内容和重点讨论的部分。

可以按照下面的内容编写:文章结构部分:本文主要包括三个部分,即引言、正文和结论。

在引言部分,将对简易逻辑分析仪的概述、文章结构和研究目的进行介绍。

正文部分包括设计原理、硬件设计和软件设计三个方面的内容,其中设计原理将解析简易逻辑分析仪的工作原理,硬件设计将详细介绍分析仪的硬件组成和设计要点,软件设计则会讨论分析仪的相关软件开发情况。

在结论部分,将对整个设计报告的结果进行总结、设计的优点进行分析,并对未来的发展进行展望。

整篇文章的结构清晰,内容充实,将全面展示简易逻辑分析仪的设计过程和成果。

1.3 目的本报告的目的是设计一种简易逻辑分析仪,用于对数字逻辑电路进行分析和测试。

通过该逻辑分析仪,可以实现对逻辑电路中信号的捕获、显示和分析,从而帮助工程师和技术人员更好地理解和调试数字电路。

同时,设计该逻辑分析仪旨在提高测试效率、降低成本,并且具有一定的实用性和推广性。

基于以上目的,本报告将从设计原理、硬件设计和软件设计三个方面展开介绍和分析。

2.正文2.1 设计原理设计原理部分的内容应该包括对逻辑分析仪的工作原理进行详细介绍。

这包括逻辑分析仪的基本功能和原理,例如数据采集、信号分析和显示等。

此外,还应该介绍如何通过逻辑分析仪实现对数字信号的采集、存储和分析,以及逻辑分析仪的工作流程和主要原理。

简易逻辑分析仪设计

简易逻辑分析仪设计

简易逻辑分析仪设计(总26页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除辽宁工业大学电子综合设计与制作课程设计(论文)题目:简易逻辑分析仪院(系):电子与信息工程学院专业班级:电子081学号: 080404009学生姓名:东宇指导教师:(签字)起止时间:2011.12.26—2012.01.06课程设计(论文)任务及评语院(系):电子与信息工程学院教研室:电子信息工程注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘要本系统的设计电路由8位数字信号发生器电路、数据采集电路、功能控制系统、显示电路四部分构成。

8位数字信号发生器电路:由单片机、液晶、按键等元器件组成,可以产生8路循环移位逻辑信号序列,并能设定、调节并显示预置值。

数据采集电路:由单片机控制,含有RAM及8位输入电路等,能够采集并存储输入的8位逻辑序列。

功能控制系统:它也是由单片机控制,完成设定、显示、调整系统各功能项的任务。

显示电路:主要由可编程逻辑器件CPLD和电平移位及扫描电路组成,用于将RAM中的8路逻辑序列取出,将其高速送入示波器稳定显示。

关键词:可编程器件CPLD;电平位移;扫描电路;目录第1章绪论 (1)1.1逻辑分析仪在数字科技中的地位 (1)1.2本文研究内容 (2)第2章方案论证 (2)第3章系统原理框图 (4)第4章系统电路 (5)4.18位数字信号发生器 (5)4.2功能控制系统 (5)4.3数据采集电路 (6)4.4显示系统 (6)第5章系统软件设计 (7)第6章调试过程及功能实现 (10)第7章结果分析 (12)第8章总结 (13)参考文献 (14)附录1 (15)第1章绪论1.1逻辑分析仪在数字科技中的地位数字科技对检测仪器的需求 20 世纪 70 年代以来,大规模集成电路、可编程逻辑器件、高速数据信号处理器和计算机技术等高新技术得到迅猛发展,为解决数字设备、计算机及 VLSI 等电路在研制、生产、检修和维护中的测试问题,出现了一类新的测试设备。

--基于51单片机的简易函数信号发生器的设计与分析

--基于51单片机的简易函数信号发生器的设计与分析

基于51单片机的简易函数信号发生器的设计与分析郭 辉(阜阳师范学院信息工程学院,安徽阜阳,236037)摘要:函数信号发生器设计与分析是单片机实践中的一重要实验。

本文采用Proteus 对函数信号发生器的原理图进行设计,并通过Keil 软件编程验证该设计的可行性,通过调节按键,该简易函数信号发生器可以正确输出正弦波、锯齿波、梯形波、矩形波,并可以通过按键对相应波形的频率进行调节,最终通过Proteus 制作出该电路的PCB 原理图。

本设计对单片机项目设计与实现具有一定的指导意义。

关键词:信号发生器;AT89C51;Proteus ;Keil ;PCB 中图分类号:TP368.1 文献标识码:BDesign and analysis of a simple function signal generator based on 51 single chip microcomputerGuo Hui(College of Information Engineering,Fuyang Teachers' College,Fuyang Anhui,236037)Abstract :This paper uses the principle of figure Proteus function signal generator is designed,and the feasibility of the design is verified by Keil software programming,by adjusting the key,the simple function signal generator can output sine wave,Ju Chibo,trapezoidal wave,rectangular wave,and can be adjusted through the key corresponding to the frequency of the waveform, eventually produced by Proteus PCB principle diagram of the circuit.Keywords :signal generator;AT89C51;Proteus;Keil;PCB 0 引言Proteus 软件为英国Labcenter electronics 公司开发的EDA 工具软件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

word文档整理分享本科生毕业设计报告学院物理与电子工程学院专业电子信息工程设计题目:基于51单片机的简易逻辑分析仪设计学生姓名指导教师(姓名及职称)班级学号完成日期:年月基于51单片机的简易逻辑分析仪设计物理与电子工程学院电子信息工程[摘要]本设计完成了一种能进行数字电路中多路数据测试的简易逻辑分析仪。

它以51单片机控制核心,数模转换器为逻辑信号门限电平控制电路,用按键和 12864LCD作为人机交互界面,采用C51进行模块化编程,实现了四路信号的测试,具有成本低,使用方便等特点。

[关键词]数字电路单片机数模转换器逻辑分析仪1 设计任务与要求本设计的主要任务及参数指标是:数据位数4位,存储深度80字;数据速率最高1kHz;输入阻抗大于50kΩ;逻辑信号门限电平在1.0V~4.0V 范围内按8级任意设定。

2 设计方案本系统采用51单片机为控制核心,系统由单片机系统、逻辑电平控制、按键、LCD显示、系统电源等模块构成。

被测数据输入到逻辑电平控制模块,然后进行单片机进行测试,按键用于控制逻辑信号门限电平的大小,系统电源为各模块供电,各模块的供电电压为5V。

图1 系统框图3 设计原理分析3.1 单片机系统电路设计图2 单片机系统电路单片机系统为逻辑分析仪的核心,负责控制逻辑分析仪的逻辑电平、检测按键并驱动LCD 进行显示。

单片机系统电路如图2所示,由晶体振荡器Y1、电容C3和C4构成振荡器电路,为单片机提供时钟信号。

电容C1、电阻R2和R1、按键KEY1构成单片机复位电路,高电平复位,当按键KEY1按下的时间超过2个机器周期以上时,单片机就执行复位操作。

EA 接高电平,单片机首先访问内部程序存储器。

J1为1KΩ的排阻,作为P0口的外部上拉电阻。

在硬件制作时为了方便单片机的测试和功能的扩展,把所有的I/O 口均通过排针引出。

EA/VP 31X119X218RESET 9RD 17WR 16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P 30TXD 11RXD 10U18051P10P11P12P13P14P15P16P17P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27123456789J11K+5Y112M+5RXD TXDRD WRT0T1INT0INT1C322p FC422p FR28.2KC110u F+512J6CON2KEY1SW2R1100..3.2 人机界面电路设计KEY2KEY3KEY4KEY5P03P04P05P06..图3 按键控制电路按键控制电路如图3所示,用于控制逻辑分析仪的工作状态,如采样率改变、逻辑电平的调整等等,单片机通过检测按键对应的I/O 口是否为低电平来判断按键是否按键,为了防止干扰,应在单片机的按键检测程序中加入延时函数。

GND 1VC C 2VO 3RS 4WR 5EN 6D07D18D29D310D411D512D613D714PSB 15NC 16RST 17NC 18BLA 19BLK 20J412864R32K+5+5C50.1uFP22P21P20..图4 LCD 显示接口电路LCD 显示接口电路如图4所示,此模块用来显示需要显示的数据,电位器R3用于调节液晶的对比度。

LCD 采用采用字符式FM12864M-12L 型LCD ,为节约I/O 口,以串行方式与单片机连接。

LS 1SPEAKERQ18550+5R7100R111KP17..图5 蜂鸣器驱动电路蜂鸣器驱动电路如图5所示,选用三极管Q1为PNP型三极管,三极管基极电阻R11为1kΩ,因为单片机的灌电流能力强于拉电流能力,因此采用PNP型三极管,蜂鸣器采用5V有源蜂鸣器。

三极管连接到单片机的P17口,当P17输出为低电平时,蜂鸣器响。

3.3 逻辑电平控制电路设计逻辑分析仪主要作用在于时序判定,通常只显示两个电压(逻辑1和0),因此设定了参考电压后,逻辑分析仪将被测信号通过比较器进行判定,高于参考电压者为高电平,低于参考电压者为低电平,在高电平与低电平之间形成数字波形。

逻辑电平控制电路用于控制输入信号的门限电平,输入信号经过逻辑电平控制电路以后再连接到单片机的I/O口,主要有电压比较器和数模转换器构成,电路如图6所示。

逻辑分析仪被测信号路数为4路,采用4个电压比较器和一片数模转换器实现逻辑电平控制,电压比较器采用LM393,因为采用OC输出,所以输出端均连接上了5.1kΩ的上拉电阻。

4路输入信号的门限电平由数模转换器控制,为了使4路输入信号的门限电平一致,四片电压比较器的反向输入端接在一起,并连接到数模转换器的输出端。

数模转换器U2换用TLC5615来实现,TCL5615为十位串行数模转换器,控制方便,并节约单片机的I/O口,数模转换器的参考电压由U2的6脚输入,稳定的参考电压为2.5V,由TL431产生。

C20.1uF+5U3TL431R41K +5DIN 1SCLK 2CS 3DOUT4AGND 5REFIN 6OUT 7VDD 8U2TLC5615P11P12P1032184U4ALM 39332184U5ALM 393567U4BLM 393567U5B LM 393P13P14P15P16+5+5R55.1KR65.1KR95.1KR105.1K+5+5+5+512345J9CON5逻辑输入..图6 逻辑电平控制电路3.4 供电电源电路设计R81K D5LED+5VC CJ11D31N5819123In Gn dOu tJ157805C6100uFC9100uFC80.1uFC70.1uF.图7 供电电源电路系统采用5V 供电,供电电源电路由LM7805完成,电路如图7所示。

J11为供电电源电路的输入端,D3为了防止反接,C6、C7为输入滤波电容,C8、C9为输出滤波电容,D5为电源指示灯,R8为电源指示灯的限流电阻。

4 系统软件设计图8 设计流程图设计流程图如图8所示,电路焊接完成先进行硬件的调试,然后进行程序的编译和软硬联合调试。

硬件调试先不放置芯片,通过万用表验证PCB与原理图的一致性,如果发现有不一致的地方,查找原因,直到解决问题为止。

然后进行加电测试,分别测试主要关键点的电压是否和原理一致,单独验证每个模块电路的正确性。

硬件验证通过后进行程序的编辑与调试,直到最终设计作品工作为止。

4.1 设计过程所用仪器1、DF1731SC2A直流稳压电源2、UT805A万用表3、PC机4.2 软件设计工具和平台采用Keil uVision4集成开发环境作为软件开发平台,用C语言对单片机编程实现系统各功能,并进行整体软件系统调试。

采用RS232串口为单片机进行程序下载,由于电脑没有RS232串口,因此使用CH341T完成USB转RS232,RS232连接到单片机串口完成程序的下载。

4.3 软件设计思想系统采用分模块编程的思想,然后通过标志位来实现各个模块之间的协调运行。

此逻辑分析仪的模块程序主要有数据采集模块、逻辑电平控制模块、按键检测模块、采样率控制模块、LCD显示驱动程序等。

4.4 软件设计流程图图9 程序流程图5 设计的结果图10 逻辑分析仪PCB布线图原理图的绘制和PCB的设计使用Protel 99se来完成,PCB板的制作采用快速热转印技术来完成。

在原理图的绘制及PCB的设计过程中特别注意规范性,特别是PCB布线的一些规则,注意PCB走线、线距、线宽、空间布局等,合理选取接口,如图10所示为逻辑分析仪PCB布线图。

图11 多路数据逻辑分析图图12 逻辑电平设定测试图由于此逻辑分析仪为四通道,测试过程中,分别为每个通道加入被测逻辑电平,分别验证,然后四个通道同时验证,并测试逻辑电平设定等。

测试结果表明,符合设计要求。

6 总结采用51单片机为控制核心,数模转换器加电压比较器构成逻辑电平控制电路,LCD组成显示界面等,可以有效的构成简易逻辑分析仪的硬件系统,使用EDA开发工具可以缩短建议逻辑分析仪设计的时间,使用模块化编程的思想有利于程序的调试和可读。

通过对简易逻辑分析仪的设计,可以加深对系统设计思想的认知,初步具备电子设计的能力。

[参考文献][1] 庞利会,邓先荣,王军锋等.逻辑分析仪的设计与实现[J].电力自动化设备,2012,32(9):149-152.[2] 朱震华,储婉琴.简易逻辑分析仪的设计与实现[J].实验室研究与探索,2001,20(2):123-124.[3] 江波,叶丽.基于51单片机的简易逻辑分析仪[J].广西大学学报(自然科学版),2008,33(z1):128-130.[4] 朱震华,储婉琴.简易逻辑分析仪设计[J].电子工程师,2000,26(5):31-32,36.[5] 贾奕,黄劲松,沈鹏程等.简易逻辑分析仪设计[J].电子测试,2008,(10):70-75.[6] 朱更军,彭永供,项安等.串行10位D/A转换器TLC5615原理及与DSP的接口[J].电子质量,2003,(10):59-60.[7] 左现刚,余周,侯志松等.基于SPI总线的TLC5615在AVR 单片机中的应用[J].河南科技学院学报(自然科学版),2011,39(4):94-97.[8] 李建波,高立新.串行数模转换器TLC5615的原理及其Proteus仿真设计[J].福建电脑,2008,(10):21,3.[9] 孙凌燕,黄允千.Proteus与Keil软件的整合在单片机实验开发中的应用[J].实验室研究与探索,2008,27(4):59-61,68.[10] 马刚,李向仓.用Proteus与Keil整合构建单片机虚拟仿真平台[J].现代电子技术,2006,29(24):129-131.[11] 伍冯洁,谢陈跃,谢斌等.Proteus与Keil在单片机开放性实验中的应用[J].电子测量技术,2008,31(6):100-103,107.[12] 黄克亚.浅谈自制51单片机编程器方法和策略[J].黑龙江科技信息,2009,(25):11.[13] 邱宁.利用USB总线的虚拟逻辑分析仪[J].自动化仪表,2003,24(9):21-24.[14] 胡昆霖,李冶,左向利等.基于LabVIEW和FPGA的多通道虚拟逻辑分析仪的设计[J].电子技术应用,2012,38(11):91-93.[15] 李丽焕.电压比较器电压传输特性的绘制[J].中国科技纵横,2013,(2):212.[16] 周宦银,吕子勇,马果花等.电压比较器实验研究[J].实验技术与管理,2012,29(3):42-44.[17] 陈旦花.单片机最小系统的设计与应用[J].无线互联科技,2012,(10):103-104.[18] 景小健,尹清华,陈清林等.MG-12864液晶显示器在智能仪表中的应用[J].化工自动化及仪表,2003,30(6):62-64.[19] 李志广,李晓泉,淮俊霞等.中文图形12864点阵液晶显示模块与51单片机的并行接口电路及C51程序设计[J].现代显示,2008,(7):41-44.[20] 潘大伟,黄璞.基于12864 LCD的波形显示系统的研制[J].仪器仪表用户,2008,15(3):28-29.The design of simple logic analyzer based on 51 single chipWang ShuShool of physics and electronic engineering 1230S007[Abstract]In this paper,a simple logic analyzer which can multiplex data in digital circuit test is designed. It takes 51 single-chip microcomputer to control the core.The digital to analog converter is used as a logic signal threshold level control circuit.The analyzer uses keyboard and 12864LCD as the man-machine interface, and modular programming with C51.It can test quadruplex signal with low cost,and uses conveniently.[Keywords]Digital circuit SCM Microcontroller DAC Logic Analyzer附一:源程序#include <reg52.h>#include "lcd.h"#include "tlc5615.h"#include "tlc1549.h"#define count 50000#define TH_M1 (65536-count)/256 //T0 (Mode 1)计数高8位#define TL_M1=(65536-count)%256 //T0 (Mode 1)计数低8位code uchar Display1[8]={"门限电平"};code uchar Display2[10]={"输出电压为"};sbit KEY1 = P0^3;sbit KEY2 = P0^4;sbit KEY3 = P0^5;sbit KEY4 = P0^6;sbit P13=P1^3;sbit P14=P1^4;sbit P15=P1^5;sbit P16=P1^6;unsigned int uiVoltage_ADC,uiVoltage_DAC; //uiVoltage:LCD显示用,无小数点float fVoltage_DAC; //定义实际需要输出的电压xdata unsigned char iCount=0; // 采样个数设置,这里设置为16次xdata unsigned char result_Port1[4][16]={0};xdata char port1_Flag=0;xdata char key12Flag=0;xdata char TR0Flag=0;xdata unsigned char key1=0; //控制显示屏上的列标记xdata unsigned char port_1[4]={1,2,3,4};char flay_a = 1;unsigned int Sample_Voltage(void);void Delay_1ms(int); //毫秒级延时函数void Control_DAC(void); //声明调整输出电压函数void displayPort1_in_LCD(unsigned char p, unsigned char i,unsigned char j);void displayPort1_in_LCD_by_Flush(unsigned char *p,unsigned char key);void put_and_Display_Voltage(); //当DA的电压设定发生改变时调用该函数void control_TR0_By_KEY3(); //通过按键KEY3控制采样的结束void display_Sample_Result(); //显示16次采样的结果函数void Sys_key();/******************************************************************************** 函数名:主函数功能说明:调用函数:入口参数:出口参数:说明:********************************************************************************/void main(){LCD_init(); //初始化LCDLCD_Clear(); //LCD清屏// T0_init();port1_Flag=0;key12Flag=0;//禁止按键key1和key2工作TR0Flag=0;// 禁止Time0工作TR0=1; //开启Time0工作fVoltage_DAC = 2.5;// put_and_Display_Voltage();// Delay_1ms(20);DAC_TLC5615_Voltage(fVoltage_DAC);while(1){if(flay_a==0){port_1[0]=(char)P13;port_1[1]=(char)P15;port_1[2]=(char)P14;port_1[3]=(char)P16;displayPort1_in_LCD_by_Flush(&port_1,key1%8);key1++;key1=key1%128;// Delay_1ms(500);// flay_a=1;// Sys_key();if(KEY1==0) //增加DAC电压,{Delay_1ms(10);if(KEY1==0){while(!KEY1);fVoltage_DAC=fVoltage_DAC+0.5;if(fVoltage_DAC>4.0){fVoltage_DAC = 1.0;}// IE=0x00;flay_a=1;// TR0Flag=1; //按一次就开始采样,再按一次就结束采样;}}if(KEY3==0) //减DAC电压,{Delay_1ms(10);if(KEY3==0){while(!KEY3);fVoltage_DAC=fVoltage_DAC-0.5;if(fVoltage_DAC<1.0){fVoltage_DAC = 4.0;}flay_a=1;// IE=0x00;// key12Flag=1;}}}if(flay_a==1){put_and_Display_Voltage();flay_a=0;}}}/******************************************************************************** 函数名:Display_Voltage功能说明:显示电压,整数调用函数:LCD_Pos Send_Data Write_LCD入口参数:Voltage(带显示电压*1000倍以后的值) x,y(从LCD的坐标x,y处开始显示)出口参数:无说明:显示范围为0-9999 列:当Voltage=1234时,显示1.234V********************************************************************************/void Display_Voltage(unsigned int Voltage,char x,char y){code uchar Display_Dot[1]={"."};code uchar Display_Unit[1]={"V"};LCD_Pos(x,y);Write_LCD(Voltage/1000+0x30,1);Send_Data(Display_Dot,1); //显示小数点Write_LCD(Voltage%1000/100+0x30,1);Write_LCD(Voltage%100/10+0x30,1);Write_LCD(Voltage%10+0x30,1);Send_Data(Display_Unit,1); //显示单位}/******************************************************************************** 函数名:Sample_Voltage功能说明:带有滤波功能的电压测量调用函数:ADC_TLC1549入口参数:无出口参数:Votlage(测量滤波后的电压)说明:********************************************************************************/unsigned int Sample_Voltage(void){double Filt_Tab[3]={0};char Flag_Filt_Tab = 0;unsigned int Tab_Vol[30] ={0},k=0,Votlage = 0;double Sum = 0;char i=0,j=0;///////////////////////平均值滤波////////////for(i=0;i<30;i++){Tab_Vol[i]= ADC_TLC1549();}for(j=0;j<30;j++)for(i=0;i<30-j;i++)if(Tab_Vol[i]>Tab_Vol[i+1]){k=Tab_Vol[i];Tab_Vol[i]=Tab_Vol[i+1];Tab_Vol[i+1]=k;}for(i=0;i<10;i++){Sum +=Tab_Vol[i+10]; //取中间二十组数据}Sum = Sum/10; //平均滤波后的值Votlage =(unsigned)(Sum/1024.0*3770); //扩大1000 //需要一阶滞后滤波时把Sum修改成Filt_Tab[2]并取消屏蔽return Votlage;}/******************************************************************************** 函数名:Delay_1ms功能说明:毫秒级延时函数调用函数:入口参数:x:延时x毫秒出口参数:说明:********************************************************************************/void Delay_1ms(int x){int i,j;for(i=0;i<x;i++)for(j=0;j<120;j++);}//把p1.3,p1.4,p1.5,p1.6在液晶中进行显示,每行显示一组数据void displayPort1_in_LCD(unsigned char p, unsigned char i,unsigned char j){LCD_Pos(i,j); //设置显示位置为第i行的第j个字符Write_LCD(p+0x30,1);}//一次显示四个电平值,显示在一列。

相关文档
最新文档