测量电容课程设计教材_第1页
测量电容课程设计教材_第2页
测量电容课程设计教材_第3页
测量电容课程设计教材_第4页
测量电容课程设计教材_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、1 AT89C52单片机的基本功能及应用1.1 AT89C52芯片介绍AT89C52是美国 ATMEL 公司生产的低电压, 高性能 CMOS8位单片机,片内 含 8kbytes 的可反复擦写的只读程序存储器 ( PEROM)和 256bytes的随机存取数据 存储器( RAM ),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及 8052产品引脚兼容,片内置通用 8位中央处理器(CPU)和 Flash 存储单元,功能强大 AT89C52 单片机适合于许多较为复杂控制应用场合。 功能特性概述:AT89C52提供以下标准功能: 8k字节Flash闪速存储器

2、, 256字节内部 RAM, 32个 IO口线,3 个 16位定时计数器,一个 6 向量两级中断结构,一个全双工串 行通信口,片内振荡器及时钟电路。同时, AT89C52可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作 模式。空闲方式停止 CPU 的工作,但允许 RAM ,定时计数器,串行通信口及中断 系统继续工作。 掉电式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工 作直到下一个硬件复位。(1)STC89C52芯片引脚分布及说明:STC89S52引脚分布如图 1 所示:图 1 STC89C52 引脚分布( 2)AT89C52 各引脚功能简介:P0口: P0口是一组

3、 8 位漏极开路型双向 I O口,也即地址数据总线复用口。 作为输口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口 P0 写“l” 时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转 换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时, P0口接收指令字节。而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口: P1是一个带内部上拉电阻的 8位双向 I O口, P1的输出缓冲级可驱动 (吸收或输出电流) 4 个 TTL 逻辑门电路。对端口写“ l”,通过内部的上拉电阻把端 口拉到高电平,此时可作输入口。

4、作输入口使用时,因为内部存在上拉电阻,某个引脚 被外部信号拉低时会输出一个电流( IIL )。与 AT89C5l 不同之处是, P1.0和P1.1还 可分别作为定时计数器 2的外部计数输入( P1.0T2)和输入(P1.1T2EX),参 见表 1。Flash编程和程序校验期间, Pl 接收低 8位地址。P2口: P2是一个带有内部上拉电阻的 8位双向 IO口,P2的输出缓冲级可驱 动(吸收或输出电流) 4个 TTL 逻辑门电路。对端口 P2写“ l”,通过内部的上拉电阻 把端口拉到高平此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚 被外部信号拉低时会输出一个电流( IIL )。

5、在访问外部程序存储器或 16 位地址的外部 数据存储器(例如执行 MOVXDPTR 指令)时, P2口送出高 8 位地址数据。在访 问8 位地址的外部数据存储器(如执行 MOVXRI 指令)时, P2口输出 P2锁存器 的内容。 Flash编程或校验时, P2亦接收高位地址和一些控制信号。P3口: P3口是一组带有内部上拉电阻的 8位双向 IO口。P3口输出缓冲级可 驱动(吸或输出电流) 4 个TTL 逻辑门电路。对 P3 口写入“ l”时,它们被内部上拉 电阻拉高并可作为输入端口。 此时,被外部拉低的 P3口将用上拉电阻输出电流 (IIL )。 P3口除了作为一般的 I0 口线外,更重要的用

6、途是它的第二功能,如下表所示:表 1 AT89C52引脚特性引脚号功能特性P1.0T2(定时 / 计数器 2 外部计数脉冲输入) ,时钟输出P1.1T21.X(定时/技术 2 擒获/重装载触发和方向控制)表 2 AT89C52端口引脚第二功能端口引脚第二功能端口引 脚第二功能P3.0RXD (串行的入口)P3.4T0(定时/计数器 0外部输入)P3.1TXD (串行的出口)P3.5T1(定时 / 计数器 1 外部输入)P3.2INT0( 外部中断 0)P3.6WR(外部数据存储器写选通)P3.3INT1 (外部中断 1)P3.7RD(外部数据存储器读选通)此外, P3口还接收一些用于 Flas

