51单片机中断外部中断测频率,1602显示...

一天就是225元,一个月大概花费四五千元。
手脚全上,只为可以得到娃娃,不顾围观目光。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
  今天就以51单片机的外部中断0为例,来简单讲解一下单片机中断的用法。
  1 51单片机的中断源
  51单片机共有5个中断源,分别为:
定时器0中断
定时器1中断
  每一个中断都对应一个中断向量,中断向量表如下所示:
  2 什么是中断事件
  当中断发生时单片机将正在执行的程序暂时放下而去处理中断事件,当中断事件处理完毕后再接着去处理之前的事情,这样可以大大降低单片机的资源,提高执行效率。举个例子说明一下什么是中断:
  我很喜欢打CS,每天晚上我都会抽时间打CS,但同时厨房里正在烧水,为了不使水烧干,我每隔5分钟就去厨房看一下水有没开,但这就错过了游戏老被别人爆头干掉,我很苦恼,怎么办。于是我在网上买了一个水烧开就会叫的水壶,这样我就不用每隔5分钟去厨房了从而可以专心的打游戏,只有听到水壶吱吱叫的时候,我去把水倒出来就可以了。
  在这个例子里,打游戏就是主任务,水烧开就是中断,吱吱叫就是中断向量,听到吱吱响我就明白水烧开了,这时我要把打游戏这个主任务暂时放下,转而去处理水烧开了这个中断事件,水倒完后我就又回到了游戏这个主任务中。这样是不是提高了打游戏的效率呢?
  3 中断的硬件实现
  51单片机的外部中断0引脚接一只按键,该按键通过上拉电阻接到电源,即没有按键发生时单片机检测到的是高电平,当按键按下时单片机检测到的是低电平。单片机的P0.0引脚以灌电流的方式接了一只LED,当按键按下时LED灯点亮,没按键时LED灯熄灭。
  4 中断的软件实现
  单片机中断函数的写法比较固定,51单片机中断函数的写法如下:
  void Initd() interrupt 0
  其中:
