单片机课设频率计数器

合集下载

单片机课设频率计数器

单片机课设频率计数器

等级:课程设计课程名称单片机原理及应用课题名称频率计数器专业电子信息工程班级1302学号0218姓名许聪指导老师寻大勇等2016年3月25日电气信息学院课程设计任务书课题名称频率计数器姓名许聪专业电子信息班级1302 学号18指导老师寻大勇课程设计时间2016年3月14日-2016年3月25日教研室意见意见:审核人:一、任务及要求设计任务:本课题以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果能够显示出来。

要求能够对0-250KHz的信号频率进行准确计数,计数误差不超过±1HZ。

设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成应用程序设计;(4) 应用系统的硬件和软件的调试。

二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。

周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。

周五进行答辩和设计结果检查。

三、参考资料1、王迎旭等.单片机原理及及应用. 2版.机械工业出版社,20122、胡汉才.单片机原理及其接口技术.3版.清华大学出版社,2010.3、戴灿金.51单片机及其C语言程序设计开发实例.清华大学出版社,2010目录第1章设计任务及要求 (1)设计任务 (1)设计要求 (1)第2章系统方案设计 (1)基本设计原理 (1)方案整体框图 (2)第3章系统硬件电路设计 (2)复位电路 (2)晶振电路 (3)LED数码管显示电路 (3)第4章系统软件设计 (4)主程序流程图 (4)初始化模块 (5)信号频率测量模块 (5)数码管显示模块 (5)程序中断模块 (6)数码管扫描模块 (7)第5章系统仿真及调试 (7)C程序编译 (8)Proteus仿真 (9)心得体会 (9)参考文献 (10)附录A 仿真总图 (12)附录B 程序清单 (13)第1章设计任务及要求设计任务:本课题以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果能够显示出来。

频率计数器

频率计数器

标签:无标签6位数显频率计数器1.实验任务利用AT89S51单片机的T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过8位动态数码管显示出来。

要求能够对0-250KHZ的信号频率进行准确计数,计数误差不超过±1HZ。

2.电路原理图图4.31.13.系统板上硬件连线(1).把“单片机系统”区域中的P0.0-P0.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。

(2).把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。

(3).把“单片机系统”区域中的P3.4(T0)端子用导线连接到“频率产生器”区域中的WAVE端子上。

4.程序设计内容(1).定时/计数器T0和T1的工作方式设置,由图可知,T0是工作在计数状态下,对输入的频率信号进行计数,但对工作在计数状态下的T0,最大计数值为fOSC /24,由于fOSC=12MHz,因此:T0的最大计数频率为250KHz。

对于频率的概念就是在一秒只数脉冲的个数,即为频率值。

所以T1工作在定时状态下,每定时1秒中到,就停止T0的计数,而从T0的计数单元中读取计数的数值,然后进行数据处理。

送到数码管显示出来。

(2).T1工作在定时状态下,最大定时时间为65ms,达不到1秒的定时,所以采用定时50ms,共定时20次,即可完成1秒的定时功能。

5.C语言源程序#include <AT89X52.H>unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};unsigned char dispbuf[8]={0,0,0,0,0,0,10,10};unsigned char temp[8];unsigned char dispcount;unsigned char T0count;unsigned char timecount;bit flag;unsigned long x;void main(void){unsigned char i;TMOD=0x15;TH0=0;TL0=0;TH1=(65536-4000)/256;TL1=(65536-4000)%256;TR1=1;TR0=1;ET0=1;ET1=1;EA=1;while(1){if(flag==1){flag=0;x=T0count*65536+TH0*256+TL0;for(i=0;i<8;i++){temp[i]=0;}i=0;while(x/10){temp[i]=x%10;x=x/10;i++;}temp[i]=x;for(i=0;i<6;i++){dispbuf[i]=temp[i];}timecount=0;T0count=0;TH0=0;TL0=0;TR0=1;}}}void t0(void) interrupt 1 using 0{T0count++;}void t1(void) interrupt 3 using 0{TH1=(65536-4000)/256;TL1=(65536-4000)%256;timecount++;if(timecount==250){TR0=0;timecount=0;flag=1;}P0=dispcode[dispbuf[dispcount]];P2=dispbit[dispcount];dispcount++;if(dispcount==8){dispcount=0;}}6位LED显示单片机控制电子钟/计数器这是我们设计的单片机电子钟/计时器学习板,它采用6位LED数码管显示时、分、秒,以24小时计时方式。

(完整word版)单片机课设频率计数器

(完整word版)单片机课设频率计数器