7、h闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使 单片机复位。ALE PROG:当访问外部程序存储器或数据存储器时, ALE (地址锁存允许) 输出脉冲用于锁存地址的低 8 位字节。一般情况下, ALE 仍以时钟振荡频率的 l 6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问 外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,可 禁止 ALE 操作。该

8、位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号, 当 AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。EA VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H FFFFH),EA 端必须保持低电平(接地) 。需注意的是:如果加密位 LB1 被编程, 复位时内部会锁存 EA 端状态。如 EA 端

9、为高电平(接 Vcc 端), CPU 则执行内部程 序存储器中的指令。Flash 存储器编程时,该引脚加上 +12V 的编程允许电源 Vpp,当然这必须是该 器件是使用 12V 编程电压 Vpp。XTAL1 :振荡器反相放大器的及内部时钟发生器的输入端。XTAL2 :振荡器反相放大器的输出端。1.3 单片机的最小系统 在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积 小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单 片机结合简单的接口电路即可构成单片机最小系统,它是智能化仪器仪表的基础,也是 测控、监控的重要组成部分。系统的时钟电路设计是采用

10、的内部方式,即利用芯片内部的振荡电路。 AT89 单片 机内部有一个用于构成振荡器的高增益反相放大器。 引脚 XTAL1 和 XTAL1 分别是此 放大器的输入端和输出端。 这个放大器与作为反馈元件的片外晶体谐振器一起构成一个 自激振荡器。外接晶体谐振器以及电容 C1和 C2构成并联谐振电路,接在放大器的反 馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高 低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器 的值为 12MHz,电容应尽可能的选择陶瓷电容,电容值约为 22F,在焊接刷电路板 时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近

11、,以减少寄生电容,更好保证 震荡器稳定和可靠的工作。 该复位电路由一个 10UF电容一个 200欧电阻和 10K 电阻 共同组成。图 2 STC89C52 的最小化配置2 数字电容测量仪系统工作原理2.1 整体方案设计系统框图见图 3:被测 电容图 3 系统框图 图中给出了整个系统设计的系统框图,系统主要由四个主要部分组成,单片机和晶 振电路设计, 555芯片电路设计, LCD1602 显示电路,复位电路设计。2.2 系统按键电路 键闭合时,单片机的端口为低电平;键打开时,单片机的端口将变成高电平。由于 手的抖动、外部干扰等原因,键产生抖动,为了清除键盘抖动带来的影响,目前可以通 过硬件电路去

12、除抖动,也可以通过软件去抖动。一般来说,采用软件解决是目前最普遍 采用的办法。去抖动的软件解决方法是:当发现键值为低时,延时 10ms 左右进行再次 判定,如果两次判定结果一样,则说明该键处于闭合状态,如果两次判定结果不一致, 则说明是键的抖动。电路图见图 4:图 4 系统按键电路2.3 系统复位电路在上电或复位过程中, 控制 CPU 的复位状态: 这段时间内让 CPU 保持复位状态, 而不是一上电或刚复位完毕就工作,防止 CPU 发出错误的指令、执行错误操作,也可 以提高电磁兼容性能。无论用户使用哪种类型的单片机 , 总要涉及到单片机复位电路的 设计。而单片机复位电路设计的好坏 , 直接影响

13、到整个系统工作的可靠性。许多用户在 设计完单片机系统 ,并在实验室调试成功后 , 在现场却出现了“死机”、 “程序走飞”等 现象, 这主要是单片机的复位电路设计不可靠引起的。手动按钮复位需要人为在复位输入端 RST上加入高电平。一般采用的办法是在 RST 端和正电源 Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V 电平就会直接加 到 RST 端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数 十毫秒,所以,完全能够满足复位的时间要求。图5 系统复位电路2.4 555芯片电路 本次设计中应用的电路是直接反馈型无稳类电路。电路如图 6 所示:图 6 555 芯片电路在

