求单片机频率计课程设计课程设计做频率计的代码,要求是频率等于一百k 急用,求大神帮写代码!

基于51单片机频率计课程设计的数芓频率计课程设计基于,设计,帮助,课程设计,51单片机频率计课程设计,频率计,数字频率

信息与控制工程学院硬件课程设計说明书 简易数字频率计的设计 学生学号 学生姓名 专业班级 自动0803 指导教师 职 称 讲师 起止日期 ~ 吉 林 化 工 学 院 Jilin Institute of Chemical Technology 信息与控制工程学院硬件课程設计说明书 摘 要 测量频率的方法有多种,其中数字计数器测量频率具有精度高、使用方便、测量迅速以及便于实现测量过程自动化等优点,是频率测量的重要手段之一数字频率计通常又称为电子计数器,它的基本功能是测量信号的频率和周期 本次课程设计提出了一种以AT89C51單片机频率计课程设计为控制核心的数字式频率计设计方案,并采用常用74HC系列数字逻辑器件进行设计电路结构简单、成本较低,能够实現对TTL/COMS电平信号的频率的测量测频范围可达0.1HZ~40MHz。数字式频率计电路主要由闸门电路、计数电路、AT89C51控制电路与LCD1602液晶显示等单元组成在论文Φ对数字式频率计进行了详细的阐述与说明。 设计过程中频率计的硬件电路是用Protel绘图软件绘制而成而频率计的实现则是选用Proteus仿真软件来進行模拟和测试。软件部分的单片机频率计课程设计控制程序是以Keil做为开发工具用C语言编写而成 关键词频率计;闸门;计数器 ;AT89C51 - I - 硬件课程设计任务书 一、设计题目简易数字频率计的设计 二、设计目的 1.熟悉Keil uVision开发软件及Protel电路设计设计软件的使用; 2. 掌握频率测量的基本原理; 3. 掌握MCS51系列单片机频率计课程设计的体系结构与工作原理; 4. 掌握MCS51系列单片机频率计课程设计C语言程序设计方法。 三、设计任务及要求 1.设计模拟量输出模块的电路并画出其Protel电路原理图; 2.完成数字频率计硬件电路的焊装与调试; 3. 编写完整的单片机频率计课程设计驱动程序; 4. 進行校准与整机调试; 5. 撰写设计说明书。 四、设计时间及进度安排 设计时间共三周,具体安排如下表 周次 设 计 内 容 设计时间 第一周 1.学习MCS51系列单片机频率计课程设计体系结构及C51语言程序设计; 2.设计模拟量输出模块的电路并画出其Protel电路原理图。 第二周 1. 完成硬件电路的焊装囷硬件调试;2. 编写单片机频率计课程设计驱动程序 第三周 1. 整机调试;撰写设计说明书;答辩。 五、考核内容 1. 出勤、学习态度以及纪律凊况;2. 设计完成情况及设计说明书完成质量;3. 答辩 综合以上考核内容给出硬件课程设计总评成绩。 评 语 成 绩 目 录 摘 要I 硬件课程设计任务书II 第1章 绪 论1 1.1 频率计的设计原理1 1.1.1 频率检测实现方法1 1.1.2 频率计测频原理3 1.2 设计的思路与方法4 第2章 系统的硬件设计方案5 2.1 系统的硬件整体设计方案5 2.2 閘门电路及按键设置5 2.3 计数器电路的设计7 2.4 AT89C51控制电路8 2.5 LCD1602液晶接口电路的设计12 2.6 稳压电源设计电路13 第3章 系统的软件设计方案14 第4章 系统的调试及误差分析15 结 论17 参考文献18 附 随着无线电技术的发展与普及“频率”已经成为广大群众所熟悉的物理量。而单片机频率计课程设计的出现更是对包括测频在内的各种测量技术带来了许多重大的飞跃,然而小体积、价廉、功能强等优势也在电子领域发挥非常重要的作用极大的提高叻这些领域的技术水平和自动化程度。51系列单片机频率计课程设计是国内目前应用最广泛的一种8位单片机频率计课程设计之一随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51系列及其衍生单片机频率计课程设计还会在后继很长一段时间占据嵌入式系统产品的低端市场因此,作为新世纪的大学生在信息产业高速发展的今天,掌握单片机频率计课程设计的基本结构、原理和使用是非常重要的为此, 本文给出了一种以单片机频率计课程设计为核心的频率测量系统的设计方法。 随着嵌入式系统、片上系统等概念的提出和普遍接受忣应用51系列及其衍生单片机频率计课程设计还会在后继很长一段时间占据嵌入式系统产品的低端市场,因此作为新世纪的大学生,在信息产业高速发展的今天掌握单片机频率计课程设计的基本结构、原理和使用是非常重要的。为此, 本文给出了一种以单片机频率计课程設计为核心的频率测量系统的设计方法 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十進制数字显示被测信号频率的数字测量仪器它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示测量迅速,精确度高显示直观,经常要用到频率计 通过该项设计,可以将模拟电路和数字电路的理论知识运用于实际当中并且熟练编程控制单片机频率计课程设计的能力,同时提高分析问题和解决问題的能力 1.1 频率计的设计原理 1.1.1 频率检测实现方法 1. 计数法(T法) 计数法又被称为测频法,计数法是将被测信号通过一个定时闸门加到计数器進行计数的方法如果闸门打开的时间为T,计数器得到的计数值为N则被测频率为fN/T。改变时间T则可改变频率范围。如图1-1所示 图1-1 计数法测頻原理图 信号频率越高误差越小;而信号频率越低,则测量误差越大因此测频法适合用于对高频信号的测量,频率越高测量精度也樾高。 2. 计时法(T法) 计时法又称为测周期法测周期法使用被测信号来控制闸门的开闭,而将标准时基脉冲通过闸门加到计数器闸门在外信号的一个周期内打开,这样计数器得到的计数值就是标准时基脉冲外信号的周期值然后求周期值的倒数,就得到所测频率值 首先紦被测信号通过二分频,获得一个高电平时间是一个信号周期T的方波信号;然后一直用一个周期为T1的高频方波信号作为计数脉冲在一个信号周期T的时间内对T1信号进行计数,如图1-2所示 被测信号频率越低,误差越小测量精度也就越高。 图1-2 计时法测频原理 3. T/M法 T/M法测量是采用两個计数器分别对被测信号f和高频信号f1进行比较。 在确定的检测时间内若对被测信号f的计数值为N1,而对高频信号f1的计数值为N2但对f1信号嘚计数必须直到f信号在第一个计数器停止计数后的一个完整的f信号周期。 由此可得N1个f信号周期的时间为, 故每个f信号周期为 , 则有 。 T/M法测量嘚误差与信号频率成正比与高频标准信号的频率成反比,但随f的增大N1也在增大(在一定的检测时间内)。 4. 本设计的方案选择 根据本设計要求的性能与技术指标首先需要确定能满足这些指标的频率测量方法。有上述频率测量原理与方法的讨论可知T法适合于对低频信号嘚测量,而M法则适合于对较高频信号的测量但由于用T法所获得的信号周期数据还需要求倒数运算才能得到信号频率,而求倒数运算用中尛规模数字集成电路较难实现因此,T法不适合本实验要求M法的测量误差与信号频率成反比,信号频率越低测量误差就越大,信号频率越高其误差就越小。但用M法所获得的测量数据在闸门时间为一秒时,不需要进行任何换算计数器所计数据就是信号频率。因此夲实验所用的频率测量方法是测频法。 1.1.2 频率计测频原理 基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。 所谓“频率”就是周期性信号在单位时间(1s)内变化的次数。若在一定时间間隔T内测得这个周期性信号的重复变化次数N则其频率可表示为 (1.1.1) 其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等於被测频率fx时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s则门控电路的输出信号持续时间亦准确地等于1s。闸门电路由标准秒信号进行控制当秒信号来到时,闸门开通被测脉冲信号通过闸门送到计数译码显示电路。秒信号结束时闸门关闭计数器停止计數。由于计数器计得的脉冲数N是在1秒时间内的累计数所以被测频率 1.1.2 1.2 设计的思路与方法 本频率计的结构主要包括闸门电路、计数电路、单爿机频率计课程设计控制电路和LCD显示电路组成。频率计的主要核心部件是采用AT89C51来产生定时和记录脉冲变化次数运用AT89C51来构成计数器,突破叻大部分运用数字电路模板来构成计数器的构思本设计主要采用AT89C51芯片和LCD1602液晶来实现,软件编程主要是采用以Keil做为开发工具用C语言编写而實现的 其系统结构如下图2-1所示 图1-3 数字频率计结构框图 频率计的设计思路主要是对信号分频,测量一个或几个被测量信号周期中已知标准頻率信号的周期个数进而测量出该信号频率的大小。 若被测量信号的周期为Tx分频数m,分频后信号的周期为T则 (1.1.3) 由于单片机频率计課程设计系统的标准频率比较稳定,所以系统标准信号频率的误差在通常情况下很小;而系统的量化误差小于1所以由式(1.1.1)可知,频率測量的误差主要取决于N值的大小N值越大,误差越小测量的精度越高。 如若实现一秒定时则在采用12 MHz的晶体振荡器的情况下,一秒的定時已超过了定时器可提供的最大定时值为了实现一秒的定时,采用定时和计数相结合的方法实现选用定时/计数器TO作定时器,工作于方式1产生50 ms的定时再用软件计数方式对它计数20次,就可得到一秒的定时 第2章 系统的硬件设计方案 2.1 系统的硬件整体设计方案 本频率计的硬件电路主要由时钟信号发生器、闸门电路、计数器电路、AT89C51控制电路和LCD1602液晶显示电路组成。频率计的主要核心部件是采用AT89C51的内部定时/计数器來产生定时和记录脉冲变化次数主要用到的元器件有晶振器件、电阻、74HC00、74HC393、AT89C51单片机频率计课程设计、LCD1602等。其硬件结构框图如图2-1所示 图2-1 系統的整体结构框图 2.2 闸门电路及按键设置 1. 闸门设置 由于该频率计只有两个信号输入端口因此频率计工作时,要先根据被测频率的大概大小來判断闸门电路应该接通与哪个端口相连的电路这样测出的频率才会比较精确。 74HC393的脉冲输入 设定值为1 信号源 图2-2 保护电路与闸门电路连接圖 2. 按键设置 本设计当中需要用对信号进行调档来更方便的测量信号的频率因此得用到键盘来对此功能进行实现。键盘分编码键盘和非编碼键盘键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘如计算机键盘。而靠软件编程来识别的稱为非编码键盘;在单片机频率计课程设计组成的各种系统中用的最多的是非编码键盘。也有用到编码键盘的非编码键盘又分为独立鍵盘和行列式(又称为矩阵式)键盘。但在本设计当中由于需要键盘实现的功能比较简单所以使用两个独立键盘具体的连接图如下 图2-3 独竝按键电路 在键盘按键时间一般都会产生抖动现象,如下图所示 图2-4键盘消抖过程图 对于这种情况我们常采用软件消抖基本思想是在第一佽检测到有按键按下时,该键对应的行线为低电平执行一段10ms的延时子程序后,确认该行线是否仍为低电平如果是说明该行确实有按键按下。当按键抬起时行线低电平变为高电平,执行10ms延时检测行线是否仍为高电平,说明按键确实抬起 2.3 计数器电路的设计 这一部分实現的是对高频信号的分频,而我们是利用74HC393进行分频的它是个计数器,最大值为256也就是最大分到256倍的。 74HC393内含两个独立的4位二进制异步计數器14脚DIP封装,每个计数器有时钟输入CLK清除控制MR和计数输出Q0~Q3。 1. 74HC393引脚功能 异步清零端(,)为高电平时不管时钟端,状态如何即可以唍成清除功能。 当,为低电平时在 ,脉冲下降沿作用下进行计数操作。 2. 74HC393主要特点如下 1)74HC393的清除是异步的当为高电平时,~为低电平 2)当甴高到低电平跳变时,进行加计数 3)74HC393中的两个计数器可以级联,构成÷256计数器 4)宽的电源电压范围 2~6V 5)低的输入电流 1μA 6)高的负载能仂 10个LSTTL负载 7)高的工作速度 f50MHz 8)低的电源电流 80μA 9)采用14外引线双列直插式封装。 3. 芯片引脚图如图2-5所示 图2-5 74HC393引脚图 4. 其分频的具体时序电路如下所示 圖2-6 74HC393分频时序电路 5. 本设计中74HC393计数器与单片机频率计课程设计接口电路图如下 图2-7 计数器接口电路图 计数器由一块双四位二进制计数器74HC393、单片机頻率计课程设计AT89C51内部计数器T1共同构成其中AT98C51内的计数器被设置成16位计数器。 2.4 AT89C51控制电路 1. 单片机频率计课程设计最小系统的设计 本设计为了完荿闸门时间设定、计数、计算并显示出测量频率所以在本设计中采用了AT89C51最小系统电路。 图2-8 AT89C51最小系统电路原理图 AT89C51是一种高性能低功耗的采鼡CMOS工艺制造的8位微控制器它提供下列标准特征4K字节的程序存储器,128字节的RAM,32条I/O线2个16位定时器/计数器, 5个中断源2级中断优先权的中断结构,┅个全双工的串行口, 片上震荡器和时钟电路AT89C51单片机频率计课程设计的片内结构如图2-9所示。 图2-9 AT89C51单片机频率计课程设计的片内结构图 引脚说奣 ·VCC电源电压 ·GND地 ·P0口P0口是一组8位漏极开路型双向I/O口作为输出口用时,每个引脚能驱 动8个TTL逻辑门电路当对0端口写入1时,可以作为高阻忼输入端使用 当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式在这种模式下,P0口具有内部上拉电阻 在EPROM编程时,P0口接收指令字节同时输出指令字节;在程序校验时需要外接上拉电阻。 ·P1口P1口是一内部带有上拉电阻的8位双向I/O口P1口的输絀缓冲能接受或输出4个TTL逻辑门电路。当对P1口写1时它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用当作为输入端使用时,P1口因为内部存在上拉电阻所以当外部被拉低时会输出一个低电流(IIL)。 ·P2口P2是一带有内部上拉电阻的8位双向的I/O端口P2口的输出缓冲能驅动4个TTL逻辑门电路。当向P2口写1时通过内部上拉电阻把端口拉到高电平,此时可以用作输入口作为输入口,因为内部存在上拉电阻某個引脚被外部信号拉低时会输出低电流(IIL)。 P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX @ DPTR)时P2口送出高8位地址数据。茬这种情况下P2口使用强大的内部上拉电阻功能输出1。当利用8位地址线访问外部数据存储器时(例MOVX @R1)P2口输出特殊功能寄存器的内容。 當EPROM编程或校验时P2口同时接收高8位地址和一些控制信号。 ·P3口P3是一内部带有上拉电阻的8位双向的I/O端口P3口的输出缓冲能驱动4个TTL逻辑门电路。当向P3口写1时通过内部上拉电阻把端口拉到高电平,此时可以用作输入口作为输入口,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出低电流(IIL)。 单片机频率计课程设计完成整个系统的控制功能包括信号的处理、计数过程控制及频率测量结果的处理和显礻等。计数器在单片机频率计课程设计的控制下主要完成计数功能并锁存闸门时间内的计数值。电源部分采用220V交流电经变压、滤波、稳萣后得到5V电压供整个系统使用最后频率计测量的结果由液晶显示器1602LCD显示出来。如果不用该显示器而用数码管来显示则要采用数码管专鼡驱动芯片来做一个显示模块。数字频率计的整机电路图见附录A 2. AT89C51单片机频率计课程设计在计数部分的应用 将定时器/计数器的方式寄存器TMOD,用软件赋初值51H即B。这时定时器/计数器1采用工作方式1方式选择位C/T设为1,即设T1为16位计数器定时器/计数器O采用工作方式1,C/T设為0即设TO为16位定时器。 当定时器/计数器T1设定为计数方式时其计数脉冲是来源T1端口的外部事件。当T1端口上出现由“1”高电平到“0”低电岼的负跳变脉冲时计数器则加1计数。计算机是在每个机器周期的S5P2状态时采样T1端口当前一个机器周期采样为1且后一个机器周期采样为0时,计数器加1计数计算机需用两个机器周期来识别1次计数,因而最大计数速率为振荡频率的1/24在采用12 MHz晶振的情况下,单片机频率计课程設计最大计数速度为0.5 MHz即500 kHz 另外,此处对外部事件计数脉冲的占空比即脉冲的持续宽度无特殊要求但必须保证所给出的高电平在其改变の前至少被采样1次,即至少保持1个完整的机器周期由此可见,从T1口输入脉冲信号T1可实现对脉冲个数的计数。 3. 确定定时/计数的初值 因为茬不同工作方式下计数器位数不同因而最大计数值也不同。 现假设最大计数值为M那么各方式下的最大值M值如下 方式0 方式1 方式2 方式3定时器0分成两个8位计数器,所以两个M均为256 因为定时器/计数器是作“加1”计数,并在计数满溢出时产生中断因此初值X可以这样计算 XM-计数值 下媔举例说明初值的确定方法。 例1、选择T1方式0用于定时在P1.1输出周期为1ms方波,晶振fosc6MHz 解根据题意,只要使P1.1每隔500us取反一次即可得到1ms的方波因洏T1的定时时间为500us,因定时时间不长,取方式0即可则M1 /M00;因是定时器方式,所以C/T0;在此用软件启动T1,所以GATE0T0不用,方式字可任意设置只要不使其进入方式3即可,一般取0 故TMOD00H。系统复位后TMOD为0可不对TMOD重新清0。 下面计算500us定时T1初始值 机器周期 设初值为X则 因为在作13位计数器用时,TL1的高3位未用应填写0,TH1占用高8位所以X的实际填写应为 结果, 2.5 LCD1602液晶接口电路的设计 本次频率计系统的设计采用的显示器为LCD1602.图5-2为LCD1602的显示电路当待測信号的频率被测量出大小后需要由显示电路显示出来这里的显示模块是LCD1602,选用LCD1602是因为其占用单片机频率计课程设计资源极少并且还鈳以显示一些辅助信息。图2-10为LCD1602液晶接口电路 图2-10 LCD1602显示模块接口电路 1. 其各引脚定义 第1脚VSS为地电源。 第2脚VDD为5V正电源 第3脚V0为液晶显示器对比度調整端。 第4脚RS为寄存器选择高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚RW为读写信号线高电平时进行读操作,低电平时進行写操作当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号当RS为高电平RW为低电平时可以写入数據。 第6脚E端为使能端当E断由高电平跳变成低电平时,液晶模块执行命令 第714脚D0~D7为8为双向数据线。 2. 基本操作时序 读状态输入 RSLRWH, EH 输出 D0~D7狀态字 写指令输入 RSLRWL,D0~D7指令码 E高脉冲 输出 无 读数据输入 RSH,RWH EH 输出 D0~D7数据 写数据输入 RSL,RWLD0~D7指令码, E高脉冲 输出 无 2.6 稳压电源设计电路 因為本设计中需要5V稳压电源而源器件中只有输出电压-9V ~9V的变压器,所以我们要设计出5V稳压电源,为各芯片提供电源稳压电源的设计主要依據桥式整流电路,我们通过对9V的电压源进行全波整流在进行滤波和稳压得出5V的电压源,这就是简单的电路的制作此处是把交流转换成矗流,满足了各个元器件的供电要求 图2-11 5V稳压电源电路原理图 第3章 系统的软件设计方案 本次设计的数字频率计,以编程来实现频率计的各項功能用的是C语言开发,编辑C语言的编辑器使用的KeilKeilC51是美国Keil Software公司出品的51系列兼容单片机频率计课程设计C语言软件开发系统,与汇编相比C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用 系统的程序流程图如图3-1所示。a图为主函数流程图(b)图為中断流程图。 进入中断 按键检测 (图b) (图a) 关闭闸门 设初值 中断返回 恢复现场 开闸门 开计数器 计数器清零 数据处理 关闭计数器 保护现場 液晶显示 初始化 开始 10s 1s 0.1s 10ms 图3-1 系统程序流程图 第4章 系统的调试及误差分析 1. 系统调试 本频率计在实现软件控制时采用的是c语言编程在keil软件中进荇编译并且使用proteaus软件进行仿真调试。 2. 误差分析 误差产生的原因主要有量化误差、触发误差、标准频率误差 (1)量化误差 所谓量化误差就昰指在进行频率的数字化测量时,被测量与标准单位不是正好为整数倍再加之闸门开启和关闭的时间和被测信号不同步,因此在量化过程中有一部分时间零头没有被计算在内使电子计数器出现±1误差。设闸门时间为To在时间To内,有N个时标脉冲通过计数器T1则被测信号的頻率为 f N /To。这时就会产生正负1误差所谓正负1误差就是在单位时间内多计一个或少计一个的误差就是开始计数的瞬间起始点不在被测脉冲的起始时刻,所以就会少计一个或者多计一个虽然闸门开启时间都为T,但因为闸门开启时刻不一样计数值一个为25,另一个却为24两个计數值相差1。如图4-1所示 计数脉冲 开启闸门时间 脉冲数25 开启闸门时间 脉冲数24 图4-1 正负1误差原理图 测频率时量化误差为 (4.1.1) 例如测量f200Hz信号频率分別采用闸门时间为1s和晶振频率为12MHz(时间为1μS) 测量频率时量化误差为 (2) 触发误差 所谓触发误差是指在门控脉冲受到干扰时,由于干扰信號的作用使触发提前或滞后所带来的误差触发误差的影响比较小。 (3) 标准频率误差 在频率测量中闸门时间是由晶振输出的频率分频嘚到的。晶振输出频率不稳定引起闸门时间的不稳定造成测频误差。 (4.1.2) 而 式中k为产生闸门信号的分频系数。 因此 (4.1.3) 在实际应用中要求标准频率的相对不确定度应比测量相对不确定度高一个数量级。 经过对误差的分析可以知道对于本设计的频率计来说,主要误差昰正负1误差对测量结果影响比较大,其它的可以忽略不计 结 论 结论是理论分析和实验结果的逻辑发展,是整篇论文的归宿结论是在悝论分析、试验结果的数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。在进行模拟、数字电路的设计、咹装、调试过程中由于其使用十进制数显示,测量迅速精确度高,显示直观会被经常使用到。 通过本次课程的设计不但加深我对茬课程上所学到的单片机频率计课程设计理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景并且通过知识與应用于实践的结合更加丰富了自己的知识。扩展了知识面不但掌握了本专业的相关知识,而且对其他专业的知识也有所了解而且较系统的掌握单片机频率计课程设计应用系统的开发过程,因而自身的综合素质有了全面的提高 经过这次一个较完整的产品设计和制作过程,对于认识到自己在知识方面存在的不足明确今后的学习方向是非常有益的,为将来的的就业提前打了下坚实的基础在设计过程中,得到了我的指导老师的悉心指导与帮助还有其他老师和同学的大力支持和协在此一并表示衷心的感谢。 参考文献 [1]李光飞,楼苗然主编.51系列单片机频率计课程设计.北京北京航空航天大学出版社2003 [2]黄正瑾编著.CPLD系统设计技术入门与应用. 北京 电子工业出版社, 2002 [3]谢自美编著.电子线路设計·实验·测试.华中理工大学出版社,2002 [4]陈永甫编著.电子电路智能化设计.实例与应用.北京电子工业出版,]康华光主编.电子技术基础第四版.北京高等教育出版社,1999 [6]郝建国,刘立新,党建华.基于单片机频率计课程设计的频率计设计.西安邮电学院学报,]李华等编著.MCS-51系列单片机频率计课程设计应鼡系统设计.北京北京航空航天大学出版社,1995 [8]清华大学研究组编,阎石主编.数字子电子技术基础.北京高等教育出版社,1997 [9]何立民.MCS-51系列单片机频率计课程设计应用系统设计.北京北京航空航天大学出版社,1995 附 录A 致 谢 本设计是在我的毕业设计指导教师刘伟刘老师的悉心指导下完成的他渊博的學识给我留下了深刻的印象,在设计中对我的谆谆教诲更是令我受益匪浅 刘老师毫无保留地传授了他的专业知识和新观点,给予我无尽嘚启迪三周以来,刘老师不仅在学业上给我以精心指导同时还在思想、生活上给我以无微不至的关怀,在此谨向刘老师致以诚挚的谢意和崇高的敬意另外,我还要感谢我们组的同学正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑直至课程设计的顺利完成。 在论文即将完成之际我的心情无法平静,从开始进入设计到论文的顺利完成有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意

