




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南科技大学本科毕业设计(论文)I基于ARM9单片机多功能数字电压表的设计摘要数字电压表是诸多数字化仪表的核心与基础,在日常维修、教学和科研中,电压表是不可缺少的。本文以ARM9S3C2440单片机为基础设计出一种结构简单、工作可靠、灵活性好的多功能数字电压表。本文设计的数字电压表主要包括两部分硬件电路的分析及软件程序的设计。基于单片机的数字电压表的硬件系统、软件系统的设计原理及具体实现方案作以详细介绍。其中,在软件部分,大致介绍了软件设计所使用的编程语言和编程思路,及运行期间出现的问题及解决方案。在硬件部分,详细分析了设计原理、使用方法和功能,同时,对各部分接口电路作大致介绍。该设计主要由四个模块组成A/D转换模块,数据处理模块,显示模块及各驱动控制模块组成。设计过程中对单路的选择进行了扩展研究,提出了通过按键控制实现多路选择的新思路,使其具有更大的发展空间,可用性更大,更能满足实际生活的需要。本设计总体实现基于ARM9S3C2440平台实现AD转换,并设计显示屏背景,在TFTLCD屏上显示电压值及AD转换的高测量精度的数字值,同时超出一定电压值时具有报警功能,并且能实现多路测量,可通过按键选择某路通道等多功能的数字电压表。关键词数字电压表,A/D转换,LCD屏,多路,键盘控制THEDESIGNOFMULTIFUNCTIONDIGITAL河南科技大学本科毕业设计(论文)IIVOLTMETEBASEDONARM9S3C2440SCMABSTRACTDIGITALVOLTMETERISTHECOREANDFOUNDATIONOFMANYDIGITALINSTRUMENT,ASTHEVOLTMETERISINDISPENSABLEINDAILYMAINTENANCE,TEACHINGANDSCIENTIFICRESEARCHINTHISPAPER,AKINDOFDIGITALVOLTMETERWHICHISOFSIMPLESTRUCTURE,RELIABLEOPERATIONANDGOODFLEXIBILITYMULTIFUNCTIONISINTRODUCEDBASEDONARM9S3C2440SCMINTHISPAPER,THEDESIGNOFDIGITALVOLTMETERMAINLYINCLUDESTWOPARTSTHEANALYSISOFTHEHARDWARECIRCUITSANDDESIGNOFSOFTWARETHISPASPERINTRODUCESTHEHARDWARESYSTEM,SOFTWARESYSTEMDESIGNPRINCIPLEANDTHECONCRETEIMPLEMENTATIONPLANOFTHEDIGITALVOLTMETERISBASEDONSINGLECHIPMICROCOMPUTERINDETAILINTHESOFTWAREPART,THEPROGRAMMINGLANGUAGEUSEDTOTHESOFTWAREDESIGN,THEPROGRAMMINGIDEAS,THEPROBLEMSANDSOLUTIONSDURINGTHEOPERATIONAREINSTRODUCEDSIMPLYINTHEHARDWAREPART,THEDESIGNPRINCIPLEANDMETHODOFUSEANDFUNCTIONAREANALYZED,ANDATTHESAMETIME,THEINTERFACECIRCUITOFEACHPARTAREINTRODUCEDGENERALLYTHISDESIGNISMAINLYCOMPOSEDOFFOURMODULESA/DCONVERSIONMODULE,DATAPROCESSINGMODULE,DISPLAYMODULEANDTHEDRIVECONTROLMODULEEXTENDEDRESEARCHARECARRIDOFSINGLECHANNELSELECTIONINDESIGNPROCESS,WHICHPUTFORWARDNEWIDEASTHATREALIZINGMULTIPLEXSELECTIONVIABUTTONCONTROL,MAKINGITOFLARGERDEVELOPMENTSPACE,BIGGERUSABILITY,ANDMOREMEETTHENEEDSOFREALLIFEBETTERTHISDESIGNINTHISPAPERIMPLEMENTSAMULTIFUNCTIONDIGITALVOLTMETERWHICHREALIZESTHEADCONVERSIONBASEDONARM9S3C2440PLATFORMOVERALL,DESIGNSDISPLAYBACKGROUND,DISPLAYSVOLTAGEANDNUMERICALVALUEOFHIGHMEASUREDPRECISIONOFTHEADCONVERSIONONTHETFTLCD,WHICHHASTHEALARMFUNCTIONWHILEBEYONDACERTAINVOLTAGEVALUEATTHESAMETIME,ANDITCANACHIEVETHEMULTICHANNELMEASUREMENTSOTHATACERTAINMESUREDCHANNELCANBECHOOSEDVIABUTTONS河南科技大学本科毕业设计(论文)IIIKEYWORDSDIGITALVOLTMETER,A/DCONVERSION,LCDSCREEN,MULTIPLEX,THEKEYBOARDCONTROL目录IV前言1第1章引言3河南科技大学本科毕业设计(论文)IV11数字电压表设计的两种方案简介3111由数字电路和芯片构成3112单片机系统及内置的A/D转换芯片构建312数字电压表的特点5第2章设计需求621设计目的622系统设计623设计的功能要求724应用软件简介8241KEIL软件的使用8242取模软件使用8第3章硬件电路设计分析1131单片机模块11311S3C2440单片机原理图11312芯片的选择与介绍1232ADC数模转换13321S3C2440ADC的主要特性13322ADC转换原理13323ADC相关寄存器15324ADC驱动程序的设计步骤1633显示模块17331S3C2440内部LCD控制器结构17332TFTLCD屏显示原理1734驱动模块20341点亮LED灯20342开闭蜂鸣器22343KEYBOARD按键驱动24第4章软件设计2641软件设计总流程图26河南科技大学本科毕业设计(论文)V42A/D转换模块28421A/D转换流程图27422A/D接口设计2843显示模块29431显示模块流程图29432显示模块接口设计3044键盘输入模块34441键盘输入流程图34442键盘输入接口3445报警模块3546LED灯闪亮模块3547字符取模模块36第5章电压表的调试及性能分析3951软件调试3952显示测试结果图39521正常状态下39522超压状态下4053误差分析及解决方案41531误差分析41532解决方案41结论42参考文献43致谢45河南科技大学本科毕业设计(论文)1前言数字电压表在生活中应用越来越广泛,是一种现代化的电压测量仪表,简称DVM,它采用的是数字化测量技术,把连续的电压值转变为不连续的数字量,加以数字处理然后再通过显示器件显示。众所周知,根据测量结果的显示方式及测量原理不同,电压测量仪器可分为两大类模拟式电压表AVM)和数字式电压表(DVM)。模拟电压表虽然精度较高,但广为使用的是数字电压表。一方面是由于电子计算机的应用逐渐推广到系统的自动控制实验研究的领域,提出了将各种被观察量或被控制量转换成数码的要求,即为了实时控制及数据处理的需要;另一方面,也是电子计算机的发展,带动了脉冲数字电路技术的进步,为数字化仪表的出现提供了条件。所以,数字化测仪表的产生与发展与电子计算机的发展是密切相关的;同时,为革新电子测量中的烦锁和陈旧方式也催促了它的飞速发展。在高速发展的当今社会,高速信号处理的需求越来越多,由于模拟电压表响应速度较慢已经不适用与高速信号领域,取而代之的将是数字电压表。但数字电压表由于存在采样误差,精度不是很高。不过目前可以通过技术手段来缩小误差。使其精度达到与模拟电压表一样精确甚至更高。可见将来数字电压表必将取代模拟电压表。现在有越来越多的数字测量仪器的出现但原理皆与数字电压表殊途同归,因此研究数字电压表有着很大现实意义。模拟电压表在显示测量值方面精度校准,但模拟电压表采用用指针式,里面是磁电或电磁式结构,多用磁电式电流表作为指示器,并在表盘上刻以电压刻度,所以其响应速度较慢,功能单一,精度低,读数的时候也非常不方便,很容易出错。电子电压表主要用于测量各种高、低频信号电压,它是电子测量中使用最广泛的仪器之一。其中,电压量的测量最为经常。采用单片机的数字电压表由于测量精度高,速度快,读数时也非常的方便,抗干扰能力强,可扩展性强等优点已被广泛的应用于电子及电工的测量,工业自动化仪表,自动测试系统等智能化测量领域,显示出强大的生命力。而且随着电子技术的发展,更是经常需要测量高精度的电压,由于数字式电压表首先将模拟量经模数(A/D)转换器变成数字量,然后用电子计数器计数,并以十进制数字显示被测电压值。数字式仪器具有读数河南科技大学本科毕业设计(论文)2准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受用户青睐,数字式电压表就是基于这种需求而发展起来的,是一种必不可少的电子测量仪表。本课题实现电压数字化测量的方法是模数(A/D)转换的方法。主要研究基于ARM9S3C2440平台实现AD转换,并设计显示屏背景,在TFTLCD屏上显示电压值及AD转换的数字值,同时超出一定电压值时具有报警功能,如LED灯点亮,蜂鸣器循环报警,屏幕上方出现红色警报图标(正常情况下是绿色)等,以便及时提醒用户。并且能实现多路测量,用户可通过按键选择某路测量等多功能的数字电压表。第1章引言河南科技大学本科毕业设计(论文)311数字电压表设计的两种方案简介设计数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。又由于在现实的工作生活中,电压表的测量测程范围是比较大的,所以必须要对输入电压作分压处理,而各个数据处理芯片的处理电压范围不同,则各种方案的分段也不同。下面介绍两种数字电压表的设计方案。111由数字电路和芯片构成这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入放大器。A/D转换器和基准电压源;数字部分包括计数器,译码器,逻辑控制器,振荡器和显示器。其中,A/D转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将A/D转换器中个组模拟开关接通或4附录断开,保证A/D转换正常进行。A/D转换结果通过计数译码电路变换成段码,最后驱动显示器显示出相应的数值。此方案设计其优点是,设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路,很难将其在原有的基础上进行扩展。112单片机系统及内置的A/D转换芯片构建许多的应用电路这种方案是利用单片机系统与模数转换芯片,显示模块等的结合构建数字电压表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出来。此方案的原理是ARM9单片机内置的模数A/D转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。模数A/D转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。河南科技大学本科毕业设计(论文)4最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。此方案不仅能够继承上一种方案的各种优点,还能改进上一种设计方案设计不灵活,难与在原基础上进行功能扩展等不足。1单片机的简介单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。2单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。12数字电压表的特点数字电压表DVM是将被测的电压模拟量自动转换成开关量,然后进行数字河南科技大学本科毕业设计(论文)5编码、译码,以数字形式显示出来的一种结构简单、工作可靠、灵活性好的电测仪表,它具有如下主要特点1工作可靠,准确度高可达到104数量级,高测量精度,数字显示,读数准确,可消除人为的读数误差。2灵敏度高一般可做到10微伏至1微伏。3灵活性好采用多路技术,可通过键盘进行通道用户切换,使用方便用途广。4测量速度快采样速度一般每秒种为几十次到上万次,甚至可达百万次。5人性化设计设计了人性化的背景,体现以人为本。第2章设计需求河南科技大学本科毕业设计(论文)621设计目的通过制作简易的数字电压表,加深对所学专业知识的认识,提高分析,解决工程实际问题的能力,提高对单片机的应用能力,提高收集文献,资料的能力,从而达到综合运用所学的专业知识进行电子产品设计,制作与调试的能力。这个课题的目的和意义在于使自己掌握对数字电压表的理解,自己动手设计数字电压表,它可以广泛的应用于电压测量,DVM广泛应用于测量领域每期测量的准确度和可信度取决于它的主要性能和技术指标。所示我们要学习和掌握如何设计DVM就显得十分重要。22系统设计本文设计的数字电压表主要包括两部分硬件电路的分析及软件程序的编程。基于单片机的数字电压表的硬件系统、软件系统的设计原理及具体实现方案作以详细介绍。1在硬件电路部分,大致介绍了数字电压表的设计原理、使用方法和功能。同时,对各部分接口电路作大致介绍。该设计主要由四个模块组成A/D转换模块,数据处理模块,显示模块,键盘控制模块组成。2在软件部分,较为详细的讨论了本设计软件所使用的编程语言和编程思路,及运行期间出现的问题及解决方案,扩展部分在现有功能的电压表基础上,发现新的更好的思路。软件的程序可采用C语言或汇编,这里主要采用C语言,详细的设计思路在后面介绍。3总体上,设计过程中对单路的选择进行了扩展研究,提出了通过按键控制实现多路选择的新思路,使其具有更大的发展空间,可用性更大,更能满足实际生活的需要。4详细如下图21系统框图所示。河南科技大学本科毕业设计(论文)7图21系统框图23设计的功能要求本课题采用模数(A/D)转换的方法实现电压数字化测量,设计的功能要求满足下述五点1以ARM9S3C2440单片机为核心器件,组成一个多功能的直流数字电压表,在该平台上实现了AD转换。2设计显示屏背景,在TFTLCD屏上显示电压值及AD转换的数字值,至少能过显示两位小数。3超出一定电压值时具有报警功能,如LED灯点亮,蜂鸣器循环报警,屏幕上方出现红色警报图标(正常情况下是绿色)等,以便及时提醒用户。4实现多路模拟量输入,能过测量05V之间的直流电压值。5用户可通过按键选择某路测量等多功能的数字电压表。河南科技大学本科毕业设计(论文)824应用软件简介本课题中运用到多种软件,常用的有KEIL软件,JLINK调试器软件,RGB颜色查询软件,字符取模软件,及图像取模软件等多款软件,要求熟练KEIL,取模软件的使用。241KEIL软件的使用KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(VISION)将这些部份组合在一起。运行KEIL软件需要PENTIUM或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么KEIL几乎就是的不二之选(目前在国内只能买到该软件、而买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍C51工具包的整体结构,其中VISION与ISHELL分别是C51FORWINDOWS和FORDOS的集成开发环境IDE,可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件OBJ。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件ABS。ABS文件由OH51转换成标准的HEX文件,以供调试器DSCOPE51或TSCOPE51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。242取模软件使用用LCD液晶屏、LED点阵以及LED摇摇棒显示汉字或图形的时候,需要用取模软件来完成将汉字或图形转化成一定规律的代码的这一复杂工作。由于不同的取模软件支持的取模规律和输出方式不同,导致每种取模软件都有一定的局限性。本课题采用了汉字取模软件和图像取模软件。河南科技大学本科毕业设计(论文)91取模软件的使用步骤第一,设置取模规律(取模方式),需要根据具体的硬件软件而定,具体如说数据排列是从左往右还是从上到下,字节是否倒序等。第二,设置输出方式,比方是C语言还是汇编,生成数据的格式等。第三,设置字体、大小,设置图片大小等,输出代码。2汉字取模软件简介汉字取模分为汉字和ASCII字符取模。其中汉字取模采用的是有1616,或1414,或1212等大小。ASCII字符采用816的点阵方式对英文字母(AZ)及数字(09)取模。如图22汉字取模软件图22汉字取模软件3图像取模软件简介本课题中图像取模采用的是16位真彩的输出灰度。选择高位在前,颜色位数为R5BITS,G6BITS,B5BITS的16位彩色,每两个字节构成一个像素点。如图23图像取模软件河南科技大学本科毕业设计(论文)10图23图像取模软件第3章硬件电路设计分析河南科技大学本科毕业设计(论文)1131单片机模块311S3C2440单片机原理图S3C2440A是三星公司的16/32位精简指令集(RISC)微处理器。三星公司的S3C2440A为手持设备和普通应用提供了低功耗和高性能的小型芯片微控制器的解决方案。S3C2440A基于ARM920T核心,013M的CMOS标准宏单元和存储器单元。低功耗,简单,精致,且全静态设计特别适合于对成本和功率敏感型的应用。它采用了新的总线架构如先进微控制总线构架(AMBA)。1S3C2440芯片原理图(附件2)2S3C2440单片机实物图S3C2440单片机实物图如图31所示图31S3C2440单片机包括串口线,JLINK,大排线,转接小板,小排线,USB转串口线,电源,开发板,JLINK连接线,网线等组成。312芯片的选择与介绍S3C2440A特点是其处理器核心,是一个由河南科技大学本科毕业设计(论文)12ADVANCEDRISCMACHINES(ARM)公司设计的16/32位ARM920T的RISC处理器。ARM920T实现了MMU,AMBA总线和哈佛结构高速缓冲体系结构。这一结构具有独立的16KB指令高速缓存和16KB数据高速缓存。每个都是由具有8字长的行LINE组成。通过提供一套完整的通用系统外设,S3C2440A减少整体系统成本和无需配置额外的组件。综合对芯片的功能描述,S3C2440A集成的以下片上功能(部分)1A/D转换器和触屏接口(1)8通道多路复用ADC(2)最高500KSPS和10位分辨率(3)内置FET给线性触屏接口2LCD控制器STNLCD显示特性(1)支持3种类型STNLCD面板4位双扫描,4位单扫描和8位单扫描显示类型(2)支持单色模式,4阶灰度,16阶灰度,256色和4096色的STNLCD(3)支持多种屏幕尺寸A实际屏幕尺寸典型值640X480,320X240,160X160和其它B最大帧缓冲区大小为4M字节C256色模式下最大实际屏幕尺寸40961024,20482048,10244096和其它3TFT(薄膜晶体管)彩色显示特性(1)支持彩色TFT的1、2、4或8BPP位/像素调色显示(2)支持彩色TFT的16,24BPP非调色真彩显示(3)支持在24BPP模式下最大16M色的TFT(4)内嵌LPC3600时序控制器,支持LTS350Q1PD1/2(三星35吋竖屏/256K色/反光型ASITFTLCD)(5)内嵌LCC3600时序控制器,支持LTS350Q1PE1/2(三星35吋竖屏256K色/半透型ASITFTLCD)(6)支持多种屏幕尺寸A实际屏幕尺寸典型值640X480,320X240,160X160和其它河南科技大学本科毕业设计(论文)13B最大帧冲区大小为4M字节C64K色模式下最大实际屏幕尺寸2048X1024和其它4工作电压范围(1)核心电压300MHZ下120V400MHZ下130V(2)存储器电压18V/25V/30V/33V(3)I/O口电压33V32ADC数模转换321S3C2440ADC的主要特性A/D转换,又称为模数转换,是将模拟信号转换为计算机能够处理的数字信号。S3C2440集成了8通道10位CMOSA/D转换器。S3C2440的CMOS模拟数字转换器ADC可以对8通道模拟输入信号进行循环检测,S3C2440的ADC和触摸屏公用一个ADC转换器。S3C2440ADC的主要特性如下1分辨率10位2最大转换速率500KSPS3微分线性度误差10LSB4积分线性度误差20LSB5供电电压33V6模拟输入电压范围033V322ADC转换原理ADC是一种将模拟信号转化为数字信号的方法,一般要经过采样、保持、量化、编码4个步骤。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中时同时实现的。由奈奎特采样定理可知,当采样频率大于模拟信号中最高频率的2倍时,采样值才能不失真地反映原来模拟信号。主要技术指标如下1分辨率河南科技大学本科毕业设计(论文)14通常以输出二进制的位数表示分辨率的高低,一般位数越多,量化单位越小,对输入信号的分辨能力就越高。例如,输入模拟电压的变化范围为033V、分辨率为12位时,可以分辨的最小模拟电压为33V/21208MV;而分辨率为10位时,可以分辨的最小模拟电压为33V/21032MV。2转换误差它是指在零点和满度都校准以后,在整个转换范围内,分别测量各个数字量所对应的模拟输入电压实测范围与理论范围之间的偏差,取其中的最大偏差作为转换误差的指标。它通常以相对误差的形式出现,并以LSB为单位表示。3转换速度完成一次模数转换所需要的时间称为转换时间。在大多数情况下,转换速度是转换时间的倒数。ADC的转换速度主要取决于转换电路的类型,并联比较型ADC的转换速度最高,逐次逼近型ADC次之,双积分型ADC转换速度最低。ADC共有8路模拟输入,XP、XM、YP和YM是触摸屏使用的4路,剩下的4路模拟输入A30可以用于一般的ADC输入通道。此外还需要注意ADC的输入时钟是如何产生的。对于S3C2440处理器,ADC输入时钟是由PCLK分频得到的,如下图32所示,其中ADC输入时钟不能超过PCLK/5。A模拟量D数字量C转换N位数模拟量输入电压(VI),ADC参考电压VIEF,数字测量结果B,ADC精度位数(N)4者之间的关系如公示31所示图32ADC输入时钟一览河南科技大学本科毕业设计(论文)15(31)NBVIEF2A/D转换器是模拟信号和CPU之间联系的接口,它将连续变化的模拟信号转换为数字信号,以供计算机或数字系统进行分析、处理、存储、控制和显示。323ADC相关寄存器1启动ADC两种方法使用ADC只需要对相应的寄存器进行配置,然后启动ADC即可,启动ADC有两种方法手动启动;读取完上一次转换结果后自动启动下一次ADC转换2ADC是否转换完成的信息两种方法查询法查询寄存器ADCCON的第15位(ADC转换结束标志位);中断法转换完成后,产生ADC中断信号,INT_ADC信号。3ADC相关的寄存器主要有寄存器ADCCON和寄存器ADCDAT0。寄存器ADCCON主要用于ADC的启动方式、设置ADC转换时钟以及ADC转换结束标志位等。寄存器ADCDAT0中存放了ADC转换所得到的的数据,ADC转换结束后,可以通过读该寄存器的值来得到转换结果。(1)ADC控制寄存器ADCCON该寄存器是一个可读/写的寄存器地址为0X58000000,复位后的初值为0X3FC4是ADC中最主要的设置寄存器,其决定了ADC的工作方式、转换速率、启动与否假设PCLK频率是50MHZ且ADCCON寄存器中预分频器的设置值是49时,转换得到10位数字量时共需要A/D转换器频率50MHZ/4911MHZA/D转换时间/1MHZ/5周期5USA/D转换器最大可以工作在25MHZ的时钟下,因此最大转换速率能达500KSPS(2)ADC触摸屏控制寄存器(ADCTSC)该寄存器是一个可读写的寄存器,地址为0X58000004,复位后的初始值为河南科技大学本科毕业设计(论文)160X58,主要用于设置ADC的触摸屏功能。在普通A/D转换时,AUTO_PST和XY_PST都置成0,其他各位与触摸屏有关在本设计中用不到,一般设置为全零即可(3)ADC启动延时寄存器(ADCDLY)该寄存器是一个可读/写的寄存器,地址为0X58000008,复位后的初始0X00FF(4)ADC转换数据寄存器(ADCDATN)S3C2440包含两个ADC转换数据寄存器ADCDAT0和ADCDAT1在触摸屏应用中,分别使用ADCDAT0和ADCDAT1保存X位置和Y位置的转数据,普通的A/D转换,使用ADCDAT0来保存转换后的数据,通过读取该寄存器位90,可以获得转换后的数字量。ADCDAT1除了90为Y位置的转换数据值以外,其他与ADCDAT0类似。(5)设置相关寄存器A控制寄存器ADCCONADCCON0转换开始标志位15转换结束标志位(1转换结束)14时钟分频使能位136分频值PCLK(50M)/25M53模拟输入通道选择2待机模式选择(0正常工作)1读启动A/D转换(0禁止读启动)B数据寄存器ADCDAT009数字测量结果C启动延时寄存器ADCDLY150延时时间设置324ADC驱动程序的设计步骤1设置ADCCON寄存器,选择输入通道、设置A/D转换时钟。2设置ADCCON寄存器的ADCCCON2即STDBM为普通模式即ADC模式而非触摸屏模式3设置ADCCCON寄存器的READ_START读转换数据时启动下一次转换或ENABLE_START位启动A/D转换。4不断读ADCCON的ECFLAG位,判断转换是否结束查询方式。5读ADCDAT0得到转换结果,注意只有最低10位数据有效。河南科技大学本科毕业设计(论文)1733显示模块331S3C2440内部LCD控制器结构通过LCD控制器可产生LCD驱动器所需要的控制信号来控制STN/TFT屏。根据数据手册在S3C2440内部的LCD控制器1LCD控制器由REGBANK、LCDCDMA、TIMEGEN、VIDPRCS寄存器组成;2REGBANK由17个可编程的寄存器组和一块25616的调色板内存组成,它们用来配置LCD控制器的;3LCDCDMA是一个专用的DMA,它能自动地把在侦内存中的视频数据传送到LCD驱动器,通过使用这个DMA通道,视频数据在不需要CPU的干预的情况下显示在LCD屏上;4VIDPRCS接收来自LCDCDMA的数据,将数据转换为合适的数据格式,比如说4/8位单扫,4位双扫显示模式,然后通过数据端口VD230传送视频数据到LCD驱动器;5TIMEGEN由可编程的逻辑组成,他生成LCD驱动器需要的控制信号,比如VSYNC、HSYNC、VCLK和LEND等等,而这些控制信号又与REGBANK寄存器组中的LCDCON1/2/3/4/5的配置密切相关,通过不同的配置,TIMEGEN就能产生这些信号的不同形态,从而支持不同的LCD驱动器即不同的STN/TFT屏。332TFTLCD屏显示原理1TFT屏时序分析所有显示器显示图像的原理都是从上到下,从左到右的。一副图像可以看做是一个矩形,由很多排列整齐的点一行一行组成,这些点称之为像素。那么这幅图在LCD上的显示原理就是(1)显示指针从矩形左上角的第一行第一个点开始,一个点一个点的在LCD上显示,在上面的时序图上用时间线表示就为VCLK,我们称之为像素时钟河南科技大学本科毕业设计(论文)18信号;(2)当显示指针一直显示到矩形的右边就结束这一行,那么这一行的动作在上面的时序图中就称之为1LINE;(3)接下来显示指针又回到矩形的左边从第二行开始显示,注意,显示指针在从第一行的右边回到第二行的左边是需要一定的时间的,我们称之为行切换;(4)如此类推,显示指针就这样一行一行的显示至矩形的右下角才把一副图显示完成。因此,这一行一行的显示在时间线上看,就是时序图上的HSYNC;(5)然而LCD的显示并不是对一副图像快速的显示一下,为了持续和稳定的在LCD上显示,就需要切换到另一幅图上另一幅图可以和上一副图一样或者不一样,目的只是为了将图像持续的显示在LCD上。那么这一副一副的图像就称之为帧,在时序图上就表示为1FRAME,因此从时序图上可以看出1LINE只是1FRAME中的一行;(6)同样的,在帧与帧切换之间也是需要一定的时间的,我们称之为帧切换,那么LCD整个显示的过程在时间线上看,就可表示为时序图上的VSYNC。时序图上各时钟延时参数的含义如下AVBPDVERTICALBACKPORCH表示在一帧图像开始时,垂直同步信号以后的无效的行数,对应驱动中的UPPER_MARGIN;BVFBDVERTICALFRONTPORCH表示在一帧图像结束后,垂直同步信号以前的无效的行数,对应驱动中的LOWER_MARGIN;CVSPWVERTICALSYNCPULSEWIDTH表示垂直同步脉冲的宽度,用行数计算,对应驱动中的VSYNC_LEN;DHBPDHORIZONTALBACKPORCH表示从水平同步信号开始到一行的有效数据开始之间的VCLK的个数,对应驱动中的LEFT_MARGINEHFPDHORIZONTALFRONTPORTH表示一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数,对应驱动中的RIGHT_MARGIN;FHSPWHORIZONTALSYNCPULSEWIDTH表示水平同步信号的宽度,用VCLK计算,对应驱动中的HSYNC_LEN。河南科技大学本科毕业设计(论文)192LCD提供的外部接口信号(1)VSYNC/VFRAME/STV垂直同步信号TFT/帧同步信号STN/SECTFT信号;(2)HSYNC/VLINE/CPV水平同步信号TFT/行同步脉冲信号STN/SECTFT信号;VCLK/LCD_HCLK象素时钟信号TFT/STN/SECTFT信号;(3)VD230LCD像素数据输出端口TFT/STN/SECTFT;(4)VDEN/VM/TP数据使能信号TFT/LCD驱动交流偏置信号STN/SECTFT信号;(5)LEND/STH行结束信号TFT/SECTFT信号;(6)LCD_LPCOESECTFTOE信号;(7)LCD_LPCREVSECTFTREV信号;(8)LCD_LPCREVBSECTFTREVB信号。3帧缓冲FRAMEBUFFER帧缓冲是LINUX为显示设备提供的一个接口,它把一些显示设备描述成一个缓冲区,允许应用程序通过FRAMEBUFFER定义好的接口访问这些图形设备,从而不用去关心具体的硬件细节。对于帧缓冲设备而言,只要在显示缓冲区与显示点对应的区域写入颜色值,对应的颜色就会自动的在屏幕上显示。4相应寄存器对于以上这些参数的值将分别保存到REGBANK寄存器组中的LCDCON1/2/3/4/5寄存器中对寄存器的操作查看S3C2440数据手册LCD部分(1)控制寄存器1LCDCON1管脚17_8位象素时钟分频值CLKVAL;6_5位扫描模式对于STN屏4位单/双扫、8位单扫;4_1位色位模式1BPP、8BPP、16BPP等;7位0;HCLKCPU内部时钟,启动代码设为100MHZ。(2)控制寄存器2LCDCON2管脚河南科技大学本科毕业设计(论文)2031_24位设置场后VBPD;23_14位行数LINEVAL;13_6位场前VFPD;5_0位场宽VSPW。(3)控制寄存器3LCDCON3管脚25_19位HBPD;18_8位HOZVAL;7_0位HFPD。(4)控制寄存器4LCDCON4管脚7_0位HSPW。(5)控制寄存器5LCDCON5设置设置时钟极性,字节交换,某些信号线是否使能(背光控制)。(6)帧缓冲地址寄存器1管脚29_21位显存地址的30_22位;20_0位显存地址的21_1位;(7)帧缓冲地址寄存器2管脚20_0位显存结束地址的21_1位。(8)帧缓冲地址寄存器3管脚21_11位OFFSIZE0当显存大于LCD屏时,每无效的字节数/2;10_0位有效宽度的字节数/2。34驱动模块341点亮LED灯1LED灯原理图如下所示河南科技大学本科毕业设计(论文)21图33LED灯点亮原理图由图33可知2EINT4/5/6/7如果是低电平,那么电路导通,LED将会被点亮,其中R48R51为分压电阻,起到保护二极管的作用;3EINT4/5/6/7连接的IO口是GPF4/5/6/7,同时作为外部中断触发引脚。从芯片手册,得知需要设置GPFCON,GPFDAT,GPFUP表31端口F控制寄存器地址端口F控制寄存器所示,如果GPF0至GPF7在掉电模式中用于唤醒信号,端口将被设置为中断模式。GPFCON配置端口F的引脚;GPFDAT端口F的数据寄存器;寄存器地址R/W描述复位值GPFCON0X56000050R/W配置端口F的引脚0X0GPFDAT0X56000054R/W端口F的数据寄存器GPFUP0X56000058R/W端口F的上拉使能寄存器0X00河南科技大学本科毕业设计(论文)22GPFUP端口F的上拉使能寄存器。可知00输入01输出11保留GPFUP700使能附加上拉功能到相应端口引脚1禁止附加上拉功能到相应端口引脚。GPFDAT70当端口配置为输入端口时,相应位为引脚状态。当端口配置为输出端口时,引脚状态将与相应位相同。当端口配置为功能引脚,将读取到未定义值。342开闭蜂鸣器1蜂鸣器原理图如下所示此图为PNP三极管开关电路,当输入NLRDATXDEN为低电平时,电路导通,蜂鸣器发声;反之,电路断开,蜂鸣器不发声。GPFCON位描述初始状态GPF7151400输入01输出10EINT711保留0GPF6131200输入01输出10EINT611保留0GPF5111000输入01输出10EINT511保留0GPF49800输入01输出10EINT411保留0GPF37600输入01输出10EINT311保留0GPF25400输入01输出10EINT211保留0GPF13200输入01输出10EINT111保留0GPF01000输入01输出10EINT011保留0表32GPFCON控制寄存器位河南科技大学本科毕业设计(论文)23图34蜂鸣器原理图2端口B控制寄存器GPBCON,GPBDAT,GPBUPGPBCON配置端口B的引脚GPBDAT端口B的数据寄存器GPBUP端口B的上拉使能寄存器表33端口B控制寄存器地址寄存器地址R/W描述复位值GPBCON0X56000010R/W配置端口B的引脚0X0GPBDAT0X56000014R/W端口B的数据寄存器GPBUP0X56000018R/W端口B的上拉使能寄存器0X0GPB1000使能附加上拉功能到相应端口引脚河南科技大学本科毕业设计(论文)241禁止附加上拉功能到相应端口引脚表34GPBCON控制寄存器位GPBCON位描述初始状态GPB13200输入01输出10TOUT111保留0GPB100当端口配置为输入端口时,相应位为引脚状态。当端口配置为输出端口时,引脚状态将与相应位相同。当端口配置为功能引脚,将读取到未定义值。343KEYBOARD按键驱动1KEYBOARD驱动原理图如下所示图35KEYBOARD驱动原理图2R52R57为上拉电阻,若某个按键按下,则EINT0/1/2/3/11/19对应的一个电河南科技大学本科毕业设计(论文)25平置低。3EINT0/1/2/3/11/19所接的IO口是GPF0/1/2/3GPG3/GPG11,初始化时,将以上IO口置为输入口,若有按键按下,则会检测到低电平。端口G控制寄存器GPGCON,GPGDAT,GPGUP。如果GPG0至GPG7在睡眠模式中用于唤醒信号,端口将被设置为中断模式。GPGCON配置端口G的引脚GPGDAT端口G的数据寄存器GPGUP端口G的上拉使能寄存器表35端口G控制寄存器地址寄存器地址R/W描述复位值GPGCON0X56000060R/W配置端口G的引脚0X0GPGDAT0X56000064R/W端口G的数据寄存器GPGUP0X56000068R/W端口G的上拉使能寄存器0XFC00表36GPGCON控制寄存器位GPGCON位描述初始状态GPG11232200输入01输出10EINT1911TCLK10GPG37600输入01输出10EINT1111NSS10GPGUPGPG1500使能附加上拉功能到相应端口引脚1禁止附加上拉功能到相应端口引脚GPGDATGPG150当端口配置为输入端口时,相应位为引脚状态。当端口配置为输出端口时,引脚状态将与相应位相同。当端口配置为功能引脚,将读取到未定义值。第4章软件设计河南科技大学本科毕业设计(论文)2641软件设计总流程图1总体程序流程图,如图41所示图41软件设计总流程图2本章介绍系统的软件设计,主要包括河南科技大学本科毕业设计(论文)27A/D转换模块,显示模块,键盘输入模块,LED灯点亮模块,报警模块,字符取模模块3各个模块进行协调处理和实现数据交互系统总体流程如下首先完成初始化工作。所谓初始化,是对将要用到的ARM系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器,初始化LCD屏,初始化LED灯,初始化蜂鸣器,初始化按键等;初始化硬件后,绘制电压表背景;通过用户选择通道测量电压,读取A/D转换结果;通过A/D模块,将转换的结果转换为标准值和电压值;如果检测到的电压超过某一个提前设置极限电压值,本系统最高电压值是20V,超过该电压值系统处于超压状态。超压会出现以下情况此时屏幕会显示异常,出现红色警告,蜂鸣器会报警,LED将循环闪亮。在此过程中会循环处理,循环过程中获得采集模块的数据,井将数据进行处理,根据处理后的结果来进行显示或者报警。用户根据界面是否显示异常等信息进行判断。42A/D转换模块421A/D转换流程图A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元。首先系统初始化,启动A/D转换,采集A/D转换值,进行数据转换,转换结束,显示到屏幕上,若屏幕中没有显示出数值,则返回重新调用显示函数,否则用户读出示数。其转换流程图如图42所示。河南科技大学本科毕业设计(论文)28图42A/D转换流程422A/D接口设计READADC()函数的功能是读取指定的ADC模拟通道,得到十位十进制的ADC转换的结果。分为以下几步1设置分频系数;2预分频使能,设置分频值PRESCALER1;河南科技大学本科毕业设计(论文)293启动ADC转换;等待ADC启动完成,开始转换ADCCON0自动变成0;4等待ADC转换结果;5返回10位二进制AD转换结果。具体源程序UNSIGNEDSHORTREADADCINTCH/设置分频系数/PRESCALER50000000/25000001/第一步预分频使能,设置分频值PRESCALER19,选择读取通道CH/RADCCON11因为24BPP一个字占4字节/RLCDSADDR1U32LCD_BUFFER221/如果是24BPP时是LCD_WIDTH4/2因为24BPP一个字占4字节/RLCDSADDR2M5DU32LCD_BUFFERLCD_WIDTHLCD_RHEIGHT21RLCDSADDR3LCD_WIDTH2/2/MASKLCDSUBINTERRUPTLCD里应用一般用不到中断,关掉/RLCDINTMSK|3/DISABLELPC3480RTCONSEL0/PULLUPDISABLERGPGUPRGPGUPMASK0X80/掩码BUFFERCHI31/提取一行的第二个字节FORJ0J1MASK0X80/掩码BUFFERCHI32/提取一行的第三个字节FORJ0J1河南科技大学本科毕业设计(论文)38第5章电压表的调试及性能分析河南科技大学本科毕业设计(论文)3951软件调试软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过调试系统逐步发现错误并改正。本系统的调试主要以软件为主,程序方面,采用的是C语言,用KEIL软件将程序写入单片机。52显示测试结果图521正常状态下(屏幕上方显示绿色OK)图51通道一正常状态下河南科技大学本科毕业设计(论文)40图52通道二正常状态下522超压状态下(红色警报并屏幕上方显示红色NO)图53通道一超压状态下河南科技大学本科毕业设计(论文)41图54通道二超压状态下53误差分析及解决方案531误差分析通过软件调试,用KEIL软件将程序写入单片机。发现屏幕上显示的电压模值和电压实际值变频速度频繁,不稳定,不利于用户读数。532解决方案取得多次测量的平均值,通过计算平均值得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村新能源市场2025年技术创新与能源互联网研究报告
- 2025年新能源商用车辆在环卫设施清洁中的应用场景及市场前景报告
- 保险行业数字化理赔服务在信用保险中的信用风险监测报告
- 2025年生物质能广告宣传合规与技术创新案例分析报告
- 2025年智慧工厂射频识别(RFID)技术在供应链管理中的应用案例分析报告
- 安全教育培训纳入刑法课件
- 共享民宿项目在2025年共享经济浪潮中的可行性研究评估报告
- 教育行业质量评估与认证体系在学生法治教育中的实践探索报告
- 2025风力发电设备制造行业:技术创新与新能源产业融合报告
- 2025-2026学年六年级英语上册辽师大版期末模拟测试卷三(含答案)
- 2024年中级注册安全工程师《金属非金属矿山安全》真题及答案
- 《血小板功能检测》课件
- 人教版(2024)七年级下册英语Unit 5 Here and Now 教案
- 公司志编纂工作方案
- 抗战胜利70周年主题班会教案
- 2025年保安证考试沟通能力试题及答案
- 2025年禁毒社工考试试题及答案
- T-CTSS 90-2024 茶叶碳足迹核算方法
- 劳动合同法全文(2024年版)
- 餐饮服务与数字化运营 习题及答案 项目三
- 《空调基础知识》课件
评论
0/150
提交评论