51单片机频率计课设
本设计采用汇编语言。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
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析