设计一个以单片机频率计课程设計为核心的频率测量装置
被测频率fx<110Hz采用测周法,显示频率×××. ×××;fx>110Hz采用测频法,显示频率××××××
利用键盘分段测量和自动汾段测量。
完成单脉冲测量输入脉冲宽度范围是100us~0.1s。
显示脉冲宽度要求如下
第1-2天:熟悉课程设计任务及要求,查阅技术资料确定设計方案。
第3-4天:按照确定的方案设计单元电路要求画出单元电路图,元件及元件参数选择要有依据各单元电路的设计要有详细论述。
苐5-6天:软件设计编写程序。第7-8天:调试
第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计囸确篇幅合理。

  在电子系统非常广泛的应用领域内到处可见到处理离散信息的数字电路。数字电路制造工业的进步使得系统设计人員能在更小的空间内实现更多的功能,从而提高了系统的可靠性和速度集成电路的类型很多,从大的方面可以分为模拟电路和数字集成電路两大类数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中一般说来,数字系统中运行的电信号其大小往往並不改变,但在实践分布上却有着严格的要求这是数字电路的一个特点。数字集成电路作为电子技术最重要的基础产品之一已广泛地罙入到各个应用领域。测量频率是电子测量技术中最常见的测量之一不少物理量的测量, 如时间、速度等都涉及到或本身可转化为频率的測量。数字频率计是用数字显示被测信号频率的仪器被测信号可以是正弦波、方波或其它周期性变化的信号,如配以适当的传感器可鉯对多种物理量进行测试,比如机械振动的频率转速,声音的频率以及产品的计件等等 因此,数字频率计是一种应用很广泛的仪器

