教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

51单片机频率计课设

来源:网络收集 时间:2025-09-17
导读: 本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。 设计题目:简易数字频率计 系 别:控制工程学院 专 班级学号: 姓 名: 指导教师: 设计时间: 《单片机课程设计》设计报告 本设计采用汇编语言。8255地址为0FF20H

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

设计题目:简易数字频率计 系 别:控制工程学院 专 班级学号: 姓 名: 指导教师: 设计时间:

《单片机课程设计》设计报告

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

简易数字频率计设计

设计任务:采用AT89S52单片机测量实验室产生的方波脉冲频率,将待测频率接至T0引脚,测量方波频率并显示。

1.总体方案设计 (1).设计思路 本次课程设计是基于51单片机的频率计设计。该课程设计是能实现精确测量频率。由于计数器最大能计数的频率为f/24=460.8KHz。本设计为了便于编程将最大测量频率限制在65536*7=458.752KHz。如果超出最大频率数码管将显示------。

该设计通过定时器1定时1S,待测频率通过计数器0在1S内的计数值得出。每1S显示一次待测频率值。由于最大频率可达458.752KHz,而每次计数值最大只能达到65536,所以计数器0每产生一次中断,需要将计数值加65536,并给计数初值赋0重新计数,直到1S定时时间到。计数值计算公式为(最后一次计数值+计数器0溢出次数*65536)。将得到的计数值经处理后转换成BCD码分别在6个数码管上显示。

本次设计,利用了定时器,计数器,中断,查表,8255扩展端口等,设计出硬件电路。最后在PROTEUS上进行仿真。

(2).系统总体结构

(2).芯片选择

本设计主要采用AT89S52,8255A,74LS373,等构成测量系统。 74LS373芯片

为了实现P0口的复用,应在P0口连上74LS373,通过锁存器输出A0,A1(连接到8255A)。 74LS373芯片为三态输出的锁存器。当三态允许控制端OE为低电平的时候,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,Q0~Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存器允许端LE为高电平时,Q随数据D而变化。当LE为低电平时,Q被锁存在已经建立的数据电平。 74LS245芯片

74LS245是8路同相三态双向总线收发器,可双向传输数据。当片选端CE低电平有效时,DIR为低电平,信号由B向A传输;DIR为高电平,信号由A向B传送。当片选端CE高电平时,A,B

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

均为高阻态。 74ls240芯片

74ls240是八单线驱动器。(反码,三态输出)这种八缓冲器和线驱动器是为提高三态输出存储地址驱动器,时钟驱动器和总线定向接收器和发射器的性能可和集成度而特意设计的。设计者可按需要将原码,反码输出。OE(低电平输出控制)。 8255芯片

由于接口有限,所以因使用8255A进行接口的扩展,使用8255A的A、B口作为数码管显示电路的扩展。8255是可编程并行I/O接口单元,可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,数据总线DB:D0~D7,用于8255和CPU传送8位数据,地址总线AB:A0~A1,用于选择A、B、C口与控制寄存器;控制总线CB:片选信号、复位信号、读写信号。当CPU要对8255进行读或写数据的操作时,必须先向8255片选信号选中8255芯片,然后发读信号或者写信号对8255进行读或写数据的操作。在本设计中,8255的PA口用于数码管的位选择,用于选中数码管;PB口用于数码管的字形选择。

实验室8255地址分配

(3)定时计数方式

设计中使计数器0工作在模式1进行对外部脉冲频率的计数。定时器1工作在模式1进行定时。当定时达到1S时,显示频率值。

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

2.硬件电路设计 (1).单片机最小系统

(2).单片机测量系统设计

只需将被测电路接到T0口即可。

(3).显示电路与AT89S52单片机接口电路

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

3.软件设计

1.主程序流程图

2.方波频率测量流程图

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

3.显示程序流程图

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

4.调试与测试结果分析

(1).实验系统连线

实验系统连线时将待测频率接到T0口。

(2).程序调试

本次设计首先采用了仿真软件调试,仿真软件使用PROTEUS。

在仿真过程中,遇到了一系列的问题,首先是8255的扩展接线时没有在P0口接上地址锁存器74LS373,导致单片机无法访问8255A的 A、B口。

在接线正确后,进行了程序调试。

1.首先出现了测量精度低的问题,为了简化对频率值的处理,一开始采用了定时100MS,使单片机每计数100MS就输出频率值。频率值=计数器值*10。该方法在大频率测量是误差较小,但是测量小频率信号时,误差极大。

改进方案:定时器定时1S。当计数器每次次溢出时将65536的个位与40H进行带进位的BCD码相加,十位与41H,进行带进位BCD码相加·······十万位与45H进行带进位BCD码相加。

当定时时间到后。将最后一次的计数值进行BCD码转换,分别存储,并与40H到45H单元里的数分别进行带进位BCD码相加。最后显示6位BCD码。这样即可得到更精确的测量值。但代码量变大。

2.调试同时也出现了数码管不亮的问题。原因是由于定时1S,而数码管显示时间只有几毫秒。在等待中断的时间内,数码管是不扫描显示的。

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

解决该问题的方法:将数码管显示程序写在等待中断的程序中。这样可以使等待中断时进行实时显示。

3.在PROTEUS中,频率测量范围能达到1HZ——999KHZ。但实验室中,测量值达到500KHZ时出现了较大的误差,1M时出现了错误的显示。原因有以下几点 a.PROTEUS仿真是在理想情况下仿真与实际捕捉脉冲不同。

b.在实际情况下单片机计数采样应是检测一个从1至0的跳变时计数器值加1。如果前一个周期采样值为1,而下一个周期采样值为0,则计数器加1. 由此可见,检测一个1至0的跳变至少需要两个机器周期。所以最高计数频率应为f/24=460.8KHZ,因此在实验室测量500KHZ时出现了较大的偏差。 (3).实验结果分析

本次实验实现了最频率计的实时测量,实时更新数码管。测量范围为1HZ到458.752KHZ。当测量频率范围超过最大值时,数码管将显示------ 提醒使用者,频率计超出量程。

4.总结

本次课程设计收获很大 5.程序清单和系统原理图

本设计采用汇编语言。8255地址为0FF20H到0FF23H,数码管为共阳数码管。程序经调试完全可用。

;小组成员:5100314 吴晓敏 ORG 0000H JMP START ORG 001BH JMP INTR1 ORG 000BH JMP INTR0 org 0050H START: mov 40H,#0 mov 41H,#0

mov 42H …… 此处隐藏:3109字,全部文档内容请下载后查看。喜欢就下载吧 ……

51单片机频率计课设.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/97433.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)