前言:中文期刊网精心挑选了单片机c语言范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
单片机c语言范文1
【关键词】单片机;延时程序
接触单片机有一年之久,从基础知识了解开始,到流水灯、数码管动静态显示,键盘到液晶等几个基本的模块,编了一些基本的小程序,发现其中最常用的延时程序用C语言编写也是千变万化的,不同的程序,不同的用途,精确度不一样,延时程序也需要有改变。下面就对我所知道的延时的方法谈下自己的见解。
总的延时方法通常有两种:一种为软件延时,通常采用循环的形式进行;另外一种为硬件延时,用到定时器/计数器,这种方法可以提高CPU的工作效率,并且能相对精确延时。
一、软件延时与时间计算
软件延时方式精确度不是很高,但是基本时间可以控制,并且移植性很好。
2.需要多种延时时间。还是8个灯做成流水灯,但是要求第一个灯亮1S,第2个灯亮2S,第三个灯亮3S……最后一个灯亮8S。
3.时间的确定。很多朋友看完我上面讲个两种延时方法可能会说,这样是方便了,但是上面的时间如何确定呢?你的时间确定图怎么来的?方法很简单,利用keil强大的功能实现。比如1S延时
另外还可以用示波器测试时间,需要外接示波器,用proteus画完连接图,接上示波器,再调用写好程序的hex,就可以很清楚的看到延时时间。下面为延时20ms图。
同时还可以用反汇编工具计算延时时间,汇编时间是很精确的,便于计算的。有兴趣的朋友也可以自己上网搜索这两种方法。对于初学的朋友,我建议还是用这种keil本身的工具比较方便。
二、用定时器/计数器实现精确定时
在很多情况下,需要我们精确定时,那么我们就不能用前面讲的调用小的延时子程序delay()来完成。所以就要考虑用精确的定时方式:定时器/计数器。
以上我介绍了对于写延时程序自己的一些肤浅的见解,在以后的学习中还需要进一步提高。粗略延时用基本的delay(),精确延时用定时/计数器。
单片机c语言范文2
关键词 单片机 C语言 规范性
中图分类号:G424 文献标识码:A DOI:10.16400/ki.kjdkz.2015.08.062
On the C Language Programming Normative in MCU Course
HUANG Xiaofeng
(Advanced Vocational Technical College, Shanghai University of Engineering Science, Shanghai 200437)
Abstract: For "SCM C language programming" teaching in programming problems, he attached importance to guide students in teaching practice modular, standardized program design emphasizes standardized programming for students to understand the structure and function of the program's important role and throughout the Teaching has always been, so that students micro controller applications has been greatly improved.
Keywords: SCM; C language; normative
0 引言
单片机技术课程一直以来作为高职计算机应用、电气自动化、应用电子技术等专业的主干课程。通过对单片机技术职业岗位需求分析可知,高职毕业生从事与单片机相关的职业技术岗位,主要有硬件测试工程师、软件测试工程师、硬件设计助理工程师、软件设计助理工程师等工作岗位。目前高职单片机课程多以MCS51系列为主,学生踏入工作岗位后,会涉及到其他各种类别的单片机,如AVR、MSP430、PIC等。由于软件编程灵活性强,对逻辑思维能力要求高,在单片机教学中学生普遍反映编程时无从下手,程序调试错误百出,面对调试中出现的问题不知如何修改验证,上机编程的教学实践过程更多则沦为代码录入。本文针对“单片机C语言程序设计”教学中存在的编程困扰,提出在教学实践中重视引导学生进行模块化、规范性程序设计,培养学生良好的编程习惯,提高程序的易读性、可移植性,为将来步入职业技术岗位打下坚实基础。
1 单片机C语言编程的规范性
以Kei C51软件编程为例并结合多年的教学经验,将单片机C语言编程的规范性主要归纳为:(1)文档的规范性;(2)变量、函数的规范性;(3)程序书写的规范性;(4)模块化编程等四个方面。
1.1 文档的规范性
任何一个单片机C程序都应该在工程下进行编译和管理,一个工程可以包含多个C文件,不同的C文件分别实现一个相对独立的功能。在单片机课程教学中部分学生一开始就忽略了工程的概念,或者通过一个C文件试图实现所有功能,这在功能较为单一的系统中是可行的,但稍微复杂一点的系统要想通过一个程序来完成其所有功能,程序的可读性和可移植性就会变差。因此,在编程之初就要强调工程对C程序源文件的管理作用,以及工程所包含的各个C文件之间的相互关系,并通过对C文件规范化的命名体现其功能,如键盘模块命名为key.c,显示模块命名为display.c,数据处理模块命名为datapro.c。
1.2 变量、函数的规范性
变量、函数的规范主要体现在命名的规范,一般要符合匈牙利命名规范。如表1所示,主要注意字母的大小写是有区分的,取名要与变量或函数的含义或完成功能相一致,并且要在教学中一直贯彻使用,望文生义以增强易读性。
此外,由于单片机头文件对一些常用的符号变量和特殊功能寄存器进行了定义声明,因此编程时对相关符号变量和特殊功能寄存器的操作一定要与头文件中的定义声明保持一致。如51单片机reg51.h头文件对端口(P0~P3口)、特殊寄存器、特殊的位、中断函数等做了定义声明,用户在对相关端口或SFR进行操作时只能严格的按照头文件中的声明使用,不能按照自己的想法随便更换名字,否则会造成编译出错,如果要想按照自己的习惯书写,要重新声明定义。如P1.0口在<reg51.h>定义为P1^0,若想用P1_0表示则必须用“sbit P1_0=P1^0;”作声明。常用的51系列单片机在KeilC51软件中的一些定义格式如表2所示。
表2 <reg51.h>或<reg52.h>头文件中常用的一些定义
3 模块化编程
模块化、规范化的程序设计,是提高程序的易读性、可移植性和复用性最为重要的手段。模块化程序设计的集中体现为六个字即“高内聚低耦合”。按照自顶向下的原则进行程序设计时,首先是引导学生进行系统功能分析,按照“低耦合”的原则进行软件模块的划分,勾勒出由主程序及各模块子程序搭建的大骨架、粗线条轮廓,继而深入到各个软件模块内部,依据“高内聚”的原则确定模块内程序结构。
以单片机无线多路温度采集系统为例,简单介绍软件编程的具体思路。如图1所示,无线多路温度采集系统主要包括单片机、温度数据采集、无线信号传输、键盘与显示器等模块,完成四路温度数据采集,并在液晶屏上显示实时温度信息。
图1 温度采集系统硬件框图
图2 温度采集系统软件模块组成
在课程教学中,依据无线多路温度采集系统功能,软件编程划分为温度采集、按键控制、显示、无线通信等子模块。其中温度采集程序完成温度数据采集与处理,键盘控制程序键扫描及处理,LCD显示程序完成屏幕刷新,无线通信程序实现单片机与PC机间的数据交换。各模块功能单一,且模块之间无直接联系,通过主程序对各模块进行调用与协调完成系统功能,每个模块作为一个函数、或单独作为一个C文件,并通过主程序完成各模块文件的调用与协调,其关系图如图2所示。可以看到,模块与模块之间耦合度较低,有利于程序的维护与移植。
1.4 程序书写的规范性
程序书写的规范性能够极大增加了程序的易读性。主要体现在:采用空行或注释符号分隔程序段落;if、for、while、do等语句自占一行,执行语句不得紧跟其后;程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐;如果出现嵌套的{},则使用缩进对齐;一般重要的代码行或段落采用“//” 注释提示等。
单片机c语言范文3
【关键词】智能车;单片机;转向
智能车系统以MC9S12DG128为核心,为了使智能车能够快速行驶,单片机必须把路径的迅速判断、相应的转向伺服电机控制以及直流驱动电机的控制精密地结合在一起。智能车系统一般由电源模块、传感器模块、直流电机驱动模块、路径识别模块、通讯及调试模块、单片机模块等组成。其中,转向伺服电机一般由单片机直接驱动。如果传感器部分的数据没有正确的采集和识别,转向伺服电机控制的失当,都会造成模型车严重抖动甚至偏离赛道;如果直流电机的驱动控制效果不好,也会造成直线路段速度上不去,弯曲路段入弯速度过快等问题。
1 电源管理模块
采用可充式电池为7.2V 2000mAh的电池,而单片机系统、路径识别系统的光电传感器和接收电路、车速传感器电路需要5V电压,伺服电机工作电压范围为4.8-6V,因此电源需要电压调节电路。
2 路经识别模块
路径识别模块是智能车系统的关键之一,路径识别方案的好坏,直接关系到最后性能的优劣。路径识别又红外检测和摄像头检测两种方法,在这里我们选用的是光电传感器寻迹方案。光电传感器寻迹方案与CCD相比有以下优缺点。
所谓光电传感器寻迹方案,即路径识别电路由一系列发光二极管、接收二极管组成,由于赛道中存在轨迹指示黑线,落在黑线区域内的光电二极管接收到的反射光线强度与白色的赛道不同,由此判断行车的方向。我们在智能车前排安装了13个传感器,采用的是前排7个,后排6个的安装方式,前排传感器与后排传感器间隔排开,每个传感器之间的距离是20mm。我们设每个传感器为一个位置量,而两个传感器之间又可以有一个位置量,这样可以在定义25个位置量来进行位置调解。我们在实际安装中将红外传感器分两排安装。两排安装虽然与单排相比,虽然降低了检测空间分辨率,但两排安装除了可以获取道路的中心位置,同时还可以得到方向信息。
3 舵机驱动模块设计
舵机是一个直流电机,舵机的控制一般由单片机的PWM信号来完成,这里用到的MCU的型号为飞思卡尔半导体公司提供的MC9S12DG128。驱动芯片也是由其提供的MC33886。舵机的结构包括:舵盘、减速齿轮组、位置反馈电位计5k,直流电机、控制电路板等组成。其工作原理如下:控制信号控制电路板电机转动齿轮组减速舵盘转动位置反馈电位计控制电路板反馈。舵机的响应时间对于控制非常重要,一方面可以通过修改PWM周期获得。另一方面也可以通过机械方式,利用舵机的输出转距余量,将角度进行放大,加快舵机响应速度。我们采用修改PWM周期优化舵机的响应时间。智能车的舵机是一个位置随动系统,通过内部的位置反馈,使它的舵盘输出转角正比于给定的控制信号,因此我们可以通过改变输出信号的脉冲信号的宽度来改变舵机的转角。因为舵机的控制信号是pwm信号,利用占空比的变化可以改变舵机的位置。具体方案是用单片机作为舵机的控制单元使pwm信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。利用Codewarrior 4.5 for HCS12作为程序编译软件,用C 语言来作为开发单片机控制程序的语言,完成控制算法。再将计算结果转化为pwm信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的pwm周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟pwm信号的输出,并且调整占空比。
当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。
具体的设计过程:例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现pwm信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。
【参考文献】
单片机c语言范文4
关键词:MCS-51 单片机 汇编 IDE 编译器
中图分类号:TP313 文献标识码:A 文章编号:1007-9416(2013)05-0029-01
1 单片机简介
1.1 单片机介绍
单片机是一种集成电路芯片,它将CPU、RAM、ROM、I/O接口、中断系统等等功能集成到一块硅片上,构成一个微型计算机系统,所以单片机也叫做微控制器。在工业控制领域中,单片机具有非常重要的地位。MCS-51单片机是一种8位单片机,虽然目前已经有32位单片机的出现,但8位单片机在很多行业中仍在被广泛使用,其性能较之以前也有巨大的提升。
1.2 单片机发展方向
单片机发展有两个方向:
(1)改进集成电路工艺,提高芯片速度。
(2)根据不同领域需要,在保留基本外设装置和公共指令的基础上,将不同的外设装置集成到芯片中。
(3)MCS-51单片机指令。MCS-51单片机的指令系统功能强、指令短、执行的速度也快,一共有111条指令以及8条伪指令,可以从功能上将其划分为数据传送、逻辑操作、算术操作、程序移位操作等四大类;空间属性上来分,分为单字节指令、双字节指令和三字节指令;时间属性上来分,分为单机器周期指令、双机器周期指令和四机器周期指令。MCS-51单片机的指令由操作码和操作数组成,操作数又有无操作数、单操作数、双操作数三种情况。格式如下:
【标号:】操作码助记符【目的操作数】【,源操作数】【.注释】。
伪指令不用计算机做任何操作,只是帮助汇编,不影响程序执行。
2 IDE简介
2.1 IDE介绍
IDE(Integrated Development Environment,集成开发环境),包括代码编辑器、编译器、调试器、用户界面等,是用于编程语言开发的应用程序。目前的单片机IDE,主要是由国外几大面向嵌入式系统的软件公司来开发,如:德国的Keil,美国的Franklin等,国内几乎没有自主研发的优秀的单片机IDE。
2.2 IDE主要功能
(1)代码编辑。程序员在使用IDE进行程序开发时,大部分的时间都是在进行代码的编辑,一个好的IDE应该在代码编辑中为用户提供帮助,提高他们的开发效率,例如:通过改善显示效果来提高程序可读性;让部门代码自动生成从而简化用户输入的动作;方便用户进行程序阅读等等。(2)项目管理与编译控制。(3)平台信息管理。主要是针对嵌入式开发环境,针对不同的CPU体系、开发板名称,将所有的平台信息在信息管理模块中分类记录,用户选取相应的配置文件来使用新的开发平台,这样就能最快的进入最终应用开发阶段。(4)调试功能。IDE的调试功能是十分重要的,它能检查出软件执行过程中出现的错误,当然,在嵌入式系统开发中,还要支持远程调试。
2.3 在IDE中单片机汇编程序的开发
基于MCS-51单片机汇编语言程序的应用系统开发,有以下几个步骤:(1)源代码编辑。(2)生成目标程序。(3)下载或编程。(4)调试。
3 设计思路与详细步骤
3.1 界面设计
设计IDE时,选择微软的VC++工具,它是面向对象的程序设计工具,可视化功能强,界面友好,易于解决大型问题,软件维护方便。选好设计工具,就开始进入界面的设计,要让单片机汇编语言的初学者较好掌握这门语言,IDE就应该简单直观,易于操作。编辑框当中包含以下几个部分:(1)文件(file):新建、打开、保存、关闭、打印、退出;(2)编辑(edit):剪切、复制、粘贴、查找、撤销;(3)编译(compile):编译连接、装载程序;(4)实验演示和参数设置;(5)系统登录。
3.2 编译器设计
3.2.1 分解
一个编译器的整个工作流程是分阶段进行的,这几个阶段是:词法分析、语法分析、语义分析、目标代码生成。如果编译过程中发现源程序有错误,编译程序要报告出错误的性质和发生的地方,将错误的影响尽量限定在很小范围内,使得程序的其他代码能继续被编译。
3.2.2 设计步骤
(1)总体设计。设计时使用两遍扫描,第一遍是建立符号表和确定源程序每一行的偏移地址,同时检查汇编程序是否有错误;第二遍是利用第一遍扫描所生成的符号表,产生可供微处理器执行的机器代码文件,并产生一个列表文件。
(2)指令系统设计。MCS-51单片机共有111条可执行的指令和8条伪指令,建立一个对象,用来存储用户使用的指令系统的信息,如序号、操作数对应的Token码等,为了在编译时能够判断输入的语句正确与否,先要建立一个指令表和操作码表,然后将语句与111条指令进行匹配。
(3)词法分析设计。MCS-51单片机汇编语言程序,是将若干条MCS-51指令行组合而成,指令行格式:
【标号:】MCS一51操作码【操作数1】,【操作数2】,【操作数3】【;注释】
伪指令语句格式:
【标号:或字符串】MCS-51伪代码表达式列表【;注释】
定义一个类来进行词法分析,设置两个变量a,b,分别代表读入单词的头指针和尾指针,先将b的值赋值给a,然后通过循环逐个判断,得出a的真正位置,从而实现对词语的判断。
(4)符号表管理设计。符号表一个链表中的每个元素都是一个结构体,每个结构体包含多个域,如果遇到一个词语并判断出它是变量,就将它的名字、类型、值描述出来,存入符号表。
(5)出错处理设计。发现的错误必须由用户对源程序进行改正后再重新编译,错误信息和警告信息包括:出错的汇编源文件的文件名,出错行的行号,具体的出错信息等。
参考文献
单片机c语言范文5
【关键词】超声波;PIC;原油降粘;参数优化
1.引言
光由于我国的油气藏多为陆相沉积,油藏类型较为复杂,油层物性并非十分良好,油层薄而互层较多,原油物理性质区别较大,油层所能承受压力较小,而且井下油水关系复杂,因此开发油气藏增产技术十分必要。超声波采油可以用于解堵、提高采收率、防蜡、降粘、脱水、脱气、防垢、乳化、破乳等多个方面,是以物理作用为基础,应用范围广泛,不存在造成油层污染的外来因素,同时还具备适应性强、工艺简单等优点的先进采油技术。
设计采用PIC单片机作为系统的控制核心,控制超声波频率、作用时间、声强等各项参数对岩心渗透率以及原油粘度的影响规律,最终进行参数优化以达到更好的应用效果,进而解决实际问题[1]。
2.总体电路设计
该系统包括超声波信号控制部分、超声波发生器、信号检测部分等组成。其中控制核心为PIC系列PICF16887单片机,具有全新的流水线结构,数据总线和指令总线分离的哈佛总线(HARWARD)结构、单字指令体系,与其它单片机相比,具有性能完善、功能强大、开发应用方便、人机界面友好等突出优点。PIC16F877具有PIC系列单片机的全部优点,有28个引脚,22个通用I/O口,5路的10位AD转换通道,2路PWM发生器,13个中断源,3个定时计数器,自带“看门狗”,可以在线编程。本设计通过PIC单片机强大的PWM发生器来产生系统所需频率信号。主要控制电路如图1所示。
图1 PIC控制电路
系统使用运算放大器UA741进行信号的采集[2],采集信号包括系统电流、电压值,系统温度等。
3.原油超声波驱油实验研究
3.1 超声波频率对原油驱油效果的影响
图2 不同超声波频率作用下的粘温曲线
在超声波频率定性分析实验中,采用的超声波频率分别为20kHz、28kHz、40kHz和68kHz,为了减小实验测量结果的误差,在每个频率下均对三个油样进行处理,测量结果取实验数据的平均值。固定超声波处理器的功率,调整实验装置的频率,使得在每一个频率下超声波实验装置对原油样品累计作用时间相同,测量原油样品在不同恒温水浴温度下的粘度值。原油超声波频率驱油实验所得的实验结果如图2所示。
在选用的四个频率中,20kHz左右的超声波作用原油后降粘幅度最大,降粘率最高,驱油效果最好。随着超声波频率的增大,降粘幅度、降粘率、驱油效果均逐渐降低。产生这一现象的原因是:在其他实验条件保持相同的情况下,超声波的频率越小,振荡周期越长,则为空化泡生长、增大、崩溃等过程提供的时间越充足,空化效应更易于产生。同时,对于空化效应产生的空化泡,其振动幅度会随着超声波频率的降低而增大,破坏原油原有蜡层结构,对蜡晶的形成和生长有一定的阻碍作用,降低了原油粘度。根据实验可知,采用频率约为20kHz的超声波作用原油获得的驱油效果最佳[3]。
3.2 超声波累计作用时间对原油驱油效果的影响
在超声波累计作用时间定性分析实验中,超声波累计作用时间分别为1min、3min、5min和7min,为了减小实验测量结果的误差,在每个累计作用时间范围内均对三个油样进行处理,测量结果取实验数据的平均值。固定超声波处理器的频率和功率,调整超声波实验装置的累计作用时间,使得在每一个累计作用时间范围内超声波实验装置处理原油样品,测量原油样品在不同恒温水浴温度下的粘度值[4]。原油超声波累计作用时间驱油实验所得的实验结果如下:
图4 累计作用时间与降粘率的关系曲线
图5 不同超声波功率作用下的粘温曲线
3.3 超声波累计作用时间对原油驱油效果的影响
设定超声波实验装置的功率分别为50W、100W、150W和200W,为了减小实验测量结果的误差,在每个功率下均对三个油样进行处理,测量结果取实验数据的平均值。固定超声波处理器的频率,调整实验装置的功率,使得在每一个功率下超声波实验装置对原油样品累计作用时间相同,测量原油样品在不同恒温水浴温度下的粘度值[5]。原油超声波功率驱油实验所得的实验结果如图5所示。
当含水率小于50%时,超声波处理前后的原油粘度进行比较可知,超声波处理低含水率的原油没有明显降粘效果,且含水率越低,降粘效果越不明显。当含水率在50%到60%之间时,原油降粘幅度较大,降粘率显著增大,降粘效果明显。当含水率大于60%时,原油降粘率略有减小,但降粘效果依旧显著。
4.结束语
超声波频率对原油粘度影响较大,随累计作用时间的增加,降粘率先增大后减小,出现一个峰值。在累积作用时间为1min时,降粘率较小,降粘效果不明显;在累计作用时间为3min左右时,降粘率达到峰值,约为33%;在累积作用时间超过3min后,降粘率有所降低,但幅度较小,降粘效果基本平稳。随超声波功率的增大,原油降粘率先增大后逐渐趋于平稳。当超声波功率为50W时,超声波降粘幅度较小,降粘率较小,仅为15.76%,驱油效果较不明显;当功率为100W时,原油粘度明显降低。随着功率的进一步增大,降粘率继续增大,但增幅减小,降粘率相对较为稳定。一味增大实验装置功率,会缩短装置寿命,因此优选出的超声波功率约为100W。
参考文献
[1]田松柏.原油评价标准试验方法[M].中国石化出版社,2010.
[2]孟科全,唐晓东,邹雯,崔盈贤.稠油降粘技术研究进展[J].天然气与石油,2009(03):147-149.
[3]Ahmed N S,Nassar A M,Zaki N N,et al.Formation of fluid heavy oil in water emulsions for pipeline transportation Corporate.Fuel.1999.
单片机c语言范文6
【关键词】 单机 CPLD 数字存储示波器 研究
前言:
在信息化时代背景下,数字存储方式的诞生,能够借助示波器的运用,实现对信息的数字化存储,在此过程中,借助A/D变换器的使用,信号以波形输入后经由此转化为数字信号并存储于RAM中。在使用这一数据信息时,这可从RAM中调出,然后经过D/A转换为信号模拟量,进而呈现于计算机显示器上。而基于数字存储示波器下,在信号处理与显示两种功能是分开设置的,在实际进行设计的过程中,则借助了单机片与可编程器件的运用,实现了数据处理与控制核心的搭建,在此基础上以完善功能模块的组件来实现这一系统的打造。
一、通道输入信号调理电路与双限窗口比较器
基于输入信号下,相应的动态范围大,因此,在实际进行设计的过程中,这一如下方法落实:先衰减后放大的电路结构,在电路的前级,采用的是八位双D/ATCL7528构成程控衰减器,其中,参考电压为输入信号,在D/A端输出电压为VO=DIN/256VREP=DIN/256VIN,其中,VIN表示的是输入电压,DIN表示的是D/A输入的数字量,而针对DIN进行改变,这就意味着需要改变衰减器的衰减倍数。而在电路的后级上,这以高性能仪表放大器作为程控放大器,型号为AD620,在此过程中,要想促使相应的垂直分辨率能够达到0.01V/div,通过计算得出相应放大电路的增益G等于62.5。
而在双限窗口器上,借助这一模块设备的运用,这是为了确保在幅度垂直灵敏度方面能够实现对超越信号的自动检测与控制,在同道调理电路下,相应输出信号如果超出了窗口限定范围,这一比较器的输出电平较高。
二、控制面板电路与触发信号产生电路
在控制面板上,基于整个系统中,相应控制面板是由键盘、通道1、2垂直位置、触发电平与位置以及主时基位置,总共有五个调节旋钮,为实现简单便捷的操作奠定了基础。在触发信号产生电路上,基于触发电路的设置作用下,为了最终所处产生的上升沿触发信号具备有效性,在针对这一触发信号产生电路进行设计的过程中,在边沿的出发信号产生电路上,其核心是比较电路,基于这一比较器下,其型号为MC3486,而在所采用的芯片下,能够实现对10MHz输入信号的处理,且在信号输出上,与TTL电平产生了兼容性。同时,在最大幅度触发所产生的电路为:基于峰值下,针对电路记录信号的峰值进行保持,且与输入信号进行对比分析,在此基础上,得出:如果输入信号要比峰值保持电路输出电平低,比较器输出上升沿触发信号。
三、采集存储逻辑电路与显示器控制模块
在采集存储逻辑电路上,其所承担的主要功能为:在A/D转化数据后进行存储,实现对接口、触发控制以及采集存储等模块的逻辑控制,在设计的过程中,这采用了一片CPLD器件进行实现,型号为EPM7128SLC84。基于触发控制逻辑电路下,这是借助触发选用与使能逻辑构成的,以单机片进行控制,促使线路在配合的过程中实现相应触发功能的充分发挥;而采集存储控制模块下,作为这个系统的控制核心,是由可编程分频器、地址计数器、延迟计数器以及时钟选择器构成。
在显示控制模块下,采用的是示波器下X-Y方式,借助这一方式,相应示波器的偏转电压需要由外部进行提供,包括垂直与水平轴,而在相应的显示器屏幕上,对应着一个X-Y坐标,这就意味着在提供了波形坐标数据的基础上,能够借助D/A转换后,将其送入到X-Y轴中。而基于显示控制电路下,其主要是由时钟选择器、地址计数器以及X-Y数据器等组建而成,在单片机下,实际写数据的过程中,相应时钟显示器回进行写信号通选,在数据存储上,呈现出的规律为Y1/X1、Y2/X2。
在能够进行显示时,时钟显示器一般都是先选择显示时钟,而在地址计数器上,则是以固定频率进行循环计数的,相应RAM这借助显示器的运用,将其作为时钟,二在X/Y的锁存器通选信号上,则以地址充当,进而实现奇偶数的分类存储。在此基础上,进行系统软件设计,要确保相应软件设计与硬件配套,并满足实际运行之需。
四、总结
综上,在针对单片机及CPLD的数值存储示波器进行了研究,在进行这一系统设计的过程,借助CPLD的运用,能够为实现对数据的有效且完善采集、存储,为充分发挥出这一数字示波器的作用与价值奠定基础。
参 考 文 献
[1]张越,王均树,张炎,赵延军.基于单片机与CPLD的数字存储示波器[J].微计算机信息,2007,26:227-228.