基于单片机的数字频率计的设计毕业设计(编辑修改稿)内容摘要:
1的管脚 具体介绍如 下面 : 大连海洋大学毕业设计 第三章 系统硬件设计 7 电源引脚: 40管脚是 VCC,和 20管脚是 GND。 外接晶振管脚: 19管脚是 XTAL1, 20管脚是 XTAL2。 控制引脚: 复位管脚是 19管脚,只要该引脚出现 2个周期以上的高电平,单片机就会初始 化。 地址锁存管脚是 30管脚。 外部存储器选通是 29管脚。 程序存储内外部选择是 31管脚。 可编程输入 /输出引脚 : AT89C51单片机有 4组 8位的可编程 I/O口,分别位 P0、 P P P3 口,每个口有 8 位( 8根引脚),共 32根。 如图。 主要由电源电路、复位电路和晶振电路组成。 12345678RESET91011121314151617XTAL218XTAL119VSS202122232425262728PSEN29ALE30EA313233343536373839VCC40U1单片机12Y212MHZ30pFC730pFC8S1SWPB10KR110uFC1+5V 图 单片机最小系统 复位电路设计 AT89C51兼容了传统的 51单片机,而 51 单片机运行需要进行有效的上电服务,是单片机内部能够准确的知道什么时候可以进行初始化操作。 这种能 够让单片机知道什么时候初始化的电路叫做复位电路。 其原理就是,当 AT89C51的第 9出现了 2个时钟周期以上的高电平时,整个单片大连海洋大学毕业设计 第三章 系统硬件设计 8 机芯片的内部系统就进行初始化操作。 如图 ,就是一个标准的上电复位电路。 系统一上电,电解电容进行充电, VCC 通过电解电容使单片机的第九管脚有高电平,然后电解电容充电完成后,通交阻直,复位管脚被拉低,一个复位过程就结束了,系统就会进入初始化。 按键 S1 的作用,在上电后的任意时间里面,只要按下 S1 键,就能够把 VCC 通过按键传递给单片机的第 9引脚。 这样,单片机就可以在不断电的过程中复位。 S1SWPB10KR110uFC1+5V 图 复位电路 外部晶振时钟电路设计 单片机运行除了要进行有效上电复位,还需要给单片机提供时序,来让单片机内部的程序一步一步的进行执行。 如图 所示,就是一个标准的晶振电路, 2个旁路电容的作用下,晶振对2个单片机的关键进行波形产生,提供时序。 12Y212MHZ30pFC730pFC8 图 晶振电路的设计 大连海洋大学毕业设计 第三章 系统硬件设计 9 1602 液晶显示屏简介 显示部分可以直观地显示出整个系统的运行状态以及工作数据,是在系统中人机交互中非常重要的一 部分。 单片机系统中常常使用不同的显示器来作为人机交互,在这里系统需要显示频率值。 所以本文 选用的为 1602液晶显示器。 LCD1602 液晶显示器之所以被广泛的叫做 1602,是因为它可以显示 16 列和 2 行,可以同时显示 32 个字符的液晶显示屏,有单独供电的背光电路,可以在夜晚很好的显示。 液晶的灰度也能调制。 方便显示。 如图 LCD液晶显示的驱动电路。 液晶显示的控制端, RS, RW, E接到单片机的 ,,数据段接到单片机的 PO口上,由于 AT89C51单片机没有内部上拉电阻,所以再处理输入输出信号的时候,需要加上拉电阻。 1 2 3 4 5 6 7 8 9P1 10K 排阻VSS1VCC2VEE3RS4RW5EN6DB07DB18DB29DB310DB411DB512DB613DB714A15K16LCD1lcd1602+5V10KR2+5V+5V+5V 图 LCD 液晶显示电路 三 极管放大电路设计 单片机 的 IO口只能识别 0和 1的数字信号 , 当输入的待测信号不能达到单片机的 IO口阀值,单片机就不能进行大小的判断,所以需要对输入信号进行放大处理,是之适合单片机电路,这里使用了利用三极管 8050做的 三极管放大电路 来 对 待测的输入 信号进行放大 处理。 电路图如图 所示。 P2为输入波形接口, P3为输出与本电路共地点。 大连海洋大学毕业设计 第三章 系统硬件设计 10 U280501000uF C23KR41KR512P2300R368R6C41000uFC5+5V12P3频率输入 图 三极管放大电路 其中电路中的 R4和 R5 共同作用下给三极管的基极提供 合适偏置。 基极 电压可以由 公式 31求得。 (31) 由于 8050三极管 是 PNP 型的,所以 基极 B 和发射极 E之间的压降 约 为 ,因此发射极 E的电压可以由 公式 32 求得 : 0 .7 0 .5 5ebVV (32) 由于 三极管中 C极的电流约等于 E极的电流,如公式 33所示。 ceII (33) 根据欧姆定律, E极上面的电流是发射极 E的电压除以发射极上面的电阻 R6,如公式 34所示。 (34) 根据上面的公式可以得知 C极的电压公式,也就是三极管的 直流静态工作点 计算公式如 35所示。 * 3 2 .6 4ceV V CC I R V (35) 因为本设计 只是计算频率,所以只需要处理交流信号, 因此 设计的三极管放大电路的 输入端需要 采用的大电容 进行交流耦合隔绝直流 成分, 三极管的 放大倍数 A可以由 公式 36所示。 *5 1 .2 545b VCC RV RR 86ee VI maR大连海洋大学毕业设计 第三章 系统硬件设计 11 453 1 .2 56 / / / /CCRA R R R (36) 这个公式中 RC4 和 RC5 分别为 C4 和 C5 的 交流等效阻抗。 但是放大倍数最终会受限于 8050的电流放大系数,所以 最终 的放大倍数最多 数百倍, 但是本系统 只是需要把小信号放大到能让单片机识别的波形,即使出现了上限截止也没有关系。 不会对结果造成影响。 整形模块设计 输入的波形经过三极管放大电路放大后,能够达到数字电路采集的标准,但是频率计的输入波形可能是正弦波,也可能是方波,也可能是其他不规则的波形,存在着上升沿不够陡峭的现象,为了使单片机更准确的采集到信号,需要 整形电路对待测的信号进行整形。 这里使用了施密特触发器 74HC14对三极管放大电路输出的信号进行整形。 电路图如图。 1A11Y22A32Y43A53Y6GND74Y84A95Y105A116Y126A13VCC14U374HC14+5V 图 施密特触发器电路原理图 如电路图所示前级三极管放大的 输入信号从 74HC14 芯片的 1号脚输入, 74HC14芯片是一个含有 6个施密特触发器 的芯片,本设计考虑到充分的使用到这个芯片的功能, 使用了其中三个 触发器。 整形后的信号从芯片的 6号脚输出。 分频模块设计 74HC390芯片介绍 当待测的信号频率比较高的时候,单片机没法直接进行处理,这个频率点大约在 200Khz,当频率低于 200Khz 单片机进行处理,完全没有问题,当高于这个频率,就需要 分频电路 来进行处理了,为了解决这个问题,本 设计加入了一个 100分频的计数器。 当频率 高于阀值频率 的时候单片机 就去 计算 待测信号经过 分频后的信号,当频率低于 阀值频率 的时候 就直接 计算分频前的信号。 通过这样分档处理,就能够达到扩大量程的作用。 分频电路 一般采用 的是 十 进制计数器如 74HC290、 74HC390等来实现 10分频 计数单元的计数大连海洋大学毕业设计 第三章 系统硬件设计 12 功能。 在 本次设计中选择 使用了 74HC390。 他有 2 个异步的计数器,每一个计数器上均有一个异步清零端, 只要给高电 平就能够进行清零。 本设计 需 要设计的是 100分频电路,因此 这个 74HC390芯片 内部 的两个计数器都要被用上 ,分别都设置成 10计数器。 其中电路图如图。 1CP011MR21Q031CP141Q151Q261Q37GND82Q392Q2102Q1112CP1122Q0132MR142CP015VCC16U474HC390+5V 图 74HC390 分频电路原理图 大连海洋大学毕业设计 第四章 系统软件设计 13 第四章 系统软件设计 软件设计 程序代码选定 本设计利用 C语言 程序的编写。 C语言是专门用来编译程序而设计出的一种语言,它包含了很多高级语言的特点,并且可以将这些语言整理翻译, C 语言可以编写出程序进而对位、字节和地址信息进行各种操作。 现在大部分软件开发都使用 C语言来编写 程序。 用 C语言编写出的程序本身和机器硬件无太大联系,基本上不做改动就可以在各个单片机间自由使用。 由于是大部分单片机系统都可识别的语言,用其做开发可以很大程度上缩短开发时间,提高效率,更大程度上使每个程序都可读,便于程序的改进、扩充和移植。 如何进行编程 Keil 51 是一款专门用于开发单片机内部程序的专业编程软件, 本文选择 使用的是 AT89C51,也是 51系列的一种单片机,可以在开发的时候,直接选用 AT89C51。 然后 keil可以支持汇编也可以支持 C语言,本文选择使用的是效率高的 c语言进行编写。 而且 Keil 51软件的界面也是常用的 windows界面,操作起来比较顺手,上手简单,可以多人分层次的进行模块化编程,能够大大提高整个系统编程的效率。 整个单片机开发项目的单片机编程流程如下: 首先需要使用 keil来创建一个新的工程项目,项目的名字就可以起成能够便于识别的文件名,然后选择芯片,通过不同公司点击选择这个公司生产的某一种单片机芯片。 然后配置开发环境。 比如说需要输出 HEX文件。 新建一个空文档,用 C 语言或者汇编语言创建源代码,如果是 C语言,文件就要保存为 .c文件,如果是汇编语言 ,文件就要保存为 .ASM文件。 然后在这个文件里面编写程序,如果有多个文件,都需要添加到工程里面,然后编译,如果软件显示有语法错误的提示,就需要根据错误提示找到源程序对应的位置进行修改源代码。 当把所有的语法错误都修改好后,再次进行编译。 这里需要强调的是, Keil 软件编程环境只能头显示语法错误,没有办法显示逻辑错误,当确定没有任何错误的时候,就开始进行后续的操作,生成 HEX 文件即可。 软件设计的模块 软件编程部分是整个 单片机 系统是否能够按照 之前设计好的思路进行操作的 必要之处。 本设计 的系统软件设计采用的是分模块化的设计思路, 主要 是 由 单片机 主程序 初始化 、频率测量 转换 、液晶 1602 显示这三个基本的程序 组成。 初始化 模块主要是对各变量进行初始化, 变量初始化, 定时器 /计时器初始化。 频率测量模块模块是利用单片机的计数器,定时器来进行操作,也是精度制约的一个地方。 通过软件编程计算 单位 里面。基于单片机的数字频率计的设计毕业设计(编辑修改稿)
相关推荐
也可以提供低 8位地址和 8位数据的复用总线。 此时, P0 口内部上拉电阻有效。 在 Flash ROM 编程时, P0 端口接收指令字节;而在校验程序时,则输出指令字节。 验证时,要求外接 一个 上拉电阻。 P1 口双向 8位 I/O口 P1 端口( ~ , 40~ 44引脚 ,1~ 3 引脚): P1口是一个带 有 内部上拉电阻的 8位双向 I/O 口。
补偿前后系统的特性。 第 9 页 共 65 页 3 系统硬件电路设计 如图 1所示中,本设计硬件电路设计包括 6大部分电路。 功率因数测量电路 功率因数测量原理 本设计中采用 51 单片机的 INT0 和 INT1 接收的信号的时间差来测量功率因数,下面介绍功率因数测量的原理。 功率因数是交流电路中电压与电流之间的相位差 的余弦。 在我国,电网的交流信号的频率 f 和周期 T 都是知道得
程序储存允许( PSEN)输出是外部程序 存储器 的读选通信号,当 AT89S52 由外部 程序存储器 取指令(或数据)时,每个 机器周期 输出两个脉冲。 在此期间,当访问 外部数据 存储器 , PSEN 信号 被跳过两次。 (10) XTAL1 管脚: 振荡器反相放大器 及 内部时钟发生器的输入端。 ( 11) XTAL2 管脚: 振荡器反相放大器的输出端。 模数转换器 CS5522 芯片 模
白色字体。 如图 : 第 1 脚: GND 为地电源。 第 2 脚: VCC 接 5V正电源。 第 3 脚: VO 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高, 对比度过高时会产生重影,使用一个 10K 的电位器调整对比度。 第 4 脚: RS 为寄存器选 择,高电平时选择数据寄存器,低电平时选择指令寄存器。 第 5 脚: R/W 为读写信号线,高电平时进行读操作
6。 126176。 RE200B 即双元热释电红外传感器,处理的是模拟信号,输出的是数字信号,且其输出电压符合单片机的工作电压,可以直接连接单片机,不需经过 A/D转化,也不需要经过放大处理。 但热释红外传感器除了敏感度高和制造简单价格低廉之外还存在着一些缺点: ( 1)由于自然界中的光都是具有能量的,各种光线之间又很难区分。 所以,热释红外传感器在 工作是 容易受各种 光 源 或是热 源 的
................... 24 模拟开关电路 4067 的工作原理 ............................................................ 26 MAX187 的硬件设计 .............................................................................. 27