基于单片机的压力传感器系统的设计实现分析_第1页
基于单片机的压力传感器系统的设计实现分析_第2页
基于单片机的压力传感器系统的设计实现分析_第3页
基于单片机的压力传感器系统的设计实现分析_第4页
基于单片机的压力传感器系统的设计实现分析_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. TOC o 1-3 t h z u HYPERLINK l _Toc26668 摘 要 PAGEREF _Toc26668 4 HYPERLINK l _Toc936 第1章 绪论 PAGEREF _Toc936 - 1 - HYPERLINK l _Toc30620 1.1 课题设计背景 PAGEREF _Toc30620 - 1 - HYPERLINK l _Toc4724 1.2 传感器系统简介 PAGEREF _Toc4724 - 1 - HYPERLINK l _Toc16388 1.3 本文内容提要 PAGEREF _Toc16388 - 2 - HYPERLINK l _To

2、c22142 第2章 调理电路硬件设计 PAGEREF _Toc22142 - 2 - HYPERLINK l _Toc10563 2.1 传感器电路分析 PAGEREF _Toc10563 - 2 - HYPERLINK l _Toc21320 2.2选用放大电路及其电路分析 PAGEREF _Toc21320 - 3 - HYPERLINK l _Toc32625 2.3AD转换电路的设计 PAGEREF _Toc32625 - 4 - HYPERLINK l _Toc2237 2.3.1AD0804的外围接口的功能: PAGEREF _Toc2237 - 4 - HYPERLINK l

3、_Toc24117 控制程序的设计: PAGEREF _Toc24117 6 HYPERLINK l _Toc31147 2.4 LCD显示电路的设计 PAGEREF _Toc31147 8 HYPERLINK l _Toc17373 2.4.1LCD的介绍 PAGEREF _Toc17373 8 HYPERLINK l _Toc32505 第3章 控制程序的设计 PAGEREF _Toc32505 15 HYPERLINK l _Toc29250 3.1 程序要完成的任务 PAGEREF _Toc29250 15 HYPERLINK l _Toc13244 3.2程序流程设计 PAGEREF

4、 _Toc13244 16 HYPERLINK l _Toc931 第4章 课题总结 PAGEREF _Toc931 18 HYPERLINK l _Toc3242 4.1仪用放大电路 PAGEREF _Toc3242 18 HYPERLINK l _Toc23887 4.2单片机的使用 PAGEREF _Toc23887 18 HYPERLINK l _Toc26212 4.3 AD转换和LCD的控制 PAGEREF _Toc26212 - 18 - HYPERLINK l _Toc24459 在使用类似于AD转换芯片和LCD显示等数字集成芯片时,我们重点关注于其外围引脚的功能和控制时序图就

5、可以了,通过外围引脚的功能来设计电路连接图,等外围电路连接好以后其实它的控制程序的大概框架就有了,再结合着时序图对各个引脚状态变化的先后顺序和各个状态的持续时间做一下处理,我们的控制程序根本上就可以出炉了。当然这时我们编写出的控制程序只是一个理论上的结果,最多有一个仿真结果。在实际调试时假设出现了焊接失误或者是程序控制的问题时,我们最好任然秉持先前的网口概念。对整个电路和程序进展模块化处理,一个模块一个模块的检查处理。这样我们调试的效率就会提高很多。 PAGEREF _Toc24459 - 18 - HYPERLINK l _Toc26254 第5章 结论 PAGEREF _Toc26254

6、- 19 - HYPERLINK l _Toc11023 在课题选择之初,其目的是为了熟练掌握针对于压力测量电路的设计和应用,并分析在设计过程中对测量精度影响较大的局部。但是在设计过程中,这一目的被逐渐淡化,转而注重于各个模块的选择和设计。因为在设计的过程当中发现,我们对调理电路的设计所考虑的参数似乎和实际的物理量并没有太大的关系,假设不考虑传感器与物理世界的交互方式的话,如文章开头所述:我们只要对电量进展操作就可以了。 PAGEREF _Toc11023 - 19 - HYPERLINK l _Toc32287 致 PAGEREF _Toc32287 - 19 - HYPERLINK l _

