基于AT89C51单片机的简易频率计的设计(五篇)

时间:2019-05-14 01:36:03下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《基于AT89C51单片机的简易频率计的设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《基于AT89C51单片机的简易频率计的设计》。

第一篇:基于AT89C51单片机的简易频率计的设计

基于AT89C51单片机的简易频率计的设计 Algorithms of Signal Classification Based on

Spectrum Analysis

彭岚峰胡佳佳 Peng Lanfeng Hu Jiajia(南昌大学科学技术学院,江西南昌330029)(College of Science and Technology } Nanchang University, Jiangxi Nanchang,330029)摘要:为了解决市场上各种多功能、高精度数字频率计高价格的问题,本文通过综合分析实际工作的要求,选择市场上低价格的常用元件,由单片机产生闸门时间与时钟等基准信号以减少外围电路,从而提出了一种基于单片机(AT89C51)为主控制核心、LCD 1602为显示界面的频率计设计方案。本方案可满足简易频 率计体积小、成本低、精度高、可测频带宽的市场需求。关键词:单片机;频率计;液显

中图分类号:TM93文献标识码:A文章编号:1671-4792(2012)09-0121-03

Abstract: In order to meet the great necessity of multi-function, high-precision digital frequency meter with a lower price, we choose the common cheap components, and use microcontroller to produce the basic clock signalto minimize the peripheral circuit.A design of frequency meter based on microcontroller(AT89C51)andLCD1602 is proposed, which has the properties of small size, low cost, high precision and wide frequency bandwidth.Keywords: AT89C51:Frequency Meter;Liquid Crystal Displ 0引言实现复杂度。

频率计又称为电子计数器,是一种常用电子测量仪器。它的基本功能是测量信号的频率和周期,广泛应用于教学、科研、高精度仪器测量、工业控制等

领域。目前,市场上的频率计基本上都是由专用计数芯片与数字逻辑电路组成。由于这些芯片的工作频率低,从而限制了产品工作频率的提高,远不能满足在一些特殊的场合需要。运用51系列单片机设计频率计,并采用适当的算法取代传统电路,不仅能克服传统频率计结构复杂、稳定性差、精度不高的弊端,而且频率计性能也将大幅提高。本次设计给出了一种基于单片机(AT89C51)为主控制芯片的频率计设计方案,不但切实可行,而且体积小、保密性强、设计简单、精度高、可测频带宽,大大降低了设计成本和实现复杂度。

1总体设计方案

频率计的结构主要包括时钟信号发生电路、阀门控制、单片机控制电路和LCD显示电路。频率计的主要核心部件是采用AT89C51来产生定时和记录脉冲变化次数,运用AT89C51来构成计数器,突破了大部分运用数字电路模板来构成计数器。本设计主要采用AT89S52芯片和LCD 1602来实现,软件编程主要采用C51语言来编程。图一给出了设计框图。

图一频率计构造图

1.1控制核心

以单片机为核心,待测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把待测的正弦波或者三角波整形为方波。利用单片机的计数器/定时器的功能对待测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。

1.2显示部分

LCD 1602是具有记忆功能的液晶显示器,当频率值不发生变化时无需更新显示区域。此特点可节约单片机的运行时间,减少测量转换时间。

1.3波形整形电路

采用LM358比较电路来整形波形,40K电阻和100K的可调电阻对电压分压,因为LM358比较器的开环增益很大,所以输入电压大于分压电压的将变为电源电压5v,而小于电源电压的会变成0v。这样就可以把正弦波、三角波整形成方波。图二给出了整形电路图。

图二波形整形电路

2软件设计

频率计的核心部分是程序的编写,算法的好坏将直接影响频率计的精度。包括了以下的主要程序:主程序、LCD 1602显示程序、显示转换程序、频率计算程序。

2.1主程序

主程序只做控制作用,调用了三个子程序定时器1中断初始化、LCD 1602初始化、在LCD上显示Welcome,调用结束后等待中断到来。void main(void)Initial_S1();

//定时器1中断初始化 LCDSTART();

//LCD1602初始化 Putlcddata();//在LCD上显示Welcome while(1);} 2.2 LCD 1602显示程序

void LCDSTARTQ { LCDDATA=0x01;

//清屏光标复位 DISP();LCDDATA=0x38;

//设置显示模式:8位子行Sx 7点阵 DISP();LCDDATA=0x0c;

//显示器开、光标开、光标允许闪烁 DISP();LCDDATA=0x06;

//文字不动,光标自动右移 DISP();LCDDATA=0x84;

//设置显示初始位置 DISP();} 2.3计数程序

本设计中T0采用计数功能,需要注意的一个问题是,输入的待测时钟信号的频率最高可以达到460800Hz,但计数器最多只能计数65536次,显然需要对计数单元进行扩展。扩展的思路是除了计数器TO的THO和TLO用于计数外,再选用一个计数单元,每当计数器TO溢出回零时产生中断,中断程序执行计数扩展单元自增1。本设计需要测量频率最大为10000Hz,可以不用扩展。void timerl} interrupt 3 { TH1=THCLK;TL1=TLCLK;switch(n){

case2: }if(--switchtime==0)}Frequencyvalue=(THO*256+TLO)/4)* 1000;NumToCharO;

THO=O;TLO=0;} break;}

case3: {if(--switchtime==0){Frequencyvalue=(THO*256+TLO)/4)* 100;NumToChar();

TH0=0;TL0=0;} break;}

easel:{if(--switchtime==0){Frequencyvalue=(TH0*256+TLO)/4)* 10+60;NumToChar();

TH0=0;TL0=0;} break;}

}

} 2.4显示转换

从计数器采集到的频率数据是整数,不能直接把这些数据送给LCD显示,因此需要把这些数据转换为标准有效的字符串。下面这段程序将整数转换成字符串。

void NumToChar()

{

frequency [0]=Frequencyvalue/ 10000+48;

frequency

[1]=

(Frequencyvalue% 10000)/1000+48;

frequency [2]=(Frequencyvalue% 1000)/ 100+48;

frequency [3]=(Frequencyvalue% 100)/10+48;

frequency [4]=Frequencyvalue% 10+48;

frequency[5]='H';

frequency [6]='z';

frequency [7]='';

LCDDATA=Oxc4;

//设置显示初始位置

DISPQ;PutlcddataQ;

} 3结束语

本设计采用了应用广泛的AT89C51单片机为控制芯片,为频率计的设计提出了一种新的方向。基于AT89C51单片机的简易频率计可满足简易频率计体积小、成本低、精度高、可测频带宽的市场需求。因此,本方案具有一定的应用价值。参考文献

[1]邱关源.电路}M].北京:高等教育出版社,2006.[2]谢自美.电工线路设计·实验·测试[M].武汉:华中科技大学出版社,2006.[3]王港元.电工电子学实践指导}M].江西:江西科学技术出版社,2009.[4]阎石.数字电子技术基础[M].北京:高等教育出版社,2006.[5]赵全利,肖兴达.单片机原理及应用教程(第二版)[M].机械工业出版社,2007, 7.[6]XuefeiXie.A Novel High Frequency Current-Driven Synchronous Rectifier For Low VoltageHigh Current Applications[J].APEC} 2001:469-475.

第二篇:基于单片机的频率计设计12