课程设计课程名称单片机原理及应用课题名称频率计数器专业电子信息工程班级1302学号201301030218姓名许聪指导老师寻大勇等2016年3月25日电气信息学院课程设计任务书课题名频率计数器姓许聪专电子信息班1302 学18指导老寻大勇课程设计时2016年3月14日-2016年3月25日教研室意见意见: 审核人:一、任务及要求设计任务:本课题以单片机为核心.设计和制作一个频率计数器.来完成对输入的信号进行频率计数。

计数的频率结果能够显示出来。

要求能够对0-250KHz的信号频率进行准确计数.计数误差不超过±1HZ.设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成应用程序设计;(4) 应用系统的硬件和软件的调试。

二、进度安排第一周:周一:集中布置课程设计任务和相关事宜。

查资料确定系统总体方案.周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。

周五进行答辩和设计结果检查。

三、参考资料1、王迎旭等。

单片机原理及及应用。

2版.机械工业出版社。

20122、胡汉才。

单片机原理及其接口技术。

3版。

清华大学出版社.2010。

3、戴灿金。

51单片机及其C语言程序设计开发实例。

清华大学出版社。

2010目录第1章设计任务及要求 (1)1。

1设计任务 (1)1。

2设计要求 (1)第2章系统方案设计 (1)2.1 基本设计原理 (1)2。

2 方案整体框图 (2)第3章系统硬件电路设计 (2)3。

1 复位电路。

.。

....。

....。

.。

...。

...。

.。

...。

..。

.。

.。

.。

.....。

..23。

2晶振电路.。

.。

....。

.....。

.....。

....。

...。

...。

.。

...。

...。

.。

.。

33.3 LED数码管显示电路...。

.。

..。

.。

..。

.。

.。

..。

.。

..。

.。

.。

..。

.。

3第4章系统软件设计.. (4)4。

单片机计数器设计

单片机计数器设计

单片机计数器的设计可以根据具体的需求进行灵活的选择。

以下是一个简单的单片机计数器的设计:
确定计数范围:根据需求确定计数器的范围,例如0-99或0-999。

选择计数器类型:根据计数范围选择合适的计数器类型,可以是二进制计数器、十进制计数器或BCD码计数器等。

确定计数方式:确定计数的方式,可以是递增计数、递减计数或双向计数等。

确定计数信号源:确定计数信号的来源,可以是外部信号源或内部时钟信号源。

连接计数器到外设:根据需求将计数器的输出连接到外设,例如LED显示器、数码管或继电器等。

编写计数器程序:使用适当的单片机编程语言编写计数器程序,包括计数器的初始化、计数操作和显示操作等。

测试和调试:在硬件连接完成后,对计数器进行测试和调试,确保计数器功能正常。

以上是一个简单的单片机计数器的设计流程,具体的实施可以根据具体的需求和单片机型号进行调整。

单片机频率计课程设计

单片机频率计课程设计

单片机频率计课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构和功能。

2. 学生能掌握频率计的设计原理,理解并运用相关电路知识。

3. 学生能了解并掌握编程语言在单片机应用中的基本使用方法。

技能目标:1. 学生能运用所学知识,设计并搭建一个简单的单片机频率计电路。

2. 学生能编写程序,实现对频率计的功能控制,进行基本的数据测量。

3. 学生能通过实验过程,培养动手操作能力、问题解决能力和团队协作能力。

情感态度价值观目标:1. 学生通过课程学习,培养对单片机及电子技术的兴趣,激发创新思维。

2. 学生能认识到单片机技术在现实生活中的应用价值,增强学以致用的意识。

3. 学生在课程实践过程中,培养严谨、细致的科学态度,提高对科学研究的尊重和热爱。

课程性质分析:本课程为实践性较强的电子技术课程,旨在通过单片机频率计的设计与实现,使学生在实践中掌握单片机技术的基本原理和应用。

学生特点分析:学生处于高年级阶段,已具备一定的电子技术基础知识,具有较强的学习能力和动手能力,对实际操作有较高的兴趣。

教学要求分析:根据课程性质和学生特点,要求课程目标具体、可衡量,注重理论与实践相结合,培养学生的实际操作能力和创新思维能力。

通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。

二、教学内容本课程教学内容围绕单片机频率计的设计与实现,结合以下章节进行组织:1. 单片机基础理论:介绍单片机的内部结构、工作原理和功能特点,重点讲解单片机的时钟系统、I/O口控制、中断系统等基础知识。

2. 频率计原理:讲解频率计的基本原理,包括信号发生器、计数器、时钟脉冲等组成部分,以及频率测量的基本方法。

3. 电路设计与搭建:指导学生运用所学知识,设计并搭建一个简单的单片机频率计电路,包括单片机选型、外围电路设计、元器件选型等。