7、Toc23460 参考文献 PAGEREF _Toc23460 - 20 -. 毕业设计报告论文报告论文题目:基于单片机的压力传感器 系统的设计与实现 作者所在系部: 电子工程系 作者所在专业: 电子信息工程 作者所在班级: B10212 作 者 姓 名 : 雷宇 作 者 学 号 : 20104020419 指导教师*: 王喜斌 完 成 时 间 : 2014年6月3日 北华航天工业学院教务处制. 北华航天工业学院毕业设计论文任务书理工类学生*: 雷宇 专 业: 电子信息工程 班 级: B10212 学 号:20104020419 指导教师: 王喜斌 职 称: 副教授 完成时间: 2014.6

8、毕业设计论文题目:基于单片机的压力传感器系统的设计与实现题目来源教师科研课 题纵向课题 题目类型理论研究注:请直接在所属工程括号内打横向课题应用研究教师自拟课题应用设计学生自拟课题其 他总体设计要求及技术要点:依托于单片机的控制原理,设计控制程序和相关电路,实现对AD转换电路和液晶显示器的控制,使之能够根本实现对压力的测量和显示。整体设计的关键局部有两点:对传感器输入模拟信号的放大与转换。对液晶显示电路的控制。工作环境及技术条件:个人计算机一台,相关开发软件,单片机最小系统开发板一套,液晶显示屏一块。工作内容及最终成果: 1、编写出控制程序。 2、调试AD转换以及液晶显示电路。 3、焊接出放大

9、电路,AD转换模块和LCD显示模块电路 4、连接各个模块,并调试程序,使之能够与已有压力传感器配合测量压力时间进度安排:1、第七学期第6周第15周,查阅资料,完成开题报告、文献综述、外文文献翻译;2、第七学期第16周第17周,开题报告审阅、辩论;3、第八学期第1周第4周,分析系统功能确定各个模块的核心器件;4、第八学期第5周第7周,搜集整理各模块核心器件的使用方法,并设计硬件原理图;5、第八学期第8周第14周,完成控制程序的编制;6、第八学期第15周第17周,完成电路的焊接,并调试功能,完成毕业论文。指导教师签字: 年 月 日教研室主任意见:教研室主任签字: 年 月 日. 北华航天工业学院本科

10、生毕业设计论文原创性及知识产权声明本人*重声明:所呈交的毕业设计论文环道控制系统下位软件设计方案二是本人在指导教师的指导下,独立进展研究工作取得的成果。除文中已经注明引用的内容外,本设计论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本设计论文的研究做出重要奉献的个人和集体,均已在文中以明确方式标明。因本毕业设计论文引起的法律结果完全由本人承当。本毕业设计论文成果归北华航天工业学院所有。本人遵循北华航天工业学院有关毕业设计论文的相关规定,提交毕业设计论文的印刷本和电子版本。本人同意北华航天工业学院有权保存毕业设计论文的印刷本和电子版,并提供目录检索与阅览效劳;可以采用影印、缩印、数字

11、化或其它复制手段保存论文;在不以营利为目的的前提下,可以公布非涉密毕业设计论文的局部或全部内容。特此声明毕业设计论文 指导教师: 年 月 日 年 月 日. 摘 要在现实生活与工业生产中几乎随时随地都要测量各种物理量,例如压力,温度,长度等等。然而这些不同的物理量的测量与处理过程是*小异的,主要包括传感器,放大电路,AD转换电路,控制器,以及输出局部,这就给我们的模块化设计提供了先天条件。这样我们就可以很方便在不同测量设备中进展模块化移植。关键词 单片机,AD转换电路,液晶显示. AbstractAlmost whenever and wherever possible to measure v

12、arious physical quantities, in real life and in industrial production, such as pressure,temperature, length, etc. However, measurement and process these different physical quantity is very much the same, mainly consists of sensor,amplifier circuit, AD conversion circuit, controller, and output part,

13、 this will give our modular design provides congenital conditions. So we can easily bemodular grafting in different measuring equipmentKey words Microcontroller, AD conversion circuit, liquid crystal display. 目 录 TOC o 1-3 h z u HYPERLINK l _Toc8499 摘 要 PAGEREF _Toc8499 4 HYPERLINK l _Toc19060 第1章 绪

14、论 PAGEREF _Toc19060 - 1 - HYPERLINK l _Toc5832 1.1 课题设计背景 PAGEREF _Toc5832 - 1 - HYPERLINK l _Toc16053 1.2 传感器系统简介PAGEREF _Toc16053 - 1 - HYPERLINK l _Toc12450 1.3 本文内容提要 PAGEREF _Toc12450 - 2 - HYPERLINK l _Toc11376 第2章 调理电路硬件设计 PAGEREF _Toc11376 - 2 - HYPERLINK l _Toc22583 2.1 传感器电路分析 PAGEREF _Toc

15、22583 - 2 - HYPERLINK l _Toc31608 2.2选用放大电路及其电路分析 PAGEREF _Toc31608 - 3 - HYPERLINK l _Toc20835 2.3AD转换电路的设计 PAGEREF _Toc20835 - 4 - HYPERLINK l _Toc13897 2.3.1AD0804的外围接口的功能: PAGEREF _Toc13897 - 4 - HYPERLINK l _Toc8851 控制程序的设计: PAGEREF _Toc8851 - 6 - HYPERLINK l _Toc24563 2.4 LCD显示电路的设计 PAGEREF _T

16、oc24563 - 8 - HYPERLINK l _Toc26504 2.4.1LCD的介绍 PAGEREF _Toc26504 - 8 - HYPERLINK l _Toc32352 第3章 控制程序的设计 PAGEREF _Toc32352 - 15 - HYPERLINK l _Toc11014 3.1 程序要完成的任务 PAGEREF _Toc11014 - 15 - HYPERLINK l _Toc1837 3.2程序流程设计 PAGEREF _Toc1837 - 16 - HYPERLINK l _Toc22504 第4章 课题总结 PAGEREF _Toc22504 - 18

17、- HYPERLINK l _Toc2372 4.1仪用放大电路 PAGEREF _Toc2372 - 18 - HYPERLINK l _Toc2997 4.2单片机的使用 PAGEREF _Toc2997 - 18 - HYPERLINK l _Toc32069 4.3 AD转换和LCD的控制 PAGEREF _Toc32069 - 18 - HYPERLINK l _Toc18589 在使用类似于AD转换芯片和LCD显示等数字集成芯片时,我们重点关注于其外围引脚的功能和控制时序图就可以了,通过外围引脚的功能来设计电路连接图,等外围电路连接好以后其实它的控制程序的大概框架就有了,再结合着时

18、序图对各个引脚状态变化的先后顺序和各个状态的持续时间做一下处理,我们的控制程序根本上就可以出炉了。当然这时我们编写出的控制程序只是一个理论上的结果,最多有一个仿真结果。在实际调试时假设出现了焊接失误或者是程序控制的问题时,我们最好任然秉持先前的网口概念。对整个电路和程序进展模块化处理,一个模块一个模块的检查处理。这样我们调试的效率就会提高很多。 PAGEREF _Toc18589 - 18 - HYPERLINK l _Toc9837 第5章 结论 PAGEREF _Toc9837 - 19 - HYPERLINK l _Toc21913致 PAGEREF _Toc21913 - 19 - H

