已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用电子技术教育专业毕业设计0 引言本数字实验箱以单片机为核心,对各个模块进行控制,使其协同工作。单片机自问世以来,性能不断提高和完善,加之单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。对各个行业的技术改造和产品的更新换代起到了重要的推动作用。0.1课题背景现在可以说单片机是处在百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位机到32位机,数不胜数,应有尽有,有与主流51系列兼容的,也有自成一家的,它们各具特色,互成互补,为单片机的应用开辟了广阔的天地。纵观单片机的发展过程,可以预示单片机将会朝着以下趋势发展:低成本高集成度的单片机片上系统;8位单片机的市场份额依然领先;处理器的多核结构;功耗更低;电压范围更宽;工艺更先进和封装更小。近年来随着计算机技术的飞速发展,大量高性能、采用新技术、新原理的嵌入式系统cpu的面世,给传统的微机教学带来了很大的冲击,对微机教学尤其是实验环节的安排提出了新的课题。微机的产生及其发展水平主要体现在其核心部件微处理器的性能上。随着微处理器的不断更新换代,相关部件也随之相应发展,使人们对传统微机教学内容和方法都普遍感到不足。回顾我国微机教学走过的路,大多数院校都是从86系列或mcs-51系列走过来的。所以86系列和mcs-51系列单片机在国内普及单片机应用方面功不可没,但是86系列后来的发展,由于新的原理和技术的不断引入,使它在短学时教学上发生困难,特别是pc机硬件和windows技术的推进,通用机的硬件很难作为教学的参考模型来讲授。随着一些高集成度、高性能的8位和16位risc 单片机的推出,基于标准8051 内核的单片机正面临着退出市场的境地。因此一些半导体公司开始对传统8051内核进行大的改造,主要是提高速度和增加片内模拟和数字外设,以期大幅提高单片机的整体性能。silicon laboratories labs 集成产品公司推出的c8051f 单片机的出现令业界人士耳目一新,使广大单片机系统设计人员看到了51单片机新的曙光。mcs-51 单片机引入教学已达10年之久,大家一直期盼着有更先进的单片机引入教学,c8051f 已成为事实上51的升级换代产品,那么必然会成为经典单片机教学的方向。0.2课题的研究意义单片机基础是工科类专业的重要技术基础课。该课程实践性和实用性都很强,其最终目标在于培养工科学生的硬件应用和软件设计的综合能力。因此,教学中实验系统的优劣将直接影响该课程的教学效果和学生的应用能力的培养。我校已建的计算机硬件应用实验室在多年的教学实验和实践环节中发挥了极其重要的作用。但也要看到,由于技术的发展,应不断更新教学内容,淘汰不够先进的部分,以适应社会对人才的需要。但是单片机课程对实践环节的依赖比较大,实验手段的局限是制约教学水平的重要因素。为了提高未来各相关专业单片机基础类课程实验与实践环节的教学水平,迫切需要在围绕满足当前和未来单片机基础类课程教学的要求基础上对新型微机实验系统及其相关实践环节的教学方法做一些探索性的研究工作。0.3课题的研究基础作为典型嵌入式系统的单片机,在我国大规模应用已有二十余年历史,在全国高等工科院校中,己普遍开设单片机及其相关课程。单片机成为电子系统中最普遍的应用手段,除了单独设课程外,在涉及的许多实践环节,如课程设计、毕业设计、甚至研究生论文课题中,单片机系统都是最广泛的应用手段。近年来,在高校中大力推行的各种电子设计竞赛中采用单片机系统来解决各类电子设计问题已成趋势,这些都给本课题的系统开发提供了许多有益的借鉴和参考,并成为本课题研究的基础。0.4课题的主要目的实验作为教学的一个重要组成部分有其特殊的意义,实验教学是培养学生创造能力和强化学生基础技能的重要环节,是教学工作的重要组成部分,特别是我校一直注重以实验技能为主,本实验箱开发的成功能够给我院的学生提供了更好的学习机会,为学生进行自主创新设计提供了良好的软硬件平台。本实验箱所涉及到的所有实验项目,都可以发挥学生的想象和动手能力,每个实验都给学生预留了足够的个人发展空间,可让学生充分的发挥个人的能动性。本系统通过不同模块的灵活组合,可完成从单元到系统,从简单到复杂的实验。1 系统总体设计1.1系统概述本系统采用silicon laboratories公司的8位c8051f系列单片机c8051f020为主控制器,同时采用80c51为辅助控制器,在能满足从中学习实用产品的开发方法的情况下同时兼顾到初学者的需求。控制器与各个模块之间采用导线进行连接,由使用者在做实验时自行连接,以达到加深对电路理解的目的。各个模块之间相互独立,可以数个模块组合使用来完成一个综合的实验项目。1.2系统组成本实验箱是一个完整的系统,它有以下几个模块组成:触摸屏模块、点阵模块、数码管显示模块、dds模块、频率计模块、直流电机模块、步进电机模块、无线传输模块、键盘模块、红外传输模块、模数转换模块、数模转换模块、流水灯模块、语音模块、串口通信模块和温度传感器模块。系统组成框图如图1.1所示。 图1.1 系统组成框图1.3各模块的功能 触摸屏模块:用液晶进行汉字、数字、字母和图形显示和通过触摸屏进行输入。点阵模块:通过点阵进行汉字、数字和字母显示。数码管显示模块:用数码管显示阿拉伯数字。dds模块:用直接数字式频率合成的方法产生正弦波和方波。频率计模块:进行信号的频率测量。直流电机模块:通过pwm方法进行直流电机调速。步进电机模块:控制步进电机的转速和转向。无线传输模块:进行数据无线传输。键盘模块:进行人机交互。红外传输模块:通过红外线进行数据传输。模数转换模块:将模拟量转换成数字量。数模转换模块:将数字量转换成模拟量。语音模块:进行声音的录放。串口通信模块:通过串口进行通信。温度传感器模块:显示环境温度。流水灯模块:用各种方式点亮一排发光二极管。2 各模块的设计该实验箱由多个模块组成,下面主要介绍的系统模块有:触摸屏模块、点阵模块、数码管显示模块、dds模块、频率计模块等。2.1仿真头的设计1)方案论证初学单片机或是业余单片机开发者特别是学生,每次总要不断的调试程序,如没有仿真设备又不喜欢用软件仿真,那只有每次把编译好的程序烧录到芯片上,然后在应用电路或实验板上观察程序运行的结果,对于一些小程序这样的做好也可以很快找到程序上的错误,但是程序大了,变量也会变的很多,而直接烧片就很难看到这些变量的值,在修改程序时还要不断的烧片实验,确实很麻烦,这时如果有一台仿真器就会变得很好方便了。但一台好的仿真器确实有一些贵,为了配合本实验箱中的80c51的实验制作了一个仿真头。通过此仿真头可以在没有仿真器的情况下实现单片机程序的在线调试及程序的硬件仿真,对于初学者来说硬件仿真要比软件仿真能更好地理解单片机指令执行后产生的效果,即便是好手,在调试程序时,有了仿真头的帮助会达到有事半功倍的效果。虽然这个仿真头有些方面不够完善,由于串口被占用而不能仿真串口通信的程序,但价格较仿真器有决对的优势,非常适合学生使用。2)电路原理图本电路有单片机sst89c58、振荡电路、复位电路、3个3针的插接头和1个40针的插接头构成。单片机sst89c58用来存放监控程序,振荡电路提供sst89c58的时钟信号。电路原理图如图2.1所示。3)制作及设置方法可以从sst官方网站下载一个名为softice_58.zip的压缩包,解压后就有softice58.hex文件在其中,用编程器将仿真监控程序softice58.hex写入sst89c58中,再把它插到电路中即可。因为sst89c58有两个程序存储区,注意在烧写时应该把仿真监控程序烧写到sst89c58的第二个存储区,也就是rb1。这里要注意如果要烧写bsl固件程序,制作iap在线下载器时不要对加密位sb1sb3进行加密,并设存储位位rb1,否则无法用iap功能。 图 2.1 仿真头电路原理图(a)与keil uv2的连接使用:制作好的仿真器要连接功能强大的keil uv2单片机集成开发软件才能发挥它所有的性能。使用时先用串口线把仿真头连接到电脑的串口上,再把仿真头接到目标板上,仿真头所需的电源是通过40和20脚在目标板上取得,如目标板上有串口电路,则把仿真器的拨码开关1和2关掉,转用目标板上的串口接入电脑。如目标板有晶振时应关掉3和4。如目标板上有完整的时钟、复位和串口电路,则可以直接把带有仿真监控程序的sst89c58芯片插到目标板上使用。如果遇到仿真头不能复位的情况,是因为仿真头上的复位电路和目标板上的复位电路有冲突,造成复位电平过低,暂时关掉其中的一个复位电路即可。(b) keil基本设置和应用:点击图2.2中的项目设置菜单进行程序项目的设置。在项目设置debug页中选择对应本仿真器的keilmon51驱动,如图中2.3所示。图2.4是在进行的仿真器设置。设置好串口号、波特率,晶振为11.0592m时选用38400 。选取cacheoptions后会加快仿真的运行的速度。设置好上述项目后编译运行程序就可以连接仿真器了,如果连接不成功就会出现图2.5,这时可以先复位再按“try again”,还连接不成功则应检查软件设置和硬件电路。图 2.2 项目设置菜单 图 2.3 驱动设置菜单 图 2.5不成功提示图 2.4 仿真头设置2.2数码管显示模块的设计1) 方案论证通常的led显示器有7段或8段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极led显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极led显示器的工作原理也一样。方案一:采用静态显示方式。在这种方式下,各位led显示器的共阳极(或共阴极)连接在一起并接电源正极(或地),每位的段选线分别与一个8位的锁存器输出相连,各个led的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止,正因为如此,静态显示器的亮度都较高。若用i/o口接口,这需要占用n x 8位i/o口(led显示器的个数为n)。这样的话,如果显示器的个数较多,那使用的i/o接口就更多,因此在显示位数较多的情况下,一般都不采用静态显示方式。方案二:采用移位寄存器扩展i/o口,只需要占用3个i/o口,即数据(data)、时钟(clock)、输出使能(output enable),从理论上讲就可以无限制地扩展i/o口,显示数据为静态显示,占用较少的cpu资源。这种显示方式占用的i/o口个数为3,需要的移位寄存器的个数为n(n为led显示器的个数),当显示位数较多时会造成成本上升。方案三:采用动态显示方式。当多位led显示时,通常将所有位的段选线相应的并联在一起,有一个七段显示译码器控制,形成段线的多路复用。而各位的共阳极或共阴极分别有相应的i/o口线控制,实现各位的分时选通。其中段选线占用4位i/o口,而位选线占用n个i/o口(n为led显示器的个数),当n3时,可以加入一个译码器,以减少i/o口的占用数量。由于各位的段选线并联,段码的输出对各位来说都是相同的,因此,同一时刻,如果各位选线都处于选通状态的话,那led显示器将显示相同的字符。若要各位led能显示出本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示的字符的段码。这种显示方式占用的i/o口个数为4+log2n(n为led显示器的个数),相对于静态显示少了很多,但需要占用一定数量的cpu资源。通过论证比较选择方案三。理由:本设计需要八个led显示器,较方案一,可以节约相当数量的i/o口资源,较方案二可以节约7块ic,从而实现低成本的目的。2) 硬件电路设计本设计采用8个共阳极8段数码管,因此七段显示译码器采用74ls47,与所有的led的段选线相连,对其进行段驱动。而位选线采用3线8线译码器74ls138进行驱动,达到减少i/o口的占用量的目的。点亮时要让led得到最大的顺向电流,通常一个led需要10ma。在做八位数的扫描时,每一个led的平均电流值仅有1/8的最高电流值,因此扫描时要得到适当的亮度最好有50ma以上的瞬间电流,通常红色发光二极管的正向压降为1.6v1.8v,我们取其中间值1.7v。那么led的限流电阻r为: r = u / i (2-1)r = (5 1.7 )v / 50 ma = 66 () (2-2)考虑到有的实验项目只用到其中一部分数码管进行显示,因此选择100的限流电阻。将8个dp段并联后再串联100的限流电阻接至一个i/o口,这样仅需要一个八位的i/o口即可完成对led显示器的控制。电路原理图如图2.6所示。 图 2.6 数码管显示电路原理图3)软件设计led显示器有静态显示和动态扫描显示两种工作方式。静态显示。显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再控制led,直到下次显示时再传送一次新的显示数据。显示数据稳定,占用的cpu时间少,使用的电路硬件较多,成本较高。动态扫描显示。动态扫描用分时的方法轮流控制各个显示器的com端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。显示数据有闪烁感,占用cpu时间较多,但使用的硬件较少,节约成本,具有一定的实用性,是目前单片机led显示较为常用的显示方法。本设计用80c51单片机控制数码管显示“12345678” ,用定时中断服务程序进行扫描。每次点亮一个数码管,每个数码管点亮2毫秒,依次循环点亮。2.3点阵模块的设计1) 方案论证方案一:静态驱动显示。从理论上讲,不论显示图形还是文字,只要控制这些组成图形或文字的各点所在位置相对应的led器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16 x 16点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16 x 16的点阵需要256 / 8 = 32 个锁存器。这个数字很大,因为我们仅仅是16 x 16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。方案二:动态扫描显示。所谓动态扫描简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。以16 x 16点阵为例,我们把所有同一行发光管的阳极连在一起,把所有同一列发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出对应第12行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭;第16行之后又重新点亮第一行,这样反复轮流。当这样轮流的速度足够快时(每秒24次以上),由于人眼的视觉暂留现象,及发光管的辉光效应,我们就能看到显示屏上稳定的文字或图形了。采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排列。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或川行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多,当列数很多时,并行传输方案是不可取的。采用串行传输方案,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,当串行传输过程较长时,数据按顺序一位一位地输出给列驱动器,只有一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到led的亮度。考虑到本设计为16 x 16点阵,且所采用的单片机c8051f020有8个8位i/o口,因此采用动态扫描并行方式传输列数据的方案,较串行传输方案可以节约两片8位锁存器。2)硬件电路设计硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路3部分。电路原理方框图如图2.7所示。 图 2.7 电路原理方框图(a) 单片机系统及外围电路: 单片机系统采用c8051f020,采用内部16m晶振,以获得较高的刷新频率,使显示更稳定。p7、p6口来控制行驱动器,送出行选信号。p5、p4口送红色显示数据,p3、p2口送绿色显示数据。(b) 列驱动电路:由p5、p4和p3、p2口分别直接做红色和绿色的列驱动电路。(c) 行驱动电路:由p7和p6口与驱动器相连驱动对应的行线。一条行线上要带动16列的led进行显示,按每一led器件10ma电流计算,16个led同时发光时,需要160ma电流,选用三极管8550作为驱动管可满足要求。电路原理图如图2.8所示。 图 2.8 点阵电路原理图3) 软件设计显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层设计的原理,可以把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统主程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成led屏的扫描显示工作。显示驱动程序由定时器t0中断程序实现。系统主程序完成完成初始化、显示效果处理等工作。(a) 显示驱动程序: 显示驱动程序在进入中断后首先要对定时器t0重新赋初值以保证显示刷新频率的稳定,1/16扫描显示刷新频率(帧频)的计算公式如下: 刷新频率(帧频)=(1/16)x t0溢出率 = fosc/16 x 12 x(65536-t0) (2-3)fosc为晶振频率,t0为定时器t0初值。显示驱动程序查询当前点亮的行号,从显示缓存区内读取下一行的显示数据。为了消除在切换行显示数据时产生的拖尾现象,驱动程序先要关闭显示屏,即消隐。流程图如图2.9所示。(b) 系统主程序:系统主程序开始以后首先是对系统初始化,包括设置定时器、中断和端口。然后以每次向左滚动一列效果显示“天津工程师范学院”,接着以每次向左滚动一个字效果显示,可以设置系统不断地循环执行上述显示效果。流程图如图2.10所示。 图 2.9 显示驱动程序流程图 2.10系统主程序流程图2.4触摸屏模块设计1) 方案论证液晶显示器(liquid crystal display)具有显示信息丰富,功耗低,体积小,质量轻等优点,是单片机控制的应用系统中理想的显示器件,在自能仪器仪表、工业控制领域和家用电器中有着广泛的应用前景。通常可分为数显型液晶显示器、点阵字符型液晶显示器和点阵图形型液晶显示器三种。方案一:数显型液晶显示器。这是一种由段型液晶显示器件与专用的集成电路组装成一体的功能部件,大多应用在便携、袖珍设备上,具有某种通用的、特定的功能的受市场的欢迎。常见的数显型液晶显示模块有以下几种:计数型、计量型、计时型等,但其仅能显示数字和一些标识符号。方案二:点阵字符型液晶显示器。它是由点阵字符液晶显示器件和专用的行、列驱动器、控制器及必要的连接件,结构件装配而成的,本身具有字符发生器,显示容量大,功能丰富。一般该种模块最少也可以显示8位1行或16位l行以上的字符。这种模块的点阵排列是由57、58或511的一组组像素点阵排列组成的。每组为1位,每位间有一点的间隔,每行间也有一行的间隔。一般在模块控制、驱动器内具有已固化好192个字符字模的字符库cgrom,还具有让用户自定义建立专用字符的随机存储器cgram,允许用户建立8个58点阵的字符。但其只能显示数字和西文字符不能显示中文和图形。方案三:点阵图形型液晶显示器。这种模块也是点阵模块的一种,其特点是点阵像素连续排列,行和列在排布中均没有空隔。因此可以显示了连续、完整的图形。由于它也是有x-y矩阵像素构成的,所以除显示图形外,也可以显示字符。通过论证比较选择方案三。具体的型号为金鹏公司的ocmj8x15b液晶显示器。理由:方案一和方案二中的液晶显示器的显示能力较差,不能满足本实验箱中其它模块的显示要求。ocmj8x15b为240x128点阵图形型液晶显示器,它内含 gb 2312 15x15点阵国标一、二级简体汉字和 8x8点阵及8x16点阵ascii字符,用户输入gb2312区位码或 ascii 码即可实现文本显示。用户可在指定的屏幕位置上以点为单位或以字节为单位(横向)进行图形显示操作,完全兼容一般的点阵图形液晶显示模块的功能。可以实现汉字、ascii码、点阵图形和变化曲线的同屏显示,可以通过字节点阵图形方式造字,可以上、下、左、右整屏移动显示屏幕及整屏清除屏幕,反白显示,并且带有触摸屏等,可以通过触摸屏进行输入,更符合发展趋势,同时更能体现本实验箱高端的特点。与同类型的带触摸屏点阵图形液晶显示器相比,具有硬件电路结构简单,硬件接口采用req/busy握手通讯协议,简单可靠,用户接口命令代码简单,仅有13个,非常容易记忆,且价格也略低于同类型的其它液晶显示模块的优点。2)硬件电路设计图2.11为ocmj8x15b与c8051f020连接的电路原理图。电位器r1调整显示对比度,电位器一端接地(vss),一端接17脚(vee/rt1),可调端接18脚(vo/rt2),调整电位器可以调整显示对比度。表2.1为ocmj8x15b的引脚及功能。 表 2.1 ocmj8x15b的引脚及功能引脚名称方向说明引脚名称方向说明1led-i背光源负极(ov)10db5i数据52led+i背光源正极(+5v)11db6i数据63vssi地12db7i数据74vddi(+5v)13busyo应答信号=1:已收到数据并正在处理中=0:模块空闲,可接收数据5db0i数据014reqi请求信号,高电平有效6db1i数据115resi复位信号,低电平有效7db2i数据216nc悬空8db3i数据317veelcd 驱动负压输出端9db4i数据418volcd 驱动电压输入端以下19-30脚为触摸屏接口19dclki外部时钟输入20/csi片选信号21dini串行数据输入口22stao应答信号1忙 、0空闲23douto串行数据输出口24/into触摸中断25int3i附加输入(可不用)26int4i附加输入(可不用)27x1ix+输入端28y1iy+输入端29x2ix-输入端30y2iy-输入端 图 2.11 触摸屏电路原理图3) 软件设计ocmj8x15b接口协议为请求/应答(req/busy)握手方式。应答busy高电平(busy =1)表示 ocmj8x15b 忙于内部处理,不能接收用户命令;busy 低电平(busy =0)表示ocmj8x15b 空闲,等待接收用户命令。发送命令到 ocmj8x15b可在busy =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平req 信号(req =1)通知ocmj8x15b 请求处理当前数据线上的命令或数据。ocmj8x15b在收到外部的req高电平信号后立即读取数据线上的命令或数据,同时将应答线busy 变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线busy 是否为低(busy =0?),如果busy =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。命令介绍:(1) 显示国标汉字命令格式: f0 xx yy qq ww该命令为5字节命令(最大执行时间为1.2 毫秒,ts2=1.2ms),其中xx:为以汉字为单位的屏幕行坐标值,取值范围00h 到07h、02h 到09h、00h 到0bh、00h 到09h、00h 到09h、00h 到0ehyy:为以汉字为单位的屏幕列坐标值,取值范围00h 到01h、00h到03h、00h到03h、00 到04h、00h到07h、00h 到07hqq ww:坐标位置上要显示的gb 2312 汉字区码、位码(2) 显示8x8 ascii字符命令格式:f1 xx yy as该命令为4字节命令(最大执行时间为0.8 毫秒,ts2=0.8ms),其中xx:为以ascii码为单位的屏幕行坐标值,取值范围00h 到0fh、04h 到13h、00h到17h、00h 到13h、00h 到13h、00h 到1dhyy:为以ascii码为单位的屏幕列坐标值,取值范围00h 到1fh、00h 到3fh、00h 到3fh、00h到4fh、00h 到7fh、00h到7fhas:坐标位置上要显示的ascii 字符码(3) 显示8x16 ascii字符命令格式:f9 xx yy as该命令为4字节命令(最大执行时间为1.0 毫秒,ts2=1.0ms),其中xx:为以ascii码为单位的屏幕行坐标值,取值范围00h 到0fh、04h 到13h、00h到17h、00h 到13h、00h 到13h、00h 到1dhyy:为以ascii码为单位的屏幕列坐标值,取值范围00h 到1fh、00h 到3fh、00h 到3fh、00h 到4fh、00h 到7fh、00h到7fhas:坐标位置上要显示的ascii 字符码(4) 显示位点阵命令格式: f2 xx yy该命令为3字节命令(最大执行时间为0.1 毫秒,ts2=0.1ms),其中xx:为以1*1点阵为单位的屏幕行坐标值,取值范围00h 到7fh、20h 到9fh、00h到0bfh、00h 到9fh、00h 到09fh、00h 到0efhyy:为以1*1点阵为单位的屏幕列坐标值,取值范围00h 到1fh、00h 到3fh、00h到3fh、00h 到4fh、00h 到7fh、00h到7fh(5) 显示字节点阵命令格式: f3 xx yy bt该命令为4字节命令(最大执行时间为0.1 毫秒,ts2=0.1ms),其中xx:为以1*8 点阵为单位的屏幕行坐标值,取值范围00h 到0fh、04h 到13h、00h 到17h、00h 到13h、00h 到13h、00h 到1dhyy:为以1*1点阵为单位的屏幕列坐标值,取值范围00h 到1fh、00h 到3fh、00h 到3fh、00h到4fh、00h 到7fh、00h到7fhbt:字节像素值,0 显示白点,1 显示黑点 (显示字节为横向)(6) 清屏命令格式:f4该命令为单字节命令(最大执行时间为11 毫秒,ts2=11ms),其功能为将屏幕清空。(7) 上移命令格式:f5该命令为单字节命令(最大执行时间为25 毫秒,ts2=25ms),其功能为将屏幕向上移动一个点阵行。(8) 下移命令格式:f6该命令为单字节命令(最大执行时间为30 毫秒,ts2=30ms),其功能为将屏幕向下移动一个点阵行。(9) 左移命令格式:f7该命令为单字节命令(最大执行时间为12 毫秒,ts2=12ms),其功能为将屏幕向左移动一个点阵列。(10) 右移命令格式: f8该命令为单字节命令(最大执行时间为12 毫秒,ts2=12ms),其功能为将屏幕向右移动一个点阵列。(11) 反白命令格式:fah该命令为单字节命令(最大执行时间为0.1毫秒,ts2=0.1ms)。当写入指令#fah;以后写入的图形或字符、汉字的显示会出现反显效果,就是把本应显示的数据取反再显示。例如:写入字节:“00010011b”;显示的是:“11101100b”。当再次写入指令#fah;取消反白功能,恢复原来显示效果。(12) 光标显示命令格式:fbh+00h/07h/0fh该命令为双字节命令(最大执行时间为0.11 毫秒,ts2=0.1ms)。该指令含有一个参数,参数=00h 时关光标显示;参数=07h时显示光标为8 点(一个字节)长度;参数=0fh 时显示光标为16 点(两个字节)长度;光标的移动是按照参数确定跳到下一地址显示,不在最后显示的字符或汉字下方。光标具有闪烁效果。(13) 调整移动速度命令格式:fch+00h/01h/07h/0fh该指令含有一个参数,参数“00h”表示移动时按1个点行/列移动,这为默认值,一般不设置上电后以此为参数;参数“01h”表示移动时按2个点行/列移动;参数“07h”表示移动时按8 个点行/列移动;参数“0fh” 表示移动时按16个点行/列移动。本触摸屏为四线电阻式触摸屏,控制芯片为fm7843,电路中包含触摸屏驱动电路和一个12位电容分压式逐次比较模数转换器。adc具有同步串行数据接口,最高数据转换速率是125khz,允许电源电压2.7v到5v。当触摸屏被按下,可以读其出横向电阻值x和纵向电阻值y。当x1xx2,且y1yy2时,说明是图2.12中1的区域被按下,即通过触摸屏输入“1”。 图 2.12 触摸屏输入界面与c8051f020应用程序示例:(1) 西文字符、汉字、数字同屏显示。流程图如图2.13所示(2) 汉字、图画同屏显示,且整屏正常显示与反白显示同时进行整屏上、下、左、右按不同的速度进行移动。流程图如图2.14所示。(3) 触摸屏输入演示,演示内容为一位数的四则运算。流程图如图2.15所示。图2.13 液晶显示1流程图 图2.14 液晶显示2流程图 图 2.15 触摸屏流程图2.5 dds模块的设计1)方案论证在现代通信技术中,频率合成技术是其重要组成部分。将一个高稳定度和高精度的标准频率经过加、减、乘、除的四则运算,产生同样稳定度和精确度的大量离散的技术称为频率合成技术。基本的频率合成技术有直接式频率合成(ds)和锁相式频率合成(pll)等几种 方案一:锁相式频率合成(pll)。锁相式频率合成又称为间接式频率合成, 它是石英晶体通过压电效应使电子振荡器受高度稳定的机械振动的控制而输出高频率稳定度的信号,其核心是一个能够在特定频率上实现正反馈的环路,因此频率更换非常不方便。其输出频带宽可达上千兆赫,频率分辨率到赫兹量级,但是由于非线性器件引入的杂波成分较多而且很复杂,所以需要大量的滤波器加以滤除。pll结构简单、易于集成、输出频带宽、频谱纯度好,但锁相环本身是一个闭环的反馈系统,所以鉴相频率(频率分辨率)与频率转换时间的矛盾难以解决。 方案二:直接数字式频率合成(dds)。dds是20世纪70年代发展起来的一种新的频率合成法,它将先进的数字处理技术和方法引入信号合成领域。它直接对参考正弦时钟进行抽样和数字化,然后通过数字计算技术进行频率合成。 本实验箱的频率合成部分选择直接数字式频率合成(dds)。理由:dds较锁相式频率合成(pll)具有相对带宽很宽,频率转换时间极短(ns级),频率分辨率很高(可达hz),全数字化结构便于集成,输出相位连续,频率、相位和幅度均可实现程控。因此能够与计算机紧密结合在一起,充分发挥软件的作用。在实际应用中,可以采用单片机来代替计算机对dds芯片进行控制,实现合成频率的输出。另外还具有价格低廉和良好的可再调制性能,相位噪声低,信号纯度高,生成的正弦/ 余弦信号正交特性好。具体的dds芯片采用ad公司的ad9851。它是采用cmos技术生产的高集成度芯片,最高输入时钟频率为180mhz。同时可选择是否启用内含的6倍频乘法器。它带有高性能的十位数模转换器,且内含一个高速比较器,ad9851具有简化的控制接口,允许串并行异步输入控制字,该芯片采用32位频率控制字,其内部使用5位相位调制字。该器件的工作电源范围为2.75.25 v,其掉电方式时的功耗为4 mw(2.7v),ad9851的自由寄生动态范围(sfdr)大于43 db(70 mhz输出),采用极小的28脚贴片式封装。2)硬件电路设计(a)dds基本原理:dds 技术是一种把一系列数字量形式的信号通过dac 转换成模拟量形式的信号合成技术。目前使用最广泛的一种dds 方式是利用高速存储器作查寻表,然后通过高速dac 产生已经用数字形式存入的正弦波。常见的dds 系统由频率控制字、相位累加器、正弦查询表、d/a 转换器和低通滤波器组成。参考时钟为高稳定度的晶体振荡器,其输出用于同步dds 各组成部分的工作。图2.16是dds 的一个基本原理图。 图 2.16 dds基本原理本dds模块主要有液晶显示器、微控制器、触摸板、dds芯片、低通滤波器和模拟 开关组成。液晶显示器和触摸板采用金鹏公司的带触摸屏ocmj8x15b,用来显示输出波形的类型、频率,选择波形的类型及输入波形的频率。微控制器选用c8051f020。dds芯片采用ad9851,它在c8051f020的控制下产生一定频率的正弦波经低通滤波器后,一路送到模拟开关,另一路反馈给ad9851,在ad9851内部经高速比较器后产生同频率的方波输出,且送至模拟开关。模拟开关选用cd4502。电路原理方框图如图2.17所示。 图 2.17 dds电路原理方框图(b) 低通滤波器的设计:常用的lc低通滤波器有巴特沃思型、切比雪夫型、贝塞尔型和高斯型之分。在可用现代设计方法设计的滤波器中,巴特沃思型滤波器是最为有名的,具有设计简单,对构成滤波器的元件q值要求较低,易于制作和达到设计性能,且在性能方面有没有明显的缺点,因此得到了广泛的应用。所以本电路的低通滤波器采用巴特沃思型3阶低通滤波器。采用归一化的方法设计本低通滤波器。归一化低通滤波器设计数据,指的是特征阻抗为1且截止频率为1/(2)的低通滤波器的数据。用这种归一化低通滤波器的设计数据作为基准滤波器,能够很简单地计算出具有任何截止频率和任何特征阻抗的滤波器。截止频率的变换,通过先求出待设计滤波器截止频率与基准滤波器截止频率的比值m,再用这个m去除滤波器中的所有元件值来实现,其计算公式如下: (2-4) l(new)=l(old)/m (2-5) c(new)=c(old)/m (2-6)归一化3阶巴特沃思型低通滤波器设计数据如图2.18所示:本设计中低通滤波器的截止频率为10mhz,特征阻抗为1。选用图2-26 这种形式。m=10000000 hz / (1/2) hz 62831853 (2-7)l(new) = l(old)/m = 2/62831853 3.183 x 10-8 (h) =31.83(nh) (2-8)c(new)=c(old)/m = 1 / 62831853 1.591 x 10-8 (f) =15.91 (nf) = 15910 (pf) (2-9)设计完成的低通滤波器如图2.19所示: 图 2.19 低通滤波器 图 2.18 3阶巴特沃思型低通滤波器 电路原理图如图2.20所示: 图 2.20 dds电路原理图3) 软件设计(a)ad9851的控制字与控制时序:频率/相位控制字可通过微处理器以并行方式/串行方式输入到ad9851,其中最前面的8位分别为5位相位控制字,一位用于电源休眠(powerdown)控制,2位用于选择工作方式,工作方式的选择要谨慎,无论是并行还是串行,最好都写成00,并行时的10、01和串行时的10、01、11都是工厂测试用的保留控制字,不慎使用可能导致难以预料的后果。剩余32位的是频率控制字,用来对频率进行调制。并行方式输入控制字的时序图为图2.21所示(在图2.21中,tcd:频率更新后参考时钟延迟;tds:数据设置时间;tdh:数据装入时间;tfh:频率更新控制信号高电平有效时间;),通过8位总线d0 d7可将数据输入到寄存器,在重复5次之后再在fqud上升沿把40位数据从输入寄存器装入到频率/相位数据寄存器(更新dds输出频率和相位),同时把地址指针复位到第一个输入寄存器。 图 2.21 并行方式输入控制字的时序(b) 频率控制字的计算:如果相位累加器的位数为n,相位控制字的值为fn,相位控制字的位数为m,频率控制字的值为fm,系统外部参考时钟频率为30mhz,6倍参考时钟倍乘器使能,经过内部6倍参考时钟倍乘器后,可得到ad9851内部工作时钟fc为180mhz,最终合成信号的频率可由公式2-10来决定,合成信号的相位由公式2-11来决定。f = fm * fc / 2n (2-10) = fn * 2 / 2m (2-11) 本设计中频率和相位控制字可由公式2-12和公式2-13求得。fm = f *2n / fc = f * 232/180
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025也可以艺术品收藏行业市场供需和价格变化趋势报告
- 小学语文拼音教学方案与练习题
- 培训机构课程管理与督导方案
- 产品研发项目需求分析与设计方案
- 房屋租赁合同法律条款风险点
- 企业年度营销策划方案全解析
- 客户需求调研及服务方案制定工具
- 合同管理文档与审批流程工具
- 行业采购清单与合同管理模板
- 基于局部可重构计算的在线硬件任务调度算法:原理、优化与实践
- 2025年党政干部综合能力备考题库及答案解析
- 2017年广州市公务员考试(行政职业能力测验)真题试卷
- 女职工素质课件
- 新途径面试协议班合同
- 《医学免疫学》试题库及答案
- 2025吉林市中心医院自主招聘急需紧缺护理人员50人笔试考试参考试题及答案解析
- 2025年郑州热力集团有限公司招聘60人笔试考试参考题库及答案解析
- 2025年新能源汽车高压系统电磁兼容性测试报告
- 2025年机关事业单位工勤人员岗位考核汽车驾驶员试题(附答案)
- 2025年中级政工师考试题及答案
- 浙江传媒学院《C语言程序设计》2024-2025学年期末试卷(A卷)
评论
0/150
提交评论