4. 编程与调试:教授编程语言基础,如C语言、汇编语言等,指导学生编写单片机程序,实现对频率计的功能控制,并进行程序调试。

单片机课设---频率计

单片机课设---频率计

频率计频率计的设计原理实际上是测量单位时间内的周期数。

这种方法免去了实测以前的预测,同时节省了划分频率的时间,克服了原来高频率采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。

通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。

闸门时间也可以大于或小于1秒。

闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的时间隔就越长。

闸门时间越短,测得频率值刷新据越快,但测得的频率精度就受影响。

本论文的任务是设计一个基于单片机技术的数字频率计。

主要介绍了整形电路、控制电路和显示电路的构成原理,以及其测频的基本方法。

总体方案本方案主要以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测得正弦波或者三角波整为方波。

利用单片机的计数器和定时器的功能对被测信号进行计数。

编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。

方案一:本方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描把测出的数据送到数字显示电路显示。

其实原理框图如所示系统硬件设计其基本设计原理是首先把待测信号通过放大整形,变成一个脉冲信号,然后通过控制电路控制计数器计数,最后送到译码显示电路里进行显示,其基本构成框图如图所示软件实现原理测频软件的实现是基于电路系统来进行设计的。

本次设计采用的是脉冲定时 测频法,所以在软件实现上基本遵照系统的设计原理,进行测频。

本次软件设计语言采用汇编语言,在电脑上编译通过后即可下载到电路上的实际电路中,即可实现频率的测量。

主程序流程图T1中断服务程序流程图动态显示子程序流程图。

51单片机——数字频率计

51单片机——数字频率计

频率计是我们经常会用到的实验仪器之一,本实验要使用单片机和计数电路及液晶器件来设计一个宽频的频率计。

期望达到10Hz-1.1G范围的频率精确测量。

实验电路图(初步方案)1) 计数及显示电路:2)前置放大及分频电路:设计思路频率的测量实际上就是在1S时间内对信号进行计数,计数值就是信号频率。

用单片机设计频率计通常采用两种办法,1)使用单片机自带的计数器对输入脉冲进行计数,或者测量信号的周期;2)单片机外部使用计数器对脉冲信号进行计数,计数值再由单片机读取。

由于单片机自带计数器输入时钟的频率通常只能是系统时钟频率的几分之一甚至几十分之一,因此采用单片机的计数器直接测量信号频率就受到了很大的限制。

本实验电路采用方式2,使用一片74LS393四位双二进制计数器和Atmega8的 T1计数器组成了24位计数器,最大计数值为16777215。

如果输入信号经过MB501分频器进行64分频后再进行测量,则固定1S时基下最高测量频率为1073.741760Mhz。

为了方便得到准确的1秒钟测量闸门信号,我们使用了Atmega8的异步实时时钟功能,采用32.768Khz的晶振由TC2产生1秒钟的定时信号。

测量原理:单片机打开测量闸门,即PB1输出高电平,同时TC2定时器启动。

74LS393开始对输入脉冲进行计数,74LS393每计数达256时,Atmega8的T1计数器也向上计数1次。

当1S定时到达时,单片机产生中断,PB1输出低电平关闭测量闸门,然后Atmega8读取74LS393和T1的计数值,然后送LCD显示。

实验进展2004-09-27根据设计思路编写程序初步获得了一些实验结果,如下图所示。

下图是测量8M有源晶振的输出结果。

由于1S的测量闸门时间在业余条件下不好测试,因此,实验程序中在LCD上同时显示实时时钟用于判断1S闸门时间的准确性。

实验中,我使用CDMA手机上显示的GPS卫星精确时间进行比较。

手机时间显示的最小单位是分钟,测量时一旦手机分钟值发生跳变,则立即记录下LCD显示的秒值,这样的话让频率计运行一段时间后,再多次记录下LCD显示的秒,就可以准确判断频率计的异步时钟是否准确。

单片机频率计数器课程设计教材

单片机频率计数器课程设计教材

课程设计报告课程名称:单片机课程设计题目:基于单片机的频率计数器设计学院:环境与化学工程系:过程装备与测控工程专业:班级:学号:学生姓名:起讫日期:指导教师:摘要数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

它是一种用十进制数字,显示被测信号频率的数字测量仪器。

它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。

本课程设计主要设计一个简易的频率计,来实现信号在0-9999HZ范围内周期变化的方波频率的测定。

该文主要介绍了基于STC89C52 单片机频率计的设计方案和实现方法,该系统主要由硬件和软件两部分组成,其中重点给出了具体硬件电路图和软件流程图以及具体工作原理。

硬件部分通过洞洞板的布线设计帮助,可以确保焊接时尽量少的飞线和出错。

