频率计数器课程设计.doc_第1页
频率计数器课程设计.doc_第2页
频率计数器课程设计.doc_第3页
频率计数器课程设计.doc_第4页
频率计数器课程设计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南科技大学信息与电气工程学院课程设计报告题 目: 频率计数器 专 业: 通信工程 班 级: 二 姓 名: 学 号: 指导教师: 尹艳群 任务书题 目 时 间安排 目 的: 要 求:总体方案实现:指导教师评语:评分等级:( )指导教师签名:一、设计目的1、通过单片机课程设计,熟练掌握汇编语言或c语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。2、通过频率计数器的设计系统掌握51单片机的应用。掌握8279芯片的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入eprom并进行调试等。3、训练整体分析的能力,以及故障排除的能力;二、设计任务利用at89s51单片机的t0、t1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果采用8279通过4位动态数码管显示出来。要求能够对0250khz的信号频率进行准确计数,计数误差不超过1hz。三、整体设计思路框图及原理图频率计数器的系统工作原理:首先,频率信号由频率产生电路,单片机中控制信号线发出控制信号,启动定时计数器1进行定时,定时计数器0进行计数,其采样得到的数字信号数据在相应的码制转换模块中转换为显示代码。最后发出显示控制与驱动信号,驱动外部的数码管显示相应的数据。单片机8279显示器逻辑控制器时钟脉冲图1 频率计数器基本组成框图频率产生电路系统通过软件设置单片机的内部定时器t1产生中断信号。系统调出转换显示程序,将转换为二进制的数据在转换成十进制数并输出到lcd显示电路,将相应频率显示出来p2口接数码管位选,p0接数码管段选,实现数据的动态显示,如图4.1所示。8051p3.4/t0 p0p2数码管位选段选频率图2系统原理框图p0口功能 :p0口具有两种功能:第一,p0口可以作为通用i/o接口使用,p0.7p0.0用于传送cpu的输入/输出数据。输出数据时可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲。第二,p0.7p0.0在cpu访问片外存储器时用于传送片外存储器de低8位地址,然后传送cpu对片外存储器的读写。p1口 功能 :p1口的功能和p0口de第一功能相同,仅用于传递i/o输入/输出数据。 p2口的功能 :p2口的第一功能和上述两组引脚的第一功能相同,即它可以作为通用i/o使用。它的第二功能和p0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位地址。 p3口功能 :p3口有两个功能:第一功能与其余三个端口的第一功能相同;第二功能作控制用,每个引脚都不同。表4.1 p3口第二功能引脚名称功能p3.0rxd串行数据接收口p3.1txd串行数据发送口p3.2int0外中断0输入p3.3int1外中断1输入p3.4t0计数器0计数输入p3.5t1计数器1计数输入p3.6wr外部ram写选通信号p3.7rd外部ram读选通信号时钟电路和复位电路1.时钟电路单片机的时钟一般需要多相时钟,所以时钟电路由振荡器和分频器组成。 mcs-51内部有一个用于构成振荡器的可控高增益反向放大器。两个引脚xtal1和xtal2分别是该放大器的输入端和输出端。在片外跨接一晶振和两个匹配电容c1、c2如图4.2所示,就构成一个自激振荡器。振荡频率根据实际要求的工作速度,从几百千赫至24mhz可适当选取某一频率。匹配电容c1、c2要根据石英晶体振荡器的要求选取。当晶振频率为12mhz时,c1c2一般选30pf左右。图4.2中pd是电源控制寄存器pcon.1的掉电方式位,正常工作方式pd=0。当pd=1时单片机进入掉电工作方式,是一种节能工作方式。上述电路是靠mcs-51单片机内部电路产生振荡的。也可以由外部振荡器或时钟直接驱动mcs-51。本设计采用内部电路产生振荡。 图4.2时钟电路的内部及外部方式2.复位电路复位是单片机的初始化操作。其功能主要是将程序计数器(pc)初始化为0000h,使单片机从0000h单元开始执行程序,并将特殊功能寄存器赋一些特定值。复位是使单片机退出低功耗工作方式而进入正常状态一种操作。复位是上电的第一个操作,然后程序从0000h开始执行。在运行中,外界干扰等因素可能会使单片机的程序陷入死循环状态或“跑飞”。要使其进入正常状态,唯一办法是将单片机复位,以重新启动。复位后,程序计数器(pc)及各特殊功能寄存器(sfr)的值如表4.2所示。表4.2 程序计数器及各特殊功能寄存器的复位值寄存器复位状态寄存器复位状态pc0000hth100hacc00hp0p3ffhpsw00hipxx000000bsp07hie0xx00000bdptr0000htmod00htcon00hscon00htl000hsbuf不定th000hpcon0xxx0000btl100hrst引脚是复位端,高电平有效。在该引脚输入至少连续两个机器周期以上的高电平,单片机复位。rst引脚内部有一个斯密特st触发器以对输入信号整形,保证内部复位电路的可靠,所以外部输入信号不一定要求是数字波形。使用时,一般在此引脚与vss引脚之间接一个8.2k的下拉电阻,与vcc引脚之间接一个约10f的电解电容,即可保证上电自动复位。图4.3自动和手动复位电路图上电或手动复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电后,由于电容c3的充电和反相门的作用,使rst持续一段时间的高电平。当单片机已在运行当中时,按下复位键k后松开,也能使rst为一段时间的高电平,从而实现上电或手动复位的操作。本设计采用手动复位电路。四、程序流程图与源程序对于该频率计数器将采集的数值除以51即可,频率计数器的软件流程图如图5.1所示。开始初始化8279标度转换十进制转换显示频率地址译码,数字分离,并查段码频率采集完?yn频率计数器软件流程图c语言源程序: #include#include#include#define d8279 xbyte0xff80/8279 数据口地址#define c8279 xbyte0xff82/8279 状态/命令口地址#define uchar unsigned char#define uint unsigned intuint bd; /频率uchar tt=0; uchar idata diss4=0,0,0,0;/显示缓冲区uchar code ledseg = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/led显示常数表 voiddisled(d) /显示位置子程序 ucharidata*d;uchari;c8279=0x90;for(i=0;i4;i+)c8279=i+0x80;d8279=ledseg*d;d+;void init8279() /初始化8279c8279=0; /置8279工作方式c8279=0x2f;/置键盘扫描速率c8279=0xc1; /清除 led 显示 voiddisplay()/显示子程序 diss0=bd%10;diss1=(bd%100)/10;diss2=(bd%1000)/100;diss3=bd/1000; disled(diss);void first(void)/初始化子程序init8279();/初始化8279 tmod=0x15; th1=0x4c; /定时0.05秒 tl1=0x00; th0=0x00; tl0=0x00; ea=1; /开定时器1中断 et1=1; tr0=1; /开始计数 tr1=1; /开始定时main() /主程序 uchar flag; /启动标志 p1=0xff; while(1) flag=p1; if(flag=0xfe) /检测启动标志 break; first(); /初始化 while(1) display(); void t1(void) interrupt 3 / 定时器1中断子程序 tr1=0; tt+; th1=0x4c;/重装初值 tl1=0x00; tr1=1; if(tt=20) /定时1秒 tt=0;tr0=0; bd=256*th0+tl0; th0=0; tl0=0; tr0=1; 五、原理图 六、设计心得体会创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。通过基于8051单片机频率计数器的设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了。在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。同时在设计过程中遇到了很多困难,都及时

温馨提示

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

评论

0/150

提交评论