基于单片机的数字电容测量毕业论文内容摘要:
复位引脚。 时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。 时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。 常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。 AT89C51 单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2。 这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。 电路中的电容 C1 和 C2 典型值 通常选择为 30PF 左右。 对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。 晶体的振荡频率的范围通常是在 — 12MHz 之间。 晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。 为了提高温度稳定性,应采用温度稳定性能好的 NPO 高频电容。 AT89C51 单片机常选择振荡频率 6MHz 或 12MHz 的石英晶体。 2 系统硬件电路设计 9 测量电路 555 测量电路 图 测量电路 根据 RC 暂态电路理论可知 , TW 的时间宽度计算公式为: TW = ln3RCX = 1. 1RCX ( ) 由该公式可知 ,单稳态的暂态 1 持续时间与待测电容 CX 的容量成正比。 把输出信号 VO 送到单片机的 INT0 引脚 ,控制定时器 0 计算出暂态 1 期间的标准时钟个数 , 就可实现脉冲宽度测量 , 从而计算出电容容量。 在 555 芯片输出方波后,由于硬件的原因,输出的方波会有很多毛刺,为了去除这些毛刺本设计中使用了一个两输入与门( 74HC08),让信号通过74HC08 后会使输出的波形毛刺减少 很多,使单片机的测量结果变得精确。 2 系统硬件电路设计 10 按键选择量程 电路 按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。 键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。 键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。 在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。 图 26 就是一种比较典型的按键电路,在按键没有按下的时候,输 出的是高电平,当按键按下去的时候,输出的低电平。 继电器控制电路 在大型仪器仪表系统中 ,经常要用到伺服电机、步进电机、各种电磁阀、泵等驱动电压高且功率较大的器件。 功率电子电路大多要求具有大电流输出能力 ,以便于驱动各种类型的负载。 功率驱动电路是功率电子设备输出电路的一个重要组成部分。 本电路由 ULN2020a 高压大电流达林顿晶体管来控制继电器 ,以满足继电器驱动需较大电流的要求。 ULN2020a能够同时驱动 7组高压大电流负载 ,解决了单片机输出电流小,难以控制继电器的问题。 如图 所示,单片通过机检测 按键,确定那个键被按下,然后通过单片机的 ~ 口控制 ULN2020A,驱动相应的继电器闭合,以此来控制 555 测量电路中的电阻从而改变测量电容的量程。 具体原理在软件算法设计上介绍。 按键开关 继电器 相应电阻 测量范围 SWITCH1 RL1 10μF~500μF SWITCH2 RL2 1μF~50μF SWITCH3 RL3 ~5μF SWITCH4 RL4 772KΩ 100pF~ SWITCH5 RL5 50pF~500pF3 系统软件设计 11 液晶显示电路 图 LCD显示电路 如图 所示,本显示电路 P0 口接上拉电阻与 lcd1602 的 D0D7 相 连,LCD1602 的 1 脚和 3 脚接一个 1K 的可调电阻,用于调节 LCD 的对比度。 我选用的是 16 脚带背光的 LCD,在 Proteus 里面没有该引脚,在 ares 中绘制 PCB封装时,我将其加上了。 实际电路是第 15 引脚串联了一个 10 欧姆的电阻与 +5V电源相连接,第 16 引脚与接地端相连接。 单片机的 、 、 分别与LCD 的 4, 5, 6 引脚相连,分别控制 LCD 的寄存器选择段,读写信号端,使能端相连接,与 D0D7 相结合,控制 LCD 的各种功能。 3 系统软件设计 程序设计算法设计 整个程序设计过程中遇到的最 大的问题的如何根据测量到的方波的频率来计算所测量的电容的大小。 在前面的介绍中我们知道: 555 时基芯片的输出频率跟所使用的电阻 R 和电容 C 的关系是: f=( R*Cx)。 又因为 T=1/f,所以 T=R*Cx/ () 即: 3 系统软件设计 12 Cx=T*() 如果单片机采用 12M 的晶振,计数器 T0 的值增加 1,时间就增加 1μ S ,我们采用中断的方式来启动和停止计数器 T0,中断的触发方式为脉冲下降沿触发,第一次中断到来启动 T0,计数器的值为 N1,第二次中断到来停止 T0,计数器器的值为 N2,则测量方波的周期为 T=( N2N1) *1us,如何开始时刻计数器的值 N1,则 T=N*106 简单时序图如图 31 所示。 图 时序图 则: 60 .7 7 2* * 1 0CN R () 单片机的计数器的值 N=065535,为了测量的精度, N 的取值一般在100~5000,当电阻 R 越大,电容 C 的值就越小。 我们取不同的电阻值,就得到不同的电容测量的量程。 第一档: R1= C=100N *106*10 C=100N *10μF 10μF~500μF 第二档: R1= C=100N *106 C= 100N *1μF 1μF~50μF 第三档: R1= C= 100N *102*106 C= 100N *102*1μF ~5μF 第四档: R1=772KΩ C= 100N *104*106 C= 100N *104*1μF 100pF~ 第五档: R1= C=100N *105*106 C=100N *105*1μF 50pF~500pF 程序流程图设计 流程图是一种传统的算法表示法,它利用几何图形的框来代表各种不同性质的操作,用流程线来指示算法的执行方向。 由于它简单直观,所以应用广泛,特别是在早期语言阶段,只有通过流程图才能简明地表述算法,流程图成为程序员们交流的重要手段。 3 系统软件设计 13 主程序流程图 错误 !未找到引用源。 图 主程序流程图 本程序主要是通过测量 555 发出脉冲的宽度来计算脉冲的周期,通过两次中断来计算脉冲的宽度。 因为不同量程对应的算法不一样,因此要先检测量程,再进行计算。 中断程序流程图 错误 !未指定书签。 图 中断程序流程图 如图 所示,本中断程序 选用外部中断 0,即 void int0(void) interrupt 0。 主程序在初始化的时间已经开启总中断,并开启了外部中断即 IE=0x81。 并且在初始化的时间设置计数器的工作方式,设置外部中断触发方式为下降沿触发,这样可以使 555 发出的方波在相邻的下降沿之间触发中断,计算 555 发出方波的周期,从而计算电容的大小。 对应的中断程序为 TMOD=0x09。 IT0=1。 由 于T_flag 在初始化的时间设置为 0,因此只要检测到 555 发出方波的下降沿就能触发中断,即 if(T_flag==1) {TR0=1。 }。 然后通过计数等待下一次中断。 当再次间的放到 555 发出方波的下降延时,停止 T0。 然后关闭中断,关闭 555,将 T0的计数赋值给 N,然后对计数器清零。 LCD 显示流程图 错误 !未指定书签。 图 LCD显示流程图 图 程序用到了很多延时,是因为 LCD 处理速度慢于单片机的缘故。 每执行一个指令,单片机都要等一等 LCD。 3 系统软件设计 14 按键选择量程程序流程图 错误 !未找到引用源。 图 按键选择量程程序流程图 错误 !未找到引用源。 检测量程时,主要是通过 P2 口的几个按键。 在这里按键程序我写到了前面,因为只有先通过检测按键,单片机才能控制继电器调到指定量程,进而才能使555 发出在规定范围内的方波。 同时,在计算电容大小时,又要检测量程,以使单片机跳转到对应的算法程序上,使计算结果正确的显示出来,这一部分在主程序中执行。 图 是通功按键控制继电器选择量程的子程序流程图。 4 PCB 设计 本次做毕业设计,在 PCB 设计上浪费了较长的时间。 proteus 不仅具有仿真功能,而且具有 PCB 设计功能,这样直接可以将仿 真好的原理图文件生成 PCB网络连接图,这样免去了再次画原理图的麻烦。 当然了,在工业上,由于各大国内厂商基本上只认 Protel 做的板子, Proteus ares 自然也就没有那么多人去注意了。 Protel 是 Altium公司在 80 年代末推出的 EDA 软件,目前已经发展到 altium designer 2020,而国内很多 PCB 厂商还只能识别 Protel99 设计的板子,这也凸显了国内 PCB 行业较落后的现状。 元器件的封装设计 在设计 PCB 时,首先要做的是绘制库中没有的元器件的封装。 由于第一次使用 ares,很多 功能都不是很懂,很多原件封装都要自己创建。 在这里要提一下 LCD1602,由于库中 LCD1602 的封装为 14 引脚,我买的是 16 引脚的,而且库中封装的排列也不一致,于是,我便自己设计了 LCD 的封装。 首先查阅相关资料,找出 LCD 元器件的规格,以便于尺寸的设计,如图 所示,是外形尺寸框图: 4 PCB 设计 15 图 LCD 外 形尺寸图 如果按照上面的规格,将 LCD1602 的焊盘设置在相应位置,那么在焊接时恐不好焊接,经过反复思考,我将焊盘设置在 LCD1602 的边框之外,这样有利于焊接。 图 是我设计的封装图。 图 LCD 封装 当然,还有其它元件需要自己设计封装,设计过程类似,不再赘述。 由原理图生成网络表后,经过了 45 次的布局,布局都不理想,要么是布局不美观,要么是排线排不通。 如果考虑做成双层板,因为我买的是双列直插式封装原件,顶部焊盘是无法焊接的,如果考虑过孔,。基于单片机的数字电容测量毕业论文
相关推荐
方式,其中一个来作为输出的负载,另外一个小电阻作为电压采样电阻,负载处接一个过压保护电路用来保护电阻不被烧坏,采样电阻上的电压直接送到 AT89S51 单片机的 A/D 转换来实现负反馈,并且通过相关程序进行稳压控制。 经比较,采用方案二较合适。 基于单片机的数控稳压电源电路设计 10 第三章 硬件设计 11 第三章 硬件设计 设计思路 系统硬件的设计思 想是力求结构简单、工作可靠、适应教学要求
内部 ROM 的单片机或者程序较大,内部 ROM 不够用时,需要外接程序存储器芯片;数据量较大,内部 RAM 不够用还需扩展外部数据存储器 RAM芯片。 在 MCS51 单片 机应用系统中,程序存储器的扩展,对于片内无 ROM 的单片机是不可缺少的工作,程序存储器扩展的容量根据应用系统的需要可在64KB 范围内随意选择。 用一片 ROM2764 做 8KB 片外程序存储器, 27256
维持其固有运动状态的一种性质。 反电动势系数 电机旋转时,电枢绕组内部切割磁力线所感应的电动势相对于转速的比例系数,也称发电系数或感应电动势系数。 功率密度 电机每单位质量所能获得的输出功率值。 功率密度越大,电机的有效材料的利用率就越高。 直流电机的运用 用单片机控制直流电机时,需要加驱动电路,为直流电机提供足够大的驱动电流。 使用不同的直流电机,其驱动电流也不同
业、机械制造等诸多领域中,人们都需要对各类 发动机、电动机、卷扬机、机床主轴等旋转设备的试验、 检测 和控制 , 常需要测量和显示其转速。 测量转速的方法分为模拟式和数字式两种。 模拟式采用测速发电机为检测元件 ,得到的信号是模拟量。 数字式通常采用光电 编码器、圆光栅、霍尔元件等为检测元件 , 得到的信号是脉冲信号。 随着微型计算机的广泛应用 ,特别是高性能价格比的单片机的出现 ,
顺利完成各项功能。 上电或复位后显示“ P.”提示符,此时按 对应的键 S2 便可开始计时。 在计数状态下,按下 对应的键 S3 即可实现暂停,按下 键 S4 可继续计数,在计数状态下按下 对应的键 S5 实现计数停止,在停止状态下按下 对应的键 S6,可实现计数清零。 程序仿真与结果 我们是在 Keil 软件里编写程序并编译通过才能被硬件电路所应用。 Keil 的功能比较强大
就驱动晶体管导通的时间越长,这样加到压频转换器的电压也 就越大,电压越大, 则压频转换器输出的计数脉冲再单位时间也就越多,这样就相当于电机的电压越大,其转速也就会越快,我们再用单片机对压频转换器的输 出 脉冲 计数, PID 调节器就把这个计数脉冲和预先设定的 值进行比较,比设定值小,这样就会得到一个偏差,再把这个偏差加到 AD 的给定电压,这样就相当于加大了 PWM的占空比,要是比设定值大