19、YPERLINK l _Toc1715 参考文献 PAGEREF _Toc1715 - 20 -. 第1章 绪论1.1 课题设计背景随着社会科技的进步,人们对生活的品质要求的提高,以及工业生产中日益准确的控制要求,现在几乎随时随地都需要对各种物理量进展测量。我们从很早就开场了对现实物理世界的观察与描述,而测量则是我们探索物理世界的一个重要手段。随着电子技术的迅速开展,我们开场在测量中大量引入电子技术,其测量的便捷性,智能性都得到了广泛的认可,从而促进了传感器技术的迅速开展。各种传感器种类繁多,形态各异,其测量机理也不尽一样,但是不管其测量的是何种物理量,基于哪一种测量机理,其最终的转换结果都是

20、电信号。则我们假设除去传感器的局部的非电量局部,而只关注其电器性能局部,则我们只要关注对电子量的处理与识别就可以。这里我们引入网口的概念,即对于网络内部的构造于运行机理并不投入过多的注意力,转而关注整个网络于网络外部的接口局部的电量变换规律,这样就大大降低了设计与使用的难度。这个课题的目的就是想通过压力传感器系统这一个例的设计与研究,总结出一个行之有效的,可以应用于其他传感器类型的调理控制电路。1.2 传感器系统简介依据上文所说到的网口概念,我们抛开其内部工作机理对系统进展简单的划分与介绍。这里的网口其实也可以理解为系统,我们生活中会遇到很多系统,而系统与系统之间又相互交汇,存在着信息与能量的

21、交换,即与外部存在着网口。例如传感器系统,一端与物理世、世界相连,将物理量采集到其系统内部,经过系统内的一系列运作,最终变成人可识别的信息输出给人。物理世界就是它的输入,人能看到的输出终端就是他的输出。而对于传感器系统内部而言,又可以划分为一连串的小系统,其中包括放大电路,AD转换电路,单片机控制电路,LCD显示电路。其连接构造如下:LCD显示单片机AD转换放大电路传感器1.3 本文内容提要本文主要包括以下内容:1整体系统的的实现方法。2各个模块的设计连接与实现方案。3为其他传感器的测量变送系统提供设计思路。第2章 调理电路硬件设计在课题设计中我们采用的控制芯片为STC89C52单片机,AD转

22、换采用AD0804,显示模块采用LCD1602,由于这几种芯片已经是很成熟的设备,各种技术资料的介绍已经很完备,所以在本文中我们不对各个芯片的技术参数再做赘述,而侧重于实际设计的思路分析。文中仅引用一些我们设计时需要关心的内容,在设计思路上,我们先对各个模块进展独立设计,在最后再将各局部组装到一起。2.1 传感器电路分析由于传感器输出信号很小,一般是几十到几百毫伏,而且为保证下一级电路的介入不影响传感器的工作状态我们要选择输入阻抗较高的放大电路,防止放大电路的输入级从传感器吸收过多的电流从而导致传感器输出的电压下降,造成测量误差。其机理如下列图:如图,我们取c,d两端作为输出级当电桥处于不平衡

23、状态时c,d两点间存在电位差,取为输出,则经过简单的三角形星形变换后可知输出负载阻抗越高,对桥型电路影响越小。2.2选用放大电路及其电路分析采用的放大电路如图1所示,对上图电路进展分析,LM324的1引脚输出为VO1,7引脚输出为VO2,8引脚为VO,对上图所示为一个仪用放大器电路原理图,具有高输入阻抗和高电压增益的特点,图中U2:A和U2:B构成了同相并联差动放大器,第一级输出为:VO=1+(R2+R3)/RV2VI;由于反响的作用使第一级的两个运放的vp和vn几乎相等即虚短,进而使其输入端几乎没有电流流过,这意味着它不从上一级的传感器桥式电路中吸收电流,具有高输入阻抗。U2:C构成第二级差

