智能化仪器课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能化仪器课程设计总结报告
测控071 0730221124 方晶晶
1.课程设计的目的和任务
本次课程设计是以AT89C51单片机为核心,设计一个具有实时时钟功能和直流电压测量功能的智能化测量仪器。

要求具有实时时钟显示和校时功能,电压测量显示功能等。

可作为通用的二次仪表使用,根据电压与被测物理量的关系显示被测物理量,应用于多种测量场合。

通过课程设计进一步熟悉并掌握单片机的编程,对智能化仪器的设计思路和步骤等有一定的了解。

并为将来的毕业设计打下扎实的基础。

硬件部分主要包括DS12887实时时钟电路、AD转换器ICL7135、8 只共阴LED数码管及相应的显示控制和驱动电路、键盘电路等。

要求掌握电路的原理和各部分功能的实现过程,重点是与单片机的连接上。

软件部分要求编写相关汇编程序,实现对ICL7135的控制和读数,
经运算后得到测量电压值;编程并控制DS12887芯片,获得日期和时间
值;禾U用按键可实现日期和时间初值的设置,以及时间、日期和测量值的显示切换功能;根据输入电压与被测物理量的关系显示被测物理量。

并完成软硬件的联机调试。

开始
图1系统设计结构图
2•系统设计的基本原理结构
整个系统以AT89C51单片机为核心,实现一个能显示和设置时间日期值,测量电压值的小型系统。

整个系统的设计结构如图1所示。

3•硬件电路设计及组成
该系统的硬件电路主要包含了89C51单片机、ICL7135四位半A/D 转换器、DS12887实时时钟芯片、8个共阴LED数码管显示器和按键等。

其硬件组成框图如图2。

图2 硬件组成框图
在目前的大多数智能仪器设计中,往往需要记录测量的日期和时间信息,以及自动完成设定时间的自动测量和控制等,这就要求在仪器中带有实时时钟。

由于利用单片机直接编程实现实时时钟,编程复杂而且还要考虑后备电源供电等问题,因此,选用自带后备电池的实时时钟芯片,应用它,可以自动实现时间和日期的处理,单片机只要利用DS12887的秒更
新,每秒读一次时钟数据即可。

为了实现电压测量功能,选用了A/D转换器ICL7135,该芯片集成了一
个四位半的双斜积分式A/D转换器,精度高、抗干扰能力强,能满足一般测量的精度要求。

器件在双极性输入的情况下,测量速度可达3次/S
以上,在单极性输入的情况下,测量速度可达25次/S左右,适用于一般
的直流信号和慢速变化信号的测量。

根据ICL7135的积分特性及其与
BUSY信号之间的时序关系,利用89C51单片机的计数器,通过对BUSY
信号高电平期间的时钟脉冲进行计数的方法实现电压测量,以简化电路连接。

时序关系图如图3。

满度测量计数值40002
BUSY 信号
图3 ICL7135积分输出与BUSY 信号的关系图
设计中应用了 8个LED 共阴数码管作为输出结果的显示,利用
2个 扩展I/O 口、控制段码和位码输出,实现动态扫描显示。

设置了
4个按键, 用于时间显示、日期显示和测量值显示的切换,时间和日期的设置等。

4 •软件设计
4. 1软件的总体设计思路方法和流程图
自动校零 1000计数值 信号积分 10000计数
反向积分
最大计数值
图4程序的总体流程图
该仪器的主要功能是实现电压测量和时间日期的显示。

结合硬件电路设计,软件实现的主要任务是:控制A/D转换器ICL7135并读取转换结果,经运算处理后,显示电压值,设置和读取实时时钟芯片DS12887中
的时间和日期信息并输出显示等。

系统软件主要由1个主程序和3个中断服务子程序及若干辅助功能子程序组成。

程序的总体流程图如图4。

主程序完成对DS12887芯片的初始设置,定时器TO、T1的初始化, 中断系统的初始化设置等功能。

