基于51单片机的简易逻辑分析仪设计大学--学位论文
基于51单片机简易计算器毕业论文

基于51单片机简易计算器设计引言计算器(Calculator)是微型电子计算机的一种特殊类型。
它与一般通用计算机的主要区别在于程序输入方式的不同。
计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。
而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。
简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。
现代电子计算器首次问世是1963年。
那时的计算器是台式的,在美国波士顿的电子博览会上展出过。
与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。
随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。
现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。
目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。
等调试成功后,其它运算子程序的问题将迎刃而解。
1.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分单片机以AT89C51来做为核心元器件。
2 按键部分设计思路:采用4*4行列式键盘,分别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键。
但是这种方式采用了大量的I/O口线。
基于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 口是否为低电平来判断按键是否按键,为了防止干扰,应在单片机的按键检测程序中加入延时函数。
基于51单片机智能控制仪表简单设计

智能控制仪表简单设计龙岩学院电子信息工程学号:200402208 姓名:邓晶晶指导老师:吴春富【摘要】:随着传感器技术、微电子技术、单片机技术的不断发展,为智能控制仪表测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。
本设计介绍了一种用变送器现场采集的温、湿度等信号再经A/D 转换送单片机进行处理,最后通过数码显示器,键盘等硬件设计实现了工作过程的自动化。
一般的单片机系统在工业现场等恶劣的环境下容易死机,所以在本文中外加监视电路对系统起保护作用。
关键词】:AT89C52 单片机;HD7279A; 看门狗;第1章引言仪器仪表是人类认识世界的工具,人们借助于各种仪器仪表对各种物理量进行度量,反映其大小与变化规律.随着人类认识能力的提高与科学技术不断进步,仪器仪表技术得到了飞速发展.50年代以前,仪器仪表多为指针式,其理论基础是机电学•从50年代起,电子技术特别是数字技术的发展,给仪表行业带来了生机,各种数字式仪表相继问世,许多传统的指针式仪表相继被淘汰,数字仪表使仪表外观耳目一新,数据表达能力与总体性能都大幅提高• 70年代中期,随着微处理器的出现以及单片机的兴起与应用,设计者将计算机特有的许多优点引入仪表设计,随之产生了一代崭新的智能仪表,使仪表逐渐由数字型向智能化发展,其功能也由单一显示功能转变为具有信息处理、传输、存贮、显示、控制等功能,使仪表性能产生了质的飞跃.,品种繁多•目前,我国仪器仪表有13大类,1 300多个产品.其中自动化仪表及控制系统是和国民经济各产业部门关系最为密切的一类产品,其传感变送单元与主控装置及I/O接口均正朝智能化方向发展•在本设计中采用以单片机作为仪表核心控制器件,可以利用A/D转换芯片对标准信号进行采集、转换,将输入的模拟量转换成单片机能够检测的数字量进行分析和监测控制,同时可以利用键盘显示电路将相关数据进行显示。
与此同时通过所查阅的资料我还了解到随着测量技术的发展和微处理器的广泛应用,单片机系统的电路越来越复杂,而系统的可靠性问题也越来越突出,一般的单片机系统在工业现场等恶劣的环境下容易死机,因此系统在这些场合要保证能够稳定的工作就必须外加监视电路,在设计中采用了美国集把关定时器、电压监控和串行EEPRO三项功能于一体的专用集成芯片X5045。
基于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来实现。
基于51单片机的毕业设计

基于51单片机的毕业设计标题:基于51单片机的毕业设计:创造性思维与技术应用的完美结合简介:在现代科技的快速发展中,电子技术作为一种关键的驱动力发挥着重要作用。
而51单片机作为一种基础且广泛应用的微控制器,为学生们进行毕业设计提供了很好的机会。
本文将深入探讨如何基于51单片机进行毕业设计,并重点关注创造性思维与技术应用的完美结合。
文章内容:第一部分:介绍51单片机及其应用领域(字数约500)1.1 51单片机简介- 深入介绍51单片机的起源、特点以及应用领域。
1.2 51单片机在毕业设计中的重要性- 引述一些案例来展示51单片机在毕业设计中的优势和应用领域。
第二部分:选择合适的毕业设计主题(字数约500)2.1 关键词分析和挑选- 解释如何使用关键词进行合适主题的挑选,以确保设计的可行性和实用性。
2.2 主题选择技巧- 提供一些有关选择合适的毕业设计主题的技巧和建议,如关注当前技术热点、市场需求等。
第三部分:案例研究 - 基于51单片机的智能家居系统设计(字数约1000)3.1 设计目标与功能- 确定设计目标并详细介绍智能家居系统的功能和优势。
3.2 硬件设计与软件开发- 解释如何使用51单片机实现智能家居系统,并附上代码和电路图。
3.3 安全性与可靠性考虑- 讨论如何保证智能家居系统的安全性和可靠性,并提供相关的技术方案。
第四部分:总结与展望(字数约500)4.1 毕业设计的经验与收获- 总结毕业设计过程中遇到的挑战以及通过解决这些挑战所获得的经验和收获。
4.2 对毕业设计的未来发展的展望- 探讨毕业设计领域未来的趋势和发展方向,以及如何将创造性思维与技术应用更好地结合起来。
观点和理解:在我的观点中,51单片机作为微控制器中的经典代表,具有广泛的应用领域和强大的功能。
通过基于51单片机的毕业设计,学生们可以将所学知识应用到实际项目中,培养实践能力和独立思考的能力。
同时,创造性思维在毕业设计中的重要性不可忽视。
基于单片机的简易逻辑分析仪

