基于单片机的频率计设计毕业论文.doc

上传人:知****量 文档编号:43228028 上传时间:2022-09-17 格式:DOC 页数:34 大小:792KB
返回 下载 相关 举报
基于单片机的频率计设计毕业论文.doc_第1页
第1页 / 共34页
基于单片机的频率计设计毕业论文.doc_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《基于单片机的频率计设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的频率计设计毕业论文.doc(34页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 基于单片机的频率计设计毕业论文目 录一、引言11.1 数字频率计的发展和意义11.2 数字频率国外的发展形势1二、系统总体设计32.1 系统设计要求32.2 测频方法32.3 系统设计思路32.4 系统设计框图4三、系统硬件设计53.1 单片机模块53.1.1 AT89C52介绍53.1.2 单片机引脚分配63.1.3 复位电路63.1.4 定时/计数器63.2 电源模块73.2.1 电源变压器83.2.2 整流电路83.2.3 滤波电路93.2.4 稳压电路93.2.5 电源模块原理图93.3 放大整形模块103.3.1 与非门74LS00103.3.2 放大整形模块原理图103.4 分频

2、模块113.4.1 分频器74LS161芯片113.4.2 多路选择器74LS151芯片123.4.3 分频模块原理图123.5 显示电路133.5.1 频率数值显示电路133.5.2 频率数值单位显示电路14四、系统软件设计154.1 开始154.2 初始化模块154.3 频率测量模块和量程自动切换模块164.4 显示模块174.5 延时模块17五、数字频率计仿真185.1 电源模块仿真185.2 放大整形电路仿真195.2.1 仿真软件 MULTISIM 10.0仿真整形电路195.2.2 仿真放大整形电路195.3 频率计仿真205.3.1 用KEIL软件205.3.2 使用软件Prot

3、eus仿真频率计215.3.3 频率计仿真运行调试22六、结论27参考文献28致谢29附录A30程序源代码30附录B36仿真效果图3632 / 34 基于单片机的数字频率计一、引言1.1 数字频率计的发展和意义随着电子技术的飞速发展,各类分立电子元件与其所构成的相关功能单元,已逐步被功能更强大、性能更稳定、使用更方便的集成芯片所取代。由集成芯片和一些外围电路构成的各种自动控制、自动测量、自动显示电路遍与各种电子产品和设备已广泛应用于各个领域,更新换代速度可谓日新月异。在电子系统广泛的应用领域中,到处看见处理离散信息的数字电路。供消费用的冰箱和电视、航空通讯系统、交通控制雷达系统、医院急救系统等

4、在设计过程中都用到数字技术。数字频率计是现代通信测量设备系统中不可缺少的测量仪器,不但要求电路产生频率准确的和稳定度高的信号,而且能方便的改变频率。与传统的测量方式相比,运用了单片机频率计有着体积更小,运算速度更快,测量围更宽和制作成本更低的优点。由于传统的频率计中有许多功能是依靠硬件来实现的,而采用单片机测量频率之后,有许多以前需要用硬件才能实现的功能现在仅仅依靠软件编程就能实现,而且不同的软件编程代码能够实现不同的功能,从而大大降低了制作成本。数字频率计主要实现方法有直接式、锁相式、直接数字式和混合式四种。直接式的优点是速度快、相位噪声低,但结构复杂、杂散多,一般只应用在地面雷达中。锁相式

5、和直接数字式都同时具有容易实现产品系列化、小型化、模块化和工程化的特点,其中,锁相式更是以其容易实现相位同步的自动控制且低功耗的特点成为众多业人士的首选,应用最为广泛。1.2 数字频率国外的发展形势在国际上数字频率计的分类很多。按功能分类,电子计数器有通用和专用之分。通用型计数器是一种具有多种测量功能、多种用途的万能计数器,它可测量频率、周期、多周期平均值、时间间隔、累加计数、计时等。专用计数器指专门用来测量某种单一功能的计数器。按频段分类有低速频率计数器、中速频率计数器、高速频率计数器和微波频率计数器之分。其中低速频率计数器最高计数频率小于10MHZ;中速频率计数器最高频率计数频率为10到1

6、00MHZ;高速频率计数器最高计数频率大于100MHZ;微波频率计数器的测频围为1到80GHZ或更高。数字电路制造工业的进步,使得系统设计人员能在更小的空间实现更多的功能,从而提高系统可靠性和速度。现如今,数字频率计已经不仅仅是测量信号频率的装置了,还可以测量方波的脉宽。在人们的生产生活中数字频率计也发挥着越来越重要的作用,比如有数字频率计来监控生产过程,这样可以与时发现系统运行中的异常情况,以便给人们争取时间处理。除此之外,它还可以应用于工业控制等其它领域。在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法

7、实时快速地跟踪捕捉到被测信号的频率变化。正是由于频率计能够快速准确地捕捉到被测信号频率的变化,因此频率计拥有非常广泛的应用围。目前,市场上的频率计厂家可分为三类:中国大陆厂家、中国厂家、欧美厂家。其中,欧美频率计厂家所占有的市场份额最大。欧美频率计厂家主要有:Pendulum Instruments 和 Agilent科技。 现如今,对于频率计的设计目前也有专用芯片可以实现,如利用MAXIM公司的ICM7240来设计频率计,但由于这种芯片的计数频率比较低,远不能达到在一些场合而要测量很高的频率要求,而且测量精度也受到芯片本身的限制,因此提出用AT89C52单片机设计频率计来解决这些问题,从而实

8、现高精度,宽围测量的频率计的设计。二、系统总体设计2.1 系统设计要求本课题设计技术要求:1. 测量围10HZ2MHZ;2. 用四位数码管显示测量值;3. 能根据输入信号自动切换量程;4. 可以测量方波、三角波与正弦波等多种波形。2.2 测频方法在频率、速度等脉冲类测量过程中,采集指定的脉冲个数,与过程时间比较来测定频率、速度。这样的采样方式就是定数采样或定脉冲采样。这种方法其实是测量单个脉冲的周期或指定个数脉冲的总周期。这种测量脉冲的方法又叫做测周法。在频率、速度等脉冲类测量过程中,在指定的时间,计量脉冲个数,让脉冲个数与指定的时间比较来测定频率、速度。这样的采样方式就是定时采样。这种方法其

9、实是测量单位时间的脉冲个数。这种测量脉冲的方法又叫做测频法。目前测量频率的方法主要有脉冲定时测频法,脉冲周期测频法,脉冲倍频测频法和脉冲分频测频法。本文采用脉冲定时测频法和脉冲分频测频法。2.3 系统设计思路以单片机AT89C52单片机为核心,设计一种数字频率计,它由放大整形电路、分频电路、多路选择器、单片机、显示电路等组成,应用单片机中的定时/计数器和中断系统等完成频率的测量。在整个设计过程中,放大整形电路是把非矩形波转化成矩形波,这样单片机才能识别;分频电路是为了测量更高频率的信号,多路数据选择器是用来选择输入信号的;单片机用来测量频率和切换量程等;显示电路用来显示频率值。所制作的频率计采

10、用外部十分频,实现10Hz2MHz的频率测量,而且可以实现量程自动切换,通过四位数码管显示频率值,再用不同的LED发光二极管显示频率值的单位。2.4 系统设计框图本课题设计以单片机为核心,设计一种数字频率计,应用单片机中的定时器/计数器和中断系统等完成频率的测量。其中包括放大整形模块、分频模块、电源模块、单片机模块、显示模块等。图1 频率计总体设计框图三、系统硬件设计根据系统设计的要求,频率计实际需要设计的硬件系统主要包括以下几个部分:单片机模块、电源模块、放大整形模块、分频模块与显示模块,下面将分别给予介绍。3.1 单片机模块以AT89C52单片机为控制核心,来完成对待测信号的计数、译码和显

11、示以与对分频比的控制,利用其部的定时计数器完成待测信号频率的测量。单片机AT89C52部具有3个16位定时计数器,定时计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。3.1.1 AT89C52介绍AT89C52是一个低电压,高性能CMOS 8位单片机,片含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。图2 PDIP封装的AT89C52引脚图

12、3.1.2 单片机引脚分配根据系统设计与各模块的分析得出,单片机的引脚分配如下表所示。表1 单片机端口分配表模 块端口功能显示模块P0.0-P0.4、P2.0-P2.7数码管频率值显示P1.4-P1.6LED单位显示分频模块P1.0-P1.2通道选择P1.3清零复位模块RST、EA复位3.1.3 复位电路有时系统在运行过程中出现程序跑飞的情况,因此在程序开发过程中需要复位。本文选用手动复位,通过复位可以再次测量信号或测量新的信号。复位电路通常分为两种:上电复位(图3)和手动复位(图4)。图3 上电复位图4 手动复位3.1.4 定时/计数器方式寄存器TMOD:特殊功能寄存器TMOD为T0、T1的

13、工作方式寄存器,其格式如下: D7 D6 D5 D4 D3 D2 D1 D0GATEC/TM1M0GATEC/TM1M0 T1方式字段 T0方式字段TMOD的低4位为T0的方式字段,高4位为T1的方式字段,它们的含义是完全相同的。1.工作方式选择位M1,M0M1,M0两位确定计数器的结构方式,其对应关系如下表:表2 计数器结构方式功能表M1 M0工作方式 功 能 说 明0 1 方式0 13位计数器0 1 方式1 16位计数器1 0 方式2 初值自动重新装入的8位计数器1 1 方式3仅适用于T0,分为两个8位计数器,T1在方式3停止计数2. 定时器方式和外部事件计数方式选择位C/TC/T=0为定

14、时方式。在定时方式中,以振荡器输出时钟脉冲的十二分频信号作为计数信号,也就是每一个机器周期定时器加“1”。若晶振为12MHZ,则定时器计数频率为1MHZ,计数的脉冲周期为1us。定时器从初值开始加“1”计数直至定时器溢出所需的时间是固定的,所以称为定时方式。C/T=1为外部事件计数方式,这种方式采用外部引脚(T0为P3.4,T1为P3.5)上的输入脉冲作为计数脉冲。部硬件在每个机器周期采样外部引脚的状态,当一个机器周期采样到高电平,接着的下一个机器周期采样到低电平时计数器为1,也就是说在外部输入电平发生负跳变时为1。外部事件计数时最高计数频率为晶振频率的二十四分之一,外部输入脉冲高电平和低电平

15、时间必须在一个机器周期以上。对外部输入脉冲计数的目的通常是为了测试脉冲的周期、频率或对输入的脉冲数进行累加。3. 门控位GATEGATE为1时,定时器的计数受外部引脚输入电平的控制(INT0控制T0的计数,INT1控制T1的计数);GATE为0时定时器计数不受外部引脚输入电平的控制。3.2 电源模块为整个系统提供适宜又稳定的电源,主要为单片机、放大整形电路、分频电路和显示电路提供电源。输入的220V电压太大,对元件要求大,决定先降压为9V,再经过整流,滤波,稳压后得到5V稳定电压。稳压电源由电源变压器、整流电路、滤波电路和稳压电路四部分组成,如以下图5所示,其整流与稳压过程的电压输出波形如图6

16、所示。 图5 稳压电源的组成框图 图6 整流与稳压过程波形图3.2.1 电源变压器电源变压器T的作用是将220V的交流电压变换成整流滤波电路所需要的交流电压Ui。变压器副边与原边的功率比为P2/P1=n,式中n是变压器的效率。3.2.2 整流电路 单相桥式整流电路使用的整流器件较多,但其实现了全波整流电路,它与半波整流电路相比,在相同的变压器副边电压下,对二极管的参数要求一样,还具有输出电压高、变压器利用率高、脉动小等优点。整流电路工作原理:单相桥式整流电路由四只二极管组成,接成电桥形式,利用二极管的单向导电性,将正负交替的正弦交流电压整流成为单方向的脉动电压。当u2为正半周时,电流由A点流出

17、,经D1、RL、D3流入B点,即D1、D3导通,D2、D4截止;当u2为负半周时,电流由B点流出,经D2、RL、D4流入B点,即D2、D4 导通,D2、D4截止。电路与输出波形如图7,图8所示:图7 整流电路图 图8 整流输出波形3.2.3 滤波电路在本文利用电容进行滤波。 利用电容元件储能的特性,将整流后输出的电压的能量储存起来,然后缓慢的释放给负载。尽可能地将脉动电压中的脉动成分过滤掉,使输出电压成为比较平滑的直流电压。采用电容滤波时,整流二极管中将流过较大的冲击电流。必须选用较大容量的整流二极管。电容滤波电路与输出波形如图7,图8所示: 图9 电容滤波电路 图10 电容滤波输出波形3.2

18、.4 稳压电路使输出的直流电压稳定,不随交流电网电压和负载的变化而变化。在这里我们决定用集成稳压器7805。3.2.5 电源模块原理图此模块原理图:图11 电源模块原理图3.3 放大整形模块放大电路是对待测信号的放大,降低对待测信号幅度的要求;整形电路是对不是矩形波的待测信号转化成矩形波信号,便于测量。由于输入的信号可以是正弦波、三角波、矩形波等,而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路则在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。在整形之前由于不清楚被测信号的强弱的情况。所以在通过整形之前通过放大衰减处理。本文采用单管共射极放大电路对信号进行放大

19、和再由非门74LS00构成施密特触发器对输出的信号进行整形成矩形波后再次输出。3.3.1 与非门74LS0000 为四组2 输入端与非门(正逻辑),共有 54/7400、54/74H00、54/74S00、54/74LS00Y=(AB)非 表3 74LS00功能表InputInputOutputABYLLHLHHHLHHHL3.3.2 放大整形模块原理图此模块原理图:图12 放大整形电路原理图3.4 分频模块本文采用12MHZ的时钟,最大计数速率为500 kHz,因此需要外部分频。分频电路用于扩展单片机频率测量围,并实现单片机频率测量使用统一信号,可使单片机测频更易于实现,而且也降低了系统的测

20、频误差。为了测量提高精度,当被测信号频率值较低时,直接使用单片机计数器计数测得频率值;当被测信号频率值较高时采用外部十分频后再计数测得频率值。这两种情况使用74LS151进行通道选择,由单片机先简单测得被测信号是高频信号还是低频信号,然后根据信号频率值的高低进行通道的相应导通,继而测得相应频率值。因此此模块主要包括分频器74LS161、多路选择器74LS151、与非门74LS00。3.4.1 分频器74LS161芯片74LS161是常用的四位二进制可预置的同步加法计数器。表4 74161的功能表从表中可以知道,当清零端RD=“0”,计数器输出Q3、Q2、Q1、Q0立即为全“0”,这个时候为异步

21、复位功能。当RD=“1”且LD=“0”时,在CP信号上升沿作用后,74LS161输出端Q3、Q2、Q1、Q0的状态分别与并行数据输入端D3,D2,D1,D0的状态一样,为同步置数功能。而只有当RD=LD=EP=ET=“1”、CP脉冲上升沿作用后,计数器加1。74LS161还有一个进位输出端CO,其逻辑关系是CO= Q0Q1Q2Q3CET。合理应用计数器的异步清零功能和同步计数功能,一片74LS161可以组成16进制以下的任意进制分频器。本文组成了十进制的分频器。3.4.2 多路选择器74LS151芯片数据选择端(ABC)按二进制译码,以从8个数据(D0-D7)中选取1个所需的数据。只有在选通端

22、STROBE为低电平时才可选择数据。74LS151有互补输出端(Y、W),Y输出原码,W输出反码。74LS151的功能如下表: 表5 74151功能表其中A、B、C为选择输入端,D0-D7为数据输入端,STROBE为选通输入端(低电平有效),W为反码数据输出端,Y为数据输出端。3.4.3 分频模块原理图分频模块设计原理图:图13 分频模块原理图3.5 显示电路显示模块由频率值显示电路和量程转换指示电路组成。频率值显示电路采用四位共阳极数码管动态显示频率计被测数值,量程转换指示电路由红、黄、绿三个LED分别指示Hz、KHz与MHz频率单位,使读数简单可观。数码管是一种半导体发光器件,其基本单元是

23、发光二极管。常见的数码管由七个条状和一个点状发光二极管管芯制成,叫七段数码管,根据其结构的不同,可分为共阳极数码管和共阴极数码管两种。根据管脚资料,可以判断使用的是何种接口类型。图14 两种数码管部原理图因为这里用的是共阳极数码管,它的公共端为高电平,因此要让其中各段(DP,A,B,C,D,E,F,G)的发光二极管发光,只要使它另一端置为低电平,即置0。3.5.1 频率数值显示电路图15 共阳极数码管显示电路图3.5.2 频率数值单位显示电路图16 LED档位指示电路四、系统软件设计本文中系统软件设计采用模块化设计,整个系统分为初始化模块、频率测量模块、量程自动切换模块和显示模块等。整个系统软

24、件设计的程序由C语言编写,通俗易懂。系统软件设计模块框图:图17 系统软件设计模块框图4.1 开始程序预处理,先声明头文件,定义一些变量。程序入口,main()函数框图:图18 主函数框图4.2 初始化模块初始化模块初始化分频器、量程档位、LED显示、工作寄存器、中断控制和定时计数器的工作方式等。4.3 频率测量模块和量程自动切换模块经过初始化计数器1,每一次下降沿触发一次计数器1中断,每次中断执行中断处理程序则fCnt加1,因此fCnt为信号下降沿次数;经过初始化定时器0,每50ms触发一次定时器0中断,每次中断执行中断处理程序则对数据下降沿次数fCnt进行处理,通过对数据的大小判断实现量程

25、自动切换等,从而计算出信号的频率,然后调用显示模块把频率值显示出来。其中,16位定时计数器的最高计数值为65535,因此,还需要先由硬件十分频后,再有定时计数器对被测信号计数,加大测量的精度和围。计数器1和定时器0的中断处理框图:图19 计数器1中断处理 图20 定时器0中断处理量程自动切换模块框图:图21 量程自动切换程序流程图4.4 显示模块显示程序将频率值和量程档位在数码管和LED管显示出来。由于所有4位数码管的8 根段选线由单片机的P2口控制,因此,在每一瞬间4位数码管会显示相同的字符,要想每位显示不同的字符就必须采用扫描方法轮流点亮各位数码管,即在每一瞬间只点亮某一位显示字符,由P0

26、.0-P0.3逐位轮流点亮各个数码管,在此瞬间,段选控制口P2输出相应字符。P1.4-P1.6控制三个发光二极管,通过光颜色的不同表示量程档位的不同。P0.0-P0.3对应共阳极数码管的1,2,3,4;P2.0-P2.7对应共阳极数码管的A,B,C,D,E,F,G,DP;P1.4-P1.6对应发光二极管的颜色:绿色(MHZ档),黄色(KHZ),红色(HZ)。发光二极管全亮表示所测信号频率超出测量围。显示模块框图:图22 显示子程序流程图4.5 延时模块延时模块框图:图23 延时程序流程图五、数字频率计仿真5.1 电源模块仿真此模块用仿真软件 MULTISIM 10.0仿真图24 电源模块仿真图

27、其中9/220=0.0409,因此变压器耦合系数设置为0.0409。此电路运行后输出电压(即万用表读数):图25 输出电源电压图此电压与我需求的5V电压相差不大,符合后面元件和电路需要的电压,因此用此模块电路产生的电压供养后续的电路。5.2 放大整形电路仿真5.2.1 仿真软件 MULTISIM 10.0仿真整形电路图26 整形电路仿真图设置输入信号,点击运行按钮后,观看示波器上输入输出信号波形:图27 整形电路仿真结果图5.2.2 仿真放大整形电路仿真原理图:图28 放大整形电路仿真图示波器波形:图29 放大整形电路仿真结果图信号经过放大整形电路,能够输出需要的波形和幅度的信号,再将它输入到

28、分频电路,再到单片机进行频率的测量。5.3 频率计仿真5.3.1 用KEIL软件先创建工程,后导入bs.c文件,其中bs.c文件就是软件设计中的源代码:图30 keil软件应用图设置一些软件目标选项:由此打开选项:图31 软件设置选项图点击后,弹出对话框并设置相关属性。点击按钮后,编译连接,若代码无问题,之后会生成bs.hex文件,如以下图:图32 (.hex)文件图5.3.2 使用软件Proteus仿真频率计因为电源模块和放大整形模块都用仿真软件 MULTISIM 10.0仿真过,所以这里不再对其进行仿真,信号直接输入,稳压直流电源也直接输入。分频模块机和显示模块都要与单片机模块相连才能达到

29、所需的要求,因此,这三个模块就一起仿真,用Proteus软件仿真如以下图:图33 频率计仿真图其中需要注意是一些设置:单片机设置:图34 单片机属性设置图其中是需要导入由KEIL软件生成的*.hex文件,再是时钟频率为12MHZ。电源的设置:图35 电源大小设置图设置电源为5V。5.3.3 频率计仿真运行调试因为信号是经过放大和整形的后的信号波是矩形波,因此放置元件时要选择发送矩形波的信号源。在运行之前,要设置信号源和大小,因为设计要求测量围10HZ2MHZ,所以将信号源的大小设置在10HZ2MHZ的围。设置如下:1.给定10HZ的信号波图36 10HZ信号设置图点击确定后,点击运行按钮,之后

30、看频率计仿真运行情况:图37 频率计测量10HZ信号运行图其中红色LED亮,是表示数码管显示的频率值是HZ档,也就是频率的单位是HZ,也就说明运行结果读数是10HZ。2.给定600HZ的信号波图38 600HZ信号设置图运行结果如下:图39 频率计测量600HZ信号运行结果图数码管显示600,红色LED亮,因此读数为600HZ。3.给定63.3HZ的信号波图40 63.3HZ信号设置图运行结果如下:图41 频率计测量43.3信号运行结果图数码管显示63.4和63.2,黄色LED亮,有些误差,误差在0.1KHZ,读数为63.3KHZ。4.给定1.324MHZ的信号波图42 1.32MHZ信号设置

31、图运行结果如下:图43 频率计测量1.325MHZ信号运行结果图数码管显示1.325,绿色LED亮,表示数码管显示值的单位是MHZ,误差为0.001MHZ因此读数为1.325MHZ。5.给定1.998MHZ的信号波图44 1.998MHZ信号设置图运行结果如下:图45 频率计测量1.998MHZ信号运行结果图数码管显示2.000,绿色LED亮,误差为0.002MHZ,因此读数2.000MHZ。6.复位功能:点击复位按钮图46 复位按钮图运行结果:图47 按下复位按钮运行结果图按下复位按钮后,系统重新初始化。7.给定3MHZ的信号波图48 3MHZ信号设置图运行结果如下:图49 频率计测量3MH

32、Z信号运行结果图数码管显示0000,红色、黄色、绿色LED全亮,说明信号波的频率已经超过频率计所需的测量围(我在软件设计时,它的测量围设置在2.5MHZ以下)。六、结论毕业设计是教学过程的最后阶段采用的一种总结性的实践教学环节。通过毕业设计,能使学生综合应用所学的各种理论知识和技能,进行全面、系统、严格的技术与基本能力的练习。通过此次设计,我受益匪浅。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号以与其他各种单位时间变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于

33、其使用十进制数显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。目前测量频率的方法主要有脉冲定时测频法,脉冲周期测频法,脉冲倍频测频法和脉冲分频测频法等。本次设计采用脉冲定时测频法和脉冲分频测频法,电路简单,软件代码通俗易懂。通过此次设计,我熟练掌握了C语言的编写,仿真软件MULTISIM 10.0,KEIL和Proteus软件的应用,了解了相关元件的基本知识,同时还熟练掌握了对文献资料等的收集、查阅、应用。在设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的程序运行和仿真调试环节,本身就是在践行“过而能改,善莫大焉”的知行观,同时在老师的指导下,终于完成了此次设计。

34、此次设计也让我明白了思路即出路,有什么不懂不明白的地方要与时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。参考文献1学海著.标准80C51单片机基础教程.航空航天大学,20062 戴仙金主编.51单片机与其C语言程序开发实例.清华大学,20083 诚人.高宏洋等.嵌入式系统与单片机应用,清华大学,20054 龚运新编著.单片机C语言开发技术.清华大学,20065 天凡等编著.51单片机C语言开发详解.电子工业,20086 义和.王敏男等.例说51单片机(C语言版).人民邮电,20087 洪润、秀英、亚凡等.单片机应用设计200例 .航空航天大学,20068 彭

35、为、黄科、雷道仲等.单片机典型系统设计实例精讲.电子工业, 20069 学海著.标准80C51单片机基础教程.航空航天大学,200610 朝青单片机原理与接口技术M航天航空大学,199811 余发山,王福忠.单片机原理应用技术M:中国矿业大学,200312V.Yu.Teplov,A.V. Anisimov.Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier EffectJ ,2002 13 Yeager Brent.How to troub

36、leshoot your electronic scaleJ. Powder and Bulk Engineering. 1995 14WeiXiaoRu,JuJianZhi.Design of a CCDs driving circuit based on ATmega16.Microcomputer&Its Applications,2010,(16). 15HeLianYun,The Traffic Signal Lamp System Controlled with Single Chip Microcomputer puter Study,2008,(01).致谢在本次设计的整个过程

37、中,得到了指导老师和同学的大力帮助,借此机会向他们表示诚挚的感谢。 感谢在百忙之中对我的论文进行评审并提出宝贵意见的老师们。附录A程序源代码:#include /声明所需数据库头文件#definevalue P2/数码管显示#define place P0unsigned char d4; /对应共阳极数码管的各位unsigned char Num10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/显示0-9数字sbit addrC=P10; /分频器sbit addrB=P11;sbit addrA=P12;sbit clear=P13

38、;sbit ledG=P14; /led显示频率量程单位和档位sbit ledY=P15;sbit ledR=P16;unsigned char count; /定时器0计数unsigned char gears; /档位unsigned int tN; /不同档位计时值unsigned int fCnt; /脉冲下降沿次数unsigned long regCnt; /脉冲次数暂存unsigned int pCnt; /频率显示void Delay(unsignedintDelayTime)while(DelayTime-);void display()if(gears=1) /HZ档d3=0

39、;d2=pCnt/100;d1=(pCnt%100)/10;d0=pCnt%10;place=0xfe;value=Numd3;Delay(300);place=0xfd;value=Numd2;Delay(300);place=0xfb;value=Numd1;Delay(300);place=0xf7;value=Numd0;Delay(300);ledG=1;/显示HZ档,红色发光二极管点亮ledY=1;ledR=0;else if(gears=2) /KHZ档d3=pCnt/1000;d2=(pCnt%1000)/100;d1=(pCnt%100)/10;d0=pCnt%10;plac

40、e=0xfe;value=Numd3;Delay(300);place=0xfd;value=Numd2;Delay(300);place=0xfb;value=Numd1+0x80;Delay(300); place=0xf7;value=Numd0;Delay(300);ledG=1; /显示KHz档,黄色发光二极管点亮ledY=0;ledR=1;else if(gears=3) /MHZ档d3=pCnt/1000;d2=(pCnt%1000)/100;d1=(pCnt%100)/10;d0=pCnt%10;place=0xfe;value=Numd3+0x80;Delay(300);/带

41、小数点place=0xfd;value=Numd2;Delay(300);place=0xfb;value=Numd1;Delay(300);place=0xf7;value=Numd0;Delay(300);ledG=0; /显示MHZ档,绿色发光二极管点亮ledY=1;ledR=1;else if(gears=4) /超出围d3=0;d2=0;d1=0;d0=0;place=0xfe;value=Numd3;Delay(300);place=0xfd;value=Numd2;Delay(300);place=0xfb;value=Numd1;Delay(300);place=0xf7;va

42、lue=Numd0;Delay(300);ledG=0; /超出围,红、黄、绿发光二极管都点亮 ledY=0;ledR=0;void intialize() /初始化clear=1; /分频器初始化addrB=0;addrC=0;addrA=0;gears=1; /档位初始化为Hz档 ledG=1; /LED显示Hz档ledY=1;ledR=0;TMOD=0x61; /定时器0,工作方式1;计数器1,工作方式2(8位自动重装)ET0=1; /允许定时器0中断TR0=1; /定时器0开始计时TH0=0x3c; /(65536-50000)/256;TL0=0xb0; /(65536-50000)%256;tN=20; /定时1S(50*20=1000ms=1s)ET1=1; /允许计数器1中断TR1=1; /计数器1开始计时TH1=0xff; /每一次下降沿触发一次计数器1中断TL1=0xff;EA=1; /总中断允许void main()intialize();/初始化程序while(1)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com