24、动放大,在这一级放大电路中,欲有效抑制共模干扰,需使R1=R4=R;R5=R6=Rf;则总的放大输出为VO=(Rf/R)VO=1+(R2+R3)/RV2(Rf/R)VI。其中RV2为滑动变阻器,可调节放大增益。2.3AD转换电路的设计由于传感器输出信号为模拟信号,我们使用的处理芯片只识别数字信号,所以需要将模拟量转换为数字量,对于使用者而言我们不必过多关心起内部的构造与原理,而把注意力放到其控制接口与接口性能上,本文以AD0804为例来设计AD转换电路,2.3.1AD0804的外围接口的功能:/CS:芯片片选信号,低电平有效,即/CS=0,该芯片才能正常工作,当外接多个AD芯片是可以通过这个接

25、口来控制是哪一个芯片在工作;如在多通道采集电路中,当我们使用到AD转换时,就可以通过片选信号的控制来完成通道的选择。/WR:启动ADC0804进展ADC采样,该信号低电平有效,我们在程序的初始化时该接口给低电平,使用时当整个电路初始换完成后,准备开场数据采集时,给该接口低电平信号,AD芯片开场进展转换。DB0DB7:由于AD0804是8位转换芯片,即将AD所能采集到的最大模拟量分成28分,结果以二进制形式存储到DB0DB7,等待控制芯片的读取。/RD:低电平有效,当转换完成后,转换结果已经存到DB0DB7后,由单片机控制给出低电平信号,这时单片机可以从数据接口读出转换结果。UIN+和UIN-:

26、模拟电压输入端,模拟电压输入接UIN+端,UIN-端接地。双边输入时UIN+、UIN-分别接模拟电压信号的正端和负端。当输入的模拟电压信号存在零点漂移电压时,可在UIN-接一等值的零点补偿电压,变换时将自动从UIN+中减去这一电压。本电路中直接将传感器的两个输出端接到芯片的两个模拟输入端上。VREF/2:参考电压接入引脚,参考电压值是AD输出的最大值该引脚可外接电压也可悬空,假设外界电压,则ADC的参考电压为该外界电压的两倍,如不外接,则Vref与Vcc共用电源电压,此时ADC的参考电压即为电源电压Vcc的值,。CLKR和CLKIN:外接RC电路产生模数转换器所需的时钟信号,时钟频率CLK =

27、 1/1.1RC,一般要求频率范围100KHz1.28MHz。AGND和DGND:分别接模拟地和数字地,电路中有时会出现数字局部与模拟局部相互干扰的情况,这时我们要实行数模隔离,地线需相对独立。/INT:中断请求信号输出引脚,该引脚低电平有效,当一次A/D转换完成后,将引起/INT=0,应用时,将这一接口与单片机中断入口相连接,当中断触发时单片机处理中断程序,读取AD转换结果。外围电路的设计需要单片机控制的引脚:/CS、/WR、DB0DB7、/RD,以上几个接口用于与单片机的数据通信,实现单片机对数据转换的控制和结果的读取。电源电路的接法:电源局部包括VCC、VREF/2、AGND、DGND。

28、VCC使用5V电压,VREF/2悬空这样参考电压即为电源电压,AGND和DGND可根据实际情况选择公用地线,或者进展隔离。CLKR和CLKIN接口可根据实际工作电路的运行情况选择RC震荡电路的频率。假设不影响实际的使用,可以将频率设计的地一些,给单片机留出工作反响时间,以免中断请求过于频繁而影响到整个系统程序的执行。仿真电路如下:我们进展电路设计时此图中C4选取的值较大,实际设计时可根据CLK = 1/1.1RC进展换算选取适宜的时钟频率。且由于设计时是分模块进展的,所以上图的UIN+和UIN-两个模拟输入量未接入上级的放大电路输出接口,仅以一个可控的电源输入来代替。实际应用时UIN+接放大电

