单片基的方波周期的测量

上传人:微*** 文档编号:92320898 上传时间:2022-05-18 格式:DOCX 页数:23 大小:819.12KB
收藏 版权申诉 举报 下载
单片基的方波周期的测量_第1页
第1页 / 共23页
单片基的方波周期的测量_第2页
第2页 / 共23页
单片基的方波周期的测量_第3页
第3页 / 共23页
资源描述:

《单片基的方波周期的测量》由会员分享,可在线阅读,更多相关《单片基的方波周期的测量(23页珍藏版)》请在装配图网上搜索。

1、课程设计任务书学生姓名:甘丽 专业班级: 电信0901班指导教师:陈德军工作单位: 信息工程学院题 目:简易波形计数初始条件:具备编程基础知识和设计能力;具备查阅资料的基本方法;熟 悉常用的电子器件;熟悉电子设计常用软件的使用;要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计简易波形计数的程序;2、频率测量范围为 100Hz10KHz;3、制作并调试所设计电路;4、掌握单片机的基本使用;5、撰写符合学校要求的课程设计说明书。时间安排:时间一周,其中2天原理设计,3天电路调试指导教师签名:年 月 日系主任(或责任教师)签名:目录摘要近年来,单片微型计算机

2、以其强大的生命力飞速发展,在工业控制、智能仪器仪表、智能化设备和家用电器等领域得到了广泛的应用,因而引起了各行各业的极大关注,有着广阔的发展前景。本次课设的是简易波形计数。其设计目的是使学生通过这一实践环节,增强单片机扩展接口设计及其实际应用能力。 在设计中, 我是设计一个4 位数显频计数器,通过显示给定频率来计算其周期。并且通过两个外部中断来控制单片机的计数和暂停。编程时用 keil 软件编程,要求熟练运用 protues 软件进行仿真。关键字 :计数器、 keil 编程、 protues 仿真1 8051单片机简介1.1 8051单片机概述51单片机是对目前所有兼容Intel 8031指令

3、 系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的 发展,8031单片机取得了长足的进展,成为目前 应用最广泛的8位单片机之一,其代表型号是 ATMEL公司的AT89系列,它广泛应用于工业测 控系统之中。目前很多公司都有51系列的兼容机 型推出,在目前乃至今后很长的一段时间内将占 有大量市场。51单片机是基础入门的一个单片Pi.DcIPE.1 口2p. 2 E3Pt. 3 匚4PL 1 C5PE. 5 匚GEE.6 耳TPL7 U8KSl,- Vm 匚g113, o/kj c10RL /TXD 日11”,丽 u12P3, U 1*1 匚IKP

4、:k 4/TO C!4P:l. h l q1 7116P3. T/tD d17XTAL2 e18ISfVsk c20士昼/一.0厂=i KA L?p_D ALL西元 =雨3 P2.fi ZF卜上1a P2.4 =1 P2. 3 口 1.2 zi Y L n 1.03051内部结构底时it数器I8051时钟据线址线制线数总地总控总机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。1.2 51单片机主要功能51单片机的主要参数和功能功能 如下:8 位 CPU4kbytes程序存储器(ROM) (52为8K)256bytes的数据存储器(RAM) (52有 384bytes

5、 的 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 :两个定时/记数器

6、,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART (通用异步接收发送器)的串行I/O 口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为 12M2 软件简介2.1 PROTUESa件简介2.1.1 PROTUES既述Protues软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司) 。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起

7、步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、 HC11、 PIC10/12/16/18/24/30/DsPIC33、 AVR、 ARM 、 8086和MSP430等,2010年即将增加Cortex和DSP系歹处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、 Kei

8、l 和 MPLAB 等多种编译器。2.1.2 PROTUES功能特点Protues软件除了具有其它EDA工具软件(例:multisim)的功能外,可以仿真51系列、 AVR 、 PIC、 ARM 、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。2.1.3 PROTUES电路功能仿真在 PROTUES 绘制好原理图后,调入已编译好的目标代码文件: *.HEX ,可以在PROTUES 的原理图中看到模拟的实物运行状态和过程。PROTUES是单片机课堂教学的先进助手。PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程