软件通过keil µvision编译及调试,其中在P1.7口编入了一个5500HZ的方波,用以仿真调试该频率计的软硬件功能是否能够实现输出频率的功能。

另外,本设计多增加了一个按键功能,通过一个按键来控制定时计数器的开始和关闭。

该频率计还带有3*3的矩阵键盘,可以作为扩展应用区,通过编程实现。

本设计中用的是LED共阴数码管,输出频率时采用的事动态显示的方法。

关键词:频率计;单片机;动态显示目录一、频率计数器的设计任务和要求 (1)1.1 频率计数器的设计任务 (1)1.2 设计要求及发挥部分 (1)二、方案的总体设计 (1)2.1 方案的设计 (1)2.2 方案的整体框图 (2)2.3 方案的说明 (2)三、硬件设计 (2)3.1 单片机的最小系统 (2)3.1.1 上电复位电路 (2)3.1.2 晶振电路 (3)3.2 LED数码管显示电路 (3)3.3 整体电路 (4)四、软件设计 (4)4.1 程序流程图 (5)4.2 初始化子函数 (5)4.3 延时子函数 (5)4.4 中断子函数 (5)五、系统的调试和说明 (6)5.1 C程序的说明 (6)5.2 C程序编译的结果 (6)5.3 实物图 (7)六、设计总结与心得体会 (8)6.1设计总结 (8)6.2 设计心得 (9)七、参考文献 (9)附录 (10)一、频率计数器的设计任务和要求1.1 频率计数器的设计任务本课程设计任务主要是基于单片机系统,通过软件、硬件的调试,完成一个具有计数功能的频率计数器。

单片机课程设计报告-简易频率计

单片机课程设计报告-简易频率计

单片机课程设计报告简易频率计学院:信息工程学院班级:09级电子信息工程一班姓名:学号:引言单片机课程设计是一门实践课程,要求学生具有制作调试单片机最小系统及外设的能力,能够掌握单片机内部资源的使用。

单片机课程设计内容包括硬件设计、制作及软件编写、调试,学生在熟练掌握焊接技术的基础上,能熟练使用单片机软件开发环境Keil C51编程调试,并使用STC ISP调试工具采用串口下载方式联调制作的单片机最小系统。

单片机课程设计题目包含基本部分及扩展部分,基本部分即单片机最小系统部分,扩展部分是对单片机内部资源及外部IO口的功能扩展,使制作的单片机系统具有一定的功能。

一、课程设计要求:自制一个单片机最小系统,包括串口下载、复位电路,采用外部计数器T0或T1作为外部频率输入,外部频率由信号源提供,计算出来的频率显示在四位一体的数码管上。

二、频率计设计概述:本频率计的设计以AT89C51单片机为核心,利用他内部的定时/计数器完成待测信号频率的测量。

单片机AT89C51内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。

设计将定时/计数器0设置工作在定时方式,定时/计数器1设置工作在计数方式。

在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1(使用12 MHz时钟时,每1μs加1),这样以机器周期为基准可以用来测量时间间隔。

在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。

外部输入在每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期),所以最大计数速率为时钟频率的1/24(使用12 MHz 时钟时,最大计数速率为500 kHz)。

三.程序框图四、源程序如下:#include<reg51.h>bit int_flag;unsigned char volatile T0Count;unsigned char volatile T1Count;unsigned char code table[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char code temp[] = {0xfe,0xfd,0xfb,0xf7};unsigned long sum;unsigned char Led[4];void delay(unsigned int num ){while(--num);}void init(void){TMOD=0x15;//TMOD=0x51; //T1定时,T0计数TH1=(65536-50000)/256;//TH0=(65536-50000)/256; //定时50msTL1=(65536-50000)%256;// TL0=(65536-50000)%256;TH0=0x00; //TH1=0x00;TL0=0x00;//TL1=0x00;}开始 初始化T1定时,T0计数 T0计数满 T1定时1秒满 计算脉冲个数 送数码管显示T1count++void disp(void){unsigned char i;for(i=0;i<4;i++){P2=temp[i];//片选P0=table[Led[i]]; //取数据显示delay(100); //延时1毫秒}}void main(void){EA=1;init();TR0=1;TR1=1;ET1=1;ET0=1;while(1){if(int_flag==1){int_flag=0;sum=TL0+TH0*256+T0Count*65536; //计算脉冲个数Led[3]=sum%10000/1000;//显示千位Led[2]=sum%1000/100;//显示百位Led[1]=sum%100/10;//显示十位Led[0]=sum%10;//显示个位T1Count=0x00;T0Count=0;TH0=0x00;TL0=0x00;TR0=1;}disp();}}void int_t1(void) interrupt 3{TH1=(65535-50000)/256;TL1=(65536-50000)%256;T1Count++;if(T1Count==20){TR0=0;int_flag=1;T1Count=0x00;}}void int_T0(void) interrupt 1{T0Count++;}五.元器件:AT89C51、四位一体数码管、排阻、晶振等。

