中北大学单片机数字频率计课程设计Word文档格式.docx

上传人:b****1 文档编号:903777 上传时间:2023-04-29 格式:DOCX 页数:13 大小:112.09KB
下载 相关 举报
中北大学单片机数字频率计课程设计Word文档格式.docx_第1页
第1页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第2页
第2页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第3页
第3页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第4页
第4页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第5页
第5页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第6页
第6页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第7页
第7页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第8页
第8页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第9页
第9页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第10页
第10页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第11页
第11页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第12页
第12页 / 共13页
中北大学单片机数字频率计课程设计Word文档格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

中北大学单片机数字频率计课程设计Word文档格式.docx

《中北大学单片机数字频率计课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《中北大学单片机数字频率计课程设计Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。

中北大学单片机数字频率计课程设计Word文档格式.docx

2.1系统硬件的构成

本频率计的数据采集系统主要元器件是单片机AT89C51,由它完成对待测信号频率的计数和结果显示等功能,外部还要有分频器、显示器等器件。

可分为以下五个模块:

晶振电路、复位电路、译码转换、单片机系统、数码显示模块。

各模块关系图如图1所示。

图1系统组成框图

2.2系统硬件各模块简介

2.2.1晶振电路和复位电路

XTAL1与XTAL2管脚接两个22pF电容和12MHz晶振构成时钟电路。

RST管脚接10kΩ电阻,20μF电容上电复位电路。

2.2.2AT89C51单片机

本设计采用的是AT89C51单片机,它提供下列标准特征:

4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上震荡器和时钟电路。

设计中主要用到P2端口与74HC4511译码器连接输出待显示的个位与十位的数据,P1端口与74HC4511译码器连接输出频率计的百位和千位,P3端口连接信号输入电路。

P3是一带有内部上拉电阻的8位双向的I/O端口,它的输出缓冲能驱动4个TTL逻辑门电路。

当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。

作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。

2.2.3译码显示

74HC4511译码器是4线七段译码驱动器,在设计中用它来译码并且驱动数码显示管来显示数值,共需要4个74HC4511和4个七段显示数码管。

89C51单片机P2端口与74HC4511译码器连接输出待显示的个位与十位的值,P1端口与74HC4511译码器连接输出频率计的百位和千位的值。

2.2.4系统硬件电路图

图2系统硬件电路图

3设计过程

3.1程序流程图

图3程序流程图

3.2初始化程序部分

采用12MHz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。

为了实现一秒的定时,采用定时和计数相结合的方法实现。

选用定时/计数器TO作定时器,工作于方式1产生50ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。

将定时器/计数器的方式寄存器TMOD,用软件赋初值51H,即01010001B。

这时定时器/计数器1采用工作方式1,方式选择位C/T设为1,即设T1为16位计数器。

定时器/计数器O采用工作方式1,C/T设为0,即设TO为16位定时器。

所以T0的初始值为3CB0H。

以下为程序代码。

ORG0000H

AJMPSTART

ORG0600H

START:

MOVTMOD,#51H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVIE,#82H

MOVTH1,#00H

MOVTL1,#00H

SETBTR0

SETBTR1

3.3频率计算

由于定时50ms,采用4位显示,最大显示频率是9999,因此50ms里最大计数为500,否则显示不准确,500的十六进制为01F4H,当计数器的高八位大于01时,计数值大于500超过最大显示,即直接显示9999,当高八位等于01时,在判断第四位TL1与F4H的大小,大于或等于也直接显示频率9999,小于时在进行十进制转换,当高八位小于01时,在跳转到十六进制转换到十进制的程序中,再显示出来。

最后将十六进制数转换为十进制数。

以下为程序代码:

LOOP:

SJMP$;

等待中断

ORG000BH;

入口地址

AJMPBTR0

ORG0080H

BTR0:

CLRTR1;

停计数

CLRTR0

MOVA,TH1

CJNEA,#01H,NEXT1;

判断TH1的计数是否大于01H,(500十六进制为01F4H)

SJMPNEXT2

NEXT1:

JCBEGIN

JNCNEXT4