14、555 芯片输出方波后,由于硬件的原因,输出的方波会有很多毛刺,所以为了去 除这些毛刺本设计中使用了一个两输入与门( 74HC08),让信号通过 74HC08 后会 使输出的波形毛刺减少很多,使单片机的测量结果变得精确。555时基芯片的输出频率跟所使用的电阻 R和电容 C 的关系是:0.772f R C1又因为 T 1 ,所以0.772即:C T*0.772R如果单片机采用 12M 的晶振,计数器 T0 的值增加 1,时间就增加 1S ,我们 采用中断的方式来启动和停止计数器 T0,中断的触发方式为脉冲下降沿触发,第一次 中断到来启动 T0,计数器的值为 N1,第二次中断到来停止 T0,计数器

15、器的值为 N2 , 则测量方波的周期为T (N2 N1 )*1 us如何开始时刻计数器的值 N1 0,则 T N*10 6则:N*0.772*10R单片机的计数器的值 N=0-65535,为了测量的精度, N 的取值一般在 1005000, 当电阻 R 越大,电容 量程。C 的值就越小。我们取不同的电阻值,就得到不同的电容测量的第一档:第二档:R2第三档:R3第四档:R46C *10 6C*1uF150 uf100100N 1 6C *10 1*10 6CN* 101*uF10.15 uf100100C N *10 2 *10 6CN* 102*uF10.010.5 uf100100N 3 6

16、C *10 3 *10 6CN* 103*uF10.0010.05 u100100R1 77.27727.72K77.2K为了编写程序的方便,我们只计算 100 N后面的单位可以根据使用的量程自行添加。测量范围的大小 0.001uF655.35uF。2.5 系统显示电路LCD1602 是一种专门用来显示字母、 数字、符号等的点阵型液晶模块。 它有若干 个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之 间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如 此,所以它不能显示图形。其引脚分布如图 7 所示:83 程序运行结果图 9 仿真

17、结果图 1图 9 仿真结果图 294 运行结果分析通过上面两个数值的测量,可以得出此数字电容测试仪的设计是正确的,可以比较 准确的测量出一个待测电容的电容值,并且能够将误差控制在很小的范围内。只要接入 被测电容,打开开关以后,就能直接在屏幕上显示出电容的大小,方便在以后的实验中 对电容的使用。经过调试,发现当被测电容容量在 1F 到 50F 之间时,测量值比较精确,而当 被测电容容量在 0.01F到 1F之间时,测量值误差较大,并且显示方面也出现了一点 问题。但被测电容要求在 0.01F 到 100F 之间,为此,在原电路基础上我们进行了 改进,由于 Tx=1.1RCx,当Cx 在0.01F到

18、1F之间时,只要将 R扩大 100倍, 那么Tx 将与Cx在1F到100F时一样,即 Tx 在两种情况下大小相等,于是只要 增加一个小量程档,就能有效地解决这个问题。10总结设计中我们投入了最大的热情和精力,从设计电路图,选择元器件,使用 Proteus 仿真电路,其过程中出现了不少的问题,我们没有气馁,没有退缩,积极向老师请教, 并且一遍又一遍的重复实践,直到我们期望的结果实现。事实也证明我们的努力没有白 费,认真严谨的实习态度给我们带来了成功的喜悦!通过多次的调试,此次设计的数字式电容测量仪圆满完成。该测量仪达到了基本的 技术指标,能够较精确的测量 0.001F 至 50F 范围内的电容。