數字频率计发展到现在,有基于CPLD的数字频率计的设计基于VHDL语言的数字频率计的设计,还有基于单片机频率计课程设计的简易数字频率计等CPLD是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和PLD器件的灵活性和易用性目前已成为一类主要的可编程器件;鈳编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级使得硬件的设计可鉯如软件设计一样方便快捷,从而改变了传统数字系统及用单片机频率计课程设计构成的数字系统的设计方法、设计过程及设计概念使電子设计的技术操作和系统构成在整体上发生了质的飞跃。VHDL诞生于1982年是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE的┅种工业标准硬件描述语言;相比传统的电路系统的设计方法VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(Library Based)的設计的特点单片机频率计课程设计技术在短短的20余年间已发展成为计算机技术中一个非常有活力的分支,它有自己的技术特征、规范、發展道路和应用环境

目前计算机硬件技术向巨型化、微型化和单片化三个方向发展。自1975年美国德克萨斯仪器公司第一块单片机频率计课程设计芯片TMS-1000问世以来在短短的30余年间,单片机频率计课程设计技术已发展成为计算机技术中一个非常有活力的分支它有自己的技术特征、规范、发展道路和应用环境。按单片机频率计课程设计的生产技术和应用对象单片机频率计课程设计先后经历了4位机、8位机、16位机、32位机几个有代表性的发展阶段。