9、形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。 由于 PROTUES 提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、 提供了实验室在数量、 质量上难以相比的虚拟仪器、 仪表, 因而也提供了培养学生实践精神、创造精神的平台随着科技的发展, “计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程

10、的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTUES也能扶得愈来愈广泛的应用。2.1 Keil 简介单片机开发中除必要的硬件外, 同样离不开软件, 我们写的汇编语言源程序要变为 CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展, Keil 软件是目前最流行开发 MCS-51系列单片机的软件,这从

11、近年来各仿真机厂商纷纷宣布全面支持Keil 即可看出。 Keil 提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision )将这些部份组合在一起。运行Keil 软件需要Pentium或以上的CPU I6MB1E更多RAM20M以上空闲的硬盘空间、WIN98 NT WIN2000WINXP?操作系统。3 设计思路及原理3.1 设计思路本次课程设计要求测定一方波的周期,由方波周期的公式 T=1/F 可知,要求输入方波的周期,需要知道在1s 内计数的方波的个数,所以现在面临两个问题:第一、单片机怎么设定一秒钟的定时,第二、单片

12、机怎么确定在这一秒钟内计数的方波的个数。对于第一个问题, 可以使用定时器0 的方式 2 自动重装模式, 在晶振主频为 12MHz 的情况下, 得到准确的定时结果。 在定时器 0 在方式 2 模式下, 最大得到计数值为 28 ( 256个脉冲) 。在这种方式下,在TH0 和 TL0 两个寄存器中, TH0 专用于寄存器8 为计数初值并保持不变, TL0 进行 8 位加 1 计数,当 TL0 计数溢出是,除产生溢出中断请求外,还自动将 TH0 中不变的初值重新转载到 TL0 。对于第二个问题,由于不知道在一秒钟将要计数的脉冲的个数,所以应使用计数器所能达到的最大的模式,即计数器1 的方式 1。在方

13、式 1 下,计数寄存器的位数是16 位,由TH1 和 TL1 寄存器个提供 8 位计数初值,当 TL1 低 8 位计数满回零时TH1 进位,即 TH1中的 1 代表 256。在定时器 0 定时满 1 秒时, 读取 TH1 和 TL1 中的数值, 然后将 TH1 乘以 256加上 TL1 中的数值,即为计数的总的脉冲数,脉冲数的倒数即为周期值。但考虑到单片机不易显示小数值,所以可将一秒钟转换为106 微秒,用106 除以计数的脉冲数,得到所测量脉冲周期的微秒表示形式,并使用四位数码管显示出来。计数方式 :外部输入信号是加到 T1( P 3.5 ) 。外部输入脉冲信号产生由 1 至 0 的下降沿时

14、,定时器加 1, 外部输入信号最高的计数速率是晶振频率的 1/24 。3.2程序流程图定时雅中断美田定忙解髭否划秒开后定时器中断皆放吗;*如0迷取订数得计数近开j;亡施器中断中断返回设置定叼器数婚工作用苴计算周期外用中断0开后定时器故瑞中断利用全打变量塔数码管显示计1J定时器开总外部中断中断返回中淅返回数小马节,氧召尢中断中断处理程序中断返回3.3定时器/计数器的工作原理当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加 1,直至计满溢出为止。显然,定时器的定时时间与系统 的振荡频率有关。因一个机器周期等于12个振荡周期,所以计数频率fc

15、ount=1/12osc 。如果晶振为12MHz则计数周期为:T=1/ (12X 106) HzX 1/12=1 心这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择 定时器的长度(如8位、13位、16位等)。TMOD定时器/计数器方式寄存器定时器方式控制寄存器TMO而特殊功能寄存器中,字节地址为 89H,无位地址。TMOD的格式如表3.3.1所小D7D6D5D4D3D2D1D0符号GATEC/TM1M0GATEC/TM1M0表3.3.1TMODS时器/计数器方式寄存器由上可见,TMODJ高4位用于T1,低4使用于T0, 4种符号的含义如下:GATE门控制位。GATEJ

16、软件才5制位TR外部引脚信号INT的状态,共同控制定时器计数 器的打开或关闭。C/定时器/计数器选择位。C/T=1,为计数器方式;C/T= 0,为定时器方式。M1M0工作方式选择位,定时器/计数器的 4种工作方式由M1M世定。其工作方式如表3.3.2所示:M1M0工#功能描述00工作方式013位计数器01工作方式116位计数器10工作方式2自动再装入8位计数器11工作方式3定时器0:分成两个8位计数器;定时器1 :停止计数表3.3.2 TMOD工作方式定时器/计数器方式控制寄存器TMO所能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器 0,高半字节定义为定时器1。复位时

17、,TMO而有位均为00TCON定时器/计数器控制寄存器TCONS特殊功能寄存器中,字节地址为 88H,位地址(由低位到高位)为88H 8FHTCON1一个多功能的寄存器,其格式如表 3.3.3所示:地址8FH8EH8DH8CH8BH8AH89H88H符号位TF1TR1TF0TR0ID1IT1IE0IT0表3.3.3 TCON定时器/计数器控制寄存器 TCON在TCONJ存器中,定时/计数器的控制仅用了其中的高 4位,其意义如下:TF1: T1溢出中断请求标志。TF1=1, T1有溢出中断请求。TF1=0, T1无溢出中断请求。TR1: T1运行控制位。TR1=1,启动T1工作。TR1=0停止T

18、1工作。TF0: T0溢出中断请求标志。其功能及操作情况同TF1。TRQ T0运行控制位。其功能及操作情况同 TR1。IE1 :外部中断1请求标志。IT1 :外部中断1触发方式选择位。IE0:外部中断0请求标志。IT0:外部中断0触发方式选择位。4单片机模块电路分析4.1 单片机最小系统模块“.ad. i, i aI4B.IJLI4LIMKTALZNEIDrAbEl pg.-ftTA.Di pqsmz ,口 3rlm叩酬IDS N3j1gHSTFQ.rWlBTr,闻,F律口 rziQFTEFft IEFZ.ITA1E口Fijm pi iF2A13 P2J0A14 NT的培口r通, rg.irr

19、xE raarrrrn FijmrnF3.图4.3.1键盘电路在本次课程设计中需要用到外部中断来停止计数,外部中断由独立按键引入,按键没 有按下去时,输入端为高电平,当按键被按下去后,输入端立刻被拉为低电平,此时将产 生一个下降沿,并引发单片机产生中断命令。本次课设用到两个外部中断,分别控制暂停 和复位。.工1,叁.r. _PCTAL1puaflua FQjrwi nnEarrmXT心啊zn户启 pQm FQSflffi 加卮川e FQ.TfjRffTPZ.lifiB 建FSJfMllALEF工川MZ位/工就X FZJfAEP1 jyrzIP3EHM) ”.,E*Pi irtKIP1 2PI

20、J10 MMiP 1.4P3.WTCPI 土P35T1PP2 SEW.Pi 7Z1FFFFFFF 一lo11FF1tF1uHABCDEFG DF至自 E:iS ,丁区借5 总电路图6 程序代码#include#define uint unsigned int#define uchar unsigned char图 5.1 总体电路图6 程序代码#include#define uint unsigned int#define uchar unsigned char/* 共阳数码管段码表*/uchar code smgd= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x