NEXT2:

MOVA,TL1

CJNEA,#0F4H,NEXT3;

等于则比较TL1的计数值和#0F4的大小

SJMPNEXT4

NEXT3:

NEXT4:

MOVA,#99H;

大于01F4H则输出9999

MOVP1,A

MOVP2,A

 

4.仿真调试

4.1仿真结果

本次仿真是在Proteus平台上进行,仿真电路如下:

图4方波频率为10kHz显示结果

图5方波频率为800Hz显示结果

4.2仿真结果分析

本实验采用两个分别为10kHz,800Hz的信号源来验证所设计的频率计的准确性,分别模拟量程范围0~9999Hz外和量程范围0~9999Hz内的显示结果。

当开关打在10kHz时,数码管显示9999,与预期符合,当开关打在800Hz的信号源上时,显示800也符合。

总结

5.1设计小结

该频率计设计,实现了测被测信号的频率,周期和脉宽的功能。

在调测的过程中发现测量频率时,档位在1Hz~9999Hz,最终得到的结果的符合预期要求,测量结果在误差允许范围之内。

5.2心得体会

在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。

通过这次课程设计,不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富了自己的知识。

扩展了知识面,不但掌握了本专业的相关知识,而且对其他专业的知识也有所了解,而且较系统的掌握单片机应用系统的开发过程,因而自身的综合素质有了全面的提高。

在本次课程设计中,发现了自己的不足之处,对以前所学过的知识理解得不够深刻,比如在硬件仿真时,由于对数电、模电的知识掌握得不够牢固,导致仿真结果一直不能实现,还有在进行编程的时候对单片机的寄存器、接口电路等不够了解,也遇到了很多问题,但最终通过查资料、同学的帮助解决了这些问题。

同时也熟练掌握了proteus、keil这两个软件,提高了自己的动手能力。

参考文献

[1]胡汉才.单片机原理及其接口技术.清华大学出版社,1996.

[2]胡汉才.单片机原理及系统设计.清华大学出版社,2002.

[3]李朝青.单片机原理及接口技术.北京航空航天大学出版社,1994.

[4]徐惠民,安德宁.单片微型计算机原理、接口、应用.北京邮电大学出版社,1990.

[5]张友德,赵志英,涂时亮.单片微型机原理、应用与实验.复旦大学出版社,1992.

[6]proteus帮助文档.

[7]keil帮助文档.

[8]高海生,杨文焕.单片机应用技术大全.西南交通大学出版社,1996.

[9]E.A.Nichols,J.C.Nichols,K.R.Musson.微型计算机数据通信,1989.

[10]徐爱钧.智能化测量控制仪表原理与设计.北京航空航天大学出版社,1999.

附录程序清单

MOVTMOD,#51H;

送方式字

MOVTH0,#3CH;

T0赋初值

MOVTL0,#0B0H

MOVIE,#82H;

开T0中断

MOVTH1,#00H;

T1清零

MOVTL1,#00H

SETBTR0;

开始计数

SETBTR1

AJMPBTR0

LJMPLAST;

长转移

BEGIN:

MOVA,TL1;

小于01F4H则转换为十进制,以下程序为十进制转换

MOVB,#14H

MULAB

MOVR2,B

MOVB,#10H

DIVAB

MOVR0,A

MOVR1,B

ADDA,R2

MOVR7,A

MOVB,#06H

MOVB,#0AH

MOV40H,A

MOV41H,B

MOVA,R0

MOVR3,A

MOVR4,B

MOVA,R2

MOVR5,A

MOVR6,B

MOVA,R1

ADDA,R4

ADDA,R6

ADDA,41H

ADDA,R0

ADDA,R3

ADDA,R5

MOVB,#05H

MOVA,R7

MOVB,#09H

MOV42H,A

MOVA,B

ADDA,40H

MOVR0,B

MOVB,#02H

ADDA,42H

MOVR4,A

MOVR5,B

MOVB,#04H

MOVB,#01H

MOVP1,A

ADDA,R1

LAST:

重装初值

SETBTR1;

RETI;

返回

END;

结束

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2