单片机频率计课程设计

来源:网络收集 时间:2025-06-12 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

贵州大学课程设计

任务要求

运用所学单片机原理、、模拟和数字电路等方面的知识,设计出一个数字频率计。数字频率计要求如下:

1)能对0~50kHz的信号频率进行计数;

2)频率测量结果通过4位数码管显示(十进制)。 二、课程设计应完成的工作

1)硬件部分包括微处理器(MCU)最小系统(供电、晶振、复位)、频率

测量和数码管显示部分;

2)软件部分包括初始化、频率计算、显示等; 3)用PROTEUS软件仿真实现;

4)画出系统的硬件电路结构图和软件程序框图;

内容摘要

1.数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。

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

时值。为了实现一秒的定时,采用定时和计数相结合的方法实现。选用定时/计数器TO作定时器,工作于方式1产生50 ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。

第 1 页 共 13 页

贵州大学课程设计

第1节 引言

本应用系统设计的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。

1.1数字频率计概述

数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。

1.2任务分析与设计思路

频率的测量实际上就是在1s时间内对信号进行计数,计数值就是信号频率。在本次设计使用的AT89C51单片机,本身自带有定时器和计数器,单片机的T0、T1两个定时/计数器,一个用来定时,另一个用来计数,定时/计数器的工作由相应的运行控制位 TR 控制 ,当 TR置 1 ,定时/ 计数器开始计数 ;当 TR 清 0 ,停止计数 。在定时1s里,计数器计的脉冲数就是频率数,但是由于1s超过了AT89C51的最大定时,因此我们采用50ms定时,在50ms内的脉冲数在乘以14就得到了频率数,在转换为十进制输出就可。

第 2 页 共 13 页

贵州大学课程设计

第2节 硬件系统设计

2.1 系统组成框图

2.2晶振电路和复位电路

XTAL1与XTAL2管脚接两个22pF电容和12 MHz晶振构成时钟电路。RST管脚接10 kΩ电阻,20 μF电容上电复位电路。

第 3 页 共 13 页

贵州大学课程设计

2.3 单片机与译码显示

选择单片机AT89C51是因为有编程灵活、易调试的特点,而且AT89C51的引脚较多,利于电路的展。它集成了CPU,RAM,ROM,定时器/计数器和多功能I/0口等一台计算机所需的基本功能部件,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含两个外中断口,两个16位可编程定时计数器,两个全双工串行通信口。还提供了对程序进行加密保护的功能。

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

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

数码管是由若干发光二极管组成显示的字段,当二极管导通时相应的一段发光,控制不同组合的二极管导通,就可以显示出各种字符。对于共阴级显示管,将所有二极管的阴极连接在一起,公共端3、8接低电平,当某个字段的阳极接高电平时,对应的字段就点亮。设计中需要用到4个七段显示数码管,用来显示频率的数值

2.3 输入信号

为验证本设计的频率计的准确性与快速性,采用三个不同频率的信号源。

第3节 系统的软件构成

3.1 程序流程图

第 4 页 共 13 页

贵州大学课程设计

3.2 初始化

ORG 0000H AJMP START ORG 0600H

START: MOV TMOD , #51H MOV TH0 , #3CH MOV TL0 , #0B0H MOV IE ,#82H

MOV TH1 , #00H MOV TL1 , #00H SETB TR0 SETB TR1

采用12 MHz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。为了实现一秒的定时,采用定时和计数相结合的方法实现。选用定时/计数器TO作定时器,工作于方式1产生50 ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。

第 5 页 共 13 页

贵州大学课程设计

将定时器/计数器的方式寄存器TMOD,用软件赋初值51H,即01010001B。这时定时器/计数器1采用工作方式1,方式选择位C/T设为1,即设T1为16位计数器。定时器/计数器O采用工作方式1,C/T设为0,即设TO为16位定时器。

16TC?M—T/T?50ms/1us?15536?3CB0H,所以T0初值为3CB0H. 计数?2

3.3 频率计算

LOOP:SJMP $ ;等待中断 ORG 000BH ;入口地址 AJMP BTR0 ORG 0080H

BTR0:CLR TR1 ;停计数

CLR TR0 MOV A,TH1

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

SJMP NEXT2 NEXT1:JC BEGIN JNC NEXT4 NEXT2:MOV A,TL1

CJNE A,#0F4H,NEXT3 ;等于则比较TL1的计数值和#0F4的大小 SJMP NEXT4 NEXT3:JC BEGIN JNC NEXT4

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

第 6 页 共 13 页

贵州大学课程设计

3.4 十六进制转为十进制算法

设十六进制数为 b4b3b2b1

(1)b4×6÷10=C1 b3×6÷10=C2 b2×6÷10=C3 (b1+ C1 +C2+ C3)÷10=C4?????d3(个位)

