版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1引言21.1目的和意义21.2研究概况与开展趋势31.3本系统主要功能32. 总体方案论证与设计3 2.1主控模块的选型和论证3 2.2显示模块的选型和论证4 2.3放大电路的选型和论证4 2.4系统整体设计概述43. 系统硬件电路设计53.1主控模块5 单片机主要特性5 单片机的中断系统8 单片机最小系统设计83.2 LCD液晶显示器简介8 液晶原理介绍8液晶模块简介9液晶显示局部与STC89C52勺接口 103.3三极管放大电路设计103.4整形模块设计11施密特触发器芯片介绍11电路设计123.5分频模块设计12芯片介绍12 分频电路设计134. 系统软件设计13 4.1系统软件总
2、体设计134.2程序设计原理155. 系统调试175.1硬件调试175.2软件调试176. 结论18附录19系统整体原理图19系统仿真图19元件清单19系统源程序20基于单片机的频率计摘要: 数字频率计是一种根本的测量仪器。它被广泛应用于航天、电子、测控等 领域,还被应用在计算机与各种数学仪表中。一般采用的是十进制数字,显示被 测信号频率。根本功能是测量正弦信号,方波信号以与其他各种单位时间变坏的 物理量。由于其使用十进制数显示,测量迅速准确,显示直观,所以经常被用来 使用。本文主要介绍数字频率计的设计和调试,本作品是基于STC89C5单片机作为 平台,根本原理是通过STC89C5单片机进展频
3、率的采集和分析工作,在通过程序 使其显示在LCD1602勺液晶显示屏上,通过液晶显示屏,让使用者能够直观的看 到当前的输入频率是多少。由于STC89C52I片机只能处理数字信号因此系统需要先把信号放大成方波 信号,再通过施密特触发器整形方波,又由于单片机能处理的频率有限,所以这 次我们先用74HC390芯片对输入的信号进展了分频,使其降低了 100倍,才送去 给单片机处理,如果频率高于200KHZ勺时候就计算分频后的频率,得到数据再换 算成真实的频率。关键词:单片机,LCD显示屏,分频器。1 引言1.1 目的和意义在电子测量领域中,频率测量的准确度是最高的。因此,在生产过程中许多 物理量,例如
4、温度、压力、流量、液位、 PH值、振动、位移、速度、加速度,乃 至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测 量,以提高准确度。国际上数字频率计的分类很多。按功能分类,因计数式频率计的测量功能很 多,用途很广。所以根据仪器具有的功能,电子计数器有通用和专用之分。一、 通用型计数器:通用型计数器是一种具有多种测量功能、 多种用途的万能计数器。 它可测量频率、周期、多周期平均值、时间间隔、累加计数、计时等;假设配上 相应插件,就可测相位、电压、电流、功率、电阻等电量;配上适当的传感器, 还可进展长度、重量、压力、温度、速度等非电量的测量。二、专用计数器:专 用计数器指专门
5、用来测量某种单一功能的计数器。如频率计数器,只能专门用来 测量高频和微波频率;时间计数器,是以测量时间为根底的计数器,其测时分辨 力和准确度很高, 可达 ns 数量级;特种计数器,它具有特种功能, 如可逆计数器、 阈值计数器、差值计数器、倒数计数器等,用于工业和自控技术等方面。数字频 率计按频段分类:低速计数器:最高计数频率v 10MHz中速计数器:最高计 数频率10 100MHz高速计数器:最高计数频率100MHz微波频率计数器: 测频围1 80GHz或更咼。由于大规模和超大规模数字集成电路技术、数据通信技术与单片机技术的结 合,数字频率计开展进入了智能化和微型化的新阶段。其功能进一步扩大,
6、除了 测量频率、频率比、周期、时间、相位、相位差等根本功能外,还具有自捡、自 校、自诊断、数理统计、计算方均根值、数据存储和数据通信等功能。可见,频 率计是很有工业价值的。 本作品即为一个基于单片机的数字频率计, 它通 74HC390 芯片进展分频,克制了单片机难以处理高频信号的困难,并使用LCD1602液晶显示进展显示。1.2 研究概况与开展趋势由于当今社会的需要,对信息传输和处理的要求不断提高,对频率的测量的 精度也需要更高更准确的时频基准和更精细的测量技术。而频率测量所能到达的 精度,主要取决于作为标准频率源的精度以与所使用的测量设备和测量方法。目 前,测量频频的方法有直接测频法、插法、
7、游标法、频差倍增法等等。直接测频 的方法较简单,但精度不高。频差倍增多法和周期法是一种频差倍增法和差拍法 相结合的测量方法,这种方法是将被测信号和参考信号经频差倍增使被测信号 的相位起伏扩大,再通过混频器获得差拍信号,用电子计数器在低频下进展多周 期测量,能在较少的倍增次数和同样的取样时间情况下,得到比测频法更高的系 统分辨率和测量精度, 但是仍然存在着时标不稳而引入的误差和一定的触发误差 在电子系统广泛的应用领域中,到处看见处理离散信息的数字电路。供消费用的 冰箱和电视、航空通讯系统、交通控制雷达系统、医院急救系统等在设计过程中 都用到数字技术。 数字频率计是现代通信测量设备系统中必不可少的
8、测量仪器, 不但要求电路产生频率的准确度和稳定度都高的信号,也要能方便的改变频率。 数字频率计的实现方法主要有:直接式、锁相式、直接数字式和混合式 1直接式 优点:速度快、相位噪声低,但结构复杂、杂散多,一般只应用在地面雷达中。 2锁相式 优点:相位同步的自动控制,制作频率高,功耗低,容易实现系列化、小型化、 模块化和工程化。3直接数字式 优点:电路稳定、精度高、容易实现系列化、小型化、模块化和工程化。1.3 本系统主要功能本系统设计制作一个基于单片机的频率计。能实现以下几种功能:1能够对1HZ对10MHZE弦波、三角波、方波信号等周期信号的频率进展测量 2系统能够把测量信号的频率和周期显示在
9、液晶屏幕上。2. 总体方案论证与设计 根据所要实现的功能划分,系统一共需要以下几个模块:主控模块、显示模 块、时钟模块、温度检测模块,以下就针对这几个模块的选型和论证进展讨论。2.1 主控模块的选型和论证采用MSP43系列单片机,该单片机是TI公司1996年开场推向市场的一种16 位超低功耗的混合信号处理器。 其部集成了很多模拟电路、 数字电路和微处理器, 提供强大的功能。不过该芯片昂贵不适合一般的设计开发。采用 51 系列的单片机,该单片机是一个高可靠性,超低价,无法解密,高性 能的8位单片机,32个10 口,且STC系列的单片机可以在线编程、调试,方便 地实现程序的下载与整机的调试。因此选
10、用方案二中的51系列单片机作为主控芯片2.2显示模块的选型和论证方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对 于显示文字比较适宜,如采用在显示数字显得太浪费,且价格也相对较高,所以 不用此种作为显示。采用LED数码管动态扫描,LED数码管价格虽适中,对于显示数字也最适宜, 而且采用动态扫描法与单片机连接时,占用单片机口线少。但是由于数码管动态 扫描需要借助74LS164移位存放器进展移位,该芯片在电路调试时往往有很多障 碍,所以不采用LED数码管作为显示。采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形, 显示多样,清晰可见,对于本设计而言一个
11、 LCD1602的液晶屏即可,价格也还能 承受,需要的借口线较多,但会给调试带来诸多方便。所以本设计中方案三中的LCD1602液显示屏作为显示模块。2.3放大电路的选型和论证方案一:采用集成运放作为放大电路,该电路只需要在外部配置少量电阻电容那么能 完成放大功能,十分方便设计,但是本设计需要放大 1HZ到10MHZ勺信号,通频 带比较宽,因此对集成运放的要求较高,一般能处理宽带信号的集成运放本钱比 拟高。采用三极管或者场效应管作为放大电路,三极管放大电路所需要原件较为简 单容易购置,而且电路较为成熟,三极管的价格也十分低廉,而且三极管电路性 能优越,是作为一个低本钱的放大电路的不二之选。所以本
12、设计中选用三极管为放大电路中使用。2.4系统整体设计概述本系统以单片机为控制核心,对系统进展初始化,主要完成液晶显示、频率 测量、放大整形滤波等功能的控制,起到总控和协调各模块之间工作的作用。放大电路施密特 整形电路100分频电路液晶显示模块丄主控模块LCD1602单片机图2-1系统结构框图本系统结构如图2-1所示,本设计可分为以下模块:三极管放大电路、整形电路、分频电路、液晶模块。下面对各个模块的设计方案逐一进展论证分析。3. 系统硬件电路设计3.1主控模块主控模块模块在整个系统中起着统筹的作用,需要检测键盘,温度传感器等各种参数,同时驱动液晶显示相关参数,在这里我们选用了51系列单片机中的
13、STC89C5单片机作为系统的主控芯片。51系列单片机最初是由In tel公司开发设计的,但后来In tel公司把51核 的设计方案卖给了几家大的电子设计生产商,譬如SST、Philip、Atmel等大公司。因此市面上出现了各式各样的均以 51为核的单片机。这些各大电子生产商 推出的单片机都兼容51指令、并在51的根底上扩展一些功能而部结构是与 51 一致的。STC89C5有40个引脚,4个8位并行I/O 口,1个全双工异步串行口,同时 含5个中断源,2个优先级,2个16位定时/计数器。STC89C52勺存储器系统由 4K的程序存储器掩膜ROM和128B的数据存储器RAM组成。STC89C5单
14、片机的根本组成框图见图 3-1。P0 P1 P2 P3图3-1STC89C52单片机结构图1. 一个8位的微处理器CPU。2. 片数据存储器RAM128B用以存放可以读/写的数据,如运算的中间结 果、最终结果以与欲显示的数据等,SST89系列单片机最多提供1K的RAM3. 片程序存储器ROM4KB用以存放程序、一些原始数据和表格。但也有 一些单片机部不带 ROM/EPROM 8031,8032,80C31等。目前单片机的开展趋 势是将RAM和ROM都集成在单片机里面,这样既方便了用户进展设计又提高了系 统的抗干扰性。SST公司推出的89系列单片机分别集成了 16K、32K、64KFlash 存
15、储器,可供用户根据需要选用。4. 四个8位并行I /O接口 P0P3每个口既可以用作输入,也可以用作输 出。5. 两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进展计数,也可以设置成定时方式,并可以根据计数或定时的结果实 现计算机控制。为方便设计串行通信,目前的52系列单片机都会提供3个16位 定时器/计数器。6. 五个中断源的中断控制系统。现在新推出的单片机都不只5个中断源,例如SST89E58RE就有9个中断源。7. 一个全双工UART通用异步接收发送器的串行I /O 口,用于实现单片机 之间或单机与微机之间的串行通信。8. 片振荡器和时钟产生电路,但石英晶体和
16、微调电容需要外接。 最高允许振 荡频率为12MHz SST89V58RD最高允许振荡频率达40MHz因而大大的提高了指 令的执行速度。图3-2STC89C52单片机管脚图局部引脚说明:1. 时钟电路引脚XTAL1和XTAL2XTAL218脚:接外部晶体和微调电容的一端;片它是振荡电路反相放大器 的输出端,振荡电路的频率就是晶体固有频率。假设需采用外部时钟电路时,该 引脚输入外部时钟脉冲。要检查振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。XTAL119脚:接外部晶体和微调电容的另一端;在片它是振荡电路反相放 大器的输入端。在采用外部时钟时,该引脚必须接地。2. 控制信号弓
17、I脚RST,ALE,PSEN和EARST/VPD9脚:RST是复位信号输入端,高电平有效。当此输入端保持备用 电源的输入端。当主电源 Vcc发生故障,降低到低电平规定值时,将+ 5V电源 自动两个机器周期24个时钟振荡周期的高电平时,就可以完成复位操作。RST引 脚的第二功能是VPD,即接入RST端,为RAM提供备用电源,以保证存储在RAM中 的信息不丧失,从而合复位后能继续正常运行。ALE/PROG30脚:地址锁存允许信号端。当 8051上电正常工作后,ALE引 脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC的1/6。CPU访问片外存 储器时,ALE输出信号作为锁存低8位地址的控制信号
18、。平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因 而ALE信号可以用作对外输出时钟或定时信号。 如果想确定8051/8031芯片的好 坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,那么 8051/8031根本上是好的。ALE端的负载驱动能力为8个LS型TTL低功耗甚高速TTL负载。此引脚的第二功能PROG在对片带有4KBEPROM勺8751编程写入固化程序 时,作为编程脉冲输入端。PSEN29脚:程序存储允许输出信号端。在访问片外程序存储器时,此端定 时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM勺OE端见后面几章任何一个小系统硬件图PSE
19、N端有效,即允许读出EPROMROM中的指令码。 PSEN端同样可驱动8个LS型TTL负载。要检查一个8051/8031小系统上电后 CPU能否正常到EPROJMROM中读取指令码,也可用示波器看PSEN端有无脉冲输 出。如有那么说明根本上工作正常。EA/Vpp31脚:外部程序存储器地址允许输入端/固化编程电压输入端。当 EA引脚接高电平时,CPU只访问片EPROM/ROM执行部程序存储器中的指令,但 当PC程序计数器的值超过0FFFH对8751/8051为4K时,将自动转去执行片外 程序存储器的程序。缅入信号 EA引脚接低电平接地时,CPU只访问外部 EPROM/RO并执行外部程序存储器中的
20、指令,而不管是否有片程序存储器。对于 无片ROM的8031或8032,需外扩EPROM此时必须将EA引脚接地。此引脚的第 二功能是Vpp是对8751片EPRO固化编程时,作为施加较高编程电压一般12V 21V的输入端。3. 输入/输出端口 P0/P1/P2/P3 :P0 口P0.0P0.7,3932脚:P0 口是一个漏极开路的 8位准双向I/O 口。 作为漏极开路的输出端口,每位能驱动 8个LS型TTL负载。当P0 口作为输入 口使用时,应先向口锁存器地址80H写入全1,此时P0 口的全部引脚浮空,可 作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU访问 片外存储器时,P
21、0口分时提供低8位地址和8位数据的复用总线。在此期间, P0 口部上拉电阻有效。P1 口P1.0P1.7,18脚:P1 口是一个带部上拉电阻的 8位准双向I/O 口。P1 口每位能驱动4个LS型TTL负载。在P1 口作为输入口使用时,应先向 P1 口锁存地址90H写入全1,此时P1 口引脚由部上拉电阻拉成高电平。P2 口 P2.0P2.7,2128脚:P2 口是一个带部上拉电阻的 8位准双向I/O 口。P 口每位能驱动4个LS型TTL负载。在访问片外 EPROM/RA时,它输出高 8位地址。P3 口 P3.0P3.7,1017脚:P3 口是一个带部上拉电阻的 8位准双向I/O 口。P3 口每位
22、能驱动4个LS型TTL负载。P3 口与其它I/O端口有很大的区别, 它的每个引脚都有第二功能,如下:P3.0 : RXD串行数据接收。P3.1 : RXD串行数据发送。P3.2 : INT0#外部中断0输入。P3.3 : INT1#外部中断1输入。P3.4 : T0定时/计数器0的外部计数输入。P3.5 : T1定时/计数器1的外部计数输入。P3.6 : (WR#外部数据存储器写选通。P3.7 : (RD#)外部数据存储器读选通。STC89C5系列单片机的中断系统有5个中断源,2个优先级,可以实现二级 中断效劳嵌套。由片特殊功能存放器中的中断允许存放器 IE控制CPU是否响应中 断请求;由中断
23、优先级存放器IP安排各中断源的优先级;同一优先级各中断同时 提出中断请求时,由部的查询逻辑确定其响应次序。在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定 时扫描等;也经常要对外部事件进展计数。STC89C5单片机集成有两个可编程的 定时/计数器:TO和T1,它们既可以工作于定时模式,也可以工作于外部事件计 数模式,此外,T1还可以作为串行口的波特率发生器。图3-3单片机最小系统电路图图3-3为单片机最小系统电路图,单片机最小系统有单片机、时钟电路、复 位电路组成,时钟电路选用了 12MHZ勺晶振提供时钟,作用为给单片机提供一个 时间基准,其中执行一条根本指令需要的时间为一个
24、机器周期,单片机的复位电 路,按下复位按键之后可以使单片机进入刚上电的起始状态。图中10K排阻为P0口的上拉电阻,由于P0 口跟其他IO结构不一样为漏极开路的结构,因此要加上 拉电阻才能正常使用。3.2 LCD液晶显示器简介由于本设计中要求显示界面显示一些参数,因此这里选用了LCD1602作为界面显示,可以把一些相关的参数进展显示。液晶显示器(LCD)英文全称为Liquid Crystal Display,它一种是采用了液晶 控制透光度技术来实现色彩的显示器。和CRT显示器相比,LCD的优点是很明显的。由于通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这 样就无须考虑刷新率的问题
25、。显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示局部用 的是LCD液晶模块,采用一个16X 2的字符型液晶显示模块。点阵图形式液晶由M行X N列个显示单元组成,假设 LCD显示屏有64行, 每行有128列,每8列对应1个字节的8个位,即每行由16字节,共 16X 8=128个点组成,屏上 64X16个显示单元和显示 RAM区1024个字节相对 应,每一字节的容和屏上相应位置的亮暗对应。一个字符由6X 8或8X8点阵组成,即要找到和屏上某几个位置对应的显示 RAM区的8个字节,并且要使每 个字节的不同的位为 1,其它的为 0,为 1的点亮,为 0的点暗, 这样一来就组成某个字符。但
26、对于带字符发生器的控制器来说,显示字符就比较 简单了,可让控制器工作在文本方式,根据在 LCD上开场显示的行列号与每行的 列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。液晶模块简介LCD1602液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令 集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU!讯可采用8位或4 位并行传输两种方式,hd44780控制器由两个8位存放器,指令存放器IR和 数据存放器DR忙标志BF,显示数RA DDRAM字符发生器ROMACGOROM 字符发生器RAMCGRA地址计数器RAM(AC。IR用于存放指令码,只能
27、写入 不能读出,DR用于存放数据,数据由部操作自动写入DDRAI和 CGRA嘛者暂存从 DDRAI和 CGRA读出的数据,BF为1时,液晶模块处于部模式,不响应外部操作 指令和承受数据,DDTAMH来存储显示的字符,能存储 80个字符码,CGRO由8 位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符的 对应关系,CGRAMI为用户编写特殊字符留用的,它的容量仅 64字节,可以自 定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAI和 CGRAI的 地址,如果地址码随指令写入IR,那么IR自动把地址码装入AC,同时选择DDRAM 或CGRAMLCD
28、1602液晶模块的引脚图如图3-4所示。图3-4LCD1602引脚图液晶存放器选择控制如表3-1 o表3-1存放器选择控制RSR/W操作说明00写入指令存放器去除屏等01读busy flagDB7,以与读取位址计数器DB0DB6 值10写入数据存放器显示各字型等11从数据存放器读取数据323液晶显示局部与STC89C52勺接口如图3-5所示。用STC89C52勺P0 口作为数据线,用 P1.2、P1.1、P1.0分别 作为LCD的EN R/W RS其中EN是下降沿触发的片选信号,R/W是读写信号, RS是存放器选择信号本模块设计要点如下:显示模块初始化:首先清屏,再设置 接口数据位为8位,显示
29、行数为1行,字型为5X7点阵,然后设置为整体显示, 取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中 送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显 示的字符或数据被送到相应的数组中,完成后再统一显示首先取一个要显示的字 符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够 那么地址加一取下一个要显示的字符或数据。图 3-5LCD1602 与 STC89C52的接口-孑3.3三极管放大电路设计图3-6三极管放大电路由于单片机只能读取数字信号,当输入的信号比较小的时候单片机不能直接读取, 因此这里使用了一级三极管放大电路
30、对输入的信号进展放大,其中电路中的R4和R5给三极管的基极提供和适宜偏置。基极电压可以由以下公式求得。Vb =VCC? R5R4+ R51.25由于三极管的基极和发射极之间的压降为0.65V,因此发射机的电压可以由以下公式求得:Ve= Vb- 0.65= 0.6由于ICIE,IE=Ve/R60.88ma,因此Vc=VCC-le*R3=2.64V。因此三极管放大 电路的集电极输出端的直流静态工作点为 2.64V。因为本设计只处理信号,因此三极管放大电路的输入端采用的大电容进展交 流耦合进而隔绝交流成分,为了使整个频率计能测量更小幅值的周期信号,这个 电路用旁路电容对发射极电阻进展旁路从而提高其交
31、流放大倍数,放大倍数A可以由以下公式求得。A R3/(R6/R C/R c5)其中&4为C4交流等效阻抗,FC5为C4交流等效阻抗。但是放大倍数最终会受 限于三极管的B三极管的电流放大系数。因此最终放大倍数会限制在数百倍, 由于这里只需要把输入的周期信号放大到足够大就可以通过整形电路整形成方波, 因此这里放大倍数不需要很准确,放大后的波形出现截止失真也不会对测量结果 造成。3.4整形模块设计施密特触发器也有两个稳定状态,但与一般触发器不同的是,施密特触发器 采用电位触发方式,其状态由输入信号电位维持;对于负向递减和正向递增两种 不同变化方向的输入信号,施密特触发器有不同的阈值电压。门电路有一个
32、阈值电压,当输入电压从低电平上升到阈值电压或从高电平下 降到阈值电压时电路的状态将发生变化。施密特触发器是一种特殊的门电路,与 普通的门电路不同,施密特触发器有两个阈值电压,分别称为正向阈值电压和负 向阈值电压。在输入信号从低电平上升到高电平的过程中使电路状态发生变化的 输入电压称为正向阈值电压,在输入信号从高电平下降到低电平的过程中使电路 状态发生变化的输入电压称为负向阈值电压。正向阈值电压与负向阈值电压之差 称为回差电压。原理示意图如图3-7所示。图3-7施密特触发器原理示意图74HC14是一款高速CMO器件,74HC14引脚兼容低功耗肖特基TTLLSTTL 系列。74HC14遵循JEDE
33、(标准no.7A。74HC14实现了 6路施密特触发反相器,可 将缓慢变化的输入信号转换成清晰、无抖动的输出信号。其芯片引脚图如图3-8所示,芯片真值表如图3-9所示。图3-8 74HC14芯片引脚图In put输入output输出AYLHHL图3-9 74HC14真值表由于三极管放大电路输出的信号不是标准的方波信号,存在着上升沿不够陡 峭,波形类似于正弦波等问题,为了使单片机对信号更好的采集,这里使用了施 密特触发器74HC14对三极管放大电路输出的信号进展整形。电路图如图3-10所示。图3-10施密特触发器电路原理图其中输入信号从芯片的1号脚输入,74HC14本身是一个芯片部带有6个施密
34、特触发器,我这里为了充分利用芯片使用了其中三个,实际上可以只使用一个。 整形后的信号从芯片的6号脚输出。3.5分频模块设计分频电路一般采用十进制计数器如 74HC290 74HC390等来实现时间计数单元 的计数功能。本次设计中选择 74HC390由其部逻辑框图如图3可知,其为双 2-5-10异步计数器,并每一计数器均有一个异步清零端高电平有效。由于我们要设计的是100分频电路,因此74HC390部两个计数器都用上,分别都设置成 10计数器。71037T7图3-11 74HC390部逻辑框图由于单片机运行速度有限,单片机运行一条根底指令需要1个机器周期即12个是时钟周期,换算成时间为1US。因
35、此当频率过高的时候单片机就不能很准确 的换算出频率。为了解决这个问题,这设计参加了一个100分频的计数器。当频率高于200KHZ勺时候单片机计算分频后的信号,当频率低于200KHZ勺时候计算分频前的信号。这样上下搭配可以扩大单片机的测量频率。最终换算出其真实对 应的频率并在液晶上显示。其中电路图如图 3-12所示。1图3-12 74HC390分频电路原理图4. 系统软件设计4.1系统软件总体设计4-1系统主流程图单片机上电后会先进展一个初始化把设置的变量的值清0,然后开启定时器首先对100分频后的输入信号进展1S计数,当测量到频率大于200KHZ勺时候,单 片时机显示出当前测量的频率和周期,然
36、后进展下一次计数,当测量到的频率少 于200KHZ的时候,单片时机重新采集分频前的数据,把测量到的数据显示出来, 然后再进入到下一次的计数。取字符代码设置DDRA地址,在第一行显示设置显示数据首地址循环量设置取字符代码图4-2 LCD1602初始化子函数流程图首先先调用液晶自定义的字库,设置好 DDRA地址后在第一行显示,根据程 序中的数据设置显示数据的首地址并设置循环量,在循环过程中不断的取字符代 码直到终止,第二行的显示过程同一行的显示过程一样,两行显示完毕后便完毕 子程序。4.2程序设计原理软件任务分析和硬件电路设计结合进展,哪些功能由硬件完成,哪些任务由 软件完成,在硬件电路设计根本定
37、型后,也就根本上决定下来了。软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分为 两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示, 打印,输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和 操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法 各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进展功能 定义和接口定义输入输出定义。在各执行模块进展定义时,将要牵扯到的数据 结构和数据类型问题也一并规划好。各执行模块规划好后,就可以监控程序了。首先根据系统功能
38、和键盘设置选 择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编 程,而监控程序较易出问题。这如同当一名操作工人比较容易,而当一个厂长就 比较难了。软件任务分析的另一个容是如何安排监控软件和各执行模块。整个系统软件 可分为后台程序 背景程序 和前台程序。 后台程序指主程序与其调用的子程序, 这类程序对实时性要求不是太高,延误几十 ms甚至几百ms也没关系,故通常将 监控程序键盘解释程序,显示程序和打印程序等与操作者打交道的程序放在后 台程序中执行;而前台程序安排一些实时性要求较高的容,如定时系统和外部中 断如掉电中断。也可以将全部程序均安排在前台,后台程序为“使系统进入睡
39、眠状态,以利于系统节电和抗干扰。5. 系统调试5.1 硬件调试频率计的电路较为复杂,涉与的模块比较多,其中包含三极管放大模块,整 形模块,单片机最小系统模块,液晶模块和分频模块,因此对于焊接方面更是不 可轻视,庞大的电路系统中只要出于一处的错误, 那么会对检测造成很大的不便, 而且电路的交线较多,对于各种锋利的引脚要注意处理,否那么会刺破带有包皮 的导线,那么会对电路造成短路现象。在制作硬件电路之前,我们先根据实际需要的功能划分硬件模块,并且在 PR OTEL里面画出其硬件原理图和PCB图,检查无误后开场在万用板上焊接。在本频率计的硬件调试中遇到了很多的问题。回想这些问题只要认真多思考 都是可
40、以防止的,以下为主要的问题:问题 1:一开场三极管放大电路总是不能放大交流信号,输出总是一个直流电压 解决:经过查找相关资料,发现三极管的 1 脚和 3脚焊接反了刚好转了 180 度,改正后便可正常工作。问题 2:开场的时候液晶屏幕总是显示方格,不能正常显示容 解决:经过查找芯片手册,知道LCD1602有一个管脚是专门负责调解比照度 的,一开场的时候直接接高电平因此不能正常显示,后来因引脚连接到一个电位 计的中间抽头,通过电位器就可以改变液晶的比照度。5.2 软件调试 频率计系统是一个比较复杂的数字型系统,所以对于它的程序也较为复杂 , 所以在编写程序和调试时出现了相对较多的问题。首先为了更好
41、的测试效果,我 最开场是直接在PROTUE软件下进展仿真,在确定无误后,再把程序烧录到实物 中运行。最后经过屡次的模块子程序的修改,一步一步的完成,最终解决了软件 上的各种问题。在软件的调试过程中主要遇到的问题如下: 问题:烧入程序后,LCD液晶显示闪动,而且亮度不均匀。解决:首先对调用的延时进展逐渐修改,可以解决显示闪动问题。其次,由 于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出 , 但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,那么会出现很亮的 现象,所以在显示的后面加了屏蔽子令,最后解决了此问题。6. 结论通过这次毕业设计,我学到了不少课本上没有的知识,也
42、锻炼了自己的动手 能力,将以前学过的零散的知识串到一起。经过我长时间的设计与调试,本系统 根本能实现频率计系统的所有功能。缺乏之处有:1. 硬件的稳定性有待进一步提高 2. 系统界面人性化还缺乏。我的综合设计主要涉与硬件和软件两方面的容,通过这些我的硬件和软件开 发能力都获得了提高。首先硬件方面,根本了解了电子产品的开发流程和所要做 的工作。根本掌握了 Protel99SE 原理图的方法,并设计了一个单片机最小系统。 通过开发板的设计和硬件搭建的过程, 使我对 51 系单片机的接口有了更深层次的 理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LCD液晶等。并且我学会了分析问题解决问题的
43、能力,加深了对所学理论知识的理解和运用。我的 动手能力得到了很大的提高,创新意识得到了锻炼。 参考文献2 吴运昌模拟电子线路根底 :华南理工大学, 2004 年3 阎石数字电子技术根底 :高等教育, 1997年4 晓丽等数据结构与算法 :机械工业, 2002 年 马忠梅等.ARM&Linux嵌入式系统教程.:航空航天大学,2004年6 建忠单片机原理与应用 :电子科技大学, 2002年7 志军等 . 单片机应用系统设计 M. 机械工业, 20048 周润景等.Proteus 在MCS-51 &ARM系统中的应用百例M.电子工业,20069 马忠梅等.单片机的C语言应用程序设计M.航空航天大学,
44、200610 树中,书膺, 王春平.单片机和液晶显示驱动器串行接口的实现 J. 微计算机 信息, 2007附录系统整体原理图系统仿真图LtEiug(4liB-rnL:1X12a= ALE元件清单yr矩 2也1|1211RS/ |P1.1 |-RW/ |P1.2 |-E/ |P0 |-DB/ |P3.4 卜19999hz的输入/ |P3.5 |-19999KHZ输入分频后*#in elude un sig ned long int fre;unsigned char time; unsigned int count;unsigned int count1;/ 端口与函数说明sbitLCD_RS=
45、PMO;/片选信号sbitLCD_RW=P1A1;/读写信号sbitLCD_E=P1A2;/使能信号#define LCD_DB PO / 数据信号unsigned char character1O=O;/ 在屏幕上显示的字符串 unsigned char character_1=fre= Hz;unsigned char FLAG = O;void LCD_init(void);/ 初始化函数void LCD_write_command(unsigned char command);/ 写指令函数void LCD_write_data(unsigned char dat);/ 写数据函数vo
46、id LCD_disp_char(unsigned char x,unsigned char y,unsigned char dat);/ 在某个屏幕位置上显示一个字符 ,XO-15),y(1-2) void delay_n4Ous(unsigned int n);/ 延时函数void timer_init();/中断初始化函数/ 延时函数/ void delay_n4Ous(unsigned int n) unsigned int i;unsigned char j;for(i=n;iO;i-)for(j=O;j2;j+);void delay_1s()unsigned int i,j;fo
47、r(i = O;i1OO;i+)for(j = O;j1OOO;j+);void LCD_init(void) / 液晶初始化函数LCD_write_command(0x38);/ 设置 8 位格式, 2 行, 5x7LCD_write_command(0x38);/ 设置 8 位格式, 2 行, 5x7LCD_write_command(0x38);/ 设置 8位格式, 2行, 5x7 切记要写三遍!LCD_write_command(0x0c);/ 整体显示,关光标,不闪烁LCD_write_command(0x06);/ 设定输入方式,增量不移位LCD_write_command(0x0
48、1);/ 去除屏幕显示 delay_n40us(100);/ 清屏延时void LCD_write_command(unsigned char dat) / 写命令函数 LCD_DB=dat;LCD_RS=O;指令LCD_RW=O;/写入LCD_E=1; / 使能LCD_E=O; delay_n4Ous(1);/ 写命令延时void LCD_write_data(unsigned char dat) / 写数据函数 LCD_DB=dat;LCD_RS=1;数据LCD_RW=O;/写 入LCD_E=1;/ 使能LCD_E=O; delay_n4Ous(1); / 写数据延时void LCD_disp_char(unsigned char x,unsigned char y,unsigned char dat)/ 显示一个字符unsigned char address;if(y=1) address=Ox8O+x;/ 显示在第一排的时候的 x 的地址elseaddress=OxcO+x;/ 显示在第二排的时候的 x 的地址LCD_write_command(address); / 输入地址 LCD_write_data(dat); / 输入数据void LCD_disp_num(unsigned char x,unsigned char y,unsigned ch
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60068-2:2025 SER EN-FR Environmental testing - Part 2: Tests - ALL PARTS
- 物理-辽宁省大连市2024-2025学年高三上学期期末双基测试卷及答案
- 2024陶瓷行业知识产权保护合作协议3篇
- 2025宾馆特色餐饮开发与推广合作协议3篇
- 2024食品工厂代加工绿色包装合作合同范本2篇
- 2024版协议离婚制度论文深度解读与案例分析3篇
- 2024年航空公司飞机采购协议
- 2025年度安全文化建设与推广承包合同范本3篇
- 中国各省地图形状
- 2024智能交通信号控制系统研发合同
- 《巧擦黑板》(教案)-一年级下册劳动浙教版
- 肿瘤-实验四肿瘤(病理学课件)
- 化工厂施工安全质量冬季施工措施
- 亚洲杯足球比赛应急预案
- 北京市人工智能产业发展建议
- 【部编】小高考:2021年江苏普通高中学业水平测试历史试卷
- 职业技能大赛:电工(五级)理论知识考核要素细目表(征求意见稿)
- 阿特拉斯拧紧工具维修培训
- 2023-2024学年浙江省富阳市小学数学六年级上册期末模考试卷
- 莱州市石材产业园控制性详细规划环境影响报告书
- 2020-2021学年江苏省徐州市九年级(上)期末化学试卷
评论
0/150
提交评论