用AT89C51制作八位数字频率计源程序

合集下载

基于AT89C51单片机实现的数字频率计设计

基于AT89C51单片机实现的数字频率计设计

目录第1章绪论 (2)1.1 摘要 (2)1.2 本设计任务和主要内容 (2)第2章元器件选型 (3)2.1 主控制器选择 (3)2.2 计时方案选择 (3)2.3 显示方案选择 (3)2.4 扩展接口选择 (4)第3章系统硬件电路设计 (4)3.1 系统原理框图 (4)3.2 时钟电路和复位电路 (5)3.3 基本电路设计 (6)3.4 数码管显示电路设计 (6)3.5 频率发生电路设计 (8)3.6 电源电路设计 (8)第4章程序流程图与源程序 (9)4.1 程序流程图 (9)4.2 主程序 (10)第5章系统功能分析与说明 (13)5.1 频率计的概述 (13)5.2 频率计的工作原理 (13)5.3 设计思想 (13)5.4 软硬件调试 (13)5.5 系统功能分析 (14)第6章课程设计总结 (14)参考文献 (14)附录 (15)第 1 章绪论1.1 摘要本文设计了一种以单片机AT89C51为核心的数字频率计。

介绍了单片机、数字译码和显示单元的组成和工作原理。

测量时,将被测输入信号送给单片机,通过程序控制计数,结果送8279驱动数码管显示频率值。

频率计具有电路结构简单、成本低、测量方便、精度较高等特点。

适合测量低频信号。

系统简单可靠、操作简易,能基本满足一般情况下的需求。

既保证了测频精度,又使系统具有较好的实时性。

本频率计设计简洁,便于携带,扩展能力强,适用范围广。

【关键字】:频率计、单片机、LED显示1.2 本设计任务和主要内容一、设计题目设计一个频率计,数字显示格式:X X X X。

二、设计内容与要求1、通过定时器计数方式采集频率信号。

2、通过8279在4位数码管上显示频率大小。

三、设计目的1.通过亲身的设计应用电路,将所用的理论知识应用到实践中,增强实践动手能力,进而促进理论知识的强化。

2.通过频率计的设计系统掌握51单片机的应用。

掌握采集频率与数码显示软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入EPROM并进行调试等。

基于at89c51单片机的频率计设计方法的研究

基于at89c51单片机的频率计设计方法的研究

基于at89c51单片机的频率计设计方法的研究【基于at89c51单片机的频率计设计方法的研究】一、引言在现代科技日新月异的今天,单片机作为一种微型计算机,已经被广泛应用于各个领域。

其中,at89c51单片机以其稳定、可靠、易用的特点,成为了广大电子爱好者和专业技术人员的首选。

频率计作为一种常见的电子测量仪器,通过对信号的计数或者对波形的周期进行时间测量,能够准确测量信号的频率。

基于at89c51单片机的频率计设计方法成为了研究的焦点。

二、基本原理1. at89c51单片机简介at89c51单片机是一款典型的8位微控制器,具有4 KB 的内部Flash 可编程存储器。

它集成了许多功能模块,包括定时器、串行总线接口、模数转换器等,非常适合用于频率计的设计。

2. 频率计的基本原理频率计主要通过计数或者时间测量来确定信号的频率。

在基于at89c51单片机的设计中,一般采用定时器/计数器模块来实现频率的测量。

三、设计方法1. 信号输入在频率计的设计中,首先需要考虑的是信号的输入。

可以通过外部引脚的方式输入信号,也可以通过模拟输入口进行信号的输入。

2. 信号计数利用at89c51单片机的定时器/计数器模块,可以很方便地对输入的信号进行计数。

通过对计数值的读取和处理,可以得到信号的频率。

3. 显示输出设计一个合适的显示模块,将测得的频率值以数字或者图形的方式呈现给用户,从而实现频率的测量和显示。

四、关键技术1. 定时器/计数器模块的应用at89c51单片机的定时器/计数器模块是实现频率计的关键。

通过合理的配置和使用,可以实现对复杂信号的准确测量。

