




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应 用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作 可靠,使用方便等特点,因此越来越广泛地应用各个领域. 本文的频率计系统是以单片机(AT89C51)为核心,利用AT89C51单片机的T0 和T1的定时计数功能来完成对输入的信号进行频率计数,由时基集成电路 NE555P、四位共阴极数码管等元器件以及C语言程序组成。具体介绍应用Proteus 的ISIS软件进行单片机系统的频率设计与仿真的实现方法,以及Keil软件的编译 与应用。该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设 计的效率和质量,降低开发成本,具有推广价值。 关键词:AT89C51 NE555 频率计 ABSTRACT ABSTRACT In recent years, with computers in the infiltration and the development of large- scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliable, easy to use features, it is particularly suited to and control of the system, increasingly widely used in various fields. This article describes an Frequency Counter is single-chip microcomputer (AT89C51) as the core, the Timer IC NE555, 7SEGMENT display led components, and the C language programming,such as .Describes the application of Proteuss ISIS software of the electronic single-chip system clock to achieve the design and simulation methods in details, and the application and coding of Keil.The method can not only test the property of the system precisely,but also improve development efficiency and reduce development cost,which values in popularity. Keywords: AT89C51 NE555 Frequency Counter 目录i 目 录 第一章第一章绪绪 论论.1 1.1引言.1 1.2单片机简介.1 1.2.1单片机概述.2 1.2.2单片机与单片机系统.2 1.2.2单片机的产生和发展.3 1.2.2单片机应用领域.4 1.2.2MCS-51 单片机5 1.3频率计数器概述.6 1.4PROTEUS软件简介7 1.5C 语言简介 .8 1.6KEILC51 软件开发系统简介9 第二章第二章系统设计系统设计.11 2.1频率计数器器件选择.11 2.1.1AT89C51 单片机简介11 2.1.2定时电路 NE555 15 2.1.3数码管.17 2.2频率计数器系统设计流程.19 第三章第三章硬件电路设计硬件电路设计.21 3.1频率计数器 PROTEUS电路图设计.21 3.2频率计数器电路图 .21 第四章第四章软件设计软件设计.25 4.1程序流程图设计.25 4.2程序设计内容.25 4.3源程序设计.26 4.4KEILC51 进行程序调试27 第五章第五章系统调试与仿真系统调试与仿真.29 ii目录 5.1NE555 方波信号产生电路.29 5.2PROTEUS中 HEX 文件选择30 5.3PROTEUS中进行频率计系统仿真30 第六章第六章总结与展望总结与展望.33 致致 谢谢.35 参考文献参考文献.37 附录附录 A 程序代码程序代码.39 第一章 绪 论1 第一章绪 论 1.1 引言 随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌 入式系统设计中的应用,单片机从 4 位、8 位、16 位到 32 位,其发展历程一直 受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优 势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多 人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。 然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价 格不菲的电子设备外,开发过程也较繁琐。来自英国 Labcenter Electronics 公 司的 Proteus 软件很好地诠释了利用现代 EDA 工具方便快捷开发单片机系统的优 势。它包括 PROTEUS VSM(Virtual System Modelling)、PROTEUS PCB DESIGN 两大组成部分,在 PC 机上就能实现原理图电路设计、电路分析与仿真、单片机 代码级调试与仿真、系统测试与功能验证以及形成 PCB 文件的完整嵌入式系统设 计与研发过程。 单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软 件编程设计两个方面, 其调试过程一般分为软件调试、硬件测试、系统调试 3 个 过程。如果采用单片机系统的虚拟仿真软件Proteus,则不用制作具体的电 路板也能够完成以上工作。在具体焊接电路以前,采用软件仿真,可以大大的增 加工作效率,节约经济成本。 本文利用 AT89C51 单片机的 T0、T1 的定时计数器功能,来完成对输入的信 号进行频率计数,计数的频率结果通过 4 位动态数码管显示出来。能够对 09999HZ 的信号频率进行准确计数,计数误差不超过1HZ。 1.2 单片机简介 本节将详细的介绍单片的类型,产生与发展,以及 MCS-51 单片机的详细概 2基于单片机的频率计数器的设计 述。 1.2.1 单片机概述 单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处 理器CPU(Central processing unit)。随机存储器RAM(Random access memory)。只读存储器ROM(Read only memory)。 中断系统、定时器计数器 以及IO(Input/output)接口电路等主要微型机部件集成在一个芯片上。虽然 单片机只是一个芯片,但从组成和功能上看,它已具有了计算机系统的属性。为 此,称它为单片微型计算机SCMC(Single chip micro computer),简称单片机。 单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制 属性,也可以把单片机称为微控制器MCU(Micro controller unit)。在国际上, “微控制器”的叫法似乎更通用一些,而在我国则比较习惯与“单片机”这一名 称。 单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入 的方式进行使用,为了强调其嵌入的特点,也常常将单片机称为嵌入式微控 制器EMCU(Embedded micro controller unit)。在单片机的电路和结构中,有 许多嵌入式应用的特点。 1.2.2 单片机与单片机系统 单片机通常是指芯片本身,它是有芯片制造商生产的,在它上面集成的是一 些做为基本组成部分的运算器电路,控制器电路,存储器,中断系统,定时器/ 计数器以及输入/输出口电路等。但一个单片机芯片并不能把计算机的全部电路 都集成到其中,例如组成谐振电路和复位电路的石英晶体,电阻,电容等,这些 元件在单片机系统中只能以散件的形式出现。此外,在实际的控制应用中,常常 需要扩展外围电路和外围芯片。从中可以看到单片机和单片机系统的差别,即: 单片机只是一块芯片,而单片机系统则是在单片机芯片的基础上扩展其它 电路或芯片构成的具有一定应用功能的计算机系统。 通常所说的单片机系统都 是为实现某一控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算 机应用系统。在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件 第一章 绪 论3 和软件基础。 1.2.3 单片机的产生和发展 (1) 单片机的产生 电子计算机的发展经历了从电子管,晶体管,集成电路到大(超大)规模集 成电路共四个阶段,即通常所说的第一代,第二代,第三代和第四代计算机。现 在广泛使用的微型计算机是大规模集成电路技术发展的产物,因此它属于第四代 计算机,而单片机则是微型计算机的一个分支。从 1971 年微型计算机问世以来, 由于实际应用的需要,微型计算机向着两个不同的方向发展;一个是向高速度, 大容量,高性能的高档微机方向发展;而另一个则是向稳定可靠、体积小和价格 廉价的单片机方向发展。但是两者在原理和技术上是紧密联系的。 (2) 单片机的发展 继 1971 年微处理器的研制成功不久,就出现了单片的微型计算机即单片机, 但最早出现的单片机是一位的,1976 年 Intel 公司推出了 8 位的 MCS-48 系列单 片机,它以体积小、控制功能全、价格低等特点,赢得了广泛的应用和好评,为 单片机的发展奠定了坚实的基础,成为单片机发展史上一个重要阶段,其后,在 MCS-48 成功的刺激下,许多半导体芯片在生产厂商竞相研制和发展自己的单片 机系列。到 80 年代末,世界各地已相继研制出大约 50 个系列 300 多个品种的单 片机产品,其中包括 Motorola 公司的 6801,6802,Zilog 公司的 Z-8 系列, Rockwell 公司的 6501,6502 等,此外,日本的 NEC 公司,日立公司等也不甘落 后,相继推出了各自的单片机品种。尽管目前单片机的品种很多,但是我过使用 最多的是 Intel 公司的 MCS-51 单片机系列。MCS-51 系列是在 MCS-48 的基础上 于 20 世纪 80 年代初发展起来的,虽然它是 8 位的单片机,但其功能较 MCS-48 有很大的增强。此外,它还具有品种全,兼容性强,软硬件资料丰富等特点,因 此应用愈加广泛,成为比 MCS-48 更重要的单片机品种,直到现在,MCS-51 仍 不失为单片机的主流系列。 继 8 位单片机之后,又出现了 16 位单片机,1983 年 Intel 公司推出的 MCS-96 系列单片机就是其中的典型代表。与 MCS-51 相比, MCS-96 不但字长增加一倍,而且在其他性能方面也有很大的提高,特别是芯片 内还增加了一个 4 路或 8 路的 10 位 A/D 转换器,使其具有 A/D 转换的功能。纵 观单片机近 30 年的发展历程,单片机今后将向多功能、高性能、高速度、低电 4基于单片机的频率计数器的设计 压、低功耗、低价格、外围电路简单化以及片内存储器容量增加的方向发展。但 其位数不一定会继续增加,尽管现在已经有了 32 位单片机,但使用的并不多。 可以预言,今后的单片机将是功能更强,集成度和可靠性更高而功耗更低,以及 使用更方便等特点。此外,专用化也是单片机的一个发展方向,针对单一用途的 专用单片机将会越来越多。 1.2.4 单片机的应用领域 现在单片机的应用已经很广泛,下面我们就一些典型方面进行介绍。 (1) 工业自动化方面 自动化能使工业系统处于最佳状态,提高经济效益,改善产品质量和减轻劳 动强度。因此,自动化技术广泛应用于机械、电子、电力、石油、化工、纺织、 食品等轻重工业领域中,而在工业自动化技术中,无论是过程控制技术,数据采 集和测控技术,还是生产线上的机器人技术,都需要要有单片机的参与。 在工 业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种集机械、 微电子和计算机技术于一体的综合技术中,单片机将发挥越来越大的作用。 (2) 仪器仪表方面 现在仪器仪表的自动化和智能化要求越来越高,对此最好使用单片机来实现, 而单片机的使用又将加速仪器仪表向数字化,智能化,多功能化和柔性化方向发 展。 此外,单片机的使用还有助于提高仪器仪表的精度和准确度,简化结构、 减小体积及重量而易于携带和使用,并具有降低成本,增强抗干扰的能力,便于 增加显示、报警和自诊断等功能。 (3) 家用电器方面 当前,家用电器产品的一个重要发展趋势是不断提高其智能化程度,而家电 智能化的进一步提高就需要有单片机的参与,所以生产厂家常标榜“电脑控制” 以提高其产品的档次,例如洗衣机,电冰箱,空调机,微波炉,电视机和音像视 频设备等,这里说的电脑实际上就是单片机。智能化家用电器将给我们带来更大 的舒适和方便,进一步改善我们的生活质量,把我们的生活变的更加丰富多彩。 (4) 信息和通信产品方面 信息和通信产品的自动化和智能化程度很高,这当然离不开单片机的参与, 第一章 绪 论5 例如计算机的外部设备和自动化办公设备中,都有单片机在其中发挥着作用。 (5) 军事装备方面 科技强军、国防现代化离不开计算机,在现代化的飞机、军舰、坦克、大炮、 导弹火箭和雷达等各种军用装备上,都有单片机深入其中。 单片机的生产厂家和机型 Intel(美国英特尔) 公司:MCS-48,MCS-51 系列。 Microchip(美国微晶)公司:PICI6XX,PIC54CXX 系列。 Zilog(美国齐洛落)公司:ZS 系列 SUPER8 Fairchild(美国仙童)公司:FS 系列和 3870 系列 Motorola(美国摩托罗拉)公司:6801 系列和 6805 系列 Rockwell(美国洛克威尔)公司:6500/1 系列 TI(美国德克萨斯仪器)公司:TMS700 NS(美国国家半导体)公司:NS8070 RCA(美国无线电)公司:CDP1800 系列 Panasonic(日本松下)公司:MN101C 系列 NEC(日本电气)公司:Ucom87,uPD7800 系列 Hitachi(日本日立)公司:HD6301,HD6305,HD63L05 系列; ATMEL 公司:AT89C51 系列 PHILIPS:87LPC 系列 Cygnal:C8051F0 系列 1.2.5 MSC-51 单片机 MCS-51 是指由美国 INTEL 公司(对了,就是大名鼎鼎的 INTEL)生产的一 系列单片机的总称,这一系列单片机包括了好些品种,如 8031,8051,8751,8032,8052,8752 等,其中 8051 是最早最典型的产品,该 系列其它单片机都是在 8051 的基础上进行功能的增、减、改变而来的,所以人 们习惯于用 8051 来称呼 MCS51 系列单片机,而 8031 是前些年在我国最流行的单 片机,所以很多场合会看到 8031 的名称。 INTEL 公司将 MCS51 的核心技术授权 给了很多其它公司,所以有很多公司在做以 8051 为核心的单片 机,当然,功能或多或少有些改变,以满足不同的需求,其中 89C51 就是这 几年在我国非常流行的单片机,它是由美国 ATMEL 公司开发生产的。 6基于单片机的频率计数器的设计 MCS51 单片机的内部总体结构其基本特性如下: 8 位 CPU、片内振荡器、 4k 字节 ROM、128 字节 RAM、21 个特殊功能寄存器、32 根 I/O 线、可寻址的 64k 字节外部数据、程序存贮空间、2 个 16 位定时器、计数器中断结构:具有二个优 先级、五个中断源一个全双口串行口位寻址(即可寻找某位的内容)功能,适于 按位进行逻辑运算的位处理器。除 128 字节 RAM、4k 字节 ROM 和中断、串行口及 定时器模块外,还有 4 组 I/O 口 P0P3,余下的就是 CPU 的全部组成。把 4kROM 换为 EPROM 就是 8751 的结构,如去掉 ROM/EPROM 部分即为 8031,如果将 ROM 置 换为 Flash 存贮器或 EEPROM,或再省去某些 I/O,即可得到 51 系列的派生品种, 如 89C51、AT89C2051 等单片机。单片机各部分是通过内部的总线有机地连接起 来的。 1.3 频率计数器概述 (1)简介 频率计数器是计算机、通讯设备、音频视频等科研生产领域不可缺少的测 量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功 能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、 数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精 确度高,显示直观,经常要用到频率计。 本数字频率计将采用定时、计数的方法测量频率,采用一个四位共阴极数码 管显示器动态显示 4 位数。测量范围从 1Hz9999Hz 的 方波、 用单片机实现自 动测量功能。 基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以 测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。 (2)频率测量仪的设计思路与频率的计算 频率测量仪的设计思路主要是:对信号分频,测量一 个或几个被测量信号周期中已知标准频率信号的周期个数, 进而测量出该信号频率的大小,其原理如右图1所示。 若被测量信号的周期为,分频数m1,分频后信号的周 图 1.1 频率测量原理图 第一章 绪 论7 期为T,则:T=m1Tx 。由图可知: T=NTo (注:To为标准信号的周期,所以T为分频后信号的周期,则可以算出被测量信号 的频率f。 ) 由于单片机系统的标准频率比较稳定,而是系统标准信号频率的误差,通常情况 下很小;而系统的量化误差小于 1,所以由式 T=NTo可知,频率测量的误差主要 取决于 N 值的大小,N 值越大,误差越小,测量的精度越高。 (3) 基本设计原理 基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以 测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。 所谓“频率” ,就是周期性信号在单位时间(1s)内变化的次数。若在一定时 间间隔 T 内测得这个周期性信号的重复变化次数 N,则其频率可表示为 f=N/T。 其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率 fx。时间基准信号发生器提供标准的时间脉冲信号,若其周期为 1s,则门控电路 的输出信号持续时间亦准确地等于 1s。闸门电路由标准秒信号进行控制,当秒信 号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。秒信号结 束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数 N 是在 1 秒时间内的 累计数,所以被测频率 fx=NHz。 1.4 Proteus 软件简介 PROTEUS 软件由 Labcenter 公司开发,是目前世界上最先进、最完整的嵌 入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设 的混合电路系统的电路仿真、软件仿真、系统协同仿真和 PCB 设计等功能,是目 前唯一能够对各种处理器进行实时仿真、调试与测试的 EDA 工具。微控制器系 统相关的仿真需建立编译和调试环境,可选择 Keil C51uVision2 软件。该软件支 持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持 PLM、 汇编和 C 语言的程序设计。它的界面友好易学,在调试程序、软件仿真方面有很 强大的功能。 其革命性的功能是:将电路仿真和微处理器仿真进行协同,直接 在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器 件如电机、LED、LCD、开关等,实时看到运行后的输入、输出的效果,配合系 8基于单片机的频率计数器的设计 统配置的虚拟仪器如示波器、逻辑分析仪等, Proteus 为我们建立了完备的电子 设计开发环境。 1.5 C 语言简介 C 语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编 语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应 用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛, 不仅仅是在软件开发上,而且各类科研都需要用到 C 语言,具体应用比如单片机 以及嵌入式系统开发。是一种面向过程的计算机程序设计语言,它是目前众多计 算机语言中举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的 D.M.Ritchie 于 1972 年推出。1978 后,C 语言已先后被移植到大、中、小及微型 机上。C 语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强 大的功能。许多著名的系统软件,如 DBASE 都是由 C 语言编写的。用 C 语 言加上一些汇编语言子程序,就更能显示 C 语言的优势了,像 PC- DOS 、WORDSTAR 等就是用这种方法编写的。 C 语言是一种成功的系统描述语言,用 C 语言开发的 UNIX 操作系统就是一 个成功的范例;同时 C 语言又是一种通用的程序设计语言,在国际上广泛流行。 世界上很多著名的计算公司都成功的开发了不同版本的 C 语言,很多优秀的应用 程序也都使用 C 语言开发的,它是一种很有发展前途的高级程序设计语言。 (1) C 是中级语言。 它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以 像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作 单元。 (2)C 是结构式语言。 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要 的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以 及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多 种循环、条件语句控制程序流向,从而使程序完全结构化 。 第一章 绪 论9 (3)C 语言功能齐全。 具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计 算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。 (4)C 语言适用范围大。 适合于多种操作系统,如 Windows、DOS、UNIX 等等;也适用于多种机型。 C 语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有 一些大型应用软件也是用 C 语言编写的。 C 语言具有较好的可移植性,并 具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它 是数值计算的高级语言。 1.6 KeilC51 软件开发系统简介 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件 开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显 的优势,因而易学易用。用过汇编语言后再使用 C 来开发,体会更加深刻。 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序 要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇 编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为 机器码,用于 MCS-51 单片机的汇编软件有早期的 A51,随着单片机开发技术的 不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也 在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片机的软件,这从近年 来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏 汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通 过一个集成开发环境(uVision)将这些部分组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB 或更多 RAM、20M 以上空闲的硬盘空间、 WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用 51 系列单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可 能只支持该软件),即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成 环境、强大的软件仿真调试工具也会令你事半功倍。 10基于单片机的频率计数器的设计 Keil C51 开发系统基本知识 Keil C51 开发系统基本知识 (1) 系统概述 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会 到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容 易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍 Keil C51 开 发系统各部分功能和使用。 (2) Keil C51 单片机软件开发系统的整体结构 C51 工具包的整体结构,uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发 流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及 C51 编译器编译生成目标文件(.OBJ)。目标文件可由 LIB51 创建生成库文 件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(.ABS)。ABS 文件由 OH51 转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源 代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存 贮器如 EPROM 中。 使用独立的 Keil 仿真器时,注意事项: * 仿真器标配 11.0592MHz 的晶振,但用户可以在仿真器上的晶振插孔中换 插其他频率的晶振。 * 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 * 仿真芯片的 31 脚(/EA)已接至高电平,所以仿真时只能使用片内 ROM,不能使用片外 ROM;但仿真器外引插针中的 31 脚并不与仿真芯片的 31 脚相连,故该仿真器仍可插入到扩展有外部 ROM(其 CPU 的/EA 引脚接至低电 平)的目标系统中使用。 突出优点: Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑, 容易理解。在开发大型软件时更能体现高级语言的优势。 第二章 系统设计11 第二章系统设计 2.1 频率计数器系统硬件组成 频率计数器系统硬件主要由 AT89C51 单片机、定时电路 NE555、LED 数码管 等元器件组成。 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能 CMOS8 位微处理器,俗称单片机。 NE555 是 美国 Signetics 公司 1972 年研制的用于取代机械式 定时器的中 规模集成电路,因输入端设计有三个 5k 的电阻而得名。 数码管是一种半导体发光器件,其基本单元是发光二极管。 AT89C51 单片机 单片机晶振电路 单片机复位电路 方波信号产生电 路 六位共阳 极数码管 显示电路 图2.1 系统框图 2.2 AT89C51 单片机简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微 12基于单片机的频率计数器的设计 处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器 的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相 兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C 单片机为 很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图 2.2 AT89C51 单片机 (1)主要特性 与 MCS-51 兼容 4K 字节可编程闪烁存储器 寿命:1000 写/擦循环 数据保留时 间:10 年 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8 位内部 RAM 32 可 编程 I/O 线 两个 16 位定时器/计数器 5 个中断源 可编程串行通道 低功耗的闲 置和掉电模式 片内振荡器和时钟电路 (2)管脚说明 VCC:供电电压。 GND:接地。 第二章 系统设计13 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数 据存储器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时,P0 口作 为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉 高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器 能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输 入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接 收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉 高,且作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数 据存储器进行存取时, P2 口输出地址的高八位。在给出地址 “1”时,它利 用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特 殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控 制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输 入。作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于 上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: P3.0 RXD 串行输入口 P3.1 TXD 串行输出口 P3.2 /INT0 外部中断 0 P3.3 /INT1 外部中断 1 P3.4 T0 记时器 0 外部输入 P3.6 /WR 外部数据存储器写选通 14基于单片机的频率计数器的设计 P3.7 /RD 外部数据存储器读选通 RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高 电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它 可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数 据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址 上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外, 该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每 个机器周期两次 /PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器( 0000H- FFFFH),不管是否有内部程序存储器。注意加密方式1 时,/EA 将内部锁定 为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在FLASH 编程期 间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置 为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外 部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 2.3 定时电路 NE555 NE555 是属于 555 系列的计时 IC 的其中的一种型号,555 系列 IC 的接脚功能及 第二章 系统设计15 运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡 频率也不大相同;而 555 是一个用途很广且相当普遍的计时 IC,只需少数的电阻 和电容,便可产生数位电路所需的各种不同频率之脉波讯号。 NE555 的特点有: (1)只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围 极广,可由几微秒至几小时之久。 (2)它的操作电源范围极大,可与 TTL,CMOS 等逻辑闸配合,也就是它的输 出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。 (3)其输出端的供给电流大,可直接推动多种自动控制的负载。 (4)它的计时精确度高、温度稳定度佳,且价格便宜。 b. NE555 引脚位配置说明下: 图 2.3 NE555 接脚图 16基于单片机的频率计数器的设计 图 2.4 NE555 的内部结构框图 Pin 1 (接地) -地线(或共同接地) ,通常被连接到电路共同接地。 Pin 2 (触发点) -这个脚位是触发 NE555 使其启动它的时间周期。触发信号上缘电 压须大于 2/3 VCC,下缘须低于 1/3 VCC 。 Pin 3 (输出) -当时间周期开始 555 的输出输出脚位,移至比电源电压少 1.7 伏的高 电位。周期的结束输出回到 O 伏左右的低电位。于高电位时的最大输出电流大约 200 mA 。 Pin 4 (重置) -一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低 电位。它通常被接到正电源或忽略不用。 Pin 5 (控制) -这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在稳 定或振荡的运作方式下,这输入能用来改变或调整输出频率。 Pin 6 (重置锁定) - Pin 6 重置锁定并使输出呈低态。当这个接脚的电压从 1/3 VCC 电压以下移至 2/3 VCC 以上时启动这个动作。 Pin 7 (放电) -这个接脚和主要的输出接脚有相同的电流输出能力,当输出为 ON 第二章 系统设计17 时为 LOW,对地为低阻抗,当输出为 OFF 时为 HIGH,对地为高阻抗。 Pin 8 (V +) -这是 555 个计时器 IC 的正电源电压端。供应电压的范围是+4.5 伏特 (最小值)至+16 伏特(最大值)。 参数功能特性: 供应电压 4.5-18V 供应电3-6 mA 输出电225mA (max) 上升/下时间 100 ns .NE555 的相关应用: NE555 的作用范围很广,但一般多应用于单稳态多谐振荡器(Monostable Mutlivibrator)及无稳态多谐振荡器(Astable Multivibrator)。 2.4 数码管 数码管是一种半导体发光器件,其基本单元是发光二极管。 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一 个发光二极管单元(多一个小数点显示) ;按能显示多少个“8”可分为 1 位、2 位、4 位等等数码管. 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管 是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码 管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平 时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 。共阴 数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共 阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管 的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段 就不亮。 18基于单片机的频率计数器的设计 如图所示,LED 数码管由 7 个发光二极管组成,此外,还有一个圆点型发光 二极管(在图中以 dp 表示),用于显示小数点。通过七段发光二极管亮暗的不 同组合,可以显示多种数字、字母以及其它符号。LED 数码管中的发光二极管共 有两种连接方法: 1)共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极 接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的 则不点亮。实验中使用的 LED 显示器为共阴极接法 2)共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极 接5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平 的则不点亮。 为了显示数字或符号,要为 LED 显示器提供代码,因为这些代码是为显示 字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八 段。因此提供给 LED 显示器的字形代码正好一个字节。若 a、b、c、d、e、f、g、dp 8 个显示段依次对应一个字节的低位到高位,即 D0、D1、D2、D3、D4、D5、D6、D7,则用共阳极极 LED 数码管显示数字时所 需的字形代码如表 4.9-1 所示。 共阴极接法共阴极接法 共阳极接法共阳极接法 第二章 系统设计19 表 4.9-1 共阳极 LED 数码管字形代码 字型共阳极字形 代码 字型共阳极极字 形代码 字型共阳极字形代 码 0C0H592HF8EH 1F9H682H=B7H 2A4H7F8H灭FFH 3B0H880H 499H990H 2.5 频率计数器系统设计流程 Protel DXP 与与 Proteus 电电路路设设计计 源源程程序序设设计计 生生成成目目标标代代码码 基基于于Proteus仿仿真真 图 2.5 基于 Proteus 的单片机系统设计流程 20基于单片机的频率计数器的设计 第三章硬件电路设计 3.1 频率计数器电路图设计 运行 Proteus 的 ISIS 后出现程序主窗口界面,鼠标左键单击窗口左侧的元 器件工具栏的 component.按钮, 接着再点击窗口左侧的元器件选择区的 Pick Divices.按钮,弹出如图 1 所示的 Pick Devices 窗口,再在 Categ 栏里点击 MicroprocessorICs 项后,在 Results 栏里会出现各种类型的 CPU 器件,找到 AT89C51 后双击,AT89C51 就被添加到当前窗口左侧的元器件列表区了。 用同样的方法依次把 NE555、数码管、晶振以及多个电阻、电容也添加到器 件列表区里。 然后再依次点击列表区里的器件,单击左键把他们放到绘图区,右键选中元 件,并编辑其属性,合理布局后,进行连线。连线时当鼠标的指针靠近一个对象 的引脚时,跟着鼠标的指针 r ICs 就会出现一个“”提示符号,点击鼠标左键 即可画线了,需要拐弯时点击一下即可,在终点再点击确认一下就画出了一段导 线,所有导线画完后,点击工具栏的 Inter-sheeTerminal.按钮,添加上电源和 接地符号,原理图的绘制就完成了。 3.2 频率计数器电路图 (1) NE555 方波产生信号电路图: 所产生方波公式:T1=0.693(RA+RB)*C T2=0.693RB*C F=1.433/(RA+2RB)*C 第三章 硬件电路设计21 TRIG 2 Q 3 R 4 CVolt 5 THR 6 D IS 7 V CC 8 G ND 1 U 3 555 RP1 10k C4 104 C5 104 P34 1 2 J3 CON 2 Q 1 9013 R2 1k R3 220 V CC V CC S2 SW-SPST 图 3.1 NE555 方波信号产生电路原理图 (2)频率计数器系统原理图 方波信号产生电路 NE555 的 Q 脚接 TO 计数器,以使 T0 完成对方波的计数功 能。 AT89C51 单片机 PO.0-P0.7 口接数码管的显示段,P2.0-P2.3 接四段的数码管 选择口。XTAL1 和 XTAL2 接上 12MHZ 的晶振。即振荡周期=1/12us;时钟周期 =1/6us; 机器周期=1us。 22基于单片机的频率计数器的设计 第四章软件设计 4.1 程序流程图设计 定时器初始化 启动定时器 计数器 计时 1s 计算计数器 T0 的计数 计算后将 T0 清零,继续计数 结束 开始 将 T0 的计数值显示到数码管 图 4.1 系统程序流程图 4.2 程序设计内容 程序设计内容 (1) 定时/计数器 T0 和 T1 的工作方式设置,由图可知,T0 是工作在计数状态 下,对输入的频率信号进行计数,但对工作在计数状态下的 T0,最大计数值为 fOSC/24,由于 fOSC12MHz,因此:T0 的最大计数频率为 250KHz。对于频率 第四章 软件设计23 的概念就是在一秒只数脉冲的个数,即为频率值。所以 T1 工作在定时状态下, 每定时 1 秒中到,就停止 T0 的计数,而从 T0 的计数单元中读取计数的数值,然 后进行数据处理。送到数码管显示出来。 (2) T1 工作在定时状态下,最大定时时间为 65ms,达不到 1 秒的定时,所以 采用定时 5ms,共定时 200 次,即可完成 1 秒的定时功能。 4.3 源程序设计 (1)设置定时器工作方式,开中断和定时器: TMOD=0x15; /设置定时器启动模式 TH0=0; TL0=0; TH1=(65536-5000)/256; TL1=(65536-5000)%256; TR1=1; TR0=1; / 启动定时器 ET0=1; ET1=1; /启动两个中断 EA=1; /开中断 由前面可知工作方式寄存器 TMOD 的值和 TH0、TL0 的值,ET0 是 T0 溢出中断 允许位,所以 ET0=1 表示允许 T0 中断;要引入中断,所以必须开总中断,所以 EA=1;TR0 是 T0 定时器运行控制位,置 1 表示启动 T0。 (2)TO 计数子程序: void t0(void) interrupt 1 using 0 T0count+; 中断号 1 (3)T1 定时子程序: 24基于单片机的频率计数器的设计 void t1(void) interrupt 3 using 0 TH1=(6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国际经济与贸易专业题库-国际贸易中的贸易合同与风险规避
- 小产权房租赁合同文本标准版
- 销售合同审核及签署标准模板
- 2025年合肥一六八玫瑰园南校教育集团招聘备考考试试题及答案解析
- 2025年安康紫阳县县直及县城周边学校遴选教师(23人)备考模拟试题及答案解析
- 2025山东烟台市工会社会工作者招聘40人考试模拟试题及答案解析
- 2025西藏林芝墨脱县招聘13人考试模拟试题及答案解析
- 2025内蒙古一市交通投资(集团)招聘经营管理人员8人考试模拟试题及答案解析
- 青铜峡市职业教育中心招募2025年高校毕业生实习考试参考试题及答案解析
- 鱼跃医疗2022年度ESG报告:监管标准下的企业责任担当
- 2025年大学辅导员招聘考试题库
- 水利水电工程单元工程施工质量验收标准第8部分:安全监测工程
- 2022森林防火道路建设基本要求
- 华科版五年级全册信息技术教案(共24课时)
- 山东临清实验中学2012学年八年级语文 7课背影共3课时教案(表格版) 人教新课标版
- 深圳牛津小学英语单词汇总
- 心脏基础解剖课件
- FBCDZ风机特性曲线(共47页)
- 外来手术器械及植入物管理
- 口腔面颈部局部解剖(90页)
- 上海市水环境污染现状以及水环境容量核算研究
评论
0/150
提交评论