基于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技术的逻辑分析仪设计
摘要:本设计采用单片机控制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单片机实验指导书
目录目录 0第一章实验装置 (1)一.伟福开发环境的使用 (1)二.LJD-SY-5100学习实验开发板的使用 (17)第二章微机原理及应用实验 (22)实验一开发环境的使用 (22)实验二数据传送 (23)实验三数码转换 (23)实验四数值运算 (24)实验五堆栈操作 (25)实验六查表操作 (25)实验七逻辑运算操作 (26)实验八中断及I/O口实验 (26)实验九串行通讯实验 (28)第一章实验装置一.伟福开发环境的使用1.菜单文件菜单选项●文件 | 打开文件打开用户程序,进行编辑。
如果文件已经在项目中,可以在项目窗口中双击相应文件名打开文件。
●文件 | 保存文件保存用户程序。
用户在修改程序后,如果进行编译,则在编译前,系统会自动将修改过的文件存盘。
●文件 | 新建文件建立一个新的用户程序,在存盘的时候,系统会要求用户输入文件名。
●文件 | 另存为将用户程序存成另外一个文件,原来的文件内容不会改变。
●文件 | 重新打开在重新打开的下拉菜单中有最近打开过的文件及项目,选择相应的文件名或项目名就可以重新打开文件或项目。
●文件 | 打开项目打开一个用户项目,在项目中,用户可以设置仿真类型。
加入用户程序,进行编译,调试。
系统中只允许打开一个项目,打开一个项目或新建一个项目时,前一项目将自动关闭。
伟福开发环境的项目文件包括仿真器设置,模块文件,包含文件。
仿真器设置包括仿真器类型,仿真头(POD)类型,CPU类型,显示格式和产生的目标文件类型,可以用以下几种方法设置仿真器。
✧在项目窗口中双击第一行,将打开仿真器设置窗口,对仿真器进行设置。
✧按鼠标右键,在弹出菜单中选择[仿真器设置]。
✧主菜单| 仿真器| 仿真器设置。
加入模块文件✧按鼠标右键,在弹出菜单中选择[加入模块文件]。
✧主菜单| 项目| 加入模块文件。
加入包含文件✧按鼠标右键,在弹出菜单中选择[加入包含文件]。
✧主菜单| 项目| 加入包含文件。
基于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单片机的简易函数信号发生器的设计与分析郭 辉(阜阳师范学院信息工程学院,安徽阜阳,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 工具软件。
简易逻辑分析仪
简易逻辑分析仪本设计采用单片机(89C51)和可编程逻辑器件作为系统的控制核心。
设计采用了模块化的设计思想,包括数字信号发生器、采样保持电路、逻辑信号门限电压比较、信号采集与存储、示波器X-Y通道控制、触发点与时间标志线控制、D/A转换、液晶显示、控制面板等功能模块。
数字信号发生器由单片机读取8个外部开关状态,经循环移位输出。
单片机检测8通道输入,在满足触发条件时,进行一次采样和存储,输入经采样保持器LF398,既可以满足对8路信号的A/D转换为同一时刻的数据,又可以提高输入阻抗。
CPLD一方面控制存储器里的数据输出,经DAC0800转换为模拟电压后作为示波器的Y通道输入;另一方面由CPLD产生8位的循环递增数字信号,经DAC0800转换为模拟电压后,其电压波形为锯齿波,将它作为示波器的X通道输入。
存储器采用双口RAM(IDT7132),这样可较简单的实现单片机与CPLD之间的通信。
整个系统较好的实现了题目的要求,达到了较高的性能指标。
一、设计思路与论证1、数字信号发生器模块方案一:采用74LS199产生8路数字信号。
74LS199是具有串行/并行输入及并行/串行输出的8位移位寄存器。
但此方案控制复杂,且需频率为100Hz的时钟,不易采用。
方案二:采用单片机编程实现序列信号发生器。
通过8路拨段开关来设定要产生的序列信号,单片机读取这8路信号,经过处理,产生循环移位序列,且单片机定时精确。
此方案简单可行。
故我们采用了方案二。
2、 8位输入、触发电路方案一:采用8片模数转换器同时对8路信号进行采集,然后将采集到的数据用单片机与转换成数字量的逻辑门限电压进行比较以决定其逻辑。
但需要的AD芯片较多,不宜采用。
方案二:将8路输入信号先用采样保持器LF398进行保持,以保证A/D转换的8路数据为同一时刻的数据,然后使用8通道A/D转换器ADC0809顺序采集保持在LF398中的数据,并用单片机判断其逻辑。
逻辑门限电压由键盘输入给单片机,实现题目要求的16级门限变化。
简易数字逻辑分析仪的程序设计推荐精选PPT
制作数字信号发生器:能产生8路可预置循环移位序列,输出信号为逻辑TTL电平,序列时钟脉冲频率为100Hz,并能够重复输出。 简易数字逻辑分析仪的程序设计 (单片机汇编程序设计) 利用一个多路选择器和D/A转换器实现8路信号的并行显示功能,并在主程序中实现对他们的使用。
程序流程图
编程工具与仿真环境
▪ 编程工具:伟福6000(WAVE6000 )
利用此软件对汇编程序进行编写和编译,并生成可 写入单片机程序存储器的数据文件。
▪ 仿真环境:Qth-8052f
在进行单片机程序写入之前,先利用仿真器进行仿 真测试。如果测试结果符合要求,就可以录入程序。
▪ 在中断程序中对信号实现循环右移和输出,每次中断到来 在中断程序中对信号实现循环右移和输出,每次中断到来的时候,单片机便对输出端口输送一组信号。
在中断程序中对信号实现循环右移和输出,每次中断到来的时候,单片机便对输出端口输送一组信号。
的时候,单片机便对输出端口输送一组信号。 制作数字信号发生器:能产生8路可预置循环移位序列,输出信号为逻辑TTL电平,序列时钟脉冲频率为100Hz,并能够重复输出。
数字逻辑分析仪
解决方案
▪ 利用两个通用寄存器R0、R1作为指针,实现信号的循环 存储和输出,深度位20位。
▪ 同样采用定时器的中断程序设计,其中内容主要为对信号 的采集、比较和输出。
▪ 利用一个多路选择器和D/A转换器实现8路信号的并行显示 功能,并在主程序中实现对他们的使用。
简易逻辑分析仪
一、易逻辑分析仪系统设计方案本系统由3个AT89S52单片机小系统组成,系统方框图如图 5.7.2所示。
一片AT89S52单片机小系统A产生8路可预置的循环移位逻辑信号序列;一片A T89S52单片机小系统B实现人机交互;另一片A T89S52单片机小系统C用于触发并显示信号。
采用双口RAM,具有分页显示、可移动时间标志线、可设定触发位、连续间断触发触发方式多样等功能。
图5.7.1 8路数字信号发生器与简易逻辑分析仪结构框图图5.7.2 简易逻辑分析仪系统方框图AT89S52单片机小系统A——根据预置的循环移位元逻辑信号序列(通过8路开关设置),循环移位元逻辑输出这个序列,时钟频率为100Hz,同时把这个时钟信号输出给系统C作为信号采样时钟。
AT89S52单片机小系统B——控制一块64*128的点阵液晶,接收键盘输入。
菜单功能详细且操作方便,可设置该逻辑分析仪的工作方式。
工作方式按一定的格式写入双口RAM,将被系统C读取。
同时把用户设置的门限电平值进行D/A转换,与循环移位元逻辑输入信号相比较。
工作方式设置完毕后,可从双口RAM读时间标志线所对应时刻的8路输入信号的逻辑状态,并在液晶屏上显示。
AT89S52单片机小系统C——根据单片机A送来的100Hz信号采样时钟对比较器输出的信号序列进行采样,读取双口RAM的工作方式设置,判断触发点,向双口RAM 写时钟RAM写时钟标志线对应时刻的输入信号逻辑状态。
一、电路数字信号发生器电路设计通过8路开关设置循环移位元逻辑信号序列,输入AT89S52单片机小系统A的PI口,由89S52内部定时器在P3.7产生100HZ的时钟信号,在P3.2输出预置波形,通过移位寄存器74HC164产生8路循环移位序列信号。
8路循环移位序列信号产生电路[4]如图5.7.3所示。
移位寄存器74HC164的内部结构如图5.7.4所示。
74HC164 引脚端功能表如表5.7.1所列。
基于51单片机的简易逻辑分析仪设计说明书
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 口是否为低电平来判断按键是否按键,为了防止干扰,应在单片机的按键检测程序中加入延时函数。
用STC12C5A60S2自制逻辑分析仪
用STC12C5A60S2自制逻辑分析仪逻辑分析仪对于开发者来说很重要,现在我们用STC12C5A60S2单片机制作一个 制作资料和上位机程序下载:51hei/bbs/dpj-20393-1.html,下面是单片机高速采样程序: #include//============================================================ ==========================//================================== ====================================================void UartInit(void) //串口初始化函数28800bps@24MHz{ IP = 0x02; IPH = 0x10; IP2 = 0x00; IPH2 = 0x00; //设置中断优先级PCON &= 0x7f;//波特率不倍速SCON = 0x50;//8位数据,可变波特率REN = 1; //启动接收BRT = 0xE6; //设定独立波特率发生器重装值AUXR |= 0x04;//独立波特率发生器时钟为Fosc,即1TAUXR |= 0x01;//串口1选择独立波特率发生器为波特率发生器AUXR |= 0x10;//启动独立波特率发生器ES = 1; //开串行口1中断//EA = 1; //开总中断} //============================================================ ==========================//================================== ====================================================voidInit_Timer0(void) //定时器0初始化函数{TMOD |= 0x02; //定时器0工作在模式2AUXR |= 0x80; //定时器0工作在1T模式TH0 = 0xff;TL0 = 0xff; //定时初值TR0 = 1; //启动定时器} //============================================================。
简易逻辑分析仪设计方案与制作
个人资料整理仅限学习使用简易逻辑分析仪的设计与制作目录简易逻辑分析仪的设计与制作【摘要】:逻辑分析仪是一种新型的数字测试仪器。
它应用于微机等数字系统的软件、硬件调试,故障检查,性能分析等过程中。
本设计采用AT89C51单片机控制8路逻辑信号电平采集的简易逻辑分析仪设计。
采用AT89C2051控制系统实现一个数字信号发生器可预置8路信号工作, 采集电路以5Kbit每秒的速率同时对8路逻辑信号进行采样。
逻辑信号门限电压通过键盘任意设定,信号采集的触发等级、触发条件、触发位置由键盘设定。
【关键词】:逻辑分析仪;AT89C51;AT89C2051;数字信号发生器[Abstract]:Logic analyzer is a new-style digital testing instrument. It is used in the test of software and hardware of digital system, such as micro-computer, fault-checked, analyzing-performance.This paper introduces the design of the simple logic analyzer which acquisition of 8 routes signal level is controlled through AT89C51 single chip. The control system through AT89C2051 to realizea digital waveform generator scheduled 8 routes signal.5Kbit/s real-time sample rate of the acquisition circuit is faced to the 8 routes logic signal in the meantime. Threshold voltage of logic signal is set arbitrarily by keyboard, triggerrank, trigger condition and trigger location are set by keyboard.[Key words]: logic analyzer;AT89C51。
单片机逻辑测试仪设计
单片机最小应用系统设计报告指导老师:吴兆华学生:杜亚鹏学号: 092011224机电工程学院2010年五月目录一设计题目 (3)二设计目的 (3)2.1设计目的要求 (3)2.2系统设计意义 (3)三系统硬件图 (4)四程序流程图 (4)图2 程序流程图 (4)五系统说明与分析 (4)5.1系统主要组成部分 (4)5.2单片机最小系统部分 (5)5.2.1 MCS-51系列单片机概述 (5)5.2.2DAC0832芯片介绍 (5)5.2.3MCS-51系列单片机的工作方式和时序 (6)5.3模拟信号输入部分 (8)5.4电路板的制作 (9)5.5系统连线说明分析 (10)六源程序 (11)总结 (11)参考文献 (13)一设计题目逻辑测试仪设计,要求控制测试8路逻辑输入并显示每一路的逻辑输入,能保存100个测试数据。
二设计目的该单片机最小应用系统设计目的及要求如下:2.1 设计目的要求1、通过本次实验,掌握单片机I/O口的使用;2、通过对单片机的使用和编程,了解单片机的应用编程;3、掌握单片机汇编语言设计和分析方法;4、学会使用并熟练掌握电路绘制软件Protel99SE;5、掌握电路图绘制及PCB图布线技巧。
2.2 系统设计意义1、在系统掌握单片机相应基础知识的前提下,熟悉单片机最小应用系统的设计方法及系统设计的基本步骤。
2、完成所需单片机最小应用系统原理图设计绘制的基础上完成系统的电路图设计。
3、完成系统所需的硬件设计制作,在提高实际动手能力的基础上进一步巩固所学知识。
4、进行题目要求功能基础上的软件程序编程,会用相应软件进行程序调试和测试工作。
5、用AT89S51,LM324设计出题目所要求的输入,实现逻辑输入识别,并针对实际设计过程中软、硬件设计方面出现的问题提出相应解决办法。
三系统硬件图图1 电路原理图四程序流程图五系统说明与分析5.1 系统主要组成部分模拟电压在IN端口输入,即LM324的引脚3,输出有P1.0和P1.1两个I/O口实现。
简易逻辑分析仪
简易逻辑分析仪湖北师范学院物理与电子科学学院0505班贾奕黄劲松沈鹏程摘要本系统是以51单片机和CPLD的组合电路为核心,构建了一个基于实时采样的8路简易逻辑分析仪。
系统由五部分组成:按键控制模块、DMA控制模块、采样频率产生模块、输出显示模块、数据采集及数据存储模块。
信号进入系统后,首先由单片机控制高速锁存器(74ACQ574SC)读取两个触发字,若满足触发条件则时入DMA采样模式,若不满足则继续读取触发字。
DMA采样时,存储地址由计数器(74HC393)提供,在CPLD内有一个与74HC393同步的7位计数器,当计数器溢出时,DMA采样结束,进入读数据输出显示部分,系统采用LCD12864输出显示,每一页显示一个通道。
方案论证与选择采样模块:采用AD0809采样也可以实现8通道采样,但不能在同一时刻对多路信号采样,利用锁存器74ACQ574SC 可以达到要该目的,而且在其锁存速率也远超于AD0809的最大采样率。
采样方式:一般的采样方式是先通过单片机对采样模块的读,然后再写到RAM,这种方式在采样高频的信号时,会受单片机的工作频率影响,存在很大的局限性,而采用高速DMA模式,既在采样开始时,单片机将总路线交出,让高速锁存器与RAM之间进行直接存储,由计数器控制RAM的存储地址,计数器溢出时,单片机再将总线夺加,这种方式在采样时的速率则可不受单片机工作频率的局限。
触发方式:采用硬件触发,将信号接入D触发器,可以提高提高系统软件性能,但外接D触发器给硬件增加了复杂度,在CPLD内部加入D触发器是可行的,但本系统中所使用的CPLD资源有限,因此我们选项用软件触发方式。
显示部分:利用LCD12864的8页显示8通道波形,在视觉上可能不怎么好,但相比用示波器显示,可以简化系统,方便设计,结合LCD1602以配合LCD12864作显示用。
系统框图:方案描述:外部TTL信号由高速锁存器74ACQ574SC接入系统,可同时测量8路,首先由单片机通过574直接读取触发字(上升沿触发),当满足触发条件时,单片机将总路线交给574,开启DMA模式,574将采到的数据直接存入RAM,采样频率由DDS芯片AD9851提供,在采足128个数据后,CPLD内部7位计数器(与74393同步)溢出并通知MCU,MCU关闭574夺回总线,然后再从RAM中读回数据,逐个送出显示。
简易逻辑分析仪
简易逻辑分析仪摘要关键词: SPCE061A 单片机一、方案设计与论证二、硬件电路设计2.1电路方框图及说明IOA04051IOA7IOB2IOB0、IOB1、IOB4~IOB15IOA8~IOA15Key2(4*4)LED2(1*14)DAC1X IOA6IOA5SPCE061A(2)In1In2In3In4In5In6In7In8OutA CB IOB15ClkSPCE061(1)IOA0IOA7IOA5IOA6IOA4IOA3IOA2IOA1LED1(1*11)Key1(1*8)IOA8~IOA15IOB0~IOB10电压调整INH IOA4DAC2Y整个系统由一个信号发生器和一个简易逻辑分析仪构成。
信号发生器用一片061来做控制核心,每路信号序列均可通过键盘一(Key1)预置,序列状态由一组11个发光二极管组(LED1)显示,061通过定时往IOA0~IOA7口送相应的高低电平即可实现信号发生功能,同理,IOB15将产生100Hz 的序列时钟,可作为简易逻辑分析仪的同步信号。
简易逻辑分析仪的控制核心也是一片061,IO 分配如上图所示。
信号通过多路选择开关4051(8选1)到达061的IOA0进行AD 转换,根据转换结果和门限电压判决其为“0”或“1”(大于门限电压即为“1”)。
4051的通道选择是由IOA5~IOA7的电平决定的。
4051的真值表如下所示。
2.2各部分电路设计2.2.1061系统电路使用061最小系统。
2.2.2LED电路LED1:D1LED 12D2LED12D3LED12D4LED12D5LED12D6LED12D7LED12D8LED12D9LED12D10LED12D11LED12R1 220R2220R3220R4220R5220R6220R7220R8220R9220R10220R11220IOB0IOB1IOB2IOB3IOB4IOB5IOB6IOB7IOB8IOB9IOB10 D1~D3(绿色): 通道显示D4~D11(红色): 状态字显示LED2:D1LED 12D2LED12D3LED12D4LED12D5LED12D6LED12D7LED12D8LED12D9LED12D10LED12D11LED12R1 220R2220R3220R4220R5220R6220R7220R8220R9220R10220R11220IOB0IOB1D12LED 12D13LED12D14LED12R12 220R13220R14220IOB4IOB5IOB6IOB7IOB8IOB9IOB10IOB11IOB12IOB13IOB14IOB15 D1~D3(黄色): 设置状态显示D4~D6(绿色): 通道显示D7~D14(红色): 状态字显示 2.2.3KEY 电路的设计 Key1:IOA8-IOA15:接1*8键盘键盘布局(左到右):停止,置高;置低;上一通道;下一通道;左一位;右一位;运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);}//一次显示四个电平值,显示在一列。