2. 中断技术的应用在频率计的设计中,中断技术可以帮助我们实时地对信号进行处理,提高系统的实时性和准确性。

3. 数字滤波技术对于输入的信号,往往存在噪声和干扰,因此需要借助数字滤波技术对信号进行处理,提高测量的精度和稳定性。

五、实际应用基于at89c51单片机的频率计设计方法已经在许多实际应用中得到了广泛的应用。

基于AT89C51的频率计设计

基于AT89C51的频率计设计

基于AT89C51的频率计设计第一章绪论;随着微电子技术和计算机技术的迅速发展,特别是单片;采用不同的测量原理,可以设计出不同结构的频率测量;通常能对频率和时间两种以上功能测量的数字化测量仪;1.1频率计的概述;数字频率计是计算机、通讯设备、音频视频等科研生产;本数字频率计将采用定时、计数的方法测量频率,采用;1.2频率计的主要性能;1.2.1.测试功能;它表明数字频率计所具备的全部测试第一章绪论随着微电子技术和计算机技术的迅速发展,特别是单片微机的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。

频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。

对石英晶体振荡器,各种信号发生器,各种倍频和分频电路输出信号的频率需要测量;广播,电视,电讯,微电子技术等现代化的科学领域,更需要进行频率测量。

采用不同的测量原理,可以设计出不同结构的频率测量仪器,所以按测量原理来分,数字频率计可分为谐振式,比较式和计数式三类;按选用电路形式来分,它又可以分为模拟式和数字式两类。

通常能对频率和时间两种以上功能测量的数字化测量仪器,称为数字频率计,有时也称为通用计数器或电子计数器。

当前较多采用的是数字频率计。

计数式频率计是基于时间或频率的A/D转换原理,并依赖于数字计数技术发展起来的一类新型数字仪器。

与其他电子仪器一样,数字频率计也经历了电子管,晶体管和集成电路等几个阶段,其性能日臻完善,功能不断扩大,若配以适当的插件或传感器,还可以对多种电量和非电量进行测量。

1.1 频率计的概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

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

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

在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。

基于AT89C51单片机嵌入式频率计的设计

基于AT89C51单片机嵌入式频率计的设计

基于AT89C51单片机嵌入式频率计的设计嵌入式频率计是一种用于测量频率的仪器,通常由单片机、显示屏、电源和输入输出接口等组成。

本文将以AT89C51单片机为核心,设计一种基于AT89C51单片机的嵌入式频率计。

首先,我们需要了解AT89C51单片机的特点和基本原理。

AT89C51是一款高性能、低功耗的8位CMOS单片机,具有4KB的闪存和128字节的数据RAM。

该单片机采用经典的8051核心,具备强大的计时/计数功能,适合于频率计的设计。

其次,我们需要确定输入输出接口和显示屏的类型和规格。

对于频率计来说,常用的输入方式有脉冲输入和信号输入,输出方式一般为显示屏或串口输出。

根据实际需求选择适合的输入输出接口和显示屏类型。

接下来,我们需要编写程序来实现频率计的功能。

首先,通过配置单片机的IO口为输入或输出,将脉冲输入连接到IO口上。

利用单片机的计时/计数功能,统计脉冲的数目,并将其转换成频率值。

然后,将频率值显示在显示屏上,以便用户查看。

在编写程序时,需要考虑到时钟频率和计数器的精度。

可以通过设置单片机的时钟频率,提高计数的精度。

同时,还可以根据实际情况选择合适的计数器,以适应不同的频率范围。

此外,还可以增加一些附加功能,如保存测量结果、设置警报阈值等。

通过设置相应的变量和标志位,可以实现这些功能,并通过显示屏或串口输出进行反馈。

最后,我们需要进行硬件连接和软件开发。

将单片机与显示屏、输入输出接口等相连,进行适当的调试和测试。

在开发过程中,需要注意硬件和软件的一致性,并及时修正错误和缺陷。

总之,基于AT89C51单片机的嵌入式频率计是一种简单而实用的测量仪器。