29、路的输出接口,UIN-接地。控制程序的设计:在进展程序设计时我们需要用到数据手册中的时序图:结合前文的接口功能我们读时序图,时序图由两个局部组成,转换时序和输出时序,转换时序:由转换时序图可知,当/CS给低电平的情况下,/WR由高电平变成低电平并保持TW(/WR)的时间后再拉高,即启动一次转换,启动之后需等待转换完毕这一段的时间最少是8+73=81个时钟周期,结合前文提到的CLK = 1/1.1RC公式我们可以计算出这一延时的长度。转换完成之后芯片自动将结果存到D0 D7的存放器中。这时中断输出位拉低。输出时序:采样转换完毕后,再/CS信号为低的前提下,将/RD脚由高电平拉成低电平后,经过tA

30、CC的延时即可从DB脚读出有效的采样结果。根据以上分析结果我们就可以进展程序的编写了,以下为AD转换模块的控制程序:#include#define uchar unsigned char#define uint unsigned intsbit cs=P01;sbit wr=P03;sbit rd=P02;void init();/初始化程序void start();/启动转换程序void read();/结果读取程序void delay(uint z);/延时函数void main()init();while(1) start(); read(); void init()/初始化程序cs=1

31、;wr=1;void delay(uint z)/延时函数uint *,y;for(*=z;*0;*-)for(y=110;y0;y-);void start()/启动转换程序cs=0;wr=0;delay(1);wr=1;delay(3);void read()/结果读取程序uchar dd;cs=0;rd=0;delay(10);dd=P1;我们现在编写的仅仅是针对于AD转换的一局部,但是C语言程序有很高的可移植性。所以讲几个模块的程序编写出来以后再进展程序的组装。2.4 LCD显示电路的设计LCD显示乍一看好似很麻烦,实际上来讲其设计思路与AD电路的设计思路是非常相似的,其区别在于AD0

32、804芯片是靠其外围接口的控制来完成控制工作,不同之处在于,LCD显示模块中有存储功能,需要对其内部的存储空间具有一定的了解。下面我们从LCD1602的数据手册开场逐步的了解其使用方法。等我们将数据手册分析明白后,我们的硬件电路接线图和程序就根本上设计出来了。2.4.1LCD的介绍这里我们任然秉承前文的网络概念,关于其内部一些不必要的构造以及运行原理全部摒弃不要,只介绍我们使用时需要了解的局部,即,主要技术参数、外围电路接口、指令、时序图,供电电源设计外围电路时我们因注意这些使用参数,暂且称之为运行条件吧,其内容如下:芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最正确工作电

33、压:5.0V设计电路时,参照这几个参数以保证电路的正常运行,防止损坏芯片。硬件接口第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器比照度调整端,接正电源时比照度最弱,接地时比照度最高,比照度过高时会产生鬼影,使用时可以通过一个10K的电位器调整比照度。第4脚:RS为存放器选择,LCD1602模块中集成了存放器,以存储指令和数据,我们写入的内容是放到数据存放器来显示,还是放到程序存放器来进展模块控制,由此引脚的状态来决定。RS高电平时选择数据存放器、低电平时选择指令存放器。第5脚:R/W为读写信号线,高电平时进展读操作,低电平时进展写操作。本系统只进展写操作,所以此引

34、脚一直给低电平。第6脚:E端为使能端,当E端由高电平时读取信息;由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7数据线,我们通过这八个I/O口进展单片机和LCD的数据传输。第15脚:背光源正极。第16脚:背光源负极。有了以上内容我们就可先进展硬件电路的设计了,因为LCD与单片机之间只有信号的交流,其显示功率由模块内部的驱动电路提供所以省去了数码管的外围驱动电路。这样大大简化了硬件电路的设计难度。其连接图如下由于我们只进展写操作所以RW引脚一直给低电平,直接接地控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输

35、入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容在研究LCD数据手册时,我迷惑了半天始终搞不明白LCD的控制方法,原因之一就是,没有把指令、数据以及控制时序之间的关系搞明白。现在我用自己的话将我对这些操作的理解表达一遍:在操作LCD模块时其实和操作单片机是一样的,不管我们操作的是单片机的

