单片机课程设计(论文)-数字频率计.docx_第1页
单片机课程设计(论文)-数字频率计.docx_第2页
单片机课程设计(论文)-数字频率计.docx_第3页
单片机课程设计(论文)-数字频率计.docx_第4页
单片机课程设计(论文)-数字频率计.docx_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

课程设计(论文)说明书题 目: 数字频率计 院 (系): 信息与通信学院 专 业: 通信工程 学生姓名: 学 号: 指导教师: 2011年 月 日摘 要频率测量是电子学测量中最为基本的测量之一。频率计主要是由信号输入和放大电路、单片机模块及显示电路模块组成。stc89c52单片机是频率计的控制核心,来完成它待测信号的计数和显示的控制。利用它内部的定时/计数器完成待测信号频率的测量。在整个设计过程中,所制作的频率计采用外部分频,实现100hz10khz的频率测量。以stc89c52单片机为核心,通过单片机内部定时/计数器的门控时间,方便对频率计的测量。其待测频率值使用lcd1620显示。本次采用单片机技术设计一种数字显示的频率计,具有测量准确度高,响应速度快,体积小等优点。关键词:测量; 频率计; 单片机abstractfrequency measurement is the measurement electronics, one of the most basic measurements. mainly by the frequency counter and the amplifier input signal, the microcontroller module and display circuit module. stc89c52 microcontroller is the core frequency meter control, to complete its count of the signal under test and display control. use its internal timer/counter to complete the test signal frequency measurement.throughout the design process, the production of some of the frequency with external frequency counter to achieve 100hz 10khz frequency measurement. the stc89c52 microcontroller is the core of the microcontroller internal timer/counter gate time, to facilitate the measurement of the frequency counter. the measured frequency value using the lcd1620 display. the single-chip computer technology to design a digital display of frequency meter, with measurements of high accuracy, fast response, small size and so on.key word: measurement ; frequency counter; single-chip computer目 录摘 要i引 言iv第1章 绪论11.1频率计概述11.2频率计发展与应用11.3频率计设计内容1第2章 数字频率计的基本原理及其框图22.1基本设计原理22.2具体模块32.3原理框图3第3章 硬件电路具体设计53.1 stc89c52主控制器模块53.1.1 stc89c52的介绍53.1.2 复位电路及时钟电路63.1.3 引脚功能73.2整形模块83.2.1方案一:以555为核心构成的整形电路93.2.2方案二:以电压比较器为核心的整形电路103.3 lcd1602显示电路123.3.1 lcd1602的主要技术参数及接口说明133.3.2控制器接口及时序14第4章 系统的软件设计154.1 软件模块设计154.1.1 lcd初始化设置模块154.1.2 浮点数到ascii码转换模块164.1.3 定时/计数器初始化模块174.1.4 定时器中断服务模块子程序184.2 使用altium designer软件画原理图及pcb19第5章 系统调试205.1调试205.1.1硬件调试205.1.2软件调试205.1.3软硬联调20谢 辞21参考文献22附 录23引 言随着电子技术的不断发展,各种电子产品也层出不穷,种类繁多。但是每一种产品开发时都应该少不了对信号的检测,而检测信号的频率也是其中重要指标之一。本设计设计的目的就是要设计出一种高效,高精度,价格便宜符合广大群众要求的数字频率计,能在模拟、数字电路的设计、安装、调试过程中方便的使用。本设计主要由波形整形电路,单片机电路,数字显示电路部分组成。测量信号可以为方波,正弦波,三角波。频率计可用传统的组合电路来实现,其以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,显示电路七大部分。这个方案使用了大量的数字元器件,原理电路复杂,硬件调试麻烦,且稳定性差,误差大,精度不高。随着单片机技术的不断发展,单片机能实现更加灵活的逻辑控制功能,具有很强的数据处理能力,可以用单片机通过软件设计直接用十进制数字显示被测信号频率,能克服传统频率计的弊端,而且频率计性能也将大幅提高。本设计以单片机位核心,单片机可以快速,精确地测出信号的频率,并且可以用直观的数字显示出来。用单片机制作的数字频率计所需要的硬件要求比较简单,维修方便。利用单片机的软件部分可以实现测量不同频率范围,本设计的测量范围为100hz-10khz。该电路还可以通过编程达到自动调节测量信号的量程,该电路软家调试简单,实用性高,价格低廉。本设计使用了stmicroelectronics公司生产的stc89c52,stc89c52是低功耗,高性能cmos8位单片机,片内含8k bytes的可系统编程的flash只读程序存储器,器件采用stmicroelectronics公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集flash程序存储器既可在线编程(isp)也可用传统方法进行编程及通用8位微处理器于单片芯片中。v第1章 绪论频率测量是电子学测量中最为基本的测量之一。由于频率信号抗干扰性强,易于传输,因此可以获得较高的测量精度。随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,测频原理和测频方法的研究正受到越来越多的关注。1.1频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号、方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。传统的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路组成,产品不但体积大,运行速度慢而且测量低频信号不准确。本次采用单片机技术设计一种数字显示的频率计,测量准确度高,响应速度快,体积小等优点。1.2频率计发展与应用在我国,单片机已不是一个陌生的名词,它的出现是近代计算机技术的里程碑事件。单片机作为最为典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。单片机已成为电子系统的中最普遍的应用。单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快,它已成为在现代电子技术、计算机应用、网络、通信、自动控制与计量测试、数据采集与信号处理等技术中日益普及的一项新兴技术,应用范围十分广泛。其中以stc89c52为内核的单片机系列目前在世界上生产量最大,派生产品最多,基本可以满足大多数用户的需要。1.3频率计设计内容利用电源、单片机、分频电路及lcd1602显示等模块,设计一个简易的频率计能够粗略的测量出被测信号的频率。 参数要求如下:1测量范围100hz10khz;2.可以测量方波、三角波及正弦波等多种波形。第2章 数字频率计的基本原理及其框图 2.1基本设计原理测频的原理归结成一句话,就是“在单位时间内对被测信号进行计数”。被测信号,通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端3。由晶体振荡器产生的基频,按十进制分频得出的分频脉冲,经过基选通门去触发主控电路,再通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波,至十进制计数电路进行直接计数和显示。若在一定的时间间隔t内累计周期性的重复变化次数n,则频率的表达式为式: (1)图2.1说明了测频的原理及误差产生的原因。时基信号 待测信号 图2.1 测频原理 丢失(少计一个脉冲) 计到n个脉冲 多余(比实际多出了0.x个脉冲)在图2.1中,假设时基信号为1khz,则用此法测得的待测信号为1khz5=5khz。但从图中可以看出,待测信号应该在5.5khz左右,误差约有0.5/5.59.1%。这个误差是比较大的,实际上,测量的脉冲个数的误差会在1之间。假设所测得的脉冲个数为n,则所测频率的误差最大为=1(n-1)*100%。显然,减小误差的方法,就是增大n。本频率计要求测频误差在1以下,则n应大于1000。通过计算,对1khz以下的信号用测频法,反应的时间长于或等于10s,。由此可以得出一个初步结论:测频法适合于测高频信号。频率计数器严格地按照f=n/t公式进行测频。由于数字测量的离散性,被测频率在计数器中所记进的脉冲数可有正一个或负一个脉冲的量化误差,在不计其他误差影响的情况下,测量精度将为: 应当指出,测量频率时所产生的误差是由n和t俩个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高,另一方面t越稳定时,精度越高。为了增加单位时间内计数脉冲的个数,一方面可在输入端将被测信号倍频,另一方面可增加t来满足,为了增加t的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。上述表明,在频率测量时,被测信号频率越高,测量精度越高。2.2具体模块根据上述系统分析,频率计系统设计共包括五大模块:单片机控制模块、电源模块、放大整形模块、分频模块及显示模块。各模块作用如下:1、单片机控制模块:以stc89c52单片机为控制核心,来完成它待测信号的计数,译码,和显示以及对分频比的控制。利用其内部的定时计数器完成待测信号周期频率的测量。单片机stc89c52内部具有2个16位定时计数器,定时计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。(因为stc89c52所需外围元件少,扩展性强,测试准确度高。)2、电源模块:为整个系统提供合适又稳定的电源,主要为单片机、信号调理电路以及分频电路提供电源,电压要求稳定、噪声小及性价高的电源。3、放大整形模块:放大电路是对待测信号的放大,降低对待测信号幅度的要求。整形电路是对一些不是方波的待测信号转化成方波信号,便于测量。4、显示模块:显示电路采用lcd1602动态显示,便于观测。综合以上频率计系统设计有单片机控制模块、电源模块、放大整形模块及显示模块等组成,频率计的总体设计框图如图2.2所示。 2.3原理框图方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描法把测出的数据送到数字显示电路显示。其原理框图如下所示:stc89c52lcd1602显示输入信号频率被测信号整形电路,输出方波时基,复位电路 图2.2 原理框图第3章 硬件电路具体设计根据系统设计的要求,频率计实际需要设计的硬件系统主要包括以下几个部分:stc89c52单片机最小系统模块、放大整形模块及显示模块,下面将分别给予介绍。3.1 stc89c52主控制器模块3.1.1 stc89c52的介绍8位单片机是msc-51系列产品升级版,有世界著名半导体公司stmicroelectronics在购买msc-51设计结构后,利用自身优势技术(掉电不丢数据)闪存生产技术对旧技术进行改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。与此同时,世界上其他的著名公司也通过基本的51内核,结合公司自身技术进行改进生产,推广一批如51f020等高性能单片机。stc89c52是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节flash,512字节ram, 32 位i/o 口线,看门狗定时器,内置4kb eeprom,max810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 stc89x52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35mhz,6t/12t可选。可以在4v到5.5v宽电压范围内正常工作。不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线,仅仅几块钱的价格让该型号单片机畅销10年不衰。根据不同场合的要求,这款单片机提供了多种封装,本次设计根据最小系统有时需要更换单片机的具体情况,使用双列直插dip-40的封装。stc89c52引脚如下图3.1所示。图3.1 stc89c52引脚图3.1.2 复位电路及时钟电路复位电路和时钟电路是维持单片机最小系统运行的基本模块。复位电路通常分为两种:上电复位(图3.2)和手动复位(图3.3)。 图3.2上电复位 图3.3 手动复位有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。所以本次设计选用手动复位。高频率的时钟有利于程序更快的运行,也有可以实现更高的信号采样率,从而实现更多的功能。但是告诉对系统要求较高,而且功耗大,运行环境苛刻。考虑到单片机本身用在控制,并非高速信号采样处理,所以选取合适的频率即可。合适频率的晶振对于选频信号强度准确度都有好处,本次设计选取24.000m无源晶振接入xtal1和xtal2引脚,并联2个30pf陶瓷电容帮助起振,并使用双倍速,使时钟达到48mhz。stc89c52单片机最小系统如图3.4所示。图3.4 单片机最小系统原理图3.1.3 引脚功能vcc:电源电压;gnd:地;p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。在 flash编程时,p0口用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻7。p1口:p1口是一个具有内部上拉电阻的8位双向i/o口,p1 输出缓冲器能驱动4个ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入和定时器/计数器2的触发输入,p1口功能具体如表1所示。在flash编程和校验时,p1口接收低8位地址字节。表3.1 p1口的第二种功能说明表引脚号第二功能p1.0t2(定时器/计数器t2的外部计数输入),时钟输出p1.1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5mosi(在系统编程用)p1.6miso(在系统编程用)p1.7sck(在系统编程用)p2口:p2口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4 个ttl逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器时,p2口送出高八位地址。在这种应用中,p2口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。p3口:p3口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平。对p3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。p3口亦作为stc89c52特殊功能(第二功能)使用,p3口功能如表2所示。在flash编程和校验时,p3口也接收一些控制信号。表3.2 p3口的第二种功能说明表引脚号第二功能p3.0rxd(串行输入)p3.1txd (串行输出)p3.2(外部中断0)p3.3(外部中断1)p3.4t0(定时器0外部输入)p3.5t1(定时器1外部输入)p3.6(外部数据存储器写选通)p3.7(外部数据存储器写选通)rst:复位输入。晶振工作时,rst脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,rst 脚输出96个晶振周期的高电平。特殊寄存器 auxr(地址8eh)上的disrto位可以使此功能无效。disrto默认状态下,复位高电平有效。xtal1:振荡器反相放大器和内部时钟发生电路的输入端。xtal2:振荡器反相放大器的输出端。3.2整形模块当被测信号为正弦波信号或三角波且幅值小于标准ttl电平时,在测频前需加放大整形电路。根据我们所学的电子电路的知识,整形放大电路可有以下几种:(1)放大电路可采用典型的晶体管放大电路,其放大倍数应视被测信号幅之而定,整形电路可由 图3.5门电路或555电路构成的施密特触发器完成。(2)波形整形可以采用电压将全波整流波形变为矩形波。以上两种方法,均能完成如右图所示的波形整形。 3.2.1方案一:以555为核心构成的整形电路555定时器是一种多用途的单片中规模集成电路。该电路使用灵活、方便,只需外接少量的阻容元件就可以构成单稳、多谐和施密特触发器。因而在波形的产生与变换、测量与控制、家用电器和电子玩具等许多领域中都得到了广泛的应用。我们可以利用其电路特点,及其具有的回差电压特性,构成施密特触发器,从而实现波形的整形。回差电压特性即是能将边沿变化缓慢的电压波形整形为边沿陡峭的矩形脉冲。用555定时器构成的施密特触发器电路组成及工作原理vi =0v时,vo1输出高电平。当vi上升到 时,vo1输出低电平。当vi由 继续上升,vo1保持不变。当vi下降到 时,电路输出跳变为高电平。而且在vi继续下降到0v时,电路的这种状态不变。图中r、vcc2构成另一输出端vo2,其高电平可以通过改变vcc2进行调节。其上限阈值电压vt+=2/3vcc 。下限阈值电压vt= 1/3vcc。回差电压vt = vt+vt = 1/3vcc。以上利用了电子电路知识分析了555构成的施密特触发器,用protues软件进行仿真,验证了理论知识的正确性。下图完成了输入5v正弦信号,进过555组成的施密特触发器,检测输出波形。图3.6 原理图 图3.7 输入与输出的波形图经过分析,555组成的波形整形电路,对输入信号的幅度有一定的要求,输入正弦,三角波信号幅度须大于1/3vcc,为了跟好的解决这个问题,我查阅了模拟电子电路知识,决定采用电压比较器为核心的整形电路。3.2.2方案二:以电压比较器为核心的整形电路电压比较器的特点电压比较器是集成运放的一类基本应用电路,其功能是对两个输入电压的幅度进行比较,结果以高电平或低电平输出。电压比较器用来比较两个输入电压的大小关系。在比较两个输入电压大小关系的时候,通常将其中的一个输入电压当作参考,称为参考电压ur,另一个输入电压与参考电压相比较的结果,即为电压比较器的输出电压。 图3.8描述电压比较器输出电压与输入电压函数关系的表达式 称为电压比较器的电压传输特性,该函数的曲线称为电压比较器的电压传输特性曲线。最简单的电压比较器电路的电压传输特性曲线如右图所示。因输入电压与参考电压比较的结果只有大于或小于两种状态,所以电压比较器的输出电压也是高、低电平两个状态。在右图中,输出电压高、低电平的跳变点对应的输入电压,称为电压比较器的门限电压,又称阈值电压,用符号uth来表示。(2)lm393构成的基本电压比较器电压比较器可以由通用集成运放组成,也可以采用专用的集成电压比较器。通用的集成运放响应速度慢,输出电平较高,为了适应ttl逻辑电平的要求,运放输出端还要需要限幅措施;集成电压比较器的响应速度快,精度高,可以直接驱动ttl等数字集成电路。本次课设中, 利用lm393集成电压比较器组成波形整形电路。lm393是专业的电压比较器,切换速度快,延迟时间小,可用在专门的电压比较场合。lm393内具有2个独立的高精密度电压比较器,其偏置电压可低至2.0mv。使用单电源供电,供电压宽。主要应用于限幅器,简单的模数转换器,脉冲发生器,方波发生器,延时发生器,宽频压控震荡器,mos时钟计时器,多频振荡器和高电平数字逻辑门电路。lm393主要优点是:高精度比较器,减少由于温漂引起的失调电压,可用单电源供电,输入共模电压范围接近地电平,兼容逻辑电路。本次设计中,lm393其构成的波形整形电路如下图所示,其2管脚为输入端,1管脚为输出端口,r2为上拉电阻,r3为调节参考电压的电位器,d1为3.9v 稳压二极管,使输出信号的幅度调整为3.9v。当输入的信号幅度过小时,可通过调节电位器,改变参考电压大小,即可实现电压的比较,进而实现电路的整形。下图是multisim仿真结果。(在protues软件中不能对lm393进行仿真)图3.9经过仿真可知,不论输入何种波形,经过lm393组成的整形电路后,可变成脉冲波形,该脉冲波形的周期与源输入信号的周期完全一致,再利用单片机,用计数器对脉冲波形1s内进行计数,就可测量出在时间t内通过的原信号的周期个数n,即信号的频率。图3.10输入信号 图3.11输入信号与输入信号的波形比较图比较两个方案可知,方案一对输入信号的幅值要求比较高,实用性较差,因而选用方案二更佳。3.3 lcd1602显示电路在频率计设计中,显示部分对整个系统来说是非常重要的。整个系统的设计最终结果都要通过显示器来反应出来。本次频率计系统的设计采用的显示器为lcd1602。图3.12为lcd1602的显示电路:图3.12 lcd显示电路其各引脚定义如下:第1脚:vss为地电源。第2脚:vdd接5v正电源。第3脚:v0为液晶显示器对比度调整端。第4脚:rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:rw为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和rw共同为低电平时可以写入指令或者显示地址,当rs为低电平rw为高电平时可以读忙信号,当rs为高电平rw为低电平时可以写入数据。第6脚:e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。第714脚:d0d7为8位双向数据线。3.3.1 lcd1602的主要技术参数及接口说明(1) lcd的主要技术参数:表3.3 lcd主要技术参数显示容量:16*2个字符芯片工作电压:4.55.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.95*4.35(wxh)mm(2) 接口信号说明:表3.4 lcd接口信号说明编号符号引脚说明编号符号引脚说明1vss电源地9d2data i/o2vdd电源正极10d3data i/o3vl液晶显示偏压信号11d4data i/o4rs数据/命令选择端12d5data i/o5r/w读/写选择端3d6data i/o6e使能信号14d7data i/o7d0data i/o15bla背光源正极8d1data i/o16blk背光源负极3.3.2控制器接口及时序(1) 基本操作时序:读状态:输入 rs=l,rw=h,e=h 输出 d0d7=状态字写指令:输入 rs=l,rw=l,d0d7=指令码,e=高脉冲 输出 无读数据:输入 rs=h,rw=h,e=h 输出 d0d7=数据写数据:输入 rs=h,rw=l, d0d7=数据,e=高脉冲 输出 无(2) 状态字说明表3.5 lcd状态字说明(1)sta7d7sta6d6sta5d5sta4d4sta3d3sta2d2sta1d1st0d0表3.6 lcd状态字说明(2)sta0-6当前数据地址指针的值sta7读写操作使能1:禁止 0:允许(3) 指令说明:显示模式设置:表3.7 lcd显示模式设置指令码功能00111000设置16*2显示,5*7点阵,8位数据接口显示开关及光标设置:表3.8 lcd显示开关及光标设置指令码功能00001dcbd=1 开显示; d=0 关显示c=1 显示光标 c=0 不显示光标b=1 光标闪烁 b=0光标不显示000001nsn=1,当读写一个字符后地址指针加1,光标加1n=0,当读写一个字符后地址指针减1,光标减1s=1,当写一个字符,整屏显示左移或右移s=0, 当写一个字符,整屏显示不移动第4章 系统的软件设计系统软件设计主要采用模块化设计,叙述了各个模块的程序流程图。4.1 软件模块设计系统软件设计采用模块化设计方法。整个系统由初始化模块,信号频率测量模块,自动量程转换和显示模块等模块组成。系统软件流程如图4.1所示。频率计开始工作或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(sp)、工作寄存器、中断控制和定时计数器的工作方式。定时计数器的工作首先被设置为计数器方式,即用来测量信号频率。图4.1 系统软件流程总图4.1.1 lcd初始化设置模块lcd初始化主要进行显示器显示模式设置和显示开关及光标设置,在本次设计中定义其显示模式为:8位数据端口,5*7矩阵,16*2显示,并且开启显示无光标。具体实现代码为: void lcd_init() /显示初始化函数 e=0; write_com(0x38);/设置16*2显示,5*7点阵,8位数据口 write_com(0x0c);/开显示,不显示光标 write_com(0x06);/写入数据后地址指针加1 write_com(0x01);/显示清屏/ write_com(0x80);/设置初始显示地址4.1.2 定时器数据到ascii码转换模块在lcd1602的显示中,数据是以ascii码的形式在屏幕上显示出来的,而通过系统测量出的频率值数据转化为ascii码的形式才能显示出来。代码为:void freq_disp() if(freq!=0)disp0=(freq_basic/freq)/10000000+0x30;disp1=(freq_basic/freq)%10000000)/1000000+0x30;disp2=(freq_basic/freq)%10000000)%1000000)/100000+0x30;disp3=(freq_basic/freq)%10000000)%1000000)%100000)/10000+0x30;disp4=(freq_basic/freq)%10000000)%1000000)%100000)%10000)/1000+0x30; disp5=(freq_basic/freq)%10000000)%1000000)%100000)%10000)%1000)/100+0x30; disp6=(freq_basic/freq)%10000000)%1000000)%100000)%10000)%1000)%100)/10+0x30; disp7=.; disp8=(freq_basic/freq)%10000000)%1000000)%100000)%10000)%1000)%100)%10+0x30; else disp0=0x30; disp1=0x30;disp2=0x30;disp3=0x30;disp4=0x30;disp5=0x30;disp6=0x30;disp7=.;disp8=0x30; if(disp0=0x30) disp0= ; if(disp1=0x30) disp1= ; if(disp2=0x30) disp2= ; if(disp3=0x30) disp3= ; if(disp4=0x30) disp4= ; if(disp5=0x30) disp5= ; if(disp6=0x30)&(disp8=0x30) disp6= ; disp7= ; wr_lcd(0x80+0x43,disp,9); freq=0; 4.1.3 中断初始化模块其具体代码为:void irq_init() ea=1; et2=1; cp_rl2=1; exen2=1; th2=0x00; tl2=0x00; rcap2l=0x00; rcap2h=0x00; tr2=1; 4.1.4 定时器2捕获模块子程序捕获子程序为:void timer2() interrupt 5 using 1 if(exf2=1) cap_count+; /第一次捕获清零相关寄存器 exf2=0; if(cap_count=1) th2=0x00; tl2=0x00; rcap2l=0x00; rcap2h=0x00; over_count=0; else freq=rcap2h*256+rcap2l+65536*over_count+25; cap_count=0; else tf2=0; over_count+; 4.2 使用altium designer软件画原理图及pcb图4.2 altium designer环境下设计原理图图4-2-2 altium designer环境下设计pcb 第5章 系统调试因本设计本身要求有稳定性高、免维护、抗干扰能力强等功能,系统调试除了验证数据处理的精度,确保判断的准确性外,同时必须确认各项的功能的正常运行。5.1调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试,包括对:键盘操作功能调试,指示灯功能调试等。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。最后将各模块组合后整体测试,使系统的所有功能得以实现。5.1.1硬件调试电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行:(1)按键功能调试(2)led灯功能调试5.1.2软件调试本系统的软件系统很大,全部用c51来编写,选用一般的伟福仿真器对c51进行调试。除了语法差错外,当确认程序没问题时,通过直接下载到单片机来调试。采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。5.1.3软硬联调系统做好后,进行系统的完整调试。主要任务是检验实现的功能及其效果并校正数值。根据实测数据,逐步校正数据,使测量结果更准确。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。谢 辞在这次课程设计中,我真诚地感谢老师和同学们的帮助,在他们的帮助下我顺利的完成了此次课程设计也使我对单片机的一些相应的周边知识有了更进一步的了解。在做论文的过程中,老师和同学帮助我纠正了许多不妥之处。在做系统设计这一过程中,也给我提出了许多意见和建议,并交给我许多解决问题的技巧和方法。单片机是一门实践性很强的课程,光光一个单片机并不能发挥什么作用,必须要和其它的芯片一起才能最大可能的发挥它的各种各样的功能。为了做这个课程设计我查阅了不少单片机的资料,图书馆关于单片机的书基本上都被我们同学借光了。上网查找相应的资料和找老师指导;最后完成了这篇课程设计。在这次设计的过程中,软件编程是比较难的环节,因为用的是汇编和c语言,汇编语言是低级语言,不像高级语言哪么直观,算法的实现也比较困难,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,才能实现数字频率计的相应的功能,在编程上需要花大量的时间在里面。还有在邓老师对我的系统提出了很多改进的意见,对我的论文中的一些不足的地方也一一地指出。没有他的帮助,我也不可能很好的完成这次课程设计。参考文献1 赵全利,肖兴达.单片机原理及应用教程第二版m.机械工业出版社,2007,7.2 徐惠民,安德宁,丁玉珍.单片微型计算机原理接口及应用第三版m.北京邮电大学出版社,2007,8.3 孙育才,王荣兴,孙华芳.atmel新型at89s52系列单片机及其应用m.清华大学出版社,2005,1.4 万光毅.孙九安.蔡建平.张钺.soc单片机实验、实践与应用设计基于c8051f系列m.北京航空航天大学出版社,.2006.5.5 侯媛彬,袁益民,霍汉平,王勇,郑英华.凌阳单片机原理及其毕业设计精选m.科学出版社,2006.1.6 张永枫.单片机应用实训教程m.西安电子科技大学出版社,2001.7 魏立峰,王宝兴.单片机原理及应用技术m.北京大学出版社,2006.8 纪宗南.单片机外围器件实用手册m.北京航空航天大学出版社,1999.9 阎石.数字电子技术基础第四版m.高等教育出版社,1998,11.10 徐玮,沈建良.单片机快速入门m.北京航空航天大学出版社,2008,5.11 吴金戎,沈庆阳.8051单片机实践与应用m.清华大学出版社,2003.12 蔡美琴.mcs-51系列单片机系统及应用m.高等教育出版社,2004,2.13 马忠梅,籍顺心,张凯,马岩.单片机的c语言应用程序设计第四版m.北京航空航天大学出版社,2007,2.14 刘安枕.基于现代教育技术的虚拟实验系统构建模式的研究j.现代电子技术,2004.15 赫建国,刘建新.基于单片机的频率计设计j.西安邮电学院学报,2003.16 y nakayashiki. high-efficiency switching power supply unit with synchronousrectifierj. ieee.1998:398403.17 b.acker,c.r.sullivan and s.r.sanders. current-controlled synchronous rectificationj. apec,1994, ninth annual:185191.18 xuefei xie. a novel high frequency current-driven synchronous rectifier for low voltage high current applicationsj. apec,2001:469475.附 录附录1 元器件清单元件数量元件数量stc89c52单片机一片33f电容两个10k电阻一个3.9v稳压二极管一片5.1k电阻两个拨盘开关一个1k电阻两个lm393一片10k电位器一个lcd1602一个led灯一个24mhz晶振一片导线若干usb接口一个10uf电解电容一个附录2 主要源程序#include#include#define uchar unsigned char#define uint unsigned int#define freq_basic 40000000 /1除以机器周期再乘以10 uchar disp9; uchar cap_count=0;unsigned long over_count=0;uchar code tab1=freqency ;uchar code tab2=hz ;unsigned long freq;#includevoid irq_init() /中断初始化 ea=1; et2=1; cp_rl2=1; exen2=1; th2=0x00; tl2=0x00; rcap2l=0x00; rcap2h=0x00; tr2=1; void freq_disp() /定时器数据到a

温馨提示

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

评论

0/150

提交评论