单片机课程设计论文频率计.docx

上传人:b****4 文档编号:12408448 上传时间:2023-04-18 格式:DOCX 页数:15 大小:703.68KB
下载 相关 举报
单片机课程设计论文频率计.docx_第1页
第1页 / 共15页
单片机课程设计论文频率计.docx_第2页
第2页 / 共15页
单片机课程设计论文频率计.docx_第3页
第3页 / 共15页
单片机课程设计论文频率计.docx_第4页
第4页 / 共15页
单片机课程设计论文频率计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机课程设计论文频率计.docx

《单片机课程设计论文频率计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计论文频率计.docx(15页珍藏版)》请在冰豆网上搜索。

单片机课程设计论文频率计.docx

单片机课程设计论文频率计

目录

1.设计目的及要求2

2.方案比较与论证2

3.总体系统设计3

3.1.系统结构框图4

3.2单片机模块4

3.2.1晶振模块4

3.2.2复位模块4

3.2.3电源模块5

3.3数码管显示模块5

3.4程序设计模块6

4.系统的组装6

4.1PCB板图6

4.2面板图及部件说明6

5.系统调试6

5.1硬件电路的测试方法6

5.2软件的测试方法6

6.设计心得体会7

参考文献7

附录8

附录1总原理图8

附录2测试仪器9

1.设计目的及要求

本次课程设计目的是为了加深对单片机内部寄存器的理解,熟练掌握定时计数器的使用,熟练使用数码管显示数字,并学会制作PCB板。

要求:

(1)控制模块选用AT89S51单片机,完成51单片机最小应用系统的设计;

(2)测频范围:

50HZ—50KHZ;

(3)完成数码管驱动电路的设计,数码管显示测得信号频率值。

2.方案比较与论证

方案一:

定时法

此法将定时/计数器构成为定时器,频率计则使用定时方法测量待测信号的周期。

定时/计数器在判断待测信号的下降沿到来后,启动定时器,以单片机工作周期为单位进行计数,直至信号的下一个下跳沿到来,定时器停止,停止计数。

16位定时/计数器的最高计数值为65535,当待测信号的频率较低时,定时/计数器将发生溢出。

产生溢出时,程序进入定时器中断服务程序,对溢出次数进行计数。

此时待测信号的周期由3个部分组成:

定时/计数器溢出次数、定时/计数器的高8位和低8位。

信号的频率f与信号的周期T之间的关系为:

 f=1/T  

  完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。

再将信号频率值变换成本频率计的显示格式,送到显示模块显示待测信号的频率值。

完成显示后,频率计都开始下一次信号的频率测量。

 

方案二:

计数法

此法将定时/计数器构成为计数器。

计数法是在一定时间内将被测信号加到计数器进行计数的方法,如果设定的时间为T,计数器得到的计数值为N1,则被测频率为f=N1/T。

改变时间T,则可改变测量频率范围。

如图2-1所示。

图2-1

而在定时T期间,计数器的精确计数值N与测量值N1之间存在一定的误差,通过分析,信号频率越高,误差越小;而信号频率越低,则测量误差越大。

因此测频法适合用于对高频信号的测量,频率越高,测量精度也越高。

由于要求测量频率范围为50HZ—50KHZ,因此选用方案二,可以较好的达到效果。

将单片机内部定时/计数器T0设置为定时器并定时1s,将单片机内部定时/计数器T1设置为计数器,以机器周期(1us)为基准(12M晶振),由软件产生计数定时时间1s,将计数值显示出来即为待测信号的频率。

 

3.总体系统设计

3.1.系统结构框图

控制单元AT89S51

数码管显示

外部信号

数码管驱动

3.2单片机模块

3.2.1晶振模块

晶振为单片机提供时钟信号,CPU总是按照一定的时钟节拍与时序工作,可以通过提高时钟频率来提高CPU的工作速度,此系统使用12M晶振。

电容C1、C2的取值范围为15pF-45pF之间,他们能起到起振和微调震荡频率的作用。

3.2.2复位模块

CPU在启动运行时都需要复位,使CPU和其他部件都置为一个特定的初始状态。

而AT89S51单片机可以有上电复位和手动复位,此设计可同时实现两种复位方式。

此单片机需要一个正脉冲(宽度>2个机器周期)才能是单片机复位,由于振荡器频率为12M,则复位的电容的典型值为1uF。

3.2.3电源模块

此单片机的供电电压为5V,通过ISP下载线供电,亦可通过直流5V供电。

此次设计在电源处加入一个滤波电容和一个电解电容,可以是电源电压更加稳定,从而使单片机更加稳定的工作。

 