36、哪一种功能,控制的哪一个引脚,实际上我们并没有对这个引脚进展直接的操作,我们操作的是这一引脚所对应的存放器。例如:我们想让P11口输出1,我们是把1这个数据装入到与P11连接的存放器中,到时候单片机自动将存放器中的状态转换成P11接口的上下电平输出。现在回到LCD的操作,我们在操作LCD模块时,本质上也是对其内部的存放器进展操作,而且,LCD的存放器有两种,一种是程序存放器指令存放器,一种是数据存放器,指令存放器,顾名思义,就是存指令的,而指令的作用我们先前已经介绍了,但是在阅读指令集的时候要弄清楚各个位是做什么的。前面的两位RS和RW是控制位,他们的状态决定了我们是对数据存放器操作还是对指令

37、存放器进展操作,和进展的是读操作还是写操作,后面的D0D7八个位才是写到存放器里面的内容。这样我们的思路就清晰了。:RS,RW,E三个端口的时序配合如下:读状态 输入:RS=L,RW=H,E=H 输出:DB0DB7=状态字写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码 输出:无读数据 输入:RS=H,RW=H,E=H 输出:DB0DB7=数据写数据 输入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据 输出:无 读操作时序 写操作时序看到这里我们在回头对应先前的指令集,就可以发现,所谓的指令集,是要分开两个局部来看的,第一局部是RS和RW两个控制位,第二局部我们

38、可以称之为指令。我们要做的工作就是按照时序图的要求将需要写入的指令或数据送给LCD。在编写程序时,将rs,rw,e三个端口设置好之后,直接将要写入的内容送给D0D7口就可以了。程序设计由先前的分析我们可知,LCD的主要控制程序分为写指令程序和写数据程序,我们先按照时序图将两个子程序写下来写指令程序void lcdwrite_(uchar )lcdrs=0;P0=;delay(1);/延时函数lcden=1;delay(5);lcden=0;写数据程序void write_data(uchar date)lcdrs=0;P0=date;delay(5);lcden=1;delay(5);lcde

39、n=0;利用这两个子程序就可以写入相关指令和程序了下面我们先利用这两个子程序完成LCD的初始化设置。void init()lcdwrite_(0*06);/指令3,光标右移,文字不移动lcdwrite_(0*0c);/指令4,显示器开,无光标,无闪烁lcdwrite_(0*14);/指令5,光标右移一格lcdwrite_(0*38);/指令6,设置 8 位格式,2 行,5*7lcdwrite_(0*01);/清屏delay(5);延时,令LCD有足够时间完成清屏程序然后我们就可以对先前写成的程序进展组装了,组装结果如下:#include#define uchar unsigned char#d

40、efine uint unsigned int#define lcd_db P0 sbit lcdrs=P20;sbit lcden=P21;void lcdwrite_(uchar );/写指令void lcdwrite_data(uchar date);/写数据void lcd_disp_char(uchar a,uchar b,uchar c);/显示程序void init();void delay(uint z);void main()init(); lcd_disp_char(0,1,A); while(1);void lcd_disp_char(uchar a,uchar b,uc

41、har c)/显示程序 uchar address; if(b=1) address=0*80+a; else address=0*c0+a; lcdwrite_(address); lcdwrite_data(c); 由于其他子程序内容,前文已经给出,所以这里的程序就不再赘述。控制程序的设计在之前的对各个硬件电路的控制过程3.1 程序要完成的任务程序即命令,它要担负起整合硬件资源的任务,并且要对信息进分析处理。针对我们这个课题。我们先做一个简单的流程。将数据放到LCD里显示控制AD转换得到数据如图实际上我们这个系统就完成了这么一个简单的工作,简要而言我们的单片机相当于一个数据的搬运工,对AD