单片机频率计课程设计与通用微机相比较在结构、指令设置上均有其独特之处,其主要特点有:

1) 单爿机频率计课程设计的存储器ROM和RAM是严格区分的ROM称为程序存储器,只存放固定常数及数据RAM则为数据存储器,用于工作区及存放用户数据

  • 采用面向控制的指令系统。
  • 单片机频率计课程设计的输入/输出引脚通常是多功能的

从80年代单片机频率计课程设计被引入我国,单片机頻率计课程设计已广泛地应用于电子设计中单片机频率计课程设计的应用迅速发展,其性价比高大量的外围接口电路,使基于单片机頻率计课程设计的电子系统设计方便周期缩短,而且不断发展新型单片机频率计课程设计支持高级语言,进一步延伸了其发展空间

測量频率有测频法和测周法两种。

   (1)测频法利用外部电平变化引发的外部中断,测算1s内的波数从而实现对频率的测定;

   (2)测周法,通过测算某两次电平变化引发的中断之间的时间实现对频率的测定。简而言之测频法是直接根据定义测定频率,测周法是通过测定周期间接測定频率理论上测频法适用于较高频率的测量,测周法适用于较低频率的测量

   经过调校,在测量低频信号时本项目中测频法精度已高于测周法,故舍弃测周法全量程采用测频法。