单片机频率测量课程设计

单片机频率测量课程设计

单片机频率测量课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其编程方法。

2. 学生能掌握频率测量的基本原理和实现方法。

3. 学生能了解单片机在频率测量中的应用。

技能目标:1. 学生能运用单片机进行简单的程序编写,实现频率测量功能。

2. 学生能通过实验操作,熟练使用相关仪器设备进行频率测量。

3. 学生能分析实验数据,解决实际频率测量问题。

情感态度价值观目标:1. 学生培养对单片机技术及电子技术的兴趣,激发创新意识。

2. 学生养成合作、探究的学习态度,勇于面对挑战,克服困难。

3. 学生认识到单片机技术在现实生活中的应用价值,增强社会责任感。

课程性质:本课程为实践性较强的课程,结合理论教学,注重培养学生的动手能力和实际操作技能。

学生特点:学生具备一定的单片机基础知识和编程能力,对电子技术有一定的兴趣。

教学要求:教师应引导学生通过实践操作,掌握频率测量技术,提高学生的实际应用能力。

同时,关注学生的情感态度,激发学生的学习兴趣,培养其创新精神和合作意识。

在教学过程中,将目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. 理论部分:- 单片机原理及编程基础:复习单片机的基本结构、工作原理,重点掌握编程语言(如C语言)的基本语法和应用。

- 频率测量原理:介绍频率的定义、测量方法及其在实际工程中的应用。

2. 实践部分:- 单片机编程实践:设计简单的频率测量程序,掌握定时器/计数器的使用方法,实现频率的测量。

- 频率测量实验:使用单片机及相关外围电路,搭建频率测量实验系统,进行实际操作。

3. 教学大纲安排:- 第一课时:复习单片机原理及编程基础,介绍频率测量原理。

- 第二课时:讲解单片机编程方法,设计频率测量程序。

- 第三课时:搭建实验电路,进行频率测量实践操作。

- 第四课时:分析实验结果,优化程序,提高测量精度。

4. 教材章节及内容:- 教材第3章:单片机原理及编程基础。

- 教材第6章:定时器/计数器及其应用。

单片机课程设计-频率计数器

单片机课程设计-频率计数器

《频率计数器》课程设计说明书专业班级:12级电信(3)班姓名:徐丰陈宇轩张旭鹏学号:080212124 080212116 0802105指导老师:唐飞物理与电气工程学院2014年6月8日目录1、课程设计的目的和任务 (3)1.1、单片机频率计数器课程设计的概述 (3)1.1.1、课程设计题目 (3)1.1.2、课程设计的难点 (3)1.1.3、课程设计内容提要 (3)1.1.4、课程设计的意义 (3)1.1.5、课程设计仪器 (4)1.2、课程设计的思路及描述 (4)1.3、课程设计的任务和要求 (4)1.3.1、设计指标 (4)1.3.2、设计要求 (4)2、系统硬件方案设计 (5)2.1、系统方框图 (6)2.2、电路原理图 (6)3、系统软件设计 (6)3.1、电路原理逻辑图 (6)3.2、程序流程图 (7)4、心得体会 (10)参考文献 (10)附录 (12)1.1、单片机频率计数器课程设计的概述1.1.1、课程设计题目频率计数器设计—用STC89C52RC设计一个频率计数器LED 数码管显示,设定时间一秒,一秒内波形重复的个数记为频率,定义了一个按键,功能:清零开始测频率。

1.1.2、课程设计的难点单片机频率计数器需要解决四个主要问题,一是有关单片机定时器的使用;二是如何实现LED数码管的动态显示;三是如何通过键盘控制;四是如何设置外部中断。

1.1.3、课程设计内容提要本课程利用单片机的定时器/计数器定时和计数的原理,结合集成电路芯片8051、LED数码管以及按键来设计频率计。

将软硬件有机地结合起来,使得系统能够正确地进行频率的测试,数码管能正确显示读数。

其中课程设计有一个按键:按键按下即对数码管清零测频率。

1.1.4、课程设计的意义1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

2)掌握定时器、外部中断的设置和编程原理。

3)通过此次课程设计能够将单片机软硬件接合起来,对程序进行编辑,校验。

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

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

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

2.熟练掌握焊接技术的基础上,能熟练使用单片机软件开发环境Keil C51编程调试,并使用STC ISP调试工具采用串口下载方式联调制作的单片机最小系统。

