1、石家庄铁道大学四方学院毕业设计简易数字电容表的设计The Design of Simple Digital Capacitor Published 毕业设计成绩单学生姓名学号班级方专业电气工程及其自动化毕业设计题目简易数字电容表的设计指导教师姓名杨彦彬指导教师职称讲师评 定 成 绩指导教师得分评阅人得分答辩小组组长得分成绩:院长(主任) 签字:年 月 日毕业设计任务书题目简易数字电容表的设计学生姓名学号21班级方1专业电气工程及其自动化承担指导任务单位电气工程系导师姓名杨彦彬导师职称讲师一、主要内容设计一个可以直接测量无极性电容容量值的仪表,通过字符液晶显示测量对象的测量对象的电容值。二、基本
2、要求 单片机建议选用STC12C520XAD系列SKDIP28封装。字符液晶选用LCD1602A。 如果需要用到运放,可以选用LM358或324。三、主要技术指标测量范围:100Pf100nf精度要求:误差不大于20%显示要求:保留1位小数点,单位用N。供电:9V万用表干电池或用DC9-12V电源代替论文正文不少于1万字,查阅文献资料不少于10篇,其中外文文献2篇以上,翻译与课题有关的外文资料不少于3000汉字。四、电路提示:建议用振荡法测量,其他方法也可以。 被测电容范围较大,选用振荡电路时,要考虑这个因素。用外部中断测量震荡频率,然后计算电容值。必要时可用施密特触发器对信号整形。五、进度计
3、划第1周第3周 收集资料,完成开题报告第4周 需求分析,概要设计第5周第7周 详细设计第8周 中期检查第9周第12周 写论文第13周第14周 论文审核定稿第15周第16周 答辩教研室主任签字时间 年 月 日毕业设计开题报告题 目简易数字电容表的设计学生姓名学号班级专业电气工程及其自动化一、研究背景随着计算机的更新与发展,大大促进了工业信息化自动化的发展,数字电容表的优越性日益表现出来。由于它具有功能强、体积小、功耗低、价格便宜、工作可靠、读数方便,精度高等特点,因此特别适用于工业控制或与控制有关的数处理系统,越来越广发被各个领域和项目采用。它的结构和特点决定了他的强大用途,使得它在智能仪表、仪
4、器、小型检测及控制系统、家用电器中大展身手,倍受青睐。因此掌握好精密型数字电容表制作的一般设计方法,对于工程设计和开发有十分重要的指导意义。 数字电容表的发展与模拟电路、数字电路一样经历了由电子管、半导体分立器件到集成电路等几个阶段的发展,到位处理器的出现,使数字电容表的性能产生了质的飞跃。本文设计的基于单片机的数字电容表,其主要构成采用的是单片机和字符液晶LCD1602A。它具有功能强、体积小、功耗低、价格便宜、工作可靠、读数方便,精度高等特点,因此特别适用于工业控制或与控制有关的数据处理系统。集成芯片比分立元器件控制电路具有更简单,更可靠的特点和易于调试的优点,可以提高电容表工作的可靠性和
5、性能指标。二、国内外研究现状1国外研究现状及特点:国外的产品集成化,世界著名电子测量仪器厂商美国福禄克(Fluke)公司2月24日在北京宣布:新研制双通道、手持式Fluke123工业示波表正式进入中国市场,为机床、仪器、电源和控制系统故障诊断提供了便捷的工具。 Fluke 123集示波器、万用表和记录仪于一体,有26种示波器和万用表测量功能;一对测量导线可满足波形、数字多用表、电容、电阻和通断性全部测量功能的需要,操作简便;独特的即触即测功能,快速发现故障;可检查调速驱动系统输出电压和电流,给出电压、频率、电流、占空比的读数及电压、电流波形;通过产品安全性的UL认证;采样模式有正常、单次、滚动
6、、包络和平滑;仅重2.5磅,轻松握在手中;采用了Flex Core新技术和ASICs专用芯片;有英文和中文帮助信息;可应用于电子、机械、厂化、电力、冶金等领域。 目前国外的数字电容表向着结构更小,更美观,更实用,用户不需要扩充资源就可以更方便的使用,不仅是开发简单,产品小巧美观,同时系统也更加稳定,对数字电容表的研究 ,通过将科学技术应用到工业生产,从而使得人们真正体会到科技的发展给自己的现实生活所带来的方便和舒适。 2我国研究现状及特点: 在我国很流行的是数字电容表,以其精度高、价格低而闻名,特别是LED显示的数字面板表占据了大半市场。内部含有自校零双积分电容表所需的全部模拟和数字电路。只外
7、接少量的电阻电容和LED数码管就可组成一只精确而稳定的数字电容表。 将单片机用于电容式传感器转换测量技术长期被人们所重视,,以实现单芯片提供完整的前级传感器激励与检测方案,然而这种方案仍然需要另外选用单片机与这类芯片配套,才能最终构成实现电容测量的系统,相应地增加了成本和复杂性,不适于量大价 低的诸如倾角传感器或电子水平仪等方面的应用。综合以上问题,本文根据片上系统思路,设计了一种仅采用一个单片机芯片和几个基本的电容量转换电路元件构成的单CPU芯片电容量转换、测量数据处理系统,尤其适合集成模块化和高性价比应用场合。 三、论文进行的主要工作本文设计的基于单片机STC12C520XAD系列的数字电
8、容表,其主要构成采用的是单片机和字符液晶LCD1602A,采用外部中断测量震荡频率,必要时可以采用LM358进行运算放大,然后计算电容值。它具有功能强、体积小、功耗低、价格便宜、工作可靠、读数方便,精度高等特点,因此特别适用于工业控制或与控制有关的数据处理系统。集成芯片比分立元器件控制电路具有更简单,更可靠的特点和易于调试的优点,可以提高电容表工作的可靠性和性能指标。四、采用的方法、手段硬件电路采用单片机设计电路,使用软硬件结合的方法,电路结构简单,清晰,元件个数少,整体体积小,携带方便,调试也极其方便,只需调试有关程序软件即可,可谓一劳永逸。同时,也是最重要的一点,灵敏系数高,误差很小,在现
9、代技术行业,必须使用这种方式的数字电容表。并且是数字式的,优点是非常明显的。 显示方面采用字符液晶LCD1602A的动态显示,需要CPU时刻对显示器件进行数据刷新,显示数据会有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。五、预期结果采用12V电源进行供电,完全能够满足常用电容的测量,测量范围:100PF100NF,而且精度控制在计划范围以内,实现精度误差不大于20%,要求显示保留1位小数点,单位用N,具有很好的实用性。指导教师签字时 间 年 月 日摘 要随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,正在不断地走向深入,同时带动传统控制检测日新月益
10、更新。在应用中我们常常要测定电容的大小,本文设计了一种测定电容的数字电容表。本课题选用STC12C5204AD单片机作为一个核心部件来设计数字电容表,该设计的系统是由:单片机、555芯片电路、显示电路等部分组成。采用Keil C语言进行编程,通过由555芯片和电容、电阻组成的振荡电路来输出方波,通过单片机软件计数,从而达到测量其频率,对数据进行进一步的计算从而得出被测电容的值,通过LCD1602显示出其测量值。 本次设计的数字电容表通过实际证明,该系统具有硬件设计简单,软件可调整性大,系统稳定可靠等优点,并且在体积方面比较小,方便携带,在生活生产中可以得到更普遍的应用。关键字:单片机 LCD1
11、602 数字电容表 555芯片 AbstractWhile the traditional control test drive the crescent benefit update. With the development of electronic industry, electronic components increases rapidly, the scope of electronic components widely up gradually, in applications we often measured capacitance.The project uses S
12、TC12C5204AD MCU to design the digital capacitance meter, the design of the system is composed of MCU, 555: chip circuit, display circuit. Using Keil C programming language, through an oscillation circuit composed of 555 chip and capacitance, resistance to output square wave, measuring the pulse widt
13、h of the microcontroller timer T0, so as to achieve the measurement of its cycle, and then through the single-chip microcomputer software counting, make further calculation of the data so that the measured capacitance value,the LCD1602 displays the measured value.The design of the digital capacitanc
14、e meter through practice, this system has simple hardware design, the software can be adjusted, the advantages of the system is stable and reliable, and the volume is small, easy to carry, can be more generally applied in life and production.Key words:Single-chip LCD1602 Digital capacitance meter 55
15、5 chips 目 录第1章 绪论11.1 课题研究的目的及意义11.2 国内外研究现状11.3 主要研究内容2第2章 设计方案32.1 设计要求32.2 设计方案选择3第3章 硬件设计53.1 硬件设计的任务53.2 电容测量系统硬件设计5 3.2.1STC12C5204AD单片机的使用5 3.2.2 电容测量系统555芯片电路8 3.2.3 电容测量系统显示电路10第4章 基于单片机电容测量软件设计134.1 软件设计134.2 软件设计任务134.3 软件设计的工具134.4 程序设计算法设计144.5 软件设计流程15 4.5.1 主程序流程图15 4.5.2 中断子程序流程图16 4
16、.5.3 显示子程序164.6 编写程序174.7 结果分析18第5章 结论19参考文献20致谢21附录22附录A 外文资料22附录B 总原理图及仿真图34附录C 程序清单36石家庄铁道大学四方学院毕业设计第1章 绪 论 1.1 课题研究的目的及意义当今电子测试领域,电容的测量已经在测量技术和产品研发中应用的十分广泛。电容通常以传感器形式出现,因此,电容测量技术的发展归根结底就是电容传感器的发展。由最初的用交流不平衡电桥就能测量基本的电容传感器。最初的电容传感器有变面积型,变介质介电常数型和变极板间型。现在的电容式传感器越做越先进,现在用的比较多的有容栅式电容传感器,陶瓷电容压力传感器等。电容
17、测量技术发展也很快现在的电容测量技术也由单一化发展为多元化。随着测量技术的飞速发展以及人们对电容参数的测量精度要求的提高,目前教学实验中普遍采用的数字式万用表已不能满足测量要求,因此设计可靠,安全,便捷,测量精度更高的电容具有广泛的使用价值和应用前景。1.2 国内外研究现状现在国内外做传感器的厂商也比较多,在世界范围内做电容传感器做的比较好的公司有:日本figaro、德国tecsis、美国alphasense。中国本土测量仪器设备发展的主要瓶颈。尽管本土测试测量产业得到了快速发展,但客观地说中国开发测试测量仪器还普遍比较落后。每当提起中国测试仪器落后的原因,就会有许多不同的说法,诸如精度不高,
18、外观不好,可靠性差等。实际上,这些都还是表面现象,真正影响中国测量仪器发展的瓶颈为:(1)由于测试在整个产品流程中的地位偏低,人们的传统观念的影响,在产品的制造流程中,研发始终处于核心位置,而测试则处于从属和辅助位置。关于这一点,在几乎所有的研究机构部门配置上即窥其一斑。这种原因,造成整个社会对测试的重视度不够,造成测试仪器方面人才的严重匮乏,这是中国测量仪器发展的一个主要瓶颈。实际上,即便是研发队伍本身,对测试的重视度以及对仪器本身的研究也明显不够。 (2)面向应用和现代市场营销模式还没有真正建立起来。本土仪器设备厂商只是重研发,重视生产,重视狭义的市场,还没有建立起一套完整的现代营销体系和
19、面向应用的研发模式。传统的营销模式在计划经济年代里发挥过很大作用,但无法满足目前整体解方案流行年代的需求。所以,为了快速缩小与国外先进公司之间的差距,国内仪器研发企业应加速实现从面向仿制的研发向面向应用的研发的过渡。特别是随着国内应用需求的快速增长,为这一过渡提供了根本动力,应该利用这些动力,跟踪应用技术的快速发展。近年来我国测量仪器的可靠性和稳定性问题得到了很多方面的重视,状况有了很大改观。测试仪器行业目前已经越过低谷阶段,重新回到了快速发展的轨道,尤其最近几年,中国本土仪器取得了长足的进步,特别是通用电子测量设备研发方面,与国外先进产品的差距正在快速缩小,对国外电子仪器巨头的垄断造成了一定
20、的冲击。随着模块化和虚拟技术的发展,为中国的测试测量仪器行业带来了新的契机,加上各级政府日益重视,以及中国自主应用标准研究的快速进展,都在为该产业提供前所未有的动力和机遇。从中国电子信息产业统计年鉴中可以看出,中国的测试测量仪器每年都以超过30%以上的速度在快速增长。在此快速增长的过程中,无疑催生出了许多测试行业新创企业,也催生出了一批批可靠性和稳定性较高的产品。1.3 主要研究内容目前常用的两种测量电容的实现方法:一是利用多谐震荡产生脉冲宽度与电容值成正比信号,通过低通滤波后测量输出电压实现;二是利用单稳态触发装置产生与电容值成正比门脉冲来控制通过计数器的标准计数脉冲的通断,即直接根据充放电
21、时间判断电容值。利用多谐震荡原理测量电容的方案硬件设计比较简单,但是软件实现相对比较复杂,而直接根据充放电时间判断电容值的方案虽然基本上没有用到软件部分,但是硬件却又十分的复杂。而且他们都无法直观的把测量的电容值大小显示出来。根据上面两种方案的优缺点,本次设计提出了硬件设计和软件设计都相对比较简单的方案:基于STC12C5204AD单片机和555芯片的数显式电容测量。该方案主要是根据555芯片2的应用特点,把电容的大小转变成555输出频率的大小,进而可以通过单片机对555输出的频率进行测量。本方案的硬件设计和软件设计都相对简单。40第2章 设计方案2.1 设计要求设计一个可以直接测量电容的仪表
22、,通过字符液晶LCD1602A显示测量对象的电感值。要求利用单片机、检测电路、液晶显示屏等设计并制作电容表。单片机建议选用STC12C520XAD系列SKDIP28封装。字符液晶选用LCD1602A。主要技术指标:测量范围:100PF100NF;精度要求:误差不大于20%;显示要求:保留1位小数点,单位用N;供电:9V万用表干电池或用DC9-12V电源代替。2.2 设计方案选择本次设计中考虑了三种设计方案,三种设计方案中主要区别在于硬件电路和软件设计的不同,对于本设计三种方案均能够实现,最后根据设计要求、可行性和设计成本的考虑选择了基于STC12C5204AD单片机和555芯片构成的多谐振荡电
23、路的测量的方案。现在一一介绍论证如下:方案一、利用多谐振荡原理测量电容测量原理电容C电阻R和555芯片构成一个多谐振荡电路3。在电源刚接通时,电容C上的电压为零,多谐振荡器输出为高电平 通过R对电容C充电。当C上冲得的电压= 时,施密特触发器翻转,变为低电平,C又通过R放电,下降。当= 时施密特触发器又翻转,输出又变为高电平,如此往复产生震荡波形。由测得的校准值测量值及存放的软件中的标准电容值C可得出待测电容值这种方法的利用了一个参考的电容实现,虽然硬件结构简单,软件实现却相对比较复杂。方案二、直接根据充放电时间判断电容值这种电容测量方法主要利用了电容的充放电特性,放电常数4,通过测量与被测电
24、容相关电路的充放电时间来确定电容值。一般情况下,可设计电路使。这种方法应用了555芯片组成的单稳态触发器,在秒脉冲的作用下产生触发脉冲,来控制门电路实现计数,从而确定脉冲时间,通过设计合理的电路参数,使计数值与被测电容相对应。误差分析:这种电容测量方法的误差主要由两部分组成:一部分是由555芯片构成的振荡电路和触发电路由于非线性造成的误差,其中最重要的是单稳态触发电路的非线性误差,(T由充放电时间决定,是被测电容值);另一部分是由数字电路的量化误差引起,是数字电路特有的误差该误差相对影响较小,可忽略不计。这种方法硬件结构相对复杂,实际上是通过牺牲硬件部分来减轻软件部分的负担,但在具体设计中会碰
25、到很大问题,而且硬件一旦设计好,可变性不大。方案三、基于STC12C5204AD单片机和555芯片构成的多谐振荡电路电容测量这种电容测量方法主要是通过一块555芯片来测量电容,让555芯片工作在直接反馈无稳态的状态下,555芯片输出一定频率的方波,其频率的大小跟被测量的电容之间的关系是:,我们固定的大小,其公式就可以写为:,只要能够测量出555芯片输出的频率,就可以计算出测量的电容。计算频率的方法可以利用单片机的计数器和中断配合使用来测量,这种研究方法相当的简单。系统框图如图2-1所示。 STC12C5204AD 测量按键LCD1602显示晶振电路555芯片被测电容测量电容换挡 图2-1 系统
26、框图图中给出了整个系统设计的系统框图,系统主要组成部分,单片机和晶振电路设计,555芯片电路设计,显示电路设计。第3章 硬件设计3.1 硬件设计的任务STC12C5204AD基本工作电路设计:使单片机正常工作;时钟电路:为单片机提供时钟信号;555芯片电路:把电容的大小转变成输出频率的大小;显示电路:显示当前测量电容的大小;按键电路:开始测量电容;3.2 电容测量系统硬件设计3.2.1STC12C5204AD单片机的使用 STC12C5204AD单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机6,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-
27、12倍。内部集成MAX810专用复位电路,2 路PWM,8 路高速8 位A/D 转换(300K/S),针对电机控制,强干扰场合。设计时单片机采用STC12C5204AD,芯片STC12C5204AD引脚图如图3-1所示。图3-1STC12C5204AD引脚图 引脚作用介绍如下:P1.0/ADC0: P1.0:标准I/O口 PORT10 ADC0:ADC 输入通道-0P1.1/ADC1: P1.1:标准I/O口 PORT11 ADC1:ADC 输入通道-1P1.2/ADC2/EX_LVD/RST2:P1.2:标准I/O口 PORT12 ADC2:ADC 输入通道-2 EX_LVD:外部低压检测中
28、断/比较器 RST2:第二复位功能脚P1.3/ADC3: P1.3:标准I/O口 PORT13 ADC3:ADC 输入通道-3P1.4/ADC4: P1.4:标准I/O口 PORT14 ADC4:ADC 输入通道-4P1.5/ADC5: P1.5:标准I/O口 PORT15 ADC5:ADC 输入通道-5P1.6/ADC6: P1.6:标准I/O口 PORT16 ADC6:ADC 输入通道-6P1.7/ADC7: P1.7:标准I/O口 PORT17 ADC7:ADC 输入通道-7P2口:Port2:P2口内部有上拉电阻,既可作为输入/输出口,也可作为高8位地址总线使用(A8-A15)。当P2
29、口作为输入/输出口时,P2是一个8位准双向口。P3.0/RxD: P3.0:标准I/O口 PORT30 RxD:串口数据接收端P3.1/TxD: P3.1:标准I/O口 PORT31 TxD:串口数据接收端P3.2/:P3.2:标准I/O口 PORT32 :外部中断0,下降沿中断或低电平中断P3.3/:P3.3:标准I/O口 PORT33 :外部中断1,下降沿中断或低电平中断P3.4/T0/ECI/CLKOUT0:P3.4:标准I/O口 PORT34 T0:定时器/计数器0的外部输入ECI:PCA计数器的外部脉冲输入脚CLKOUT0:定时器/计数器0的时钟输出,可通过设置WAKE_CLKO0位
30、/T0CLKO将该管脚配置为CLKOUT0P3.5/T1/CCP1/CLKOUT1:P3.5:标准I/O口 PORT35 T1:定时器/计数器1的外部输入 CCP1:外部信号捕获(频率测量或当外部中断使用)、高速脉冲输出及脉宽调制输出CLKOUT1:定时器/计数器1的时钟输出,可通过设置WAKE_CLKO1位/T1CLKO将该管脚配置为CLKOUT1P3.7/CCP0: P3.7:标准I/O口 PORT37 CCP0:外部信号捕获(频率测量或当外部中断使用)、高速脉冲输出及脉宽调制输出RST:复位脚XTAL1:内部时钟电路反相放大器输入端,接外部晶振的一个引脚。当直接使用外部时钟源时,此引脚是
31、外部时钟源的输入端。XTAL2:内部时钟电路反相放大器输出端,接外部晶振的另一端。当直接使用外部时钟源时,此引脚可悬空,此时XTAL2实际将XTAL1输入的时钟进行输出、VCC:电源正极GND:电源负极,接地(1)关于复位电路:时钟频率低于12MHz时,可以不用C1,R1接1K电阻到地时钟频率高于12MHz时,建议使用第二复位功能脚(2)关于晶振电路:如果使用内部R/C振荡器时钟,XTAL1和XTAL2脚悬浮。如果外部时钟频率在27MHz以上时,使用标称频率就是基本频率的晶体,或直接使用外部有源晶振,时钟从XTAL1脚输入,XTAL2脚必须浮空。(3)A/D转换模块的参考电压源:STC12C5
32、201AD单片机的参考电压源是输入工作电压VCC,所以一般不用外接参考电压源15。STC12C5204AD芯片的主要功能特性介绍:(1)增强型 8051 CPU,1T,单时钟/ 机器周期,指令代码完全兼容传统8051(2)工作电压:5.5V - 3.3V(5V 单片机)(3)工作频率范围:0 - 35MHz,相当于普通8051的 0420MHz(4)用户应用程序空间4K字节(5)片上集成 256 字节 RAM(6)通用I/O口(27/23/15/13/11个),复位后为:准双向口/弱上拉(普通8051 传统I/O口)(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用
33、仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片(8)有EEPROM 功能(9)看门狗(10)内部集成MAX810 专用复位电路(外部晶体20M 以下时,复位脚可直接1K 电阻到地)(11)内置一个掉电检测电路,在P1.2口有一个低压门槛比较器(12)时钟源:外部高精度晶体/ 时钟,内部R/C 振荡器(温漂为+/-5%到+/-10%以内)(13)共4个16位定时器(14)2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟(15)外部中断I/O口6路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,(16)
34、工作温度范围: -40 - +85(工业级)/ 0 - 75(商业级)(17)封装:LQFP-32,SOP-32/28/20/16, SKDIP-28,PDIP-20/18/16,LSSOP-20 电容测量系统时钟电路 内部时钟方式:内部时钟原理图如下图3-2所示。图3-2 内部时钟原理图单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路7。电路中的电容C1和C2典型值通常选择为33PF左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率
35、的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率的范围通常是在1.2MHz12MHz之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。外部时钟方式是使用外部振荡脉冲信号,常用于多片单片机同时工作,以便于同步。对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于12MHz的方波。3.2.2 电容测量系统555芯片电路555芯片电路是一种将模拟功能与逻辑功能巧妙结合在同一硅片上的组合集成电路。它设计新颖,构思奇巧,用途广泛,备受电子专业设计人员和电子爱好者的青睐,人们将其戏称为伟大的小IC。尽管世界各大半导体或器件公司、厂家都在生产各自型号的555时基电路,但其
36、内部电路大同小异,且都具有相同的引出功能端。555电路,也称555芯片电路,是一种中规模集成电路。它具有功能强、使用灵活、适用范围宽的特点。通常只要外接少量几个元件,就可构成各种不同用途的脉冲电路以及许多实用电路,如多谐振荡器、单稳态电路及施密特触发器等等。从而能够实现振荡、定时、调光、调压、调速等。555集成电路有双极型和CMOS两种。此外,这个触发器还有复位端MR加上低电平(03V)时可使输出为低电平。该特殊的RS触发器有两个输入端,这两个输入端的触发电平要求一高一低,其中置零端R即阈值端TH要求高电平,置位端即触发端则要求低电平,也就是使它们翻转的阈值电压值不同。当VK端不接控制电压时,
37、对TH端(即R端)来讲,大于23VDD是高电平1,小于23VDD时是低电平0;而对TR端(即端)来讲,大于13VDD是高电平1,小于13VDD是低电平O8。 电容测量系统按键电路按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。图9就是一种比较典型的按键电路,在
38、按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。按键检测电路原理图如图3-3所示。图3-3 按键检测电路555芯片电路的应用电路很多,如:多个单稳、多个双稳、单稳和无稳,双稳和无稳的组合等。在实际应用中,除了单一品种的电路外,还可组合出很多不同电路。本次设计中应用的电路是直接反馈型无稳类电路。 555芯片工作原理图如图3-4所示。图3-4 555芯片工作原理图555芯片芯片输出的频率改变电阻R,就可以达到改变电阻量程的目的,图中提供了三组电阻,所以说有三组的电容测量量程,每个量程之间的跨度是10倍的关系。555芯片工作仿真电路如图3-5所示。 图3-5 555芯片工作仿真
39、电路3.2.3 电容测量系统显示电路LCD以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里我们使用的是2行16个字的1602液晶模块。LCD1602引脚图如图3-6所示。图3-6 LCD1602引脚图1602 采用标准的14脚接口9,其中:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生鬼影,使
40、用时可以通过一个10K的电位器调整对比度。第4 脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线, 高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW 为低电平时可以写入数据。第6 脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。1602液晶模块内部的控制器共有11 条控制指令,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的,也就是0、1的控制,来读取1602内部储存器中的内容,指令是
41、固定在硬件上的。指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线:低电平时为单行显示,高电平时双行显示F
42、低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符指令7:字符发生器RAM地址设置指令8:DDRAM地址设置指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据指令11:读数据液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 LCD1602液晶显示模块可以和单片机直接接口电路原理图如图3-7所示。图3-7 LCD1602液晶显示模块可以和单片机直接接口电路原理图 LCD1602液晶显示模
43、块可以和STC12C5204AD直接接口仿真电路如图3-8所示。LCD1602图3-8 LCD1602与STC12C5204AD连接仿真图第4章 基于单片机电容测量软件设计4.1 软件设计软件设计是一个创造性的过程,对一些设计者来说需要一定的资质,而最后设计通常都是由一些初步设计演变而来的。从书本上学不会设计,只能经过实践,通过对实际系统的研究和实践才能学会。对于高效的软件工程,良好的设计是关键,一个设计得好的软件系统应该是可直接实现和易于维护、易懂和可靠的。设计得不好的系统,尽管可以工作,但很可能维护起来费用昂贵、测试困难和不可靠,因此,设计阶段是软件开发过程中最重要的阶段。直到最近,软件设
44、计在很大程度上仍是一个特定过程。一般用自然语言给定一个需求集,预先作非正式设计,常常用流程图的形式说明,接着开始编码,当系统实现时设计还需修改。当实现阶段完成后,设计往往已与起初形式相去甚远以至于设计的原始文档完全不适合对系统的描述。4.2 软件设计任务 软件设计主要是针对硬件设计里面的控制部分的,这里指STC12C5204AD单片机,一般的单片机均可用汇编语言和Keil C语言进行编程。C语言直观,相对比较的简单,但占用的程序存储器的内存比较大,汇编语言是针对硬件设计的语言,如果想用汇编语言设计的话必须要对硬件有很大的了解,相对C语言就比较的复杂,但是比较的精简,占用的程序存储器的空间比较的
45、小。作为还在学生阶段的我们,用汇编语言进行编程对我们理解单片机的内部结构、资源都有很好的帮助,但是编程在以后的实际工作中将会大大简化自己的工作。因此本论文的程序都是基于C语言的。要完成的任务是:初始化程序设计、按键程序设计、中断处理程序,计数器计数程序,显示程序设计等。4.3 软件设计的工具本次毕业设计所选用Keil4 C51中的编译/连接器软件Keil4 uVision410作为编译器/连接工具。4.4 程序设计算法设计 整个程序设计过程中遇到的最大的问题的如何根据测量到的方波的频率来计算所测量的电容的大小。在前面的介绍中我们知道:555时基芯片的输出频率跟所使用的电阻R和电容C的关系是: