基于51单片基的方波周期的测量.doc
《基于51单片基的方波周期的测量.doc》由会员分享,可在线阅读,更多相关《基于51单片基的方波周期的测量.doc(20页珍藏版)》请在沃文网上搜索。
1、摘要近年来,单片微型计算机以其强大的生命力飞速发展,在工业控制、智能仪器仪表、智能化设备和家用电器等领域得到了广泛的应用,因而引起了各行各业的极大关注,有着广阔的发展前景。本次课设的是简易波形计数。其设计目的是使学生通过这一实践环节,增强单片机扩展接口设计及其实际应用能力。在设计中,我是设计一个4位数显频计数器,通过显示给定频率来计算其周期。并且通过两个外部中断来控制单片机的计数和暂停。编程时用keil软件编程,要求熟练运用protues软件进行仿真。 关键字:计数器、keil编程、protues仿真1 8051单片机简介1.1 8051单片机概述51单片机是对目前所有兼容Intel 8031
2、指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。1.2 51单片机主要功能51单片机的主要参数和功能功能如下:8位CPU4kbytes 程序存储器(ROM) (52为8K) 256bytes的数据存储器(R
3、AM) (52有384bytes的RAM) 2条I/O口线111条指令,大部分为单字节指令 21个专用寄存器 2个可编程定时/计数器5个中断源,2个优先级(52有6个)一个全双工串行通信口外部数据存储器寻址空间为64kB 外部程序存储器寻址空间为64kB 逻辑操作位寻址功能双列直插40PinDIP封装 单一+5V电源供电CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器
4、,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为12M。2 软件简介2.1 PROTUES软件简介2.1.1PROTUES概述Protues软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到
5、单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。2.1
6、.2 PROTUES功能特点Protues软件除了具有其它EDA工具软件(例:multisim)的功能外,可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。2.1.3 PROTUES电路功能仿真在PROTUES绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程。PROTUES 是单片机课堂教学的先进助手。PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是
7、实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
8、相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用。2.1 Keil简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接
9、器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。3 设计思路及原理3.1 设计思路本次课程设计要求测定一方波的周期,由方波周期的公式T=1/F可知,要求输入方波的周期,需要知道在1s内计数的方波的个数,所以现在面临两个问题:第一、单片机怎么设定一秒钟的定时,第二、单片机怎么确定在这一秒钟内计数的方波的个数。对于第一个问题,可以使用定时器0的方式2自动重装模式,在晶振主频为1
10、2MHz的情况下,得到准确的定时结果。在定时器0在方式2模式下,最大得到计数值为28 (256个脉冲)。在这种方式下,在TH0和TL0两个寄存器中,TH0专用于寄存器8为计数初值并保持不变,TL0进行8位加1计数,当TL0计数溢出是,除产生溢出中断请求外,还自动将TH0中不变的初值重新转载到TL0。对于第二个问题,由于不知道在一秒钟将要计数的脉冲的个数,所以应使用计数器所能达到的最大的模式,即计数器1的方式1。在方式1下,计数寄存器的位数是16位,由TH1和TL1寄存器个提供8位计数初值,当TL1低8位计数满回零时TH1进位,即TH1中的1代表256。在定时器0定时满1秒时,读取TH1和TL1
11、中的数值,然后将TH1乘以256加上TL1中的数值,即为计数的总的脉冲数,脉冲数的倒数即为周期值。但考虑到单片机不易显示小数值,所以可将一秒钟转换为106微秒,用106除以计数的脉冲数,得到所测量脉冲周期的微秒表示形式,并使用四位数码管显示出来。计数方式 :外部输入信号是加到T1(P 3.5)。外部输入脉冲信号产生由1至0的下降沿时,定时器加1,外部输入信号最高的计数速率是晶振频率的1/24。 3.2 程序流程图3.3定时器/计数器的工作原理当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片 方波 周期 测量