二、实验要求自制一个单片机最小系统,包括串口下载、复位电路,采用外部计数器T0或T1作为外部频率输入,外部频率由信号源提供,计算出来的频率显示在四位一体的数码管上。

三、实验器材89C54RD芯片(与89c51芯片管脚和指令共用,只是内部存储单元有差异)一个,晶振一个,电容3个,电阻3个,12个10千欧姆电阻,4位一体共阴数码显示管一个,按钮1个,导线若干。

四、实验原理1.芯片介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz ·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.管脚说明:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

单片机课程设计报告 频率计

单片机课程设计报告 频率计

单片机系统课程设计报告专业:学生姓名:学号:指导教师:完成日期:2011年11月10日目录1 设计任务和性能指标 (1)1.1设计任务 (1)1.2性能指标 (1)2 设计方案 (1)2.1任务分析 (1)2.2方案设计 (1)3 系统硬件设计 (2)3.1单片机的最小系统 (2)3.2信号整形电路设计 (3)3.3分频电路设计 (3)3.4LCD液晶显示 (5)4 系统软件设计.......................................................................... 错误!未定义书签。

4.1主程序设计........................................................................错误!未定义书签。

5 调试及性能分析 (7)5.1调试分析 (7)5.1.1 软件调试 (7)5.1.2 硬件调试 (8)5.1.3 系统功能调试 (8)5.2性能分析 (9)6 心得体会 (9)参考文献 (9)附录1 系统原理图 (10)附录2 程序清单 (11)1 设计任务和性能指标1.1设计任务频率计是我们经常会用到的仪器之一,通常用来测量信号的频率或周期,与编码器配合也可用来测量旋转机械设备的转速。

用单片机的定时/计数器功能可以实现频率计的数字化、智能化,通过合理的硬件设计和软件编程使测量精度达到实用化要求。

1.2性能指标(1)测量频率范围10Hz~1MHz,量程可自己选择。

(2)精度:1%。

(3)被测信号可以是方波。

(4)显示方式为4位十进制数显示。

2 设计方案2.1任务分析频率的测量实际上就是在1秒时间内对信号进行计数,计数值就是信号频率。

用单片机设计频率计通常可采用两种方法:一是使用单片机自身的计数器对输入脉冲进行计数即得到频率值,或对输入脉冲进行周期测量,这种方法只能测量频率低于单片机时钟频率1/24以下的信号;二是在单片机外部使用计数器对脉冲信号进行计数,计数值再由单片机读取,这种方法适合于测量频率较高的场合。

基于单片机的六位数显频率计数器电路设计

基于单片机的六位数显频率计数器电路设计

本科生毕业论文(设计)系(院)物理与电子信息科学系专业电子信息工程论文题目六位数显频率计数器学生姓名指导教师)班级2007级2班学号完成日期:2010 年11月摘要频率计是一种测量信号频率的仪器,在教学、科研、高精度仪器测量、工业控制等领域都有较广泛的应用。

本设计采用单片机AT89S51作为系统控制单元,其结构主要包括单片机控制电路和数码管显示电路,软件编程主要是采用C语言。

具有性能优良,精度高,可靠性好、设计产品成本低,性价比高等特点。

[关键词]单片机频率计频率测量Significan6 Digitl Frequency Counter[Abstract] The frequency meter is a kind of measuring signal frequency instrument, in teaching, scientific research, precision instrument measurement, industrial control domain has the widespread application. This design USES the A T89S51 single-chip microcomputer as the system control unit and its structure is mainly include single-chip microcomputer control circuit and digital tube display circuit, software programming is mainly using C language. Has good performance, high precision, good reliability and design products with low cost, high performance-cost ratio.[Keywords] A T89S52 SCM frequency前言在现代社会中,随着电子工业的发展,能够精确测量各种设备仪器中电路的频率、电压、电流等参数已越来越重要。

基于单片机的简易频率计设计

基于单片机的简易频率计设计

基于单片机的简易频率计设计频率是电信号的基本参数之一,频率的测量在科学研究、工程应用、工业控制等领域具有重要价值。

单片机作为一种微型计算机,具有高性能、低功耗、易于编程等优点,因此,基于单片机的简易频率计设计具有实际的应用价值。

系统架构:基于单片机的简易频率计主要由单片机、信号源、频率计和显示模块组成。

其中,单片机是整个系统的核心,控制信号源的启动和停止,读取频率计的数据,并通过显示模块显示测量结果。

信号源:信号源是用来产生需要测量的交流信号。

一般可以使用函数发生器或信号发生器作为信号源。

频率计:频率计是用来测量交流信号的频率。

可以使用专用的频率计芯片,也可以使用单片机内部的计数器功能。