通过合理的硬件设计和软件开发,可以实现准确、稳定的频率测量,并具备一定的附加功能。

这种频率计不仅适用于实验室、工厂和仪表等领域,还可以用于学习和教育等用途。

基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计
计数器是一种常见的电子设备,用于实现对输入信号的计数。

基于AT89C51单片机的计数器设计,可以实现对输入信号的计数,并且可以将计数结果显示出来。

我们需要准备以下器件和材料:
1. AT89C51单片机:这是一款8位微控制器,具有丰富的输入输出功能。

2. 数码管:用于显示计数结果。

3. 按钮开关:用于输入计数信号。

接下来,我们可以按照以下步骤进行计数器的设计。

1. 连接电路:将数码管和按钮开关分别与AT89C51单片机的IO口相连。

数码管的引脚与单片机的IO口相连,按钮开关一个端接地,另一个端接单片机的IO口。

2. 编写程序:使用汇编语言或C语言编写单片机的程序。

可以使用单片机的计时器中断来实现计数功能。

在程序中,首先需要初始化单片机,并将IO口设置为输入或输出。

3. 实现计数功能:在程序中,通过判断按钮开关的状态,来决定是否对计数器进行加一或减一操作。

当按钮开关按下时,将计数器加一或减一,并将计数结果显示在数码管上。

4. 程序调试:将程序下载到单片机上,并连接电源。

通过按下按钮开关,观察数码管上计数结果的变化,可以判断程序的正确性。

如果发现计数结果不正确,可以通过调试程序来解决问题。

5. 优化设计:根据实际需求,可以对计数器的功能进行优化。

可以增加清零按钮,用于将计数器清零;可以增加计数范围限制,当计数器达到上限或下限时,禁止继续计数。

基于89C51单片机的可自选量程的数字频率计设计

基于89C51单片机的可自选量程的数字频率计设计

1 引言单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度[1]。

51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和皮鞭接受及应用,51系列单片机还会在继后很唱一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用时非常重要的。

随着电子技术的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。

推动该潮流迅猛发展的引擎上日趋进步和完善的设计技术。

目前数字频率计的设计可以直接面向用户要求,根据系统的行为和功能要求,自上至下的逐层挖不出个办法相应的描述、综合、优化、仿真与验证,知道生成期间。

上述设计过程除了系统行为和功能描述以外。

其余所有的设计过程几乎都可以用计算机来自动的完成,也就是说做到了电子设计自动化(EDA)。

这样做可以大大地缩短系统的设计周期,以适应当今品种多,批量下的电子市场的需求,提高产品的竞争能力。

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。

随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用汇编语言。

将使整个系统大大简化。

提高整体的性能和可靠性。

本文用汇编语言在CPLD器件上实现一种8 b数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。

具有体积小、功耗低等特点。

2 系统概述2.1 数字频率计的概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

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

基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计AT89C51单片机是一种常用的8位单片机,具有计数器功能。

本文将介绍基于AT89C51单片机的计数器设计。

计数器是一种常用的电子设备,用于统计某个事件发生的次数。

在数字电子技术中,计数器可以通过使用触发器和逻辑门来实现。

在AT89C51单片机中,可以通过编程控制来实现计数器功能。

我们需要通过编程配置AT89C51单片机的IO口,使其能够作为计数器的输入和输出端口。

我们可以使用P1口作为计数器的输入端口,通过外部信号来触发计数器的计数动作。

我们可以使用P2口作为计数器的输出端口,将计数结果显示出来。

接下来,我们需要编写程序来实现计数器的功能。

程序的基本思路是通过中断来实现计数器的自动计数。

当接收到外部信号时,中断服务程序会自动执行,对计数器的计数值进行更新,并将结果输出到P2口。

我们可以通过按键来控制计数器的启动和暂停。

具体编程步骤如下:1. 配置P1口和P2口为输入和输出模式,分别作为计数器的输入和输出端口。

2. 初始化计数器的计数值为0。