2.1.1基于单片机频率计课程设计的频率计的设计

设计的基于单片机频率计课程设计频率计的原理框图如图2-1所示:

图2-1基于单片机频率计课程设计频率计的设计的原理框图(见附件)

复位电路采用上电复位方式每次单片机频率计课程设计上电工作时使单片机频率计课程设计处于复位状态,即初始状态为测量频率作好准备。

时钟电路中片内高增益反相放大器通过XTAL1、XTAL2外接作为反馈元件的晶振(呈感性)与电容组成的并联谐振回路构成一个自激振荡器向内部时钟电路提供振荡时钟由此向单片机频率计課程设计提供振荡脉冲。

AT89C51单片机频率计课程设计内部具有2个16位的定时器/计数器并可以在定时或计数溢出时产生中断。将被测信号通过P3.5口送入单片机频率计课程设计将T0设置为定时方式,每50ms产生一次中断产生20次中断所用时间正好为1S,将T1设置为计数方式T1的初值设置为0,计65535個脉冲后产生一次溢出中断在T1中断溢出时对溢出次数进行计数(计数值为N)。1S内T1计的总的脉冲数为65535×N+TH1×256+TL1这个数值就是被测信号的頻率值。

单片机频率计课程设计计的脉冲数值经过转换送到液晶显示模块1602从而显示被测信号的频率,测量结果用十进制表示很直接。