`武汉理工大学《电子系统设计与调试》课程设计说明书

摘要

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,而且会产生比较大的延时,造成测量误差、可靠性差。传统的数字频率计一般是由分离元件搭接而成,随着单片机的大规模的应用,单片机在频率测量方面也越来越多的被使用。在本课题中使用的AT89S51 这种低功耗,高性能CMOS 8位单片机系列的单片机的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。而本次设计就是要通过以AT89S51单片机为控制核心,实现对信号频率进行准确计数的设计。

单片机是将微型计算机的基本功能部件全部集成在一块半导体电路芯片上,具有功能强、体积小、价格低、稳定可靠、研制周期短等优点,具有广阔的应用前景。本次毕业设计以ATMEL公司的AT89S51单片机为核心,实现频率计数功能。频率计装置由单片机系统模块,LED显示模块、MAX232串口通信模块组成,实现对频率进行测试并在LED显示出来。

本次毕业设计基于AT89S51单片机的频率计装置,设计sch电路原理图,并根据原理图完成硬件部分的制作,采用KEIL-51单片机应用系统编制C语言系统程序,最后通过综合调试,能实现所有要求的功能,完全满足本次毕业设计的要求。

关键词:频率计;单片机;LED显示;MAX232;定时器/计数器基于AT89S51单片机的频率计的设计装置原理图及其设计思路

2单片机系统模块原理设计

2.1 AT89S51芯片介绍 2.2 AT89S51芯片管脚介绍 2.3 AT89S51复位电路原理2.4 AT89S51的时钟

2.5.1 P0口介绍2.5.2 P1口介绍2.5.3 P2口介绍2.5.4 P3口介绍

2.5.5端口的负载能力和输入/输出操作 2.5.6串行端口的基本特点

2.5.7串行端口的工作方式2.5.8串行端口的控制寄存器

2.6 定时器/计数器2.6.1定时器/计数器结构 2.6.2定时器/计数器控制寄存器

2.6.3定时器/计数器工作模式 2.6.4定时器/计数器的初始化

2.7 中断系统 2.7.1中断系统的结构 2.7.2中断系统的控制寄存器2.7.3中断的响应过程3 硬件设计 3.1 LED显示模块设计原理3.1.1 LED发光原理 3.1.2种类和符号

3.1.3 LED的特性3.2 LED数码管介绍 3.2.1 LED数码管原理结构3.2.2 LED数码管工作方式

3.2.3静态显示方式 3.2.4动态显示方式 3.2.5 LED显示控制原理 3.3 MAX232芯片介绍4 软件设计

基于51单片机频率计的设计与制作

论文摘要: 本毕业论文代写随着无线电技术的发展与普及,“频率”已经成为广大群众所熟悉的物理量。并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。本设计介绍了以8051单片机为核心的频率测量技术, 给出了通过单片机系统的外部中断和定时器/计数器, 并采用测周法和测频法来实现信号频率测量以及通过扩展键盘和显示设备对现场频率进行测量的设计方法。

关键词:频率 单片机 分频器

引言

随着无线电技术的发展与普及,“频率”已经成为广大群众所熟悉的物理量。而单片机的出现,更是对包括测频在内的各种测量技术带来了许多重大的飞跃,然而,小体积、价廉、功能强等优势也在电子领域发挥非常重要的作用,极大的提高了这些领域的技术水平和自动化程度。51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51系列及其衍生单片机还会在后继很长一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用是非常重要的。为此, 本文给出了一种以单片机为核心的频率测量系统的设计方法。

数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。概述

测量频率的方法一般分为无源测频法、有源测频法及电子计数法三种。无源测频法(又可分为谐振法和电桥法), 常用于频率粗测, 精度在1%左右。有源比较法可分为拍频法和差频法,前者是利用两个信号线性叠加以产生拍频现象,再通过检测零拍现象进行测频, 常用于低频测量, 误差在零点几Hz;后者则利用两个非线性信号叠加来产生差频现象, 然后通过检测零差现象进行测频, 常用于高频测量, 误差在± 20 Hz左右。以上方法在测量范围和精度上都有一定的不足, 而电子计数法主要通过单片机进行控制。由于单片机的较强控制与运算功能, 电子计数法的测量频率范围宽, 精度高, 易于实现。2 系统硬件设计

2.1 系统硬件框图

频率计的组成框图如图2-1所示,它是以单片机作为核心控制电路,主要有放大电路、整形电路、分频电路、键盘和显示组成,完成频率的测量功能。

当频率输入后经放大电路放大后进入整形电路进行整形,再由分频器进行分频,再送入单片机中进行处理,最后有数码管显示频率。

2.2 单片机最小系统

本设计用STC89C51代替了以往使用的AT89C51,功能更强,速度更快,寿命更长,价格更低。STC89C51可以完成ISP在线编程功能,而AT89C51则不能。

STC89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。

STC89C51是一块高性能单片机,它内含128×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。AT24C02具有PDIP、MSOP/TSSOP及SOIC等三种封装形式,以适应不同产品的需求。

最小系统是维持单片机,由于晶振、开关等器件无法集成到51芯片内部,由这些器件构成的晶振电路和复位电路是单片机工作的所必须的两个基本电路,对于8051内由RAM、EPROM的系统来讲,单片机与晶振电路及开关、电阻、电容等构成的复位电路组成最小系统。对于8031机型来说,片内不含有程序存储器,所以除以上基本的配置外,必须外扩片外的程序存储器,再用到地址锁存器,才能构成最小系统。所以我们选用8051,这用的最小系统简单可靠。

8051单片机中,XTALl、XTAL2 为片内振荡器的反相放大器的输入和输出端,如图2-3示。可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动 STC89C51,时钟信号从 XTAL1 输入,XTAL2 应悬空。由于输入到内部电路是经过一个 2分频触发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。

复位电路的基本功能是:系统上电时提供复位信号直至系统电源稳定后撤销复位信号,为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位,有效的防止系统有时会出现一些不可预料的现象,如无规律可循的“死机”、“程序走飞”等。系统

2.3 频率测量电路

本设计就是采用单片机电子计数法来测量频率, 其系统硬件原理框图如下

为了提高测量的精度, 拓展单片机的测频范围, 本设计采取了对信号进行分频的方法。设计中采用两片同步十进制加法计数器74LS160来组成一个100分频器。该100分频器由两个同步十进制加法计数器74LS160和一个与非门74LS00共同设计而成。由于一个74LS160可以分频十的一次方, 而当第一片74LS160工作时, 如果有进位,输出端TC便有进位信号送进第二片的CEP端, 同时CET也为高电平, 这

样两个工作状态控制端CET、CEP将同时为高电平, 此时第二片74LS160将开始工作。

2.4 显示电路

显示电路我选用共阴极数码管,是由一个四位数码管和二个一位数码管组成。显示主要包含了两部分:段选和位选。在设计时用74ls240来驱动。

段选的信号和位选的信号由P0和P2口提供,P0口的接74ls240,把单片机输出的十进制转换成数码管能显示的字型码。

3、数显频率计设计

以单片机为主要控制器件,配合外围电路,测量10MHZ以内的周期信号频率,并用LE

D数码管显示测量结果。选择一种精度较高的测量方法,绘出电路的原理图,搭建硬件电路,编制单片机程序,实现上述功能。

第三篇:简易数字显示频率计的设计

简易数字显示频率计的设计

摘 要:本文应用NE555构成时钟电路,7809构成稳压电源电路,CD4017构成控制电路,CD40110和数码管组成计数锁存译码显示电路,实现可测量1HZ-99HZ这个频段的数字频率计数器。

关键词:脉冲;频率;计数;控制 1 引 言

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量显得很重要。测量频率的方法有很多,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。2 电子计数器测频方法

电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率、转速、声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器。3 简易数字频率计电路组成框图

本设计主要运用数字电路的知识,由NE555构成时钟电路,7809构成稳压电源电路,CD4017构成控制电路,CD40110和数码管组成计数锁存译码显示电路。从单元电路的功能进行划分,该频率计由四大模块组成,分别是电源电路、时钟电路(闸门)、计数译码显示电路、控制电路(被测信号输入电路、锁存及清零)。电路结构如图1所示。

图1 简易数字频率计电路组成框图 单元模块电路设计 4.1电源电路

在电子电路中,通常都需要电压稳定的直流电源供电。小功率的稳压电源的组成如图2所示,它由电源变压器、整流电路、滤波电路和稳压电路四部分组成。

图2 电源电路

220V市电经220V/12V变压器T降压,二极管桥式整流电路整流,1000uF电容滤波后送人7809的输入端(1脚)。7809的第二脚接地,第三脚输出稳压的直流电压,C7、C8是为了进一步改变输出电压的纹波。红色发光管LED指示电源的工作状态,R9为LED的限流电阻,取值为5.1K。4.2 时钟电路

电路如图3所示,由NE555构成的多谐振电路,3脚输出振荡脉冲,其中LED为黄色发光二极管,R1为5.1K,R2为1K,R3为10K,C1,C5为100UF,C4为0.01UF,C2为1000PF,RPE选取10K。

图3 时钟电路

4.3计数、显示电路

电路中,CD40110是集十进制加减计数、译码、锁存、驱动于一体的集成电路。CPU为加法输入端,当有脉冲输入时,计数器做加法计数;CPD为减法输入端,当有脉冲输入时,计数器做减法计数。QCO为进位输出端,计数器做加法时,每计满10数后其输出一个脉冲;QBO为借位输出端,计数器做减法时,每计满10数后其输出一个脉冲。该频率计电路使用CPU输入端,在第10个脉冲信号输入时,QCO输出的进位脉冲作为计数脉冲送到高位计数器的CPU输入端。5脚R端为计数器的清零端,当此脚加上高电平信号时,计数器的输出状态为零,并使相应的数码管显示0。4.4 被测信号输入电路

NE555等构成频率为1Hz的振荡信号,由其3脚输出经非门反相后,作为控制信号加到CD4017的CP输入端,产生时序控制信号,从而实现1s内的脉冲计数(即频率检测)、数值保持及自动清零。从图4中可以看出,当非门输出端输出第一个高电平脉冲时,这个脉冲使得CD4017的Q1输出端由低电平变为高电平;在CD4017的CP输入端输入的第二个脉冲信号到来之前,Q1将一直保持高电平状态。

在Q1输出高电平时,由CD4011组成的“与”门控制电路打开,从USB与非门的另一端输入的被测脉冲信号就可以通过“与”门控制电路,进入到CD40110的CPu输入端,进行脉冲计数。通过调节电位器调整NE555的振荡频率,使得Q1输出高电平的持续时间为1s,那么在1s内的计数累计的计数脉冲个数,即为被测信号的频率。4.5频率显示电路

当USA与非门输出第二个脉冲信号时,CD4017的Q1输出端由高电平变为低电平,Q2输出端由低电平变为高电平。Q1输出端的低电平使“与”门控制电路关闭,此时由F2的另一脚输入的被测信号就不能通过,计数器不工作。因此,当第二个脉冲出现时,数显计数器停止计数。在第三个脉冲到来之前,Q2输入端保持高电平,此高电平持续时间(1s)即为数值保持时间,可在1s内读取被测信号的频率显示值。4.6计数及显示清零电路

当第三个脉冲来到时,Q2端变为低电平,Q3端输出高电平,但是由于Q3端与CD4017清零端Cr相连接,这个高电平信号使CD4017清零,Q1,Q2,Q3端全变为低电平。CD4017的Q3输出端出现的瞬时高电平信号通过二极管加到CD40110的清零端R,使计数器及数显清零,以便下次重新计数。

图4 频率计整机电路原理图 结论

从电路的工作原理可以以看出,本电路介绍的频率计的检测周期为3s,每检测一次,计数器累计时间1s,数据保持1s,清零后又保持1s,然后又开始计数、保持、清零的循环。如果感到数值保持时间过短,读数取值不方便时,可将CD4017的Q3输出端与Cr断开,使Q4与Cr清零端相连,这样数据保持时间就变为2s。

本简易数字显示频率计的设计目的是为了数字电路教学使用,使学生能够灵活使用各类常见集成电路,掌握较复杂电路的设计步骤,在频率测量上难免有很多缺陷。

参考文献

【1】王港元.电工电子实践指导.江西科学技术出版社,2005;【2】闫石.数字电子技术基础.高等教育出版社,2003;【2】王雅芳.protel99se电路设计与制版入门与提高.机械工业出版社,2011;The design of the simple frequency meter with digital display Abstracts: In this paper,the digital frequency consists of NE555 clock circuit, the 7809 regulated power supply circuit, the CD4017 control circuit, the CD40110 counting latch decoding circuit and the digital tube display circuit.It can measure the frequency of 1HZ-99HZ.Key words: Pulse, frequency ,counting, control

第四篇:单片机课程设计 简易报警系统设计(定稿)

课程设计(论文)

题 目 名 称

简易防盗系统设计

课 程 名 称

单片机原理及应用课程设计

学 生 姓 名

系、专

信息工程系、信息工程类

指 导 教 师

2013年 6 月 28 日

目录

1概 要﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3

2设计指标与要求﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3 3设计方案与论证﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ 3 4电路设计原理与流程图﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌5采用的主要元器件﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌6编程实现﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌7仿真结果与分析﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌8总结与致谢﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

9参考文献﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

概 要

传感技术是21世纪人们在高新技术发展方面争夺的一个制高点,各个发达国家都将传感技术视为高新技术发展的关键。从20世纪80年代起,基于传感技术的光电防盗系统也得到了高速的发展,最早的非可见光侵物探测器,有发射机 将一个编码信号送到一个 IR LED中。此LED的输出聚成一束很窄的光束,并使其对准远距离仿制的接收机中的一只匹配的IR光敏探测器。此系统是以针尖视线的原理来工作的,它可以被任何一个进入到发射机与接收机透视镜之间瞄准直线上的大于针尖的物体所触发。随后又出现了给予被动是红外传感技术的被动式红外入侵报警器,它能可靠地将运动着的物体和飘落着的物体加以区别,同时它还具有强大的监控范围,隐蔽性好,抗干扰能力强,和误报率低等特点。

本设计采用光电传感器检测入侵者,其基本原理为:传感器感应到入侵者,将其转换成超低频信号,经电路放大,输出。同时由接受装置根据接受到的信号得到高低电平,输出。经判断,再将报警信号通过电路输入到单片机的接口上,由单片机决定是否对报警信号进行触发。

2设计指标与要求

采用光电式传感器检测入侵者,用蜂鸣器作为报警器的输出,报警距离≥10M;

3设计方案与论证

系统主控部分采用AT89C51芯片,当光电感应器感受到外部有入侵物时,发出信号,单片机接收到信号时,采用延时抖动,再次检测是否还有报警信号,如果有报警信号,启动报警器,红灯全部亮,报警结束后,红灯灭,绿灯亮,如果误报警,可以采用外部中断0使人工停止报警,如果光电感应器没能检测到入侵物,可以采用外部中断1人工报警,人工报警时流水灯亮,蜂鸣器响!

因为如果用光电感应器来检测入侵者,在仿真里无法看到现象,故采用开关来模拟光电感应器。

4电路设计的原理与流程图

(1)电路设计的原理

首先给单片机的P1.0安装一个开关,用来模拟光电感应器。然后给单片机的P3.1脚通过三级管接一个蜂鸣器,用于当有报警信号时用来报警。再给P3.0接4个LED灯,用于报警时显示报警灯作用。再给P3.2接一个按键,用于当光电感应误报警时,可以人工中断报警。给P3.3接一个按键,用于当光电感应没有报警时,按下可以人工报警。

(2)流程图

开始压入堆栈程序初始化P1.2=1P3.0=1P3.1=0P2=00HP1.2清零NP1.0=0?P1.2清零出栈N返回P1.0=0?P1.2=1P3.0取反P3.1取反20H=50TR0=1NTF0=1?Y压入堆栈P1.2=1R7=5P2=0FFH调用延时子程序NP2=00H调用延时子程序P3.1清零P1=0FFH调用延时子程序调用延时子程序YR7-1=0?YP3.1=1调用延时子程序30H=50TR0=1NTF0=1?YTF0清零TF0=0重装系统NN重装系统30H-1=0?P3.1=0P1.2=0出栈P2=00H返回结束YN20H-1=0?YP3.0=1P3.1=0P1.2=0

5采用的主要元器件

主要元器件:AT89C51,NPN,RES,CAP,CAP-ELEC,BUTTON,BUZZER, CRYSTAL 6编程实现

ORG 0000H LJMP MAIN ORG 0003H LJMP ZT0 ORG 0013H LJMP ZT1 ORG 0100H MAIN:MOV TMOD,#01 MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB EX0 SETB IT0 SETB EX1 SETB PX0 SETB IT1 MOV SP,#60 CLR P3.1 MOV P1,#0FFH MOV P2,#00H CLR P1.2 LP:JNB P1.0,LA LJMP LP LA:LCALL DS01 JNB P1.0,ALARM LJMP LP DS01:MOV R1,#0FFH D1:MOV R2,#0FFH D2:NOP DJNZ R2,D2 DJNZ R1,D1 RET ALARM:SETB P1.2 CPL P3.0 CPL P3.1 MOV 20H,#50 SETB TR0 L2:JBC TF0,L1 LJMP L2 L1:CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ 20H,L2 SETB P3.0 CLR P3.1 CLR P1.2 LJMP LP ZT0:PUSH ACC SETB P1.2 SETB P3.0 CLR P3.1 LCALL DS01 CLR P1.2 POP ACC RETI ZT1:PUSH ACC SETB P1.2 MOV R7,#05 DQ:MOV P2,#0FFH LCALL DS01 MOV P2,#00H LCALL DS01 DJNZ R7,DQ SETB P3.1 LCALL DS01 MOV 30H,#50 SETB TR0 L4:JBC TF0,L3 SJMP L4 L3:CLR TF0 MOV TH0,#3CH MOV TL0,#0B0H DJNZ 30H,L4 CLR P3.1 CLR P1.2 POP ACC MOV P2,#00H RETI END

7仿真结果与分析

在系统正常的情况下,系统不断检测是否有警报信号,当检测有警报信号时,系统转入报警,从而蜂鸣器响。8 总结

总结

课程设计是我们理论联系实际的最好的途径之一,让我们有机会把课本上学到的知识运用到实际生活中。目前单片机在工业检测领域中得到了广泛的应用,在我们平常的生活中也是随处可见,包括我们日常生活中随处可见的交通灯、闹钟等都含有单片机作为一个主要的部件,懂得并熟悉掌握单片机的运用技术常有用的。通过这次课程设计使对单片机语言的理解和掌握上有了很大的进步,以前所了解的单片机语言仅限于一些片面的知识,通过这次编程,将这些零零碎碎的知识汇集起来,编写出了一个完整的系统,并且对单片机语言的应用能力有了极大的提高。在这次课程设计的过程中,我深深体会到团队合作的精神是极其重要的。因为身在一个团队,有了困难大家一起解决,减少了压力,同时拓展了思维,交换了意见,一个人的思想当被接受和了解时,我们有了更多的思想关于一个问 题,我想这些都是作为一个团队的好处。经过此次课程设计,我们经历了喜,怒,哀,乐。同时我们也对明年的毕业设计有了一定的想法和实现自己想法的决心.9参考文献

[1] 李泉溪.单片机原理与应用实例仿真[M].北京:北京航空航天大学出版社,2009.[2] 江世明.基于Proteus的单片机应用技术[M].北京:电子工业出版社,2009.[3] 周润景,张丽娜.基于Proteus的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.[4] 张友德.单片微型计算机原理、应用与实验[M].上海:复旦大学出版社,2003.

第五篇:单片机课程设计-简易数字钟的设计

单片机课程设计报告

课程设计题目:简易数字时钟

学生姓名:** 学号:********** 学院:****** 专业班级:**********

指导老师:**

2014年5月13日

摘要:

本设计采用了STC公司生产的STC89C52RC型单片机(80C51内核)设计了一个单片机最小系统,加上maxim232和usb转RS232线组成的下载电路,以及共阴极4位一体数码管和按键等外围电路构成了一个简易的数字钟,具有显示年、月、日、时、分、秒的功能,且年、月、日、时、分、秒每一个参数都可以自行设置,以实现时间的校正,总体来说实现了一个数字时钟的应有功能。

关键词:80C51系列单片机、单片机最小系统、时钟定时、下载电路、4位一体数码管显示

一、设计任务 简易数字时钟:自制一个单片机最小系统,包括串口下载、复位电路,采用内部定时器计时,或者采用外部时钟芯片DS1302,设计一个具有秒、分、日、月、年的数字时钟,采用四位一体数码管显示相关信息,秒、分显示一页,日、月显示一页,年显示一页。

二、方案选择

2.1、采用uln2003驱动数码管

由于单片机的I/O口的拉电流只有大约1mA左右,不足以提供4-5mA的电流以驱动数码管上的led,故需要为数码管提供一个驱动电路,如果采用三极管的话由于数码管有7段(实际是8段,但本设计只需要使用7段),需要7个三极管来驱动,给焊接部分增加了工作量,故可考虑采用ULN2003以给数码管提供驱动电流。

Uln2003的内部原理图

ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成。

该电路的特点如下:[3]

ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路

直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还

可以在高负载电流并行运行。

ULN2003 采用DIP—16 或SOP—16 塑料封装。

内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。

比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。

ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。

输入5VTTL电平,输出可达500mA/5V。

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

2.2、直接用单片机加上拉电阻的P0口驱动数码管

对于51单片机的4个IO口来说有一个IO口与其他三个有点不同,那就是P0口,由于P0口(在作为输出IO口时)是OC门在最小系统中需要加一个上拉电阻,由此,可以用P0口作为数码管的驱动(可以通过合理配置上拉电阻的大小以提供足够的驱动电流)

51单片机的P0口内部电路图

由于相对来说接一个排阻便宜可靠,且方便,且也足以提供驱动数码管的电流,故采用方案2:直接用单片机加上拉电阻的I/O口驱动数码管

三、电路原理图

简易数字钟原理图

3.1最小系统

本设计最小系统与一般的51最小系统设计保持一致性,晶振电路为12M的晶体振荡器搭配两个30pF的电容组成,复位电路由5v接一个开关与电容并联再与电阻串联后接地构成,下载电路采用的是串口下载,为电脑上连一根usb转串口线,然后串口练到电路上,再通过max232芯片进行电平转换将RS232串口的电平转换为单片机的5v以进行电平匹配。3.2共阴极4位一体数码管

四位一体数码管

数码管的显示由段选和位选控制,段选为图片中的每一位“8”型上的a、b、c、d、e、f、g、h共8段构成。位选有4个引脚,分别对应于数码管的4个位。

四、程序代码 如下:

#include sbit anjian1 = P1^0;sbit anjian2 = P1^1;sbit anjian3 = P1^2;sbit anjian4 = P1^3;int anjian11;int anjian22;int anjian33;int anjian44;int sec=55;//秒,分,时,日,月,年定义全局变量并装载初始值 int min=37;int hour=8;int day=30;int mon=12;int year=2014;int j=0;//j为秒计时变量,T0每计时50ms时j自增1,当j=20时立刻置0,且sec自增1 int play=1;//play为显示变量,当为“1”时显示“时,分”,为“2”时显示“月,日”,为“3”时显示“年”,为“0”时显示“秒” int led[4]={0,0,0,0};unsigned char code table[] ={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x76};void delay(void)

//延时10ms {

unsigned char a,b,c;

for(c=1;c>0;c--)

for(b=38;b>0;b--)

for(a=130;a>0;a--);} void main(){ IE=0x8F;//开总中断,开定时T0,开定时T1,开外部中断0,开外部中断1 IP=0x00;//设置中断优先级均为低优先级,默认优先级为:调整时间》定时》设置显示页 IT0=1;IT1=1;TMOD=0x11;//定时器0工作于工作方式1,定时工作方式,由运行控制位TR1启动定时器;定时器1工作于工作方式1,定时工作方式,由运行控制位TR1启动定时器 P2=0Xfd;

TH0 = 0x3C;

TL0 = 0xB0;

{ switch(play){ case 1 :

{

if(anjian1==0)

{

{ delay();delay();if(anjian1==0)anjian11=anjian1;if(anjian1 &!anjian11)hour++;

} TH1=0xD8;TL1=0xF0;TR0=1;TR1=1;

//定时器T0用于20分之一秒的定时,定时器T1用于数码管的动态显示,外部中断0为调整时间,外部中断1为设置显示页

for(;;)else if(anjian2==0)

if(anjian2==0)

anjian22=anjian2;

if(anjian2 &!anjian22)

hour--;

else if(anjian3==0)

{

delay();

if(anjian3==0)

anjian33=anjian3;

if(anjian3 &!anjian33)

min++;

else if(anjian4==0)

{

delay();

if(anjian4==0)

anjian44=anjian4;

if(anjian4 &!anjian44)

min--;

}

break;case 2 : {

if(anjian1==0)

{

delay();

if(anjian1==0)

anjian11=anjian1;

if(anjian1 &!anjian11)

mon++;

else if(anjian2==0)

{

delay();

if(anjian2==0)

anjian22=anjian2;

if(anjian2 &!anjian22)

mon--;

else if(anjian3==0)

{

delay();if(anjian3==0)}

}

}

}

}

anjian33=anjian3;

if(anjian3 &!anjian33)

day++;

else if(anjian4==0)

{

delay();

if(anjian4==0)

anjian44=anjian4;

if(anjian4 &!anjian44)

day--;

}

break;case 3 : {

if(anjian1==0)

{

delay();

if(anjian1==0)

anjian11=anjian1;

if(anjian1 &!anjian11)

year++;

else if(anjian2==0)

{

delay();

if(anjian2==0)

anjian22=anjian2;

if(anjian2 &!anjian22)

year--;

else if(anjian3==0)

{

delay();

if(anjian3==0)

anjian33=anjian3;

if(anjian3 &!anjian33)

year++;

else if(anjian4==0)

{

delay();

if(anjian4==0)anjian44=anjian4;}

}

}

}

}

if(anjian4 &!anjian44)

year--;

}

break;case 0 : {

if(anjian1==0)

{

delay();

if(anjian1==0)

anjian11=anjian1;

if(anjian1 &!anjian11)

sec++;

else if(anjian2==0)

{

delay();

if(anjian2==0)

anjian22=anjian2;

if(anjian2 &!anjian22)

sec--;

else if(anjian3==0)

{

delay();

if(anjian3==0)

anjian33=anjian3;

if(anjian3 &!anjian33)

sec++;

else if(anjian4==0)

{

delay();

if(anjian4==0)

anjian44=anjian4;

if(anjian4 &!anjian44)

sec--;

} break;}

switch(play){

}

}

}

}

} case 1 : { led[0]=hour/10;

};}}

void service_int1()interrupt 2 using 1 { if(play==3)play=0;else play++;} void service_t0()interrupt 1 using 1

//实现1s的延时以及sec到min,min到hour,hour到day,day到month,month到year,year到next_year的转换 {

TH0 = 0x3C;if(j==20){

j=0;sec++;if(sec>=60)

TL0 = 0xB0;

led[1]=hour%10;led[2]=min/10;led[3]=min%10;

} break;

led[1]=mon%10;led[2]=day/10;led[3]=day%10;

} case 2 : { led[0]=mon/10;break;

led[0]=year/1000;led[1]=((year%1000)/100);led[2]=((year%100)/10);led[3]=(year%10);

} case 3 : {

break;

led[1]=16;led[2]=sec/10;led[3]=sec%10;

} case 0 : { led[0]=16;break;

}

else { { sec=0;min++;if(min>=60){ min=0;hour++;if(hour>=24){hour=0;day++;if(day>=31){ day=1;mon++;if(mon>=13){ mon=1;year++;} } } } } } j++;} void service_t1()interrupt 3 using 1 //定时器1实现了数码管的动态显示 {

TH1=0xFC;TL1=0x18;if(P2==0xfd){P2=0xfb;P0=table[led[2]];} else if(P2==0xfb){ P2=0xf7;P0=table[led[3]];} else if(P2==0xf7){P2=0xfe;P0=table[led[0]];

} else if(P2==0xfe){P2=0xfd;P0=table[led[1]];} }

五、制作实物图

六、心得收获

经过本次课程设计,我将课本上的知识转化为了实际的实物,更加深入的理解了单片机这,加强了自己的编程能力,与软硬件调试能力,总体来说,还是收获很大的。

下载基于AT89C51单片机的简易频率计的设计(五篇)word格式文档
下载基于AT89C51单片机的简易频率计的设计(五篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    基于单片机设计的简易信号发生器资料

    辽东学院信息技术学院 《可编程逻辑器件原理及应用》教学实习报告 简易信号发生器 学生姓名: 杨刚 学 号: 0915110619 班 级: B1106 专 业: 电子信息工程 指导教师: 张俊芳 20......

    单片机课程设计_简易频率计数器..

    单 片 机 课 程 设 计 简易频率计数器 1. 实验目的 1.要求学生具有制作调试单片机最小系统及外设的能力,能够掌握单片机内部资源的使用。 2.熟练掌握焊接技术的基础上,能熟练......

    频率计设计实训报告范文

    数字电路实训报告 题目:数字频率计 专业:电子信息工程 班级: 姓名: 学号: 摘要 系统功能介绍: 数字频率计是一种基本的测量仪器,是用量最大、品种很多的产品,是计算机、通讯设备、......

    eda实验报告-两位十进制频率计设计

    工学院实验报告 姓名:黄娟 学号:32214125 班级:自动141 成绩: 实验名称:2位十进制频率计设计 一、 实验目的 1. 掌握EDA工具Quartus Ⅱ的使用; 2. 掌握Quartus Ⅱ的原理图设计流......

    单片机设计心得

    四周的毕业设计结束了,在这次的毕业设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们......

    简易设计合同[范文]

    设 计 合 同 设计委托方(简称甲方): 项目地址:联系电话:设计方(简称乙方) :江苏百思特装饰安装工程有限公司 地址:泰兴市中兴大道1号华泰大厦601-3室联系电话:0523-89700999甲方委托乙......

    单片机:交通灯控制系统设计范文大全

    交通灯控制系统设计 摘要:本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有......

    基于单片机的交通灯设计

    基于单片机的交通灯设计 设计程序: #include #define uchar unsigned char /**************************变量、控制位定义**************************/ uchar code table[10......