(2)(C1 +C2+ C3+ C4+ b2+ b3×5+ b4×9)÷10=e?????d2(十位) (3)(e+ b3×2)÷10=f????d1(百位) (4)b4×4+f=d0(千位) 最后转换成的十进制数为d0d1d2d3

第 7 页 共 13 页

贵州大学课程设计

第4节 功能仿真调试

4.1 仿真电路图

4.2仿真结果分析

本实验采用三个信号源分别为10000HZ ,4180HZ,120HZ。分别模拟高频,中频和低频。当开关打在10000HZ时,数码管显示9999,与预期符合,当开关打在4180hz的信号源上时,显示4180也吻合,打在120HZ的信号源上时,显示为120HZ与100HZ的跳变,显示有误差, 造成误差的原因有几点:①单片机技术速率的限制引起误差。②晶振的准确度会影响一秒定时的准确度,从而引起测量误差。③过多硬件连接会造成误差。要减小误差,可以采用如下几条措施;①选用频率较高和稳定性较好的晶振。②测量频率较高的信号时,可以先对信号进行分频,在进行测量。③测量频率较低的信号时,可以适当调整程序,延长门限时间。④尽可能选择少的硬件来实现所需功能。

第 8 页 共 13 页

贵州大学课程设计

第5节 附录

5.1 元件清单与管脚

51单片机 译码器 数码管

5.2 程序清单

ORG 0000H

第 9 页 共 13 页

贵州大学课程设计

AJMP START ORG 0600H

START:MOV TMOD,#51H ;送方式字 MOV TH0,#3CH ;T0赋初值 MOV TL0,#0B0H

MOV IE,#82H ;开T0中断 MOV TH1,#00H ;T1清零 MOV TL1,#00H

SETB TR0 ;开始计数 SETR TR1

LOOP:SJMP $ ;等待中断 ORG 000BH ;入口地址 AJMP BTR0 ORG 0080H

BTR0:CLR TR1 ;停计数

CLR TR0 MOV A,TH1

CJNE A,#01H,NEXT1 ;判断TH1的计数是否大于01H,(500十六进制为01F4H) SJMP NEXT2 NEXT1:JC BEGIN JNC NEXT4 NEXT2:MOV A,TL1

CJNE A,#0F4H,NEXT3 ;等于则比较TL1的计数值和#0F4的大小 SJMP NEXT4 NEXT3:JC BEGIN JNC NEXT4

NEXT4:MOV A,#99H ;大于01F4H则输出9999 MOV P1,A MOV P2,A

LJMP LAST ;长转移

BEGIN:MOV A TL1 ;小于01F4H则转换为十进制,以下程序段为十进制转换 MOV B,#14H MUL AB MOV R2,B MOV B,#10H DIV AB MOV RO,A MOV R1,B MOV A,TH1 MOV B,#14H MUL AB ADD A,R2

第 10 页 共 13 页

贵州大学课程设计

MOV B,#10H DIV AB MOV R2,B MOV R7,A MOV B,#06H MUL AB MOV B,#0AH DIV AB MOV 40H,A MOV 41H,B MOV B,#06H MOV A,R0 MUL AB MOV B,#0AH DIV AB MOV R3,A MOV R4,B MOV A,R2 MOV B,#06H MUL AB MOV B,#0AH DIV AB MOV R5,A MOV R6,B MOV A,R1 ADD A,R4 ADD A,R6 ADD A,41H MOV B,#0AH

DIV AB MOV R1,B ADD A,R0 ADD A,R3 ADD A,R5 MOV R0,A MOV A,R2 MOV B,#05H MUL AB ADD A,R0 MOV R0,A MOV A,R7 MOV B,#09H

第 11 页 共 13 页

贵州大学课程设计

MUL AB MOV B,#0AH DIV AB MOV 42H,A MOV A,B ADD A,R0 ADD A,40H MOV B,#0AH DIV AB MOV R0,B MOV R3,A MOV A,R2 MOV B,#02H MUL AB ADD A,R3 ADD A,42H MOV B,#0AH DIV AB MOV R4,A MOV R5,B MOV A,R7 MOV B,#04H MUL AB ADD A,R4 MOV B,#01H MUL AB ADD A,R5 MOV P1,A MOV A,R0 MOV B,#10H MUL AB ADD A,R1 MOV P2,A

LAST:MOV TH0,#3CH MOV TL0,#0B0H

MOV TH1,#00H MOV TL1,#00H

SETB TR1, SETB TR0

RETI END

第 12 页 共 13 页;重装初值;停计数;开始计数;返回;结束

贵州大学课程设计

第6节 总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多,从理论到实践,在一个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能创造价值,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师指导下,终于游逆而解。

第7节 参考文献

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

第 13 页 共 13 页

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库单片机频率计课程设计在线全文阅读。

单片机频率计课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/178957.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219