毕业设计(论文)题目:基于单片机的简易逻辑分析仪专业:电气化班级:3102班姓名:李如鹏学号:100130215指导教师:陈洪军2012 年3月25 日吉林铁道职业技术学院毕业设计(论文)成绩评议摘要逻辑分析仪是一种类似于示波器的波形测试设备,它可以检测硬件电路工作是的逻辑电平,并加以储存,用图形的方法直观的表现出来,一般的逻辑分析仪可以同时进行多个通道的分析,便于用户检查和分析电路中的错误,逻辑分析是电路设计中不可缺少的仪器,通过它可以迅速定位错误,解决问题达到事半功倍的效果。
关键词逻辑分析分析检查定位错误基于单片机的简易逻辑分析仪目录第一章引言 (1)1.1系统概述 (1)1.1.1 系统的特点 (1)1.1.2 系统的功能 (2)1.1.3逻辑分析仪分类 (2)1.1.4逻辑分析仪的工作原理 (3)1.1.5何时需要使用逻辑分析仪 (3)第二章系统主要硬件电路设计 (4)2.1 系统结构框图 (4)2.2 主体控制模块 (4)2.3.系统硬件的总体实现 (6)2.3.1数字信号发生器模块的电路设计与实现 (6)2.3.2主控系统模块的电路设计与实现 (7)2.3.3 LED显示模块的电路设计与实现 (9)2.3.4 硬件的抗干扰措施 (11)第三章软件设计 (12)3.1 系统软件流程 (12)3.2 中断服务子程序 (14)3.3 AT24C04程序设计 (15)结束语 (18)参考文献 (19)第一章引言信息时代是数字化的时代,数字技术的高速发展,出现了以高性能计算机为核心的数字通信、数字测量的数字系统。
在研究这些数字系统产品的应用性能的同时也必须研究在设计、生产和维修他们的过程中,如何验证数字电路设计的合理性、如何协调硬件及其驱动应用软件的工作、如何测量其技术指标以及如何评价其性能。
逻辑分析仪的出现,为解决这些问题提供了可能。
随着数字系统复杂程序的增加,尤其是微处理器的高速发展,用示波器测试己显得有些无能为力。
基于51单片机论文初稿

1. 简介1.1 什么是51单片机1.1 什么是51单片机51单片机是一种非常常见的单片机系列,也被称为STC单片机或者8051单片机。
它是由Intel公司于1980年推出的一款8位单片机,采用哈佛结构,具有高性能和低功耗的特点。
51单片机具有丰富的外设资源,如GPIO口、定时器、串口等,可以满足各种应用需求。
它的指令集相对简单,易于学习和编程。
由于成本低廉、易于获取和广泛应用,51单片机在教育领域和嵌入式系统开发中得到了广泛应用。
下面是一个简单的例子,演示了如何使用51单片机控制LED灯的亮灭以上例子中,我们通过控制P1口的第0位引脚来控制LED的亮灭。
通过循环不断地将LED灯点亮和熄灭,就实现了一个LED闪烁的效果。
这个例子展示了使用51单片机控制外部设备的基本方法,为后续的学习和应用打下了基础。
通过这个例子,我们可以看到,51单片机作为一种常见的单片机,可以通过简单的代码实现对外部设备的控制,具有广泛的应用前景。
1.2 51单片机的应用领域1.2 51单片机的应用领域51单片机广泛应用于各个领域,包括但不限于以下几个方面:1. 工业自动化:51单片机在工业自动化领域中扮演着重要的角色。
它可以用于控制和监测各种工业设备,例如温度控制、压力控制、流量控制等。
通过与传感器和执行器的配合,51单片机可以实现对工业过程的精确控制。
2. 家电控制:51单片机也被广泛应用于家电控制领域。
它可以用于控制家电设备的开关、调节和定时等功能。
例如,通过编程控制,可以实现空调的温度调节、电视机的频道切换、洗衣机的洗涤程序等。
3. 智能交通:在智能交通领域,51单片机被用于信号灯控制、交通监控和车辆管理等方面。
通过与传感器和通信设备的配合,它可以实现对交通信号的智能控制,提升交通效率和安全性。
4. 医疗设备:51单片机在医疗设备中的应用也非常广泛。
它可以用于监测和控制医疗设备的运行状态,例如心电图仪、血压计、呼吸机等。
基于51单片机的五篇论文