3. 配置中断,并编写中断服务程序。

中断服务程序在接收到外部信号时,会自动执行,对计数器的计数值进行更新,并将结果输出到P2口。

4. 编写按键处理程序。

按键处理程序会检测按键的状态,如果按下则启动计数器,再次按下则暂停计数器。

5. 主程序中,循环检测按键状态,并根据按键状态调用相应的处理程序。

通过以上步骤,我们可以实现基于AT89C51单片机的计数器设计。

这个设计可以广泛应用于各种计数需求的场合,如物料计数、人员计数等。

基于AT89C51单片机的计数器设计具有成本低、可靠性高等优点,适合在工业控制和自动化领域进行应用。

基于AT89C51单片机的计数器设计是一项有趣且实用的工程,通过合理的硬件配置和编程设计,可以实现各种计数需求的应用。

采用AT89C51单片机的数字频率计设计

采用AT89C51单片机的数字频率计设计

采用A T89C51单片机的数字频率计设计编辑:D z3w.C o m文章来源:网络我们无意侵犯您的权益,如有侵犯请[联系我们]采用A T89C51单片机的数字频率计设计概述:设计一种以单片机A T89C51为核心的数字频率计,介绍了单片机、数字译码和显示单元的组成及工作原理。

测量时,将被测输入信号送给单片机,通过程序控制计数,结果送译码器74-L S145与移位寄存器74L S164,驱动L E D数码管显示频率值。

通过测量结果对比,分析了测量误差的来源,提出了减小误差应采取的措施。

频率计具有电路结构简单、成本低、测量方便、精度较高等特点,适合测量低频信号。

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率计在教学、科研、测量仪器、工业控制等方面都有较广泛的应用。

测量频率的方法有多种,其中电子计数测量频率具有精度高、使用方便、测量迅速,以及便于实现测量自动化等优点,是频率测量的重要手段之一。

本设计就是用计数的方法,以单片机A T89C51为控制核心,充分利用其软硬件资源,设计并制作了频率计的计数、显示部分。

1测频设计原理频率计测频原理方框图如图1所示。

被测输入信号通过脉冲形成电路进行放大与整形(可由放大器与门电路组成),然后送到单片机入口,单片机计数脉冲的输入个数。

计数结果经L E D 数码管显示,从而得到被测信号频率。

2元器件选择与使用2.1单片机选择单片机A T89C51是因为有编程灵活、易调试的特点,而且A T89C51的引脚较多,利于电路的展。

它集成了C P U,R A M,R O M,定时器/计数器和多功能I/0口等一台计算机所需的基本功能部件,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含两个外中断口,两个16位可编程定时计数器,两个全双工串行通信口。