19、但是由于量程较小, 在实际生活中存在使用的局限性。不过同样可以在原电路上增强其指标,比如改变单电 路中积分常数中的电阻值可以改变其量程。通过这次电子系统设计,我们掌握了设计一个数字电路的基本方法和基本步骤,实 际解决了设计中出现的问题,增强了寻找问题,解决问题的能力。11参考文献1 张毅刚 .单片机原理及应用 M. 北京 :高等教育出版社, 20052 刘光斌,刘冬,姚志成 .单片机系统实用抗干扰技术 M. 北京人民邮电出版社, 20043 杨小川 .protel DXP 设计指导教程 M. 北京 :清华大学出版社, 20044 李金平,沈明山,姜余祥 .电子系统设计 M. 北京 :电子工业出

20、版社, 20075 王毓银 .数字电路逻辑设计 M. 北京 :高等教育出版社, 19996 康华光 .电子技术基础 M. 北京 :高等教育出版社, 20007 万文略 .单片机原理及应用 M. 重庆大学出版社, 20048 江世明 .基于 Proteus的单片机用用技术 M. 北京 :电子工业出版社, 20099 边春元 .C51 单片机典型模块设计与应用 M. 机械工业出版社育出版社, 200810 李海清,黄志遥 .电容传感器新型微弱电容测量电路J.北京 :传感技术学报, 200211 付晓光 .单片机原理与使用技术 M. 北京:清华大学出版社, 2007.12 李桂安 .电子技术实验及课

21、程设计 M. 南京:东南大学出版社, 200813 夏继强 .单片机实验与实践教程 M. 北京:北京航空航天大学出版社, 200114 肖洪兵.跟我学用单片机 M. 北京:北京航空航天大学出版社, 200215 申忠如,郭福田,丁晖 .现代测试技术与系统设计 M. 西安:西安交通大学出版社, 200616 郝波.数字电子技术 M. 西安:西安电子科技大学出版社, 200717 赵文博 .新型常用集成电路速查手册 M. 北京 :人民邮政出版社, 200618 薛文,华慧明 .新编实用电子技术快速入门 M. 福州 :福建科学技术出版社 ,200319 罗民昌 .集成电路系统 M. 北京:中国铁道出

22、版社, 199820 丁英丽 .交流型微小电容测量电路的设计 J. 北京:电工技术杂志, 200312附录 程序清单#include #include / 库函数#define DATA P0sbit RW=P26;/1602 写数据sbit RS=P25;/1602 写地址sbit EN=P27;/1602 工作使能sbit b_test=P37;/开始测量电容的按键输入sbit _reset=P36;/555 时基芯片工作控制信号unsigned int T_flag,N,C,i,Dis1,Dis0;unsigned int b6=0X13,0X0D,0X00,0X00,0X25,0X16

23、; /显示 C=00UF延时 1MS*void Delay1ms(unsigned int mm) unsigned int i;for(mm;mm0;mm-) for(i=100;i0;i-);/*检查忙否 */void Checkstates()unsigned char dat;RS=0;RW=1;doEN=1;/ 下降沿_nop_();/ 保持一定间隔_nop_();dat=DATA;_nop_();_nop_();13EN=0;while(dat&0x80)=1);/* *LCD写命令函数 */void wcomd(unsigned char cmd) Checkstates();R

24、S=0;RW=0;DATA=cmd;EN=1;_nop_();_nop_();_nop_();_nop_();EN=0;* *LCD写数据函数 *void wdata(unsigned char dat)Checkstates();RS=1;RW=0;DATA=dat;EN=1;_nop_();_nop_();_nop_();_nop_();EN=0;14void LCDINIT()Delay1ms(15);wcomd(0x38);/ 功能设置Delay1ms(5);wcomd(0x38);/ 功能设置Delay1ms(5);wcomd(0x01);/ 清屏Delay1ms(5);wcomd(0x08);/ 关显示Delay1ms(5);wcomd(0x0c);/ 开显示,不开光标显示函数 *void Display(void) / 显示函数unsigned char i,j;unsigned char a12=0X4D,0X45,0X41,0X53,0X

温馨提示

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

评论

0/150

提交评论