21、f8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e;/* 数码管位选表*/uchar code smgw= 0xf7,0xfb,0xfd,0xfe;uint count=0,n=0,prd=0;uint read()uchar tl1,th1;uint t1;tl1=TL1;TL1=0;th1=TH1;TH1=0;t1=th1*256+tl1;return t1;void delayms(uint t)uint x,y;for(x=t;x0;x-)for(y=114;y1;y-);void T0timer() interrupt 1n=n+1;if(n=1

22、0000)n=0;count=read();prd=2000000/count;void smgdisplay(uint smgdata) uchar s0,s1,s2,s3;s3=smgdata/1000;if(s315)s3=15;s2=smgdata%1000/100;s1=smgdata%100/10;s0=smgdata%10;P1=smgw0;P0=smgds0;delayms(5);P1=smgw1;P0=smgds1;delayms(5);P1=smgw2;P0=smgds2;delayms(5);P1=smgw3;P0=smgds3;/ 外部中断 0/ 外部中断 1delay

23、ms(5);void EXint0() interrupt 0ET0=1;void EXint1() interrupt 2ET0=0;prd=0;void main()EA=1;EX0=1;IT0=1;EX1=1;IT1=1;ET0=1;ET1=1;TMOD=0x52;TH0=56;TL0=56;TH1=0;TL1=0;TR0=1;TR1=1;while(1)smgdisplay(prd);7仿真效果丁H-X7ADO %恤1 FELZTACZH”.1 * KWH HLwmg HT漓 MranF7.-MU q月十口 1 胃工./l工 V2J-3 1g” H1Z,r janM imarranrw

24、t Eimr, pam nanri ,mm *MT-13V rjf wJO.A- U2.B .3-、二q* ,利用protues画出仿真电路图,外部通过管脚P3.5加入方波信号,波波的频率可以任 意设置,方波幅值设置为 5v,在确认电路图正确的情况下,可以调节频率为 2.5kHz,频 率的倒数即为周期,显示周期为 399us。8实物图,dU,二二一Rigol w pop图8.1实物图在实验室用函数信号发生器产生方波,频率可调,先用示波器测量示波器的输出信号的幅度为5v,在频率调为500Hz的情况下,单片机上的数码管显示周期为1998us接近理论值2000us,存在微小的误差,在实验室的这种条件

25、下,误差不可消除,可以认为测量值准确。9 心得体会通过这次课设,我深刻的体会到只有将课本知识运用到实践中去才能融会贯通,平时的理论知识学的再好,在真正动手做起来时总会碰到这样或者那样的问题,编程,仿真,做实物,都需要将平时学到的零散的知识联合起来。在设计过程中,我先是想到用汇编语言写程序,发现所学的理论知识还没有达到熟练运用的程度,只好用我已经熟悉了的 C 语言。用 protues 画好仿真图后,发现无法将keil软件所编程的程序连接到仿真中,为了这个问题,我上网查了很多资料,最后在一个朋友的不经意间说下恍然大悟, 原来就是一个很小的问题, 我还费了很多精力, 看来 “三人行,必有我师” ,要

26、虚心向身边的人讨教。而在做单片机时,发现实际频率跟所显示的频率有一点误差, 我想能不能换个晶振, 减小甚至没有误差呢, 于是把单片机原来的晶振卸下来,不好卸,犯了个很傻的错误,用打火机去烧单片机板子,结果给烧坏了,只能从新买个单片机。 这也给我我一个教训, 凡事在动手做之前要想清楚原理, 不然很容易导致不良后果。做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解各个知识点,而且考试内容有限,所以在这次课程设计过程中,我从根本上了解了很多很多知识点,并且对于它们在实际中的应用有了更多的认识。平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。平时看课本,这次看了,下次就忘了,认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。参考资料1 李群芳,张士军,黄建. 单片微型计算机与接口技术. 北京:电子工业出版社;2孙育才主编,MCS-51系列单片微型计算机及其应用.东南大学出版社;3 张毅刚,彭喜源,谭晓昀,曲春波.MCS-51 单片机应用设计M. 哈尔滨:哈尔滨工业大学出版社;4 李群芳,肖看。单片机原理借口与应用 . 北京:清华大学出版社, 2005;5 黄智伟,朱卫华. 单片机与嵌入式系统应用 M. 南华大学 .2005.3 ;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!