其片内集成了4K B的F L A S H P E R O M用来存放应用程序,这个F L A S H程序存储器除允许一般的编程器离线编程外,还允许在应用系统中实现在线编程,并且还提供了对程序进行三级加密保护的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《用AT89C51制作八位数字频率计》一文的完整程序清单及注释ORG 00H ;指定下条指令的地址AJMP MAIN ;跳转至MAIN50MINC 23HRETIORG 001BH ;定时器T1中断入口,T1作定时,T0作计数PUSH A ;累加器A压入堆栈PUSH PSW ;状态寄存器压入堆栈DJNZ 40H,JJ ;产生1s定时时标MOV 40H,#0C8HDJNZ 41H,JJCLR P3.1 ;关闭闸门ANL 88H,#0AFH ;1s末,关闭T0和T1MOV 20H,P1MOV 21H,TL0 ;T0计数值送21H和22HMOV 22H,TH0SETB P3.0 ;LS393清零ACALL COUNT ;调用二进制转BCD码程序JJ: POP PSWPOP ARETIORG 50H ;以下程序从地址50H开始MAIN: MOV SP,#50H ;将初始值赋予SPMOV TH1,#06H ;将初始值赋予TH0MOV TL1,#06H ;将初始值赋予TL0 MOV TMOD,#25H ;设定时器方式SETB TR0 ;启动计数器0SETB TR1SETB EASETB ET1SETB ET0MOV 40H,#0C8HMOV 41H,#28HMOV 30H,#78HMOV 31H,#56HMOV 32H,#34HMOV 33H,#12HMOV R2,#00HMOV 23H,#00HHERE: MOV DPTR,#TABLE ;动态扫描程序CLR CMOV A,R2RLC AJMP @A+DPTRTABLE: AJMP PG0AJMP PG1AJMP PG2AJMP PG3AJMP PG4AJMP PG5AJMP PG6AJMP PG7PG0: MOV A,33H ;显示最高位 SWAP AANL A,#0FH ;屏蔽高四位GG: MOV DPTR,#BOOKMOVC A,@A+DPTRMOV P2,#0FFH ;关闭段显示 MOV P0,#01HMOV P2,AAJMP GOPG1: MOV A,33HANL A,#0FHMOV DPTR,#BOOKMOVC A,@A+DPTRMOV P2,#0FFHMOV P0,#02HMOV P2,AAJMP GOPG2: MOV A,32HSWAP AANL A,#0FHMOV DPTR,#BOOKMOVC A,@A+DPTRMOV P2,#0FFHMOV P0,#04HMOV P2,AAJMP GOPG3: MOV A,32HANL A,#0FHMOV DPTR,#BOOKMOVC A,@A+DPTRMOV P2,#0FFH MOV P0,#08HMOV P2,AAJMP GOPG4: MOV A,31HSWAP AANL A,#0FHMOV DPTR,#BOOK MOVC A,@A+DPTR MOV P2,#0FFHMOV P0,#10HMOV P2,AAJMP GOPG5: MOV A,31HANL A,#0FHMOV DPTR,#BOOKMOVC A,@A+DPTR MOV P2,#0FFHMOV P0,#20HMOV P2,AAJMP GOPG6: MOV A,30HSWAP AANL A,#0FHMOV DPTR,#BOOK MOVC A,@A+DPTR MOV P2,#0FFHMOV P0,#40HMOV P2,AAJMP GOPG7: MOV A,30HANL A,#0FHMOV DPTR,#BOOK MOVC A,@A+DPTR MOV P2,#0FFHMOV P0,#80HMOV P2,AMOV R2,#00HAJMP GO1GO: INC R2GO1: ACALL DELAYAJMP HERE;多(四)字节二转十,经验证运行正确;入口R0为二进制低位字节地址指针,R7为字节数;出口R1为BCD码结果低位字节地址指针COUNT: MOV R0,#20HMOV R1,#30HMOV R7,#04HBMBCD: MOV A,R0MOV R5,AMOV A,R1MOV R6,AMOV A,R7MOV R3,AINC R3CLR ACLBCD: MOV @R1,AINC R1DJNZ R3,CLBCDMOV A,R7MOV B,#08HMUL ABMOV R3,ALP0: MOV A,R5MOV R0,AMOV A,R7MOV R2,ACLR CLP1: MOV A,@R0RCL AMOV @R0,AINC R0DJNZ R2,LP1MOV A,R6MOV R1,AMOV A,R7MOV R2,AINC R2LP2 MOV A,@R1ADDC A,@R1DA AMOV @R1,AINC R1DJNZ R2,LP2DJNZ R3,LP0MOV A,R6MOV R1,AMOV 41H,#28HMOV 40H,#0C8H MOV TH1,#06HMOV TL1,#06H MOV TH0,#00HMOV TL0,#00HMOV 23H,#00HORL 88H,#50H ;启动T1/T0 CLR P3.0NOP ;时间微调NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPSETB P3.1 ;开闸门RETDELAY: MOV 70H,#05H ;延时子程序DDE: MOV 71H,#55HDE: DJNZ 71H,DEDJNZ 70H,DDERETBOOK: DB 0C0H,0F9H,0A4H,0B0H,99H ;字段代码 DB 92H,82H,0F8H,80H,90HEND为了实现智能化的电子计数测频,实现一个宽领域、高精度的频率计,一种有效的方法是运用单片机测量频率。