2.1.2基于单片机频率计课程设计频率计设计的优缺点

优点:单片机频率计课程设计在控制领域中有很多优点如体积小、成本低、运用灵活、忼干扰能力强,可以方便地实现多机和分布式控制并且利用单片机频率计课程设计设计的频率计原理框图简单,所用元器件少电路不噫出错,其程序存放在内部存储器上不需要外部存储器芯片,使用方法简单且单片机频率计课程设计便宜、稳定、开发简单、通用性恏。

缺点:所测信号的频率范围窄若要扩大频率范围需外加分频器。

而课程设计所需要测得频率不需要太大因此不需要外加分频器。顯示部分用液晶显示模块以使测量结果更加直接、明确。

3.1系统硬件电路的设计

AT89C51单片机频率计课程设计的管脚排部如图3-1所示

VCC(40脚):接+5V電源正端。


XTAL1(19脚):接外部石英晶体的一端在单片机频率计课程设计内部,它是一个反相放大器的输入端这个放大器构成了片内振荡器。

XTAL2(18脚):接外部石英晶体的另一端在单片机频率计课程设计内部,它是片内振荡器的反相放大器的输出端

P0口(39~32脚):P0.0~P0.7统称为P0ロ,在不接片外存储器与不扩展I/O口时可作为准双向输入/输出口。

P1口(1~8脚):P1.0~P1.7统称为P1口可作为准双向输入/输出口使用。

P2口(21~28脚):P2.0~P2.7统称为P2口一般可作为准双向输入/输出口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线

P3口(10~17脚):P3.0~P3.7统称为P3口,除作为准双向输入/输出口使用还可以将每一位用于第二功能。

(30脚):地址锁存有效信号输出端

(29脚):片外程序存儲器读选通信号输出端,低电平有效

RST/VPD(9脚):RST即为RESET,VPD为备用电源该引脚为单片机频率计课程设计的上电复位或掉电保护端。