42、模块和LCD模块的的控制程序先前我们已经介绍过了。这里我们要分析一下程序要完成的其他任务。我们知道AD转换过后的数据是放大电路输出的一个电压值,并不是我们想要显示的力值,所以需要对数据进展处理。我们的AD为8位总线,所以最大数值为255,设满量程质量为100g则8位总线上的数变化1,实际重量变化100/256g,即为显示精度,假设从AD中得到的数为100,则实际物体的重量为100*100/256=39.0625g,现在我们舍去后面的小数位,只将39g输入到LCD中显示,则我们就要分别将39g这三个字符放到LCD中,这样我们就要把这三个字符别离出来,所以单片机在搬运数据的过程中要先将数据放到数据

43、处理程序中处理一下,再将处理结果搬到LCD中。这样我们就有了程序设计思路了。程序要完成的任务流程如下,依次将各位数据输入LCD将重量值各个位别离将数据转换成实物的重量控制AD转换得到数据3.2程序流程设计主程序流程图如下:开场程序初始化启动AD转换一次读取AD转换结果将AD转换结果换算成实物重量LCD显示重量END程序如下void main()init();/初始化程序,包括AD和LCD的初始化while(1)adread();/启动并读取ad结果shiwu();/将结果转换成实物重量display();/LCD显示程序主程序中AD转换和LCD显示程序前文已经介绍过,这里不再赘述。这里仅给出实

44、物转换的子程序。流程如下:开场读取转换结果将结果乘上一个系数返回一个结果完毕程序如下:. 第4章 课题总结4.1仪用放大电路仪用放大器是从差分放大器电路上开展优化而来,采用双端输入的模式,输入端几乎不吸收电流, 并且电路构造对称, 漂移和失调相互抵消, 具有抑制共模信号干扰的能力。它源于运放,但是优于运放,外围电路设计简单,本课题为说明放大原理,和放大倍数的设置方法并没有采用现成的集成仪用放大器,而采用别离原件构成。实际上采用集成仪用放大器设计将更加简洁且精细度更高。由于其优异的性能,仪用放大器在实际应用很广,例如数据采集、传感器信号放大、高速信号调节、医疗仪器和高档音响设备等方面。本课题采用

45、这一电路的目的就是为熟练的掌握仪用放大电路的使用方法。这样在其他应用场合中,就可以很容易的进展模块移植。4.2单片机的使用单片机是很经典的一种微控制芯片,他具有数据处理、存储、多种I/O口和中断系统、定时器/计数器等功能。我们使用单片机就是在熟练的使用这些功能而已,但是却不应过多的关注于这些功能的实现过程或者是实现原理。实际上我们在使用过这些功能的过程中会发现我们要做的工作仅仅是对其各存放器进展操作而已。例如我们想让*一I/O口输出高电平,那我们就把状态1写入到这一I/O口所对应的存放器里就可以了。再如我们对定时器的设置,实际上就是将我们计算好的状态值输入到需要设置的控制存放器里就可以了。当然

46、前提是我们要先了解各个存放器的作用,按照数据手册的要求设置出我们需要的状态。4.3 AD转换和LCD的控制在使用类似于AD转换芯片和LCD显示等数字集成芯片时,我们重点关注于其外围引脚的功能和控制时序图就可以了,通过外围引脚的功能来设计电路连接图,等外围电路连接好以后其实它的控制程序的大概框架就有了,再结合着时序图对各个引脚状态变化的先后顺序和各个状态的持续时间做一下处理,我们的控制程序根本上就可以出炉了。当然这时我们编写出的控制程序只是一个理论上的结果,最多有一个仿真结果。在实际调试时假设出现了焊接失误或者是程序控制的问题时,我们最好任然秉持先前的网口概念。对整个电路和程序进展模块化处理,一个模块一个模块的检查处理。这样我们调试的效率就会提高很多。. 第5章 结论在课题选择之初,其目的是为了熟练掌握针对于压力测量电路的设计和应用,并分析在设计过程中对测量精度影响较大的局部。但是在设计过程中,这一目的被逐渐淡化,转而注重于各个模块的选择和设计。因为在设计的过程当中发现,我们对调理电路的设计所考虑的参数似乎和实际的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论