ATMEL公司生产的AT89C52单片机采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flsah程序存储器。它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。主要性能特点有:
8KB Flash ROM,可以檫写1000次以上,数据保存10年.
关键词电子万年历;单片机;温度传感器;时钟;数码显示
Abstract
Electronic perpetual calendar which is an application of the single-chip processor system, is utilized by combining hardware and software. And Hardware is composed of five modules: Main control unit, clock circuit,temperature testcircuit, displaycircuit, keyboard interface。Main control board adopts AT89S52,clockcircuitadopts the DS1302 clock chip,display module adopts the LED digital tube,and temperature test adopts the DS18B20 temperature sensor, keyboard interfacecircuitis completed by connecting ordinary button with pull—up resistor. Software takes advantage of C to program, so as torealizethe programmed control of single—chip processor。Single-chip processor gets the time data through using the DS1302 clock chip。The DS18B20 gathers temperature signals and transmits them to single—chip processor. Then, single—chip processor transmits the time data and the temperature data to the 74LS154 decoder. Lastly,the LED displays solar calendar year, year, month, day, hour, minute, second, alarm clock,week and temperature with being enlarged and driven by the C9015 triode.文档为个人收集整理,来源于网络文档为个人收集整理,来源于网络
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科生毕业设计报告学院物理与电子工程学院专业电子信息工程设计题目:基于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; //uiV oltage:LCD显示用,无小数点float fV oltage_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_V oltage(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_V oltage(); //当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工作fV oltage_DAC = 2.5;// put_and_Display_V oltage();// Delay_1ms(20);DAC_TLC5615_V oltage(fV oltage_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=fV oltage_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=fV oltage_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_V oltage();flay_a=0;}}}/******************************************************************************** 函数名:Display_V oltage功能说明:显示电压,整数调用函数:LCD_Pos Send_Data Write_LCD入口参数:V oltage(带显示电压*1000倍以后的值)x,y(从LCD的坐标x,y处开始显示)出口参数:无说明:显示范围为0-9999 列:当V oltage=1234时,显示1.234V********************************************************************************/void Display_Voltage(unsigned int V oltage,char x,char y){code uchar Display_Dot[1]={"."};code uchar Display_Unit[1]={"V"};LCD_Pos(x,y);Write_LCD(V oltage/1000+0x30,1);Send_Data(Display_Dot,1); //显示小数点Write_LCD(V oltage%1000/100+0x30,1);Write_LCD(V oltage%100/10+0x30,1);Write_LCD(V oltage%10+0x30,1);Send_Data(Display_Unit,1); //显示单位}/******************************************************************************** 函数名:Sample_V oltage功能说明:带有滤波功能的电压测量调用函数:ADC_TLC1549入口参数:无出口参数:V otlage(测量滤波后的电压)说明:********************************************************************************/unsigned int Sample_V oltage(void){double Filt_Tab[3]={0};char Flag_Filt_Tab = 0;unsigned int Tab_V ol[30] ={0},k=0,V otlage = 0;double Sum = 0;char i=0,j=0;///////////////////////平均值滤波////////////for(i=0;i<30;i++){Tab_V ol[i]= ADC_TLC1549();}for(j=0;j<30;j++)for(i=0;i<30-j;i++)if(Tab_V ol[i]>Tab_V ol[i+1]){k=Tab_V ol[i];Tab_V ol[i]=Tab_V ol[i+1];Tab_V ol[i+1]=k;}for(i=0;i<10;i++){Sum +=Tab_V ol[i+10]; //取中间二十组数据}Sum = Sum/10; //平均滤波后的值Votlage =(unsigned)(Sum/1024.0*3770); //扩大1000 //需要一阶滞后滤波时把Sum 修改成Filt_Tab[2]并取消屏蔽return V otlage;}/******************************************************************************** 函数名: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);}//一次显示四个电平值,显示在一列。