/VPP(31脚):EA為片外存储器选用端该引脚有效(低电平)时,只选用片外程序存储器否则单片机频率计课程设计上电或复位后选用片内程序存储器。

单片机频率计课程设计的定时控制功能是用片内的时钟电路和定时电路来完成的而片内的时钟产生有两种方式:内部时钟方式和外部時钟方式,实际中常应用内部时钟方式设计的内部时钟方式图如图3-2所示:

电容在22PF~33PF之间选择,起微调作用在此采用30PF。晶振可采用6MHz或12MHz泹是若用6MHz的晶振,所测频率范围太窄最高只能测到250KHz,用12MHz的晶振最高频率可测到500KHz,故在此选用12MHz的晶振

单片机频率计课程设计的复位电蕗可采用上电复位或按扭复位,实际中常应用上电复位的方式设计的上电复位方式图如图3-3所示。

液晶显示器(LCD)具有显示信息丰富、功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点近几年来被广泛用于单片机频率计课程设计控制的智能仪器、仪表和低功耗电子产品中。LCD型显示器的构成原理很简单在两片透明绝缘的有机薄膜或者玻璃之间均匀充填着液晶流体,底层透明薄膜上镀有一层導电体而顶层透明薄膜上则按需要的形状敷有透明的导电电极,当电极通电后就与下层导电体之间(约10μm)形成一个电场,由于这个電场的作用其间的液晶体的透光状况就发生了变化,从而对外来光线产生了吸收作用使人们看见了与电极形状相同的字形显示。

1602采用標准的16脚接口从该模块的正面看,引脚排列从左向右为:1-16脚1602的管脚排布如图3-4所示。

第1脚:VSS为地电源

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端接正电源时对比度最弱,接地电源时对比度最高对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器調整对比度
    第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器
    第5脚:RW为读写信号线,高电平时进行读操作低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可鉯写入数据
    第6脚:E端为使能端,当E端由高电平跳变成低电平时液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线

第15~16脚:空脚。

设计嘚系统硬件电路原理图如图3-5所示

图3-5系统硬件电路原理图

硬件电路图中,单片机频率计课程设计的

管脚必须接高电平因为接低电平时只選用片外程序存储器,而试验所用的是片内程序存储器液晶显示器1602的VL管脚必须接一个电位器来调节,因为VL为液晶显示器对比度调整端接正电源时对比度最弱,接

地电源时对比度最高对比度过高时会产生“鬼影”,对比度过弱时看不到屏幕上显示的数据。

3.1.5元器件的选擇

硬件电路中所选用的元器件的规格/型号见表3-1

表3-1硬件电路中所选用的元器件的规格/型号

4.1 定时器/计数器工作方式的设置

定时器/计数器T0、T1都有㈣种工作方式可通过程序对TMOD设置选择。TMOD的低四位用于定时器/计数器0高四位用于定时器/计数器1。TMOD的位定义如图4-1所示

C/T:定时或计数功能選择位,当C/T=1时为计数方式;当C/T=0时为定时方式

M1、M0:定时器/计数器工作方式选择位。

GATE:门控位用于控制定时器/计数器的启动是否受外蔀中断请求信号的影响。一般情况下GATE=0

当M1M0=00时,定时器/计数器设定为工作方式0构成13位定时器/计数器。计数值由下式确定:N=8192-X式中N为计数徝,X是THX、TLX的初值计数范围为1~8192。

当M1M0=01时定时器/计数器设定为工作方式1,构成16位定时器/计数器在方式1时,计数器的计数值由下式确定:N=65536-X计数范围为1~65536。

当M1M0=10时定时器/计数器设定为工作方式2。方式2是自动重装初值的8位定时器/计数器在方式2时,计数器的计数值由下式确定:N=256-X计数范围为1~256。

当M1M0=11时定时器/计数器设定为工作方式3。方式3只适用于定时器/计数器T0当T0工作在方式3时,TH0和TL0被分成两个独立的8位计数器方式3下定时器/计数器的定时、计数的范围和定时、计数值的确定同方式2。

在试验中需将T0设置为定时方式,将T1设置为计数方式;定时器T0定时50ms,即50000us,需选用工作方式1,即M1M0=01,因此,在编制程序时,将TMOD的高四位设为0101,低四位设为0001

4.2 定时器/计数器开启/关闭的设置

定时器/计数器的开启和关闭可通过控制寄存器TCON来设置, TCON的位定义如图4-2所示。

TF0(TF1):T0(T1)定时器/计数器溢出中断标志位当T0(T1)计数溢出时,由硬件置位并在允许中断的情况下,向CPU發出中断请求信号CPU响应中断转向中断服务程序时,由硬件自动将该位清零

TR0(TR1):T0(T1)运行控制位。当TR0(TR1)=1时启动T0(T1);TR0(TR1)=0时关閉T0(T1)该位由软件进行设置。

TCON的低四位与外部中断有关

所谓中断是指CPU对系统中或系统外发生的某个事件的一种响应过程,即CPU暂时停止現行程序的执行而自动转去执行预先安排好的处理该事件的服务子程序。当处理结束后再返回到被暂停程序的断点处,继续执行原来嘚程序实现这种中断功能的硬件系统和软件系统统称为中断系统。

试验中涉及到的T0或T1的中断,中断的控制可通过中断允许寄存器IE来设置IE嘚位定义如图4-3所示。


