单片机频率计课程设计
- 格式:doc
- 大小:623.02 KB
- 文档页数:13
单片机数字频率计课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解数字频率计的工作机制。
2. 使学生能够运用单片机编程实现数字频率计的功能,包括计时、计数和显示。
3. 让学生了解数字频率计在实际应用中的重要性,如信号处理、电子测量等领域。
技能目标:1. 培养学生运用单片机进行数字频率计设计和编程的能力。
2. 培养学生运用相关软件(如Keil、Proteus等)进行电路仿真和调试的能力。
3. 提高学生的动手实践能力,学会在实际操作中发现问题、解决问题。
情感态度价值观目标:1. 激发学生对电子技术和单片机编程的兴趣,培养其创新精神和实践能力。
2. 培养学生严谨的科学态度,注重实验数据的准确性和可靠性。
3. 增强学生的团队协作意识,学会在项目合作中相互支持、共同进步。
课程性质:本课程为实践性较强的课程,要求学生在掌握理论知识的基础上,进行实际操作和项目实践。
学生特点:学生具备一定的单片机基础知识,对编程和电路设计有一定了解,但实际操作能力有待提高。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,以项目为导向,培养学生的动手实践能力和创新能力。
通过课程学习,使学生能够独立完成单片机数字频率计的设计和编程任务,达到课程目标所要求的具体学习成果。
二、教学内容1. 理论知识:- 单片机原理和结构:介绍单片机的内部组成、工作原理及性能特点。
- 数字频率计原理:讲解频率的概念、测量原理及其在电子测量中的应用。
- 编程语言:回顾C语言基础知识,重点掌握单片机编程相关语法。
2. 实践操作:- 电路设计:学习使用Proteus软件设计数字频率计电路,包括单片机、计数器、显示模块等。
- 程序编写:运用Keil软件编写数字频率计程序,实现计数、计时和显示功能。
- 仿真调试:在Proteus环境下进行电路仿真,调试程序,确保其正常运行。
3. 教学大纲:- 第一周:回顾单片机原理和结构,学习数字频率计原理。
《单片机课程设计》设计报告设计题目:简易数字频率计系别:控制工程学院专业:自动化班级学号:姓名:指导教师:设计时间:简易数字频率计设计设计任务:采用A T89S52单片机测量实验室产生的方波脉冲频率,将待测频率接至T0引脚,测量方波频率并显示。
1.总体方案设计(1).设计思路本次课程设计是基于51单片机的频率计设计。
该课程设计是能实现精确测量频率。
由于计数器最大能计数的频率为f/24=460.8KHz。
本设计为了便于编程将最大测量频率限制在65536*7=458.752KHz。
如果超出最大频率数码管将显示------。
该设计通过定时器1定时1S,待测频率通过计数器0在1S内的计数值得出。
每1S显示一次待测频率值。
由于最大频率可达458.752KHz,而每次计数值最大只能达到65536,所以计数器0每产生一次中断,需要将计数值加65536,并给计数初值赋0重新计数,直到1S定时时间到。
计数值计算公式为(最后一次计数值+计数器0溢出次数*65536)。
将得到的计数值经处理后转换成BCD码分别在6个数码管上显示。
本次设计,利用了定时器,计数器,中断,查表,8255扩展端口等,设计出硬件电路。
最后在PROTEUS上进行仿真。
(2).系统总体结构(2).芯片选择本设计主要采用A T89S52,8255A,74LS373,等构成测量系统。
74LS373芯片为了实现P0口的复用,应在P0口连上74LS373,通过锁存器输出A0,A1(连接到8255A)。
74LS373芯片为三态输出的锁存器。
当三态允许控制端OE为低电平的时候,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。
当OE为高电平时,Q0~Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存器允许端LE为高电平时,Q随数据D而变化。
当LE为低电平时,Q被锁存在已经建立的数据电平。
74LS245芯片74LS245是8路同相三态双向总线收发器,可双向传输数据。
基于单片机简易频率计设计一、前言频率计是一种测量电信号频率的仪器,其应用广泛。
本文将介绍如何基于单片机设计一个简易的频率计。
二、设计思路本次设计采用单片机作为核心控制芯片,通过捕获输入信号的上升沿和下降沿来计算出信号的周期,从而得到信号的频率。
具体实现过程如下:1. 选择合适的单片机选择一款适合本次设计要求的单片机,需要考虑其性能、价格、易用性等因素。
常见的单片机有STC89C52、AT89C51等。
2. 硬件电路设计硬件电路主要包括输入端口、捕获定时器模块、显示模块等。
其中输入端口需要接收待测信号,捕获定时器模块用于捕获信号上升沿和下降沿的时间,显示模块则用于显示测得的频率值。
3. 软件程序设计软件程序主要包括初始化程序、捕获中断服务函数和主函数等。
其中初始化程序用于设置捕获定时器模块和显示模块参数,捕获中断服务函数则是实现对输入信号上升沿和下降沿时间的捕获与计算,主函数则用于控制程序流程和显示结果。
三、硬件设计1. 输入端口设计输入端口需要接收待测信号,一般采用BNC接头。
由于输入信号可能存在较高的电压和噪声,因此需要加入滤波电路以保证输入信号的稳定性。
2. 捕获定时器模块设计捕获定时器模块是本次设计的核心部分,其主要功能是捕获输入信号的上升沿和下降沿时间,并通过计算得到信号周期和频率值。
常见的捕获定时器模块有16位定时器/计数器、32位定时器/计数器等。
在本次设计中,我们选择了16位定时器/计数器。
3. 显示模块设计显示模块主要用于显示测得的频率值。
常见的显示模块有LED数码管、LCD液晶屏等。
在本次设计中,我们选择了LCD液晶屏。
四、软件程序设计1. 初始化程序初始化程序主要包括设置捕获定时器模块参数、设置LCD液晶屏参数等。
2. 捕获中断服务函数捕获中断服务函数是实现对输入信号上升沿和下降沿时间的捕获与计算,其具体实现过程如下:(1)当捕获定时器模块捕获到输入信号上升沿时,记录当前时间值。
单片机课程设计———简易频率计班级:学号:姓名●摘要随着电子信息产业的不断进展,信号频率的测量在科技研究和实际应用中的作用日趋重要。
传统的频率计一般是用很多的逻辑电路和时序电路来实现的,这种电路一样运行较慢,而且测量频率的范围较小。
考虑到上述问题,本论文设计一基于单片机设计频率计。
第一,咱们把待测信号通过放大整形,然后把信号送入单片机的按时计数器里进行计数,获的频率值,最后把测得的频率数值送入显示电路里进行显示。
本文从频率计的原理动身,介绍了基于单片机的频率计的设计方案,选择了实现系统的各类电路元器件,并对硬件电路进行了仿真。
●关键字:单片机频率计测量一、设计任务设计制作一个简易频率计,该频率计能测量正弦波和方波信号的频率。
◆设计框图如下:图一. 简易频率计框图二、设计指标要求◆大体要求(1)能测量频率正弦波和方波10Hz—100kHz。
(2)数码显示共3位,其中1位小数,自动换挡(00—999Hz)有一个指示灯亮,表示单位是Hz,0.00—99.9kHz,另一个灯亮,表示单位是kHz。
(3)要有输入信号超范围的爱惜电路。
◆发挥要求(1)能测量方波的周期,并显示。
(2)能测量100mV的正弦波。
三、设计仪器PC一台、WAVE6000仿真实验箱一台、LM324芯片一个、三极管一个、10KΩ,2MΩ,5KΩ电阻各一个、稳压二极管一个、面包板一个和导线假设干四、设计原理图二.电路原理图◆方案选择及实现原理(1)单片机频率计数原理本方案要紧以单片机为核心,利用单片机的计数按时功能来实现频率的计数而且利用单片机的动态扫描把测出的数据送到数字显示电路显示。
由于频率计实现的能够说是对脉冲信号个数的技术,依照这一简单原理,咱们能够利用单片机片内的两个按时器/计数器T0T1实现对输入信号的频率计数。
具体设计思路如下:先利用按时器T1按时1s,但由于单片机的最大技术范围为65536。
因此,可先利用T1按时100ms,按时十个周期,那么达到按时1s的目的。
单片机频率计课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构和功能。
2. 学生能掌握频率计的设计原理,理解并运用相关电路知识。
3. 学生能了解并掌握编程语言在单片机应用中的基本使用方法。
技能目标:1. 学生能运用所学知识,设计并搭建一个简单的单片机频率计电路。
2. 学生能编写程序,实现对频率计的功能控制,进行基本的数据测量。
3. 学生能通过实验过程,培养动手操作能力、问题解决能力和团队协作能力。
情感态度价值观目标:1. 学生通过课程学习,培养对单片机及电子技术的兴趣,激发创新思维。
2. 学生能认识到单片机技术在现实生活中的应用价值,增强学以致用的意识。
3. 学生在课程实践过程中,培养严谨、细致的科学态度,提高对科学研究的尊重和热爱。
课程性质分析:本课程为实践性较强的电子技术课程,旨在通过单片机频率计的设计与实现,使学生在实践中掌握单片机技术的基本原理和应用。
学生特点分析:学生处于高年级阶段,已具备一定的电子技术基础知识,具有较强的学习能力和动手能力,对实际操作有较高的兴趣。
教学要求分析:根据课程性质和学生特点,要求课程目标具体、可衡量,注重理论与实践相结合,培养学生的实际操作能力和创新思维能力。
通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。
二、教学内容本课程教学内容围绕单片机频率计的设计与实现,结合以下章节进行组织:1. 单片机基础理论:介绍单片机的内部结构、工作原理和功能特点,重点讲解单片机的时钟系统、I/O口控制、中断系统等基础知识。
2. 频率计原理:讲解频率计的基本原理,包括信号发生器、计数器、时钟脉冲等组成部分,以及频率测量的基本方法。
3. 电路设计与搭建:指导学生运用所学知识,设计并搭建一个简单的单片机频率计电路,包括单片机选型、外围电路设计、元器件选型等。
4. 编程与调试:教授编程语言基础,如C语言、汇编语言等,指导学生编写单片机程序,实现对频率计的功能控制,并进行程序调试。
题目:基于51单片机的数字频率计目录第1节引言 (1)1.1数字频率计概述 (1)1.2频率测量仪的设计思路与频率的计算 (1)1.3基本设计原理 (2)第2节数字频率计(低频)的硬件结构设计 (3)2.1系统硬件的构成 (3)2.2系统工作原理图 (3)2.3AT89C51单片机及其引脚说明 (4)2.4信号调理及放大整形模块 (6)2.5时基信号产生电路 (6)2.6显示模块 (7)第3节软件设计 (11)3.1 定时计数 (11)3.2 量程转换 (11)3.3 BCD转换 (11)3.4 LCD显示 (11)第4节课程设计总结 (12)参考文献 (13)附录汇编源程序代码 (14)基于51单片机的数字频率计第1节引言本应用系统设计的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。
并且引导一种创新的思维,把学到的知识应用到日常生活当中。
在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。
全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。
1.1数字频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。
本数字频率计将采用定时、计数的方法测量频率,采用一个1602A LCD显示器动态显示6位数。
测量范围从1Hz—10kHz的正弦波、方波、三角波,时基宽度为1us,10us,100us,1ms。
用单片机实现自动测量功能。
基于51单片机的频率计的设计频率计是一种测量信号频率的仪器或装置,其原理是通过对信号进行计数和定时来测量信号的周期,并进而计算出信号的频率。
在本篇文章中,我们将设计一个基于51单片机的频率计。
设计方案:1.硬件设计:(1)时钟电路:使用11.0592MHz晶振为主频时钟源。
(2)信号输入:选择一个IO口作为信号输入口,通过外部电平转换电路将信号转换为51单片机能够处理的电平。
(3)显示装置:使用一个数码管或液晶显示屏来输出测量结果。
2.软件设计:(1)初始化:设置51单片机的工作模式、引脚功能、定时器等。
初始化时,将IO口配置为输入模式,用于接收外部信号。
(2)定时器设置:利用定时器来进行时间的测量,可以选择适当的定时器和计数器来实现定时功能。
(3)外部中断设置:使用外部中断来触发定时器,当外部信号边沿发生变化时,触发定时器的启动或停止。
(4)中断处理:通过中断处理程序来对定时器进行启动、停止和计数等操作。
(5)频率计算:将计数结果经过一定的处理和运算,计算出信号的频率。
(6)结果显示:将计算得到的频率结果通过数码管或液晶显示屏输出。
3.工作流程:(1)初始化设置:对51单片机进行初始化设置,包括端口、定时器、中断等的配置。
(2)外部信号输入:通过外部电平转换电路将要测量的信号输入至51单片机的IO口。
(3)定时测量:当外部信号发生边沿变化时,触发外部中断,启动定时器进行定时测量。
(4)停止计时:当下一个信号边沿出现时,中断处理程序停止定时器,并将计数结果保存。
(5)频率计算:根据定时器的设置和计数结果,计算出信号的周期和频率。
(6)结果显示:将计算得到的频率结果通过数码管或液晶显示屏进行显示。
4.注意事项:(1)确保信号输入的稳定性:外部信号输入前需要经过滤波处理,保证稳定且无杂波的输入信号。
(2)测量精度的提高:如有必要,可以通过增加定时器的位数或扩大计数范围来提高测量精度。
(3)显示结果的优化:可以根据需要,通过增加缓冲区、优化数码管显示等方式来改善结果的可读性。
基于单片机的频率计的设计一、频率计的基本原理频率是指单位时间内信号周期性变化的次数。
频率计的基本原理就是在一定的时间间隔内对输入信号的脉冲个数进行计数,从而得到信号的频率。
常用的测量方法有直接测频法和间接测频法。
直接测频法是在给定的闸门时间内测量输入信号的脉冲个数,计算公式为:频率=脉冲个数/闸门时间。
这种方法适用于测量高频信号,但测量精度会受到闸门时间和计数误差的影响。
间接测频法是先测量信号的周期,然后通过倒数计算出频率。
其适用于测量低频信号,但测量速度较慢。
在实际设计中,通常会根据测量信号的频率范围选择合适的测量方法,或者结合两种方法来提高测量精度和范围。
二、系统硬件设计1、单片机选型在基于单片机的频率计设计中,单片机是核心控制部件。
常用的单片机有 51 系列、STM32 系列等。
选择单片机时需要考虑其性能、资源、价格等因素。
例如,对于测量精度和速度要求不高的应用,可以选择51 单片机;而对于复杂的系统,可能需要选择性能更强的 STM32 单片机。
2、信号输入电路为了将输入信号接入单片机,需要设计合适的信号输入电路。
一般需要对输入信号进行放大、整形等处理,使其成为标准的脉冲信号。
常见的整形电路可以使用施密特触发器来实现。
3、显示电路频率计的测量结果需要通过显示电路进行显示。
常用的显示器件有液晶显示屏(LCD)和数码管。
LCD 显示效果好,但驱动较为复杂;数码管显示简单直观,驱动相对容易。
4、时钟电路单片机需要一个稳定的时钟信号来保证其正常工作。
时钟电路可以采用外部晶振或内部振荡器,根据系统的精度和稳定性要求进行选择。
5、复位电路为了确保单片机在系统启动时能够正常初始化,需要设计复位电路。
复位电路可以采用上电复位和手动复位两种方式。
三、系统软件设计1、主程序流程系统启动后,首先进行初始化操作,包括设置单片机的工作模式、初始化显示、设置定时器等。
然后进入测量循环,等待输入信号,在给定的闸门时间内进行计数,并计算频率,最后将结果显示出来。
目录一、引言01.1 数字频率计的发展和意义01.2 数字频率国内外的发展形势0二、系统总体设计22.1 系统设计要求22.2 测频方法22.3 系统设计思路22.4 系统设计框图3三、系统硬件设计33.1 单片机模块33.1.1 AT89C52介绍 (3)3.1.2 单片机引脚分配 (4)3.1.3 复位电路 (4)3.1.4 定时/计数器 (5)3.2 电源模块63.2.1 电源变压器 (6)3.2.2 整流电路 (6)3.2.3 滤波电路 (7)3.2.4 稳压电路 (7)3.2.5 电源模块原理图 (8)3.3 放大整形模块83.3.1 与非门74LS00 (8)3.3.2 放大整形模块原理图 (9)3.4 分频模块93.4.1 分频器74LS161芯片 (9)3.4.2 多路选择器74LS151芯片 (10)3.4.3 分频模块原理图 (10)3.5 显示电路113.5.1 频率数值显示电路 (12)3.5.2 频率数值单位显示电路 (12)四、系统软件设计124.1 开始134.2 初始化模块134.3 频率测量模块和量程自动切换模块134.4 显示模块144.5 延时模块15五、数字频率计仿真155.1 电源模块仿真155.2 放大整形电路仿真165.2.1 仿真软件 MULTISIM 10.0仿真整形电路 (16)5.2.2 仿真放大整形电路 (17)5.3 频率计仿真185.3.1 用KEIL软件 (18)5.3.2 使用软件Proteus仿真频率计 (18)5.3.3 频率计仿真运行调试 (20)六、结论错误!未定义书签。
参考文献错误!未定义书签。
致谢错误!未定义书签。
附录A错误!未定义书签。
程序源代码错误!未定义书签。
附录B错误!未定义书签。
仿真效果图错误!未定义书签。
基于单片机的数字频率计一、引言1.1 数字频率计的发展和意义随着电子技术的飞速发展,各类分立电子元件及其所构成的相关功能单元,已逐步被功能更强大、性能更稳定、使用更方便的集成芯片所取代。
课程设计报告课程名称:单片机课程设计报告题目:数字频率计课程设计任务书以ATMEL单片机为核心,利用单片机的外部中断、定时器的计数模式和定时器的功能对信号发生器产生的脉冲频率进行计数。
且可以根据频率的不同,单片机控制选择测周法或者测频法对产生的脉冲波形进行计数,以进行更加精确的频率测量。
而且可以通过按键来进行频率测量方法的选择。
关键词:数字频率计;测频发;测周法;单片机一、概述 (1)二、方案论证 (1)1.总体方案 (1)2.测量方案选择 (2)三、硬件设计 (2)1.系统功能描述 (2)2.硬件电路设计方框 (3)3.单片机各部分电路 (3)四、软件设计 (4)1.测频发 (4)2.测周法 (4)3.主程序流程图设计 (5)4.程序设计 (14)五、课程与心得 (14)六、参考文献 (15)一、概述数字频率计是采用数字电路制成的实现对周期性变化信号的频率的测量。
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字,显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精度高,显示直观,所以经常要用到数字频率。
二、方案论证1 总体方案本次设计包含硬件设计与软件设计两部分,根据设计任务要求,采用AT89S52单片机,配置时钟电路,复位电路构成单片机最小系统,配置前置放大电路,人机对话通道中的键盘,数码管显示,从而构成设计要求的单片机应用测频系统,其结构框图如下图1-1所示:图1结构框图2.测量方案选择方案一:直接测频法。
直接测频法是把被测频率信号经脉冲形成电路后加到闸门的一个输入端, 只有在闸门开通时间T ( 以秒计) 内, 被计数的脉冲被送到十进制计数器进行计数。
设计数器的值为N , 由频率定义式可以计算得到被测信号频率为: f = N / T 。
贵州大学课程设计任务要求运用所学单片机原理、、模拟和数字电路等方面的知识,设计出一个数字频率计。
数字频率计要求如下:1)能对0~50kHz的信号频率进行计数;2)频率测量结果通过4位数码管显示(十进制)。
二、课程设计应完成的工作1)硬件部分包括微处理器(MCU)最小系统(供电、晶振、复位)、频率测量和数码管显示部分;2)软件部分包括初始化、频率计算、显示等;3)用PROTEUS软件仿真实现;4)画出系统的硬件电路结构图和软件程序框图;内容摘要1.数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字显示被测信号频率的数字测量仪器。
2.采用12 MHz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。
为了实现一秒的定时,采用定时和计数相结合的方法实现。
选用定时/计数器TO作定时器,工作于方式1产生50 ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。
贵州大学课程设计第1节引言本应用系统设计的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。
并且引导一种创新的思维,把学到的知识应用到日常生活当中。
在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。
全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。
1.1数字频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。
1.2任务分析与设计思路频率的测量实际上就是在1s时间内对信号进行计数,计数值就是信号频率。
在本次设计使用的AT89C51单片机,本身自带有定时器和计数器,单片机的T0、T1两个定时/计数器,一个用来定时,另一个用来计数,定时/计数器的工作由相应的运行控制位 TR 控制 ,当 TR 置 1 ,定时/ 计数器开始计数 ;当 TR 清 0 ,停止计数。
在定时1s里,计数器计的脉冲数就是频率数,但是由于1s超过了A T89C51的最大定时,因此我们采用50ms定时,在50ms 内的脉冲数在乘以14就得到了频率数,在转换为十进制输出就可。
第2节硬件系统设计2.1 系统组成框图2.2晶振电路和复位电路XTAL1与XTAL2管脚接两个22pF电容和12 MHz晶振构成时钟电路。
RST管脚接10 kΩ电阻,20 μF电容上电复位电路。
2.3 单片机与译码显示选择单片机AT89C51是因为有编程灵活、易调试的特点,而且AT89C51的引脚较多,利于电路的展。
它集成了CPU,RAM,ROM,定时器/计数器和多功能I/0口等一台计算机所需的基本功能部件,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含两个外中断口,两个16位可编程定时计数器,两个全双工串行通信口。
还提供了对程序进行加密保护的功能。
P1端口与74HC4511译码器,输出待显示的个位与十位的数据。
P2端口也与74HC4511译码器连接,输出频率计的百位和千位。
P3端口连接信号输入电路。
74HC4511译码器是4线七段译码驱动器,在设计中用它来译码并且驱动数码显示管来显示数值,一共需要4个74HC4511。
数码管是由若干发光二极管组成显示的字段,当二极管导通时相应的一段发光,控制不同组合的二极管导通,就可以显示出各种字符。
对于共阴级显示管,将所有二极管的阴极连接在一起,公共端3、8接低电平,当某个字段的阳极接高电平时,对应的字段就点亮。
设计中需要用到4个七段显示数码管,用来显示频率的数值2.3 输入信号为验证本设计的频率计的准确性与快速性,采用三个不同频率的信号源。
第3节系统的软件构成3.1 程序流程图3.2 初始化ORG 0000HAJMP STARTORG 0600HSTART: MOV TMOD , #51HMOV TH0 , #3CHMOV TL0 , #0B0HMOV IE ,#82HMOV TH1 , #00HMOV TL1 , #00HSETB TR0SETB TR1采用12 MHz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。
为了实现一秒的定时,采用定时和计数相结合的方法实现。
选用定时/计数器TO作定时器,工作于方式1产生50 ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。
将定时器/计数器的方式寄存器TMOD,用软件赋初值51H,即01010001B。
这时定时器/计数器1采用工作方式1,方式选择位C/T设为1,即设T1为16位计数器。
定时器/计数器O采用工作方式1,C/T设为0,即设TO为16位定时器。
=TC16=-=us—,所以T0初值为3CB0H.M=23CB0HT/T155361/ms50计数3.3 频率计算LOOP:SJMP $ ;等待中断ORG 000BH ;入口地址AJMP BTR0ORG 0080HBTR0:CLR TR1 ;停计数CLR TR0MOV A,TH1CJNE A,#01H,NEXT1 ;判断TH1的计数是否大于01H,(500十六进制为01F4H)SJMP NEXT2NEXT1:JC BEGINJNC NEXT4NEXT2:MOV A,TL1CJNE A,#0F4H,NEXT3 ;等于则比较TL1的计数值和#0F4的大小SJMP NEXT4NEXT3:JC BEGINJNC NEXT4NEXT4:MOV A,#99H ;大于01F4H则输出9999MOV P1,AMOV P2,A由于定时50ms,采用4位显示,最大显示频率是9999,因此50ms里最大计数为500,否则显示不准确,500的十六进制为01F4H,当计数器的高八位大于01时,计数值大于500超过最大显示,即直接显示9999,档高八位等于01时,在判断第四位TL1与F4H的大小,大于或等于也直接显示频率9999,小雨时在进行十进制转换,当高八位小于01时,在跳转到十六进制转换到十进制的程序中,再显示出来。
贵州大学课程设计3.4 十六进制转为十进制算法设十六进制数为 b4b3b2b1(1)b4×6÷10=C1b3×6÷10=C2b2×6÷10=C3(b1+ C1+C2+ C3)÷10=C4……………d3(个位)(2)(C1 +C2+ C3+ C4+ b2+ b3×5+ b4×9)÷10=e……………d2(十位)(3)(e+ b3×2)÷10=f…………d1(百位)(4)b4×4+f=d(千位)最后转换成的十进制数为d0d1d2d3贵州大学课程设计第4节功能仿真调试4.1 仿真电路图4.2仿真结果分析本实验采用三个信号源分别为10000HZ ,4180HZ,120HZ。
分别模拟高频,中频和低频。
当开关打在10000HZ时,数码管显示9999,与预期符合,当开关打在4180hz的信号源上时,显示4180也吻合,打在120HZ的信号源上时,显示为120HZ与100HZ的跳变,显示有误差, 造成误差的原因有几点:①单片机技术速率的限制引起误差。
②晶振的准确度会影响一秒定时的准确度,从而引起测量误差。
③过多硬件连接会造成误差。
要减小误差,可以采用如下几条措施;①选用频率较高和稳定性较好的晶振。
②测量频率较高的信号时,可以先对信号进行分频,在进行测量。
③测量频率较低的信号时,可以适当调整程序,延长门限时间。
④尽可能选择少的硬件来实现所需功能。
贵州大学课程设计第5节附录5.1 元件清单与管脚51单片机译码器数码管5.2 程序清单ORG 0000H贵州大学课程设计AJMP STARTORG 0600HSTART:MOV TMOD,#51H ;送方式字MOV TH0,#3CH ;T0赋初值MOV TL0,#0B0HMOV IE,#82H ;开T0中断MOV TH1,#00H ;T1清零MOV TL1,#00HSETB TR0 ;开始计数SETR TR1LOOP:SJMP $ ;等待中断ORG 000BH ;入口地址AJMP BTR0ORG 0080HBTR0:CLR TR1 ;停计数CLR TR0MOV A,TH1CJNE A,#01H,NEXT1 ;判断TH1的计数是否大于01H,(500十六进制为01F4H)SJMP NEXT2NEXT1:JC BEGINJNC NEXT4NEXT2:MOV A,TL1CJNE A,#0F4H,NEXT3 ;等于则比较TL1的计数值和#0F4的大小SJMP NEXT4NEXT3:JC BEGINJNC NEXT4NEXT4:MOV A,#99H ;大于01F4H则输出9999MOV P1,AMOV P2,ALJMP LAST ;长转移BEGIN:MOV A TL1 ;小于01F4H则转换为十进制,以下程序段为十进制转换 MOV B,#14HMUL ABMOV R2,BMOV B,#10HDIV ABMOV RO,AMOV R1,BMOV A,TH1MOV B,#14HMUL ABADD A,R2贵州大学课程设计MOV B,#10HDIV ABMOV R2,BMOV R7,AMOV B,#06HMUL ABMOV B,#0AHDIV ABMOV 40H,AMOV 41H,BMOV B,#06HMOV A,R0MUL ABMOV B,#0AHDIV ABMOV R3,AMOV R4,BMOV A,R2MOV B,#06HMUL ABMOV B,#0AHDIV ABMOV R5,AMOV R6,BMOV A,R1ADD A,R4ADD A,R6ADD A,41HMOV B,#0AHDIV ABMOV R1,BADD A,R0ADD A,R3ADD A,R5MOV R0,AMOV A,R2MOV B,#05HMUL ABADD A,R0MOV R0,AMOV A,R7MOV B,#09H贵州大学课程设计MUL ABMOV B,#0AHDIV ABMOV 42H,AMOV A,BADD A,R0ADD A,40HMOV B,#0AHDIV ABMOV R0,BMOV R3,AMOV A,R2MOV B,#02HMUL ABADD A,R3ADD A,42HMOV B,#0AHDIV ABMOV R4,AMOV R5,BMOV A,R7MOV B,#04HMUL ABADD A,R4MOV B,#01HMUL ABADD A,R5MOV P1,AMOV A,R0MOV B,#10HMUL ABADD A,R1MOV P2,ALAST:MOV TH0,#3CH ;重装初值 MOV TL0,#0B0HMOV TH1,#00H ;停计数MOV TL1,#00HSETB TR1, ;开始计数SETB TR0RETI ;返回END ;结束贵州大学课程设计第6节总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。