显示模块:显示模块用于显示测量结果。

可以使用LED显示屏、液晶显示屏等。

主程序:主程序主要负责控制整个系统的运行。

主程序需要初始化单片机和各个模块。

然后,主程序需要从频率计读取频率数据,并计算出频率值。

主程序需要将测量结果显示在显示模块上。

中断服务程序:中断服务程序用于处理外部中断事件,例如信号源的启动和停止。

当外部中断触发时,中断服务程序会执行相应的操作,例如启动或停止测量过程。

定时器程序:定时器程序用于控制测量周期和读取频率计数据的时间间隔。

定时器程序需要在主程序的控制下启动和停止。

测试环境:在实验室环境下进行测试,使用函数发生器作为信号源,输出不同频率的交流信号。

测试方法:将设计的频率计连接到函数发生器的输出端,启动频率计进行测量,并观察显示模块上的测量结果。

验证结果:经过测试和验证,基于单片机的简易频率计能够准确测量不同频率的交流信号,测量结果稳定可靠。

本文设计了一种基于单片机的简易频率计,该频率计具有结构简单、成本低、易于实现等优点。

通过测试和验证,该频率计能够准确测量不同频率的交流信号,具有实际的应用价值。

本设计可以为科学研究、工程应用、工业控制等领域提供一种实用的测量工具。