4. 2各主要功能模块的设计方法和流程图
1)时钟芯片DS12887的设计
由于时钟芯片DS12887的中断请求信号与89C51的INTO相连,在主程序中对DS12887进行初始化设置,写入初始状态的时间和日期值,再设置秒更新中断允许,CPU每秒响应一次中断,读取当前的时钟和日
期信息,经拆字处理后放入缓存地址中,再根据切换状态要求显示的内容,在显示中断中可直接调用相关的处理函数输出时间或日期显示。

时钟流程图如图5所示。

图5时钟流程图
2) ICL7135的设计
将ICL7135的BUSY信号口与89C51的INT1相连,根据ICL7135 的积分特性及其与BUSY信号之间的时序关系,利用89C51单片机的计
数器T1计数,记录BUSY信号高电平期间ICL7135的时钟脉冲个数N, 将N减去10000后即可获得测量电压值。

由于获得的电压值是十六进制形式的,在这过程中必须转化成十进制,所以调用一个十六进制转十进制的函数,将得到的值转换成五位的十进制,在万位加小数点后经拆字处理后放入缓存地址等待显示。

最后得到的结果是-1.9999到1.9999的电压值。

A/D流程图如图6所示。

图6 A/D流程图
3)显示的设计
8个LED数码管显示器采用动态扫描显示方式,段码和位码分别由一个扩展的输出口控制,其中段码口地址为OBFFFH,位码口地址为ODFFFH。

由于在显示中要切换显示的内容,在程序中采用定时器TO进行定时中断,每隔一段时间中断一次更新显示的内容。

在中断的最开始判断显示的内容,再根据要求调用不同的显示内容,读取缓存地址用于显示。

另外在显示程序中加了一个闪烁位的判断,在键盘设置中需要在设置的位上进行闪烁方便于观看,原理是针对要求闪烁的位置减少动态显示的次数,以区别于其它位。

显示流程图如图7所示。

图7 显示流程图
4)按键的设计
4 个按键直接连到P1 口的低4 位,功能如下:
S1 ――显示切换键,用于切换当前显示的内容为测量值或日期或时间;
S2――设置键,用于进入/退出日期设置、时间设置或仪表常数等的设置状态;
S3――右移键,用于右移选择当前设置数据的位置;
S4――加1键,用于当前设置内容加1 ;
在具体的设计中,先判断是否有键按下,延时去抖动,再进行一次判断,如果确实有键按下,判断键是否弹起,在键弹起之后执行相应的键功能。

切换键是所有中最简单的一个键,建立一个显示标志符就行,根据标志符判断要显示的内容。

设置键按下之后停止时钟芯片工作,进入设置状态,使当前显示内容的第一个低位闪烁。

右移键使闪烁位右移三位,使当前显示内容的第二个低位闪烁。

加 1 键是最烦琐的键,首先要判断当前显示内容为时间还是日期,再判断闪烁位的位置,读取闪烁位进行相应内容加1 处理,将加 1 后的内容重新保存到时间日期的显示缓存区。

特别注意的是日的设置中大小月的处理,在加 1 的过程中,大月可以加到31 日,而小月只是30 日,所以在这过程中,对日的加 1 处理我对十二个月分开进行判断处理。

对于闰年,我这里就没再考虑。

5.个人总结通过两个多星期的学习,并学到了很多实际操作的知识,提高了动手能力,并在老师的帮助下顺利完成了整个课程设计的任务。

在功能模块中我实现了时间日期值的显示和设置、电压量的测量,并能切换三者的显示,基本上达到了课程的要求。

此次设计性实验,将汇编及单片机等已学课程进行一次在学习的良好机会。

通过这次再学习,无疑进一步提高了自己的专业技能,为今后踏足社会,在该领域上发挥自己的特长,以及就业打下了坚实的基础。

在上个学期单片机课程的基础上,根据系统功能指标的要求制定总体的设计方案。

在这期间,我大致了解硬件电路的原理和组成,通过查相关资料掌握各相关芯片的用法,在这基础上用汇编语言实现对芯片的读写操作,完成相应的功能。

单片机应用系统的很多性能指标和操作功能的实现则是取决于软件的设计,在软件编写过程中出现了许多问题及错误,通过向老师及师兄们的请教,解决问题和分析问题,,最终基本上完成了要求的功能。

相关文档
最新文档