采用单片机、接口芯片以及分频电路实现频率的自动分频。

根据计数值、分频系数,求出周期T,得到待测频率。

2 C51语言使用中几个关键问题在数字频率计中,没有采用常用的汇编语言,全部软件用C语言编程。

8051单片机的C语言编译器简称C51。

C51程序有且仅有一个名为main的主程序。

(l)用#include在C语言源程序中包含库文件。

例如:#include〈reg51.h〉(2)为了能直接访问特殊功能寄存器SFR,C51提供了一种自主形式的定义方法,这是标准C语言中所没有的,仅适于单片机编程。

例如:sfr TMOD=OX89;(3)对于片外的I/O扩展,用“#define',语句进行定义。

如:#define PORT A XBYTE[0xffc0];(4)实时中断程序的编程方法。

中断函数的声明方法如下:void<函数名>(void)interrupt【中断向量代号][using[内部寄存器组代号]3 数字频率计主程序设计在主程序中声明库文件,定义8155的口地址和所有全局变量。

显示函数说明以及定时器和8155的初始化。

点亮启动标志灯。

设置外部中断为边沿触发。

设置分频系数初值并测周期。

进行分频系数的判断,读周期值并将其转换成频率。

调用显示程序,完成显示频率的功能。

#include#include#include#define uchar unsigned char#define uint unsigned int#define COM8155XBYTE[0x2000]#define PA8155XBYTE[0x2001]#define PB8155XBYTE【0x2002]#define PC8155XBYTE[0x2003]float fre; float mid,total,v,c,guint j=0,par=0x01,fen2=0x80,fenl=0x00.p;bit rflag1,rflag2;在使用C51语言中,absacc.h和reg51.h是不可缺少的。

这两个文件定义了单片机的所有寄存器和端口。

上述程序中还定义8155的各个口地址,便于C51编译器按8155的实际硬件结构,建立I/O变量名与其实际地址的对应关系。

下面程序是函数说明和初始化:void main(void)(uint k=0;/*给循环变量赋初值*/void show(void);/*显示函数说明*/TMOD=0x10;/*定时器1方式1,GATE=0*/COM8155=0xof; /*8155的工作方式控制字*/PB8155=fen1;/*分频初值赋予8155的PB口*/PC8155=0x06p/*点亮启动标志灯*/PA8155=0x80;EA=1;IT1=1;ET1=1;PX1=1;/*开中断,4 数字频率计显示程序设计在显示程序中,要设定字型数码数组,判断频率值的单位,并将其分为Hz,KHz,MHz。

判断频率值的整数部分和小数部分的位数,显示频率值和单位数量级标志灯。

小数点处理显示程序如下:PC8155=0x07;PA8155=table[s[6]];c=0;while(c〈10000)(++c;);PA8155=0x00;PC8155=0x065if(n==O)(PA8155=0x005;PA8155=0x01;);c=0;while(c<1000)(++c;);if(n==1)(PA8155=0x00;PA8155=0x02;);c=0;while(c<1000)(++c;);if(n==2)(PA8155=0x00;PA8155=0x04;);c=0;while(c<1000)(++c;);i++;小数点处理程序中由高位到低位,逐位显示频率值。

每显示一位数,要有一个C循环语句进行适当的延时,并将8155的PA口清零,保证下一次的显示。

显示的方法是数组s[8]的每个值作为字形码数组table[]的下标,在table[]数组中找到自己对应的字形码,送至8155的PA口。

最后根据n的值,确定所显示的频率值的单位数量级。

5 结论本文的工作基础是应用单片机设计的数字频率计。

利用C语言进行单片机应用系统数字频率计的设计,不仅编程简单,精度高,而且避免了汇编语言在进行乘除法运算时要考虑采用浮点运算的要求。

与汇编语言相比编程语句大大减少。

数字频率计的全部软件均经过了调试。

并进行了误差分析。

频率的测量范围从1Hz到1MHz,具有一定的实用价值。

相关文档
最新文档