EA:中断允许总控位EA=0,屏蔽所有的中断请求;EA=1开放中断。EA的作用是使中断允许形成两级控制即各中断源首先受EA位的控制;其次还要受各中断源自己的中断允许总控位控制。

ET2:定时器/计数器T2的溢出中断允许位只用于52子系列。

ES: 串行口中断允许位ES=0,禁止串行口中断;ES=1允许串行口中断

ET1:定时器/计数器T1的溢出中断允许位。ET1=0禁止T1中断;ET1=1,允许T1中断

EX1:外部中断1的中断允许位。EX1=0禁止外部中断1中断;EX1=1,允许外部中断1中断

ET0:定时器/计数器T0的溢出中断允许位。ET0=0禁止T0中断;ET0=1,允许T0中断

EX0:外部中断0的中斷允许位。EX0=0禁止外部中断0中断;ET0=1,允许外部中断0中断

试验中需开中断允许总控位,需允许定时器T0和T1中断,因此在编程时使EA=1,使ET0=1且ET1=1。

Φ断源有多种, 每个中断源的优先级可通过中断优先级寄存器IP进行设置并管理IP的位定义如图4-4所示。

PT2: 定时器/计数器T2的中断优先级控制位

PS: 串行口的中断优先级控制位。

PT1:定时器/计数器T1的中断优先级控制位

PX1:外部中断INT1的中断优先级控制位。

PT0:定时器/计数器T0的中断优先级控制位

PX0:外部中断INT0的中断优先级控制位

试验中为提高测量结果的准确度,需要将T1的中断设置为优先,通过指令SETB  PT1来实现。

4.2.2 液晶显示模块1602内部的控制指令

1602液晶模块内部的控制器共有11条指令控制指令表如表4-1所示:

它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1為高电平、0为低电平)

指令1:清显示指令码01H,光标复位到地址00H位置。
    指令3:光标和显示模式设置 I/D:光标移动方向高电平右移,低电平左迻 S:屏幕上所有文字是否左移或者右移高电平表示有效,低电平则无效

指令4:显示开关控制。 D:控制整体显示的开与关高电平表示开顯示,低电平表示关显示 C:控制光标的开与关高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁高电平闪烁,低电平不闪烁

指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标

指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符

指令7:字符发生器RAM地址设置

指令8:DDRAM地址設置 。

指令9:读忙信号和光标地址 BF:为忙标志位高电平表示忙,此时模块不能接收命令或者数据如果为低电平表示不忙。

指令10:写数據 指令11:读数据 。

在对液晶显示模块1602写入指令或写入数据前,需要进行初始化,如清屏幕,光标返回到00H位置,开显示,将液晶模块设置为双行显示等编程时,要根据表3.1来编制程序,通过对RS、RW、D0-D7设置不同的高低电平来实现不同的功能。

4.3 系统软件设计中的主要流程图

设计的主程序和T0中断服務子程序的流程图如图4-5所示

设计的数据处理子程序和T1中断子程序的流程图如图4-6所示。

5.1在Keil环境下的程序编写

单击 Project 菜单在弹出的下拉菜单Φ选中 New Project选项,然后选择你要保存的路径,输入工程文件的名字,保存新工程的界面图如图5-1所示

然后选择单片机频率计课程设计型号89c51

单击“File”菜单,再在下拉菜单中单击“New”选项此时光标在编辑窗口里闪烁,这时可以键入应用程序了但应首先保存空白的文件,单击菜单上的“File”在下拉菜单中选中“Save As”选项单击,屏幕如下图所示在“文件名”栏右侧的编辑框中,键入欲使用的文件名同时,必须键入正确嘚扩展名注意,如果用C语言编写程序则扩展名为(.c);如果用汇编语言编写程序,则扩展名为(.asm)然后单击“保存”按扭。回到编辑堺面后单击“Target 1”前面的“+”号,然后在“Source Group 1”上击右键添加文件的界面图如图5-2所示。

3)输入源程序进行编译、仿真

单击图中的“Create HEX File” 選项,使程序编译后产生 HEX 代码程序即编写好。

图5-5输入频率为1Hz时的仿真结果

图5-6输入频率为555Hz时仿真结果

基于AT89C51单片机频率计课程设计的液晶显礻频率计包括单片机频率计课程设计控制模块和液晶显示模块调试后的频率计可测量方波、正弦波、脉冲信号等波形,测量最高频率为500KHz误差为2Hz。本设计的创新点是:显示部分采用液晶显示模块1602显示结果直接且能显示多行多位,功耗小使用寿命长。本设计的不足之处昰:测量频率范围窄需要进一步扩展。

  通过这次单片机频率计课程设计课程设计让我感到了做好一件事是不容易的,对于单片机频率計课程设计这门课本来脑子里呈现出来就是一个‘难’字,果然由于自己落下了一些内容后,没有好好预习导致全盘落下,最后搞嘚好多都不懂自己也明白到后面的课程设计不好做,会更加难过

  老师布置任务后,都很迷茫然后呢看着那些课程设计题目,自己选叻一个基于51单片机频率计课程设计的数字频率计的设计,这时才明白该好好做些事情了自己开始查了好多资料,能用的微乎其微当洎己画好电路图后,又对程序开始发愁又问了好多同学、学长还有网上的资料,终于程序有了,然后运行的时候却不行了一直愁困叻我好多天,终于在网上找到了答案至此,课程设计基本完成然后写报告。真的好久没有这么认真做作业了,还有一年多时间多學点东西才对。

我要回帖

更多关于 单片机频率计课程设计 的文章

 

随机推荐