频率计是一种用于测量信号频率的电子仪器,被广泛应用于各种领域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void t0(void) interrupt 1 using 0
{
T0count++;
}
void t1(void) interrupt 3 using 0
{
TH1=(65536-5000)/256;
TL1=(65536-5000)%256; //重装初值
timecount++;
if(timecount==200)
《计算机硬件技术基础实验教程》 黄勤等编 重庆大学出版社
《微型计算机接口技术及应用》 刘乐善主编 华中科技大学出版社
《单片微型计算机原理及接口技术》陈光东等 华中科技大学出版社
附录A 仿真总图
附录B 程序清单
#include <reg51.h>
unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //定义数码管位选码
在程序设计时,正确合理的设计是非常重要的,正确的程序设计包括程序的结构是否合理,一些循环结构和循环指令的使用是否恰当,能否使用较少的循环次数或较快的指令,是否能把某些延迟等待的操作改为中断申请服务,能否把某些计算方法和查表技术适当简化等。另外程序的设计要具有可扩展性,程序的结构要标准化,便于阅读、修改和扩充。
TL1=(65536-5000)%256; //定时器初值低8位
TR1=1;//启动定时器1
TR0=1;//启动定时器0
ET0=1;//开定时器0中断
ET1=1;//开定时器1中断
EA=1;//开总中断
4.3信号频率测量模块
while(1)
{
if(flag==1) //如果定时时间到了1s
{
flag=0; //标志位清零
2.2 方案整体框图
图1 系统总框图
第3章 系统硬件电路设计
3.1复位电路
复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。其作用是使CPU 和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。而复位是一个很重要的操作方式,但单片机本身是不能自动经行复位的,必须配合相应的外部复位电路才能实现。本设计的复位电路采用上电复位加按键手动复位,其电路如下图所示:
图7 较小频率显示图
选取中间频率为12000Hz时:
图8 中间频率显示图
选取较大频率为23000Hz时:
图9 较大频率显示图
心得体会
在单片机应用系统设计时,必须先确定该系统的技术要求,这是系统设计的依据和出发点,整个设计过程都必须围绕这个技术要求来工作。在设计时遵循从整体到局部也即自上而下的原则。把复杂的问题分解为若干个比较简单的、容易处理的问题,分别单个的加以解决。将总任务分解成可以独立表达的子任务,这些子任务再向下分,直到每个子任务足够简单,能够直接而容易的实现为止。在程序调试时应按各个功能模块分别调试。
{
TR0=0;//关闭定时器0,为了读出定时器0计数个数
timecount=0;//timecount清零,重新计时
flag=1;//置标志位通知主程序1s已到
}
4.6数码管扫描模块
P2=0xff; //关闭所有数码管
P0=dispcode[dispbuf[dispcount]]; //先确定相应数码管的段码,送入段码
(4) 应用系统的硬件和软件的调试。
二、进度安排
第一周:
周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。
周二~周三:完成硬件设计和电路连接
周四~周日:完成软件设计
第二周:
周一~周三:程序调试
周四~周五:设计报告撰写。周五进行答辩和设计结果检查。
三、参考资料
1、王迎旭等.单片机原理及及应用. 2版.机械工业出版社,2012
4.6 数码管扫描模块..................................................7
5.1C程序编译.......................................................8
5.2 Proteus仿真......................................................9
3.3 LED数码管显示电路...............................................3
4.3 信号频率测量模块................................................5
4.5 程序中断模块....................................................6
课 程 设 计
课程名称
单片机原理及应用
课题名称
频率计数器
专 业
电子信息工程
班 级
1302
学 号
201301030218
姓 名
许聪
指导老师
寻大勇等
2016年3月25日
电气信息学院
课程设计任务书
课题名称
频率计数器
姓 名
许聪
专业
电子信息
班级
1302
学号
18
指导老师
寻大勇
课程设计时间
2016年3月14日-2016年3月25日
图2 上电复位电路
3.2 晶振电路
单片机工作是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是单片机控制器中的时序电路发出的。单片机的时序就是 CPU 在执行指令时所需控制信号的时间顺序。为了保证各部件的同步工作,单内部电路应在唯一的时钟信号下严格按时序进行工作。其电路原理图如下:
图3 晶振电路
3.3 LED数码管显示电路
其段码表如下:
表1 共阴数码管段选码
显示字形
0
1
2
3
4
5
6
7
8
9
共阴段选码
3FH
06H
5BH
4FH
66H
6DH
7DH
07H
7FH
6FH
数码管的电路图如下:
图4数码管接线电路
本设计采用了数码管的动态显示方式,即轮流点亮各数码管,对数码管进行扫描。在任何时刻只給一个数码管通电,通电一定时间后再给下一个数码管通电。只要刷新频率足够高,动态显示方式同样可以实现稳定显示。这样就可以节约I/O口。
通过本次课程设计,我更加地了解和掌握单片机的基本知识和基本的编写程序,也更加深入地了解单片机这么课程,掌握汇编语言的设计和调试方法。对于认识到自己在知识方面存在的不足,明确今后的学习方向是非常有益的。
参考文献
《单片机原理与应用》 王迎旭等编 机械工业出版社
《51系列单片机设计实例》 楼然苗等编 北京航空航天大学出版社
心得体会................................................................9
第1章设计任务及要求
1.1 设计任务:
本课题以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果能够显示出来。要求能够对0-250KHz的信号频率进行准确计数,计数误差不超过±1HZ。
1.2 设计要求:
(1)确定系统设计方案;
(2)进行系统的硬件设计;
(3)完成应用程序设计;
(4) 应用系统的硬件和软件的调试。
第2章 系统方案设计
2.1基本设计原理
基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。
所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为f=N/T。其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s,则门控电路的输出信号持续时间亦准确地等过闸门送到计数译码显示电路。秒信号结束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数N是在1秒时间内的累计数,所以被测频率fx=NHz。AT89S51 单片机内部具有 2 个 16 位的定时/计数器 T0 与 T1,其工作方法可以通过编程来实现所需的定时/计数与产生计数溢出中断要求的功能。定时/计数器 T0 与 T1 的核心都是 16 位的加 1 计数器, TH0 与 TL0构成在构成定时/计数器 T0 加 1 计数器的高 8 位和低 8 位; TH1 与 TL1构成在构成定时/计数器 T1 加 1 计数器的高 8 位和低 8 位。加 1 计数器的初值可以通过程序设定,这样就可以获得不同的计数值或定时时间。当加 1 计数器用作定时器时,每个机器周期加 1(使用 12MHz 时钟时,每 1us 加 1) ,这样以机器周期为基准可以用来测量时间间隔。当加 1 计数器用作计数器时,在相应的外部引脚发生从 1 到 0 的跳变时计数器加 1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入每个机器周期被采样一次,这样检测一次从 1 到 0 的跳变至少需要 2 个机器周期(24个振荡周期),所以最大计数速率为时钟频率的 1/24。AT89S51 单片机的时钟频率可以在0Hz—33MHz 范围内自动调节,当使用 12MHz 时钟时,最大计数速率为 500KHz。定时/计数器的工作由相应的运行控制位 TR 控制,当 TR 置 1 时,定时/计数器开始计数;当 TR 置 0 时,停止计数。在本设计方案中,我通过程序设定 T0 工作在计数状态下,T1 工作在计时状态下。T0 计数器对输入的信号经行计数,其最大计数值为 fOSC/24,当 fOSC=12MHz 时,T0 的最大计数频率为250kHz。
显示器是微机重要的输出设备。显示器有显示监控结果、提供用户操作界面等功能。在本次设计中采用了 LED 显示器,即数码管。数码管的每一个数码段是一只发光二极管。当发光二极管导通时,相应的一个点或者一个笔画发光,控制发光二极管发光组合,可以显示出所需字符。我采用了共阴极结构。在定义其显示字形的码段时,通过 I/O 口送出七段码 。
相关文档
最新文档