3.3数码管显示模块

数码管动态显示原理:

将位选信号送至12、9、8、6;段选信号送至11、7、2、1、10、5、3。

段码虽同时到达4个LED,但一次仅一个LED被选中。

利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个……循环扫描即可。

3.4程序设计模块

开始

计数器1清零

启动定时计数器

计数器0赋初值

进中断

定时1s

读出计数器1显示值

结束

4.系统的组装

4.1PCB板图

主要是运用了Protel软件进行原理图,pcb图的绘制,完成以后进过一系列的加工制作形成完整的PCB板。

在元件的焊接过程之中,注意元件的方向性和焊接的可靠性。

4.2面板图及部件说明

虽然制作了PCB图,但这是分模块设计的,因此需要用排线把各个部分连接起来,制作硬件时一定要把各部分接口在电路板上标注出来,特别是电路中有许多个接口时更应该标注一下(如电源正负极,I/O口等),标注以后方便电路检查及插线,从而大大的节约了时间,同时也使电路清楚明了。

此设计使用了5位共阳数码管显示频率的大小。

5.系统调试

5.1硬件电路的测试方法

对于电子电路的调试方法,首先是分模块调试,把各个模块都调试好了以后,将各模块连接起来进行联调,在调试过程中一定要仔细,还要有足够的耐心。

5.2软件的测试方法

本次课设需要用到keilc51编写软件、progisp下载软件。

学会keilc51及progisp的使用,软件调试和硬件调试有很多共同之处。

首先写一段程序测试数码管,并测试数码管的编码表,其次设置定时计数器,用示波器调试定时时间(此处需要定时50ms进一次中断,需中断20次,完成1s定时,而程序中通过进一次中断输出电平取反用来测试,此时输出占空比为50%频率为10HZ的方波,同时此信号也可以做为输入信号接入计数器用做测试信号)。

6.设计心得体会

在这次课程设计中,先把每个模块设计出来,要考虑到设计的每个细节及要求,一步一步地修改,完成pcb图的设计。

接下来是焊接电路,调试电路,调试软件实现功能,这里需要仔细加耐心才能完成。

同时,在整个过程之中学会了提出问题、分析问题、解决问题的方法,会对以后的学习带来极大的帮助。

回顾起此次课程设计,至今我仍感慨颇多,从理论到实践,在整整两个星期的时间里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。

在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。

 

参考文献

[1]康光华等,电子技术基础(模拟部分)[M],高等教育出版社,2006年1月第5版

[2]张友德、赵志英、凃时亮,单片微型机原理、运用与实践,复旦大学出版社,2006年10月第5版

附录

附录1总原理图

单片机模块

数码管模块

附录2测试仪器

1.5V电源

2.万用表

3.信号发生器

附录3实物图片

 

附录4程序设计及代码

#include

unsignedintcounter,count;

unsignedcharcodeduanma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0,1,2,3,4,5,6,7,8,9,.

voiddelay(unsignedinti);

voiddisplay(unsignedcharwan,unsignedcharqian,unsignedcharbai,unsignedcharshi,unsignedcharge);

sbitfre=P1^1;

voidmain()

{

unsignedcharwan,qian,bai,shi,ge;

TMOD=0x51;//01010001T1:

负脉冲计数工作方式1//T0:

定时工作方式1

TH0=0x3C;//3CB0H=15536

TL0=0xB0;//M=12MHZ;1机器周期=1us(65536-15536)//*1us=50ms定时50ms*20=1s

TH1=0x00;

TL1=0X00;//

EA=1;

ET0=1;

TR0=1;

ET1=1;

TR1=1;

fre=1;

while

(1)

{

wan=count/10000;

qian=count/1000%10;

bai=count/100%10;

shi=count/10%10;

ge=count%10;

display(wan,qian,bai,shi,ge);

}

}

voidtimer()interrupt1

{

fre=~fre;

counter++;

if(counter==20)

{

count=TH1*256+TL1;

}

TH0=0x3C;

TL0=0xB0;

}

voiddisplay(unsignedcharwan,unsignedcharqian,unsignedcharbai,unsignedcharshi,unsignedcharge)

{

P2=0x01;

P0=duanma[ge];

delay(300);

P2=0x02;

P0=duanma[shi];

delay(300);

P2=0x04;

P0=duanma[bai];

delay(500);

P2=0x08;

P0=duanma[qian];

delay(500);

P2=0x10;

P0=duanma[wan];

delay(500);

}

voiddelay(unsignedinti)

{

unsignedinta;

for(a=i;a>0;a--);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1