void:为中断函数的返回类型,中断函数多为空类型;
Initd():是中断函数的名称,这个函数名符合C语言函数命名规范就可以,随便起;
interrupt:为51单片机中断的关键字,必须这么写(51单片机必须这么写);
0:为中断向量,该值详看第一个表格,如果是外部中断1就写2,如果是定时器1中断就写3;
  中断函数不用在主函数中调用,只要中断事件发生,单片机自己主动会调到中断函数中。
  该例子的函数如下所示:
  5仿真实现
  当按键发生时,LED灯点亮,如下图所示。注意对比两种图中按键的状态。
  本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。公众号:micropoint8,对于本节内容欢迎大家讨论。
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
专注于单片机、ARM、嵌入式等硬件、软件设计经验的分享。
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:毕业设计-51单片机1602液晶显示频率计下载_电子电工_论文_学海网
您现在正在浏览:&>&&>&&>&毕业设计-51单片机1602液晶显示频率计
毕业设计-51单片机1602液晶显示频率计
毕业设计 51单片机1602液晶显示频率计,共47页,21972字。
1.1 课题的引入 1
1.2 产生背景 1
1.3 国内外研究现状 2
1.4 单片机频率计设计的目的及意义 2
2 AT89S52单片机介绍及其发展概况 4
2.1 单片机的介绍 4
2.1.1 单片机概述 4
2.1.2 单片机的发展 5
2.1.3 单片机的特点及应用 5
2.2 AT89S52系列单片机 6
2.2.1 AT89系列单片机 6
2.2.2 AT89S52系列单片机的基本结构 7
3 频率计总体方案设计 10
3.1 频率计设计原理 10
3.1.1 频率检测实现方法 10
3.1.2 频率计测频原理 11
3.2 设计思路及方法 11
3.2.1 频率计方案概述 12
3.2.2 频率计的量程自动切换 12
4 系统的硬件设计 14
4.1 时钟信号发生器 14
4.2 AT89S52 控制寄存器 15
4.2.1 AT89S52中断控制系统 15
4.2.2 AT89S52定时/计数器的控制 17
4.3 LCD1602显示电路 18
4.3.1 LCD1602的主要技术参数及接口说明 19
4.3.2 控制器接口及时序 19
4.3.3 频率计硬件电路整体设计 20
5 系统的软件设计 22
5.1 Keil C简介 22
5.2 频率计程序的建立过程 23
5.3 软件功能模块设计 27
5.3.1 LCD初始化设置模块 28
5.3.2 浮点数到ASCII码转换模块 28
5.3.3 定时/计数器初始化模块 29
5.3.4 定时器中断服务模块子程序 29
6 系统的模拟及仿真 31
6.1 Proteus ISIS简介 31
6.1.1 Proteus ISIS的概况简介及特点 31
6.1.2 Proteus ISIS的运行概况 31
6.1.3 用Proteus 软件虚拟单片机实验的优点 32
6.2 系统的模拟与仿真过程 33
6.3 频率计系统仿真分析 37
参考文献 43
在电子领域内,频率是一种最基本的参数,并与其他许多电参量的测量方案和测量结果都有着十分密切的关系。由于频率信号抗干扰能力强、易于传输,可以获得较高的测量精度。因此,频率的测量就显得尤为重要,测频方法的研究越来越受到重视。
频率计作为测量仪器的一种,常称为电子计数器,它的基本功能是测量信号的频率和周期频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器测量、工业控制等其它领域。随着微电子技术和计算机技术的迅速发展,特别是单片机的出现和发展,使传统的电子侧量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代侧量仪器。频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。
为适应实际工作的需要,本次设计给出了一种较小规模和单片机(AT89S52)相结合的频率计的设计方案,不但切实可行,而且体积小、保密性强、设计简单、成本低、精度高、可测频带宽,大大降低了设计成本和实现复杂度。频率计的硬件电路是用Protel绘图软件绘制而成,软件部分的单片机控制程序,是以KeilC做为开发工具用C语言编写而成,而频率计的实现则是选用Ptotues仿真软件来进行模拟和测试。
关键词:单片机;AT89S52;频率计;C语言
资料文件预览
共1文件夹,1个文件,文件总大小:1.06MB,压缩后大小:783.87KB
毕业设计-51单片机1602液晶显示频率计
51单片机1602液晶显示频率计毕业设计.doc&&[1.06MB]
[ 下载 ]&&&&&(需要: 65 个学海币)&&&&&
Q: 为什么我下载的文件打不开?
A: 本站所有资源如无特殊说明,解压密码都是www.xuehai.net,如果无法解压,请下载最新的软件。
Q: 我的学海币不多了,如何获取学海币?
A: 上传优质资源可以获取学海币,详细见。
Q: 为什么我下载不了,但学海币却被扣了?
A: 由于下载人数众多,下载服务器做了并发的限制。请稍后再试,48小时内多次下载不会重复扣学海币。
下载本文件意味着您已经同意遵守以下协议
1. 文件的所有权益归上传用户所有。
2. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
3. 学海网仅提供交流平台,并不能对任何下载内容负责。
4. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
5. 本站不保证提供的下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
论文相关下载
电子电工论文下载排行榜
电子电工论文最近更新用51单片机的外部中断来测频率_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
用51单片机的外部中断来测频率
上传于|0|0|暂无简介
你可能喜欢文档分类:
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表基于89C51的等精度频率计LCD1602显示.doc
文档介绍:
《简易频率计制作》学院:信电学院班级:08—16班学生姓名:陈杨王忠超齐俊斌时间:从日到日等精度频率计的设计一摘要:本设计是基于AT89C52单片机频率计入信号为峰峰值5v的正弦信号,频率测量范围10HZ~100MHZ,频率测量精度为0.1%。采用1602液晶显示器显示测量结果。信号源由PROTEUS的虚拟信号发生器产生。二关键词:频率计等精度单片机分频三设计原理与总体方案:测量一个信号的频率有两种方法:第一种是计数法,用基准信号去测量被测信号的高电平持续的时间,然后转换成被测信号的频率。第二种是计时法,计算在基准信号高电平期间通过的被测信号个数。根据设计要求测量10HZ~100MHZ的正弦信号,首先要将正弦信号通过过零比较转换成方波信号,然后变成测量方波信号。如果用第一种方法,当信号频率超过1KHZ的时候测量精度将超出测量极度要求,所以当被测信号的频率高于1KHZ的时候需要将被测信号进行分频处理。如果被测信号频率很高需要将被测信号进行多次分频直到达到设计的精度要求。根据设计要求用单片机的内部T0产生基准信号,由INTO输入被测信号,通过定时方式计算被测信号的高电平持续时间。通过单片机计算得出结果,最后有1062液晶显示器显示测量结果。等精度频率计的系统设计框架如下图1所示。AT89C51液晶显示被测信号信号转换(过零比较)分频处理数据选择器图1等精度频率计系统设计框图四硬件设计:硬件电路主要分为信号转换电路、分频电路、数据选择电路、单片机系统和显示电路五部分。其总体电路图如图2所示。图2总体电路图4.1电平转换电路:要将正弦信号转换成方波信号可以用过零比较电路实现。正弦信号通过LM833N与零电平比较,电压大于零的时候输出LM833N的正电源+5V,电压小于零的时候输出负电源0V。具体电路如图3所示。图3信号转换电路4.2分频电路:分频电路采用十进制的计数器74HC4017来分频,当被测信号脉冲个数达到10个时74HC4017产生溢出,C0端输出频率为输入频率的1/10,达到十分频的作用。如果当频率很高是需要多次分频只需将多片74HC4017级联就可以了。74HC4017时序图如图4所示,系统分频电路如图5所示。图474HC4017时序图图5分频电路4.3数据选择电路:根据设计要求要根据计数脉冲个数来选择分频次数,可以用74151来选择分频次数,74151的选择控制信号有单片机的I/O口来控制。数据选择电路如图6所示。图6数据选择电路4.4单片机系统:单片机采用AT89C51,采用12MHZ的晶振频率。单片机的P3.2口接被处理后的被测信号,P0口接液晶显示器的数据输入端,ALE,RD,WR,P0.0,P0.1通过外接控制电路接液晶显示器的控制端。单片机系统的电路如图7所示。图7单片机系统4.5显示电路:显示电路由1602组成,其电路如图8所示。图8显示电路五软件设计:等精度频率计的软件设计主要由主程序、分频选择程序、液晶显示程序组成。5.1等精度频率计的算法设计:根据设计要求频率范围是10HZ~100MHZ,当频率为10HZ时,T=100000us,高电平为50000us,0.1%的误差为100us,由单片机产生的基准频率为1MHZ,T0=1us,最大误差为1us,计数个数为50000(方式1),满足设计要求。当频率增加到1KHZ时,产生的误差刚刚能达到设计要求,这时计数个数为500。当频率大于1KHZ时(即计数个数小于500)就需要将被测频率分频后再测量,如当频率为10KHZ时,先计算计得的脉冲数等于50,小于了500,所以将10KHZ的信号10分频得到1KHZ,这时就满足要求了。最后得到的频率f=in102106?其中n为计得的脉冲个数,i为分频的次数。5.2主程序:主程序首先对系统环境初始化,设置分频选通信号P2=0x00,选通0通道。设置T0工作方式,采用硬件启动方式,GATE=1,当INT0和TR0同时为1时启动计时,计数方式为方式1(16位),TH0和TL0都置零。当外部中断INT0=1时等待,当外部中断为0时启动T0即TR0=1,当INT0一直为0时就等待,一旦INT0=1就启动计数同时等待,当INT0为0时跳出并关闭T0即TR0=0。这样就计得高电平期间基准脉冲个数,当脉冲个数小于500时就选择10分频信号,即P2自加1,同时记录分频一次;如果分频后脉冲个数还小于500则再次分频,知道计数个数大于500。其示意图如图9所示,主程序流程图如图10所示。被测脉冲INT0基准脉冲T0等待启动T0,TR0=启动计数停止计数,读出计数个数N个脉冲图9计数工作示意图开始初始化数据选择信号系统初始化读出计数个数nn&=500变换数据选择通道,计算分频次数iY显示结果N图10主程序流程图5.3程序清单:5.3.1主程序:#include&reg51.h&#include&stdio.h&#include&lcd.c&#include&math.h&sbitp32=P3^2;main(){unsignedintperiod,k,j,i=0;floatf,m;charbuff[30];init_LCD();P2=0x00;while(1){TMOD=0X09;TH0=0;TL0=0;while(p32==1);TR0=1;while(p32==0);while(p32==1);TR0=0;period=TH0*256+TL0;while(period&=500)/*判断是否分频及计算分频次数*/{P2++;i++;period=period*10;if(i==6){P2=0x00;}}k=pow(10,i);/*10的i次方*/f=(/(2*period))*k;if(f&1000)sprintf(buff,&f=%5.2fHZ&,f);else{m=f/1000.0;sprintf(buff,&f=%5.2fKHZ&,m);}lcdprintf(0,0,buff);}}5.3.2显示子程序:#include&lcd.h&charcodeCGRAM_TABLE[]={0x08,0x0F,0x12,0x0F,0x0A,0x1F,0x02,0x02,//;年0x0F,0x09,0x0F,0x09,0x0F,0x09,0x11,0x00,//;月0x0F,0x09,0x09,0x0F,0x0,0x09,0x0F,0x00};//;日voiddelay(){for(i=0;i&250;i++);}voidinit_LCD(){=0x38;//设置为8位数据总线,16*2,5*7点阵for(i=0;i&100;i++)delay();=0x01;//清屏幕for(i=0;i&50;i++)delay();=0x06;//光标移动,显示区不移动,读写操作后AC加1for(i=0;i&50;i++)de1
内容来自淘豆网转载请标明出处.
浏览:20次}

我要回帖

更多关于 单片机中断 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信