智能仪器仪表综合设计与实训报告书.docx
- 文档编号:27897655
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:11
- 大小:24.88KB
智能仪器仪表综合设计与实训报告书.docx
《智能仪器仪表综合设计与实训报告书.docx》由会员分享,可在线阅读,更多相关《智能仪器仪表综合设计与实训报告书.docx(11页珍藏版)》请在冰豆网上搜索。
智能仪器仪表综合设计与实训报告书
智能仪器仪表综合设计与实训报告书
成绩:
课程设计报告书 所属课程名称智能仪器仪表综合设计与实训 分 院 机电学院 题 目 作息时间控制器的设计 专业、班级 测控技术与仪器B1003 学 号 0614100328 学生姓名 张思琪 指导教师 杨亮周春明赵娜 2013年12月06日 目 录 1课程设计任务书.........................................-2-2总体设计方案............................................-4- 总体设计方案框图.........................................-4-芯片介绍.................................................-4-AT89C51芯片...........................................-4-8051简介..............................................-7-3硬件电路设计............................................-8- 复位电路.................................................-8-时钟电路.................................................-9-数码管显示模块..........................................-10-闹钟模块................................................-10-按键控制模块............................................-11-4程序设计.................................................-12- 主程序设计..............................................-12-中断子程序.............................................-13-按键扫描子程序........................................-14-5结果验证.................................................-16- 装置调试................................................-16-Proteus软件仿真........................................-17-6结论.......................................................-21-7参考文献.................................................-22-附一:
源程序代码..............................................-23-附二:
系统原理图..............................................-37- -1- 辽东学院 1课程设计任务书 课程设计题目:
作息时间控制器的设计 课程设计时间:
自2013年11月15日起至2013年12月6日课程设计要求:
通过按键设定上下课作息时间;根据已设定作息时间表进行到时提示;设定广播时间,并播放一小段音乐;利用数码管或液晶块显示上下课状态。
学生签名:
2013年12月06日 课程设计评阅意见 课程设计出勤情项目态度评价况评价10%10%成绩任务难度、量评价10%创新性评价10%综合设计能力评价20%报告书写规范评价20%答辩20%综合评定等级 -2- 评阅教师:
2013年 月 日 -3- 2总体设计方案 总体设计方案框图 设计实现的功能主要有:
使用4位七段显示器来显示现在的时间,显示格式为“时分”,LED小数点闪动作为秒计数表示。
可以设定作息时间,并进行到时提示。
能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。
按键输入控制设置年月日以及当前时间、并可设置闹钟定时,时间到蜂鸣器发出响声并作出相应动作:
二极管闪亮,同时播放音乐。
芯片介绍 AT89C51芯片 1.特性概述 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可 -4-
擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.管脚说明 VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,于外部下拉为低电平,P3口将输出电流这是于上拉的缘故。
3.管脚备选功能 RXD TXD -5- /INT0 /INT1 T0 T1 /WR /RD P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
-6- 8051简介 单片微型计算机简称为单片机,又称为微型控制器,是微型计算机的一个重要分支。
单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统于同一硅片的器件。
80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。
1.管脚说明 VCC-芯片电源,接+5V;VSS-接地端; XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
2.控制线 控制线共有4根; ALE/PROG:
地址锁存允许/片内EPROM编程脉冲; ①ALE功能:
用来锁存P0口送出的低8位地址; ②PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
PSEN:
外ROM读选通信号; RST/VPD:
复位/备用电源。
①RST功能:
复位信号输入端; ②VPD功能:
在Vcc掉电情况下,接备用电源。
EA/Vpp:
内外ROM选择/片内EPROM编程电源。
①EA功能:
内外ROM选择端; ②Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
3.I/O线 80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P0口有三个功能:
①外部扩展存储器时,当做数据总线; ②外部扩展存储器时,当作地址总线; ③不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
-7- P1口只做I/O口使用:
其内部有上拉电阻。
P2口有两个功能:
①扩展外部存储器时,当作地址总线使用; ②做一般I/O口使用,其内部有上拉电阻。
P3口有两个功能:
除了作为I/O使用外,还有一些特殊功能,特殊寄存器来设置。
3硬件电路设计 复位电路 位电路采用上电+按钮电平复位,其中电阻的选取R1约为左右R2约为 -8- 1k左右。
保证加载RST引脚上的高电平持续两个机器周期,才能使单片机有效地复位如图3-1所示。
图3-1复位电路 时钟电路 单片机内部有一个用于构成振荡器的高增益反响放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上接外接时钟源即可构成时钟电路,如图3-2所示。
GNDC230pX1C3 30pCRYSTALU119XTAL1C11810uFXTAL2图3-2时钟电路参数选取:
C2,C3对频率有微调作用,当外接晶振时,C2和C3通常选取10~30pF,当外接陶瓷振荡器时,C2和C3的典型值约为20~50pF。
振荡频率范围一般是~12MHz。
-9-
数码管显示模块 图3-3显示模块 时间显示模块主要四位七段数码管来显示,配合按键控制模块的校正与设定时间,相应的显示。
时间正常显示时,LED每闪动60次,分钟自动加一;每六十分钟小时自动加一;每24小时天自动加一。
闹钟模块 图3-4闹钟模块 闹钟模块快的主要功能即闹铃。
当设定时间与当前时间一致时,则闹钟自动闹铃进行提示,同时二极管闪亮一分钟后,自动退出响铃状态,若按K3键,闹钟退出响铃状态。
-10- 按键控制模块 图3-5按键控制 按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式。
按键控制模块主要有四个按键组成:
K1、K2、K3、K4、。
其中K1的功能是模式切换键;K2的作用是加一;K3的作用是闹钟使能;K4的作用是减一。
闹钟设定:
当我们需要闹钟提醒时即可使用此功能,连续按三下K1键即可进入闹钟小时设定状态,通过K2键加一或K4键减一,进行小时设定,再按一次K1键即可进行分钟设定,其设定原理与小时设定原理相同,按一下K3键,则时间设定完毕,到时会自动响铃。
闹钟响铃:
当我们设定的时间与当前时间一致时,则闹钟就会自动响铃提示,与此同时发光二极管闪亮,一分钟后响铃停止,发光二极管熄灭,若在此期间按下闹钟使能键K3同样能使响铃停止,发光二极管熄灭。
日期校正:
当我们需要与当前日期保持一致时,则可以使用日期校正功能,连续按动五次K1键,则进入月份校正状态,通过K2加一键或K4减一键进行校正月份,再按一次K1键,则可进行日期校正,校正原理同月份校正原理相同。
时间校正:
当我们需要正确的显示时间即可进行时间校正,按一下K1即进入小时校正状态,通过K2加一或K4减一来进行小时校正,再按一次K1键即可进行分钟校正,校正原理同小时校正相同 年份校正:
当我们需要保持年份与当前年份一一致时,则可以进行年份校正。
-11- 连续按动七次K1键,即进入年份校正状态,通过K2加一键或K4减一键进行校正。
4程序设计 本系软件设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时50微妙,则连续中断20次即为一秒,得到了我们所需时间的最小单位 该设计用C51编写程序,于汇编语言的移植性比较差,而C语言则比较灵活。
许多子函数都可以直接移植过去。
在程序中除了有主函数外还包含许多子函数,如延时函数、按键扫描函数、初始化函数、时间显示函数、设定闹钟显示函数、设定日期显示函数、设定年份显示函数、月份选择函数、年份显示辅助函数。
主程序设计 在主控程序循环中主要工作为扫描是否有按键,若有按键则应做相应的功能处理,同时也扫描显示器显示时间数据,并检查所设置的时间是否到了,时间计时处理程序是等过了1S后,则更新时间数据,将最新的时,分,秒的数据转换为数字数据并显示在七段显示器上。
程序中是这样判断是否过了1S的:
设一旧秒数变量,当新旧秒数变量不一 -12- 样时,则表示已过了1S,要做相关程序时间处理了。
蜂鸣器初始化定时器初始化按键扫描判断标志位XX=0X=1、2校正时间显示函数X=3、4设定闹钟显示函数X=5、6X=7时间显示函数日期显示函数年份显示函数 图4-1主程序流程图 中断子程序 中断子程序的主要功能:
提供时间基准。
当连续中断20次时,即为一秒,此时秒加一;当秒值为60时,分钟加一,同时秒清零;当分钟值为60时,小时加一,同时分钟值清零;当小时为24时,天值加一,同时小时清零;于每月天数不定,1、3、5、7、8、10、12月为31天,当计数到此类月份时,天值为32时,月值加一,同时天值为1;4、6、9、11月为30天,当计数到此类月份时,天值为31时,月值加一,同时天值为1;如果是闰年,则2月为29天,当计数到此类月份时,天值为30时,月值加一,同时天值为一;如果不是闰年,则2月为28天,当计数此类月份时,天值为29时,月值加一,同时天值为一;当月值为13时,则年值加一,同时月值为一。
-13- 设置定时器初值是否到一秒?
Y秒变量加一Y是否到60秒?
N返回主函数N秒值清零、分值加一Y是否到60分?
N分值清零、小时加一Y是否到24小时?
N小时清零、天值加一Y是否到一月?
N天值为1、月值加一Y是否到一年?
N月值为1、年值加一 图4-2定时器中断函数 按键扫描子程序 按键扫描子程序是程序计中相当重要的一部分。
按键扫描子程序的功能是:
扫描是否有按键按下,若有键按下,则执行相应功能。
-14-
是否有键按下?
Y按键1模式按键切换处理按键2响应设定变量加一按键3N返回按键4相应设定变量减一闹钟使能 图4-3按键扫描子程序 -15- 5结果验证 装置调试 1.设定的初始时间如图5-1-1所示 图5-1-1时间显示 2.设定闹钟时间图5-1-2所示 图5-1-2闹钟设定时间 3.设定的闹钟时间与当前时间相同,闹钟音乐播放图5-1-3 -16- 图5-1-3闹钟音乐播放 Proteus软件仿真 初始界面:
启动Proteus进行仿真时显示的初始化时间。
设定时间初始值是20:
05:
59仿真时时间跳转到20:
06。
初始界面仿真图如图5-2-1所示。
图5-2-1时间显示仿真图 时间校正:
当我们需要正确的显示时间即可进行时间校正,按一下K1即进入小时校正状态,通过K2加一或K4减一来进行小时校正,再按一次K1键即可 -17- 进行分钟校正,校正原理同小时校正相同。
其仿真图如图5-2-2所示。
图5-2-2时间校正仿真图 闹钟设定:
当我们需要闹钟提醒时即可使用此功能,连续按三下K1键即可进入闹钟小时设定状态,通过K2键加一或K4键减一,进行小时设定,再按一次K1键即可进行分钟设定,其设定原理与小时设定原理相同,按一下K3键,则时间设定完毕,到时会自动响铃。
调试时将时间设定为。
其仿真图如图5-2-3所示。
-18- 图5-2-3闹钟设定仿真图 日期校正:
当我们需要与当前日期保持一致时,则可以使用日期校正功能,连续按动五次K1键,则进入月份校正状态,通过K2加一键或K4减一键进行校正月份,再按一次K1键,则可进行日期校正,校正原理同月份校正原理相同。
其仿真图如图5-2-4所示 图5-2-4日期显示仿真图 年份校正:
当我们需要保持年份与当前年份一一致时,则可以进行年份校正。
连续按动七次K1键,即进入年份校正状态,通过K2加一键或K4减一键进行校正。
其仿真图如图5-2-5所示 -19-
图5-2-5年份显示仿真图 闹钟响铃:
当我们设定的时间与当前时间一致时,则闹钟就会自动响铃提示,与此同时发光二极管闪亮,一分钟后响铃停止,发光二极管熄灭,若在此期间按下闹钟使能键K3同样能使响铃停止,发光二极管熄灭。
其仿真图如图5-2-6所示。
图5-2-6闹钟音乐播放仿真图 -20- 辽东学院课程设计报告书 智能仪器仪表综合设计与实训 6结论 两个星期的课程设计结束了,从中我们学到了很多东西且感悟良多,体会到了课本联系实际,学以至用,设计思想,实际动手能力都有所提高。
作为一名大四学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。
回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体?
?
通过这次课程设计之后,一定把以前所学过的知识重新温故。
要做好一个课程设计,就必须做到:
在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
这次课程设计使我懂得了同学间的团结合作,懂得了理论联系实际,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是正确的理论,从而提高自己实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,并决心在以后的学习中加以改正,努力练习,提高自己的动手能力。
-21- 辽东学院课程设计报告书 智能仪器仪表综合设计与实训 7参考文献 1.余发山,王福忠,徐州,中国矿业大学出版2008年 2.彭为,黄科,雷道仲,单片机典型系统设计实例讲解,2006年3.王法能,单片机原理及应用,科学出版,2004 4.张友德、赵志英等编单片微型机原理、应用与实验,上海:
复旦大学出版 2003,第四版 5.钱晓揭.16/32位微机原理、汇编语言及接口技术[M].机械工程出版社2005 年 6.吴金,8051单片机实践与应用[M],清华大学出版社,2002年 7.谢自美,电子线路设计试验测试,华中科技出版社2002年8.张疑坤,陈善久,裘雪红,单片微型计算机原理及应用,西安电子科技大出版 社,2003年 9.马忠梅编著《单片机的C语言应用程序设计》北京航空航天大学出版 社,1999年 -22- 辽东学院课程设计报告书 智能仪器仪表综合设计与实训 附一:
源程序代码 #include#defineuintunsignedint#defineucharunsignedchar ucharcodea[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//*************************************************************************************sbitK1=P1;sbitK2=P1;sbitK3=P1;sbitK4=P1;sbitsd=P1;sbitBEEP=P3; ucharm=5,h=20,sec=58,cnt=0,x,y,qian,bai,shi,ge;ucharset_h=12;ucharset_m=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器仪表 综合 设计 报告书