您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 单片机原理及应用实习报告
实习报告物理与电子科学学院电子信息科学与技术专业12-01班学生姓名:田伟正学号:201256110131实习名称:单片机原理及应用实习课题名称:数字电压表设计起止时间:2015.01.05-2015.01.17指导教师:文勇军贺慧勇唐立军谢海情小组成员:贺志勇糟怀明梁芝赵亚杰田伟正洪敏杰实习成绩评定表学生姓名:田伟正学号:201256110131专业班级:电信1201课题名称:数字电压表设计评分项目要求分值得分学习态度学习态度认真,遵守纪律。10方案调研充分,方案设计合理。20工作量完成了规定的工作量。实际设计、调试效果好。40实习报告完全符合撰写规范要求,结构严谨,逻辑性强,层次清晰,表述准确,文字流畅。20答辩准备充分,概念清楚,能准确流利地回答各种问题。10总分备注:成绩:指导教师:2015年01月17日目录1引言................................................................12整体模块分析........................................................22.1题目要求........................................................22.2整体硬件结构....................................................22.3整体软件设计....................................................63个人模块硬件设计....................................................63.112864...........................................................63.212864电路图....................................................63.312864介绍......................................................74个人模块软件设计....................................................84.1软件设计思路...................................................84.2软件子程序.....................................................85调试过程及问题分析.................................................125.1测试画点子程序.................................................125.2编写函数测试函数曲线...........................................126结论与实习心得.....................................................137参考文献...........................................................14共14页第页1一·引言数字电压表是当前电子、电工、仪器、仪表和测量领域大量使用的一种测量工具。不仅测量的读数直观,准确度高,并且也使操作简单化。完成了自动化仪表从模拟技术向数字技术的转变。数字电压表及高档智能仪器的大量问世,标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河,它广泛采用了新技术,例如芯片的集成化,不断开发新的产品。新一代数字仪表正朝着标准模块化的发展方向,预计在不久的将来,数字仪表将朝着标准化,通用化,系列化的模块所构成,给电路设计和安装调试,维修带来极大方便。解决了数字仪表不便于观察连续变化量的技术难题。数字电压表(DigitalVoltmeter)简称DMV,它采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。采用单片机的数字电压表,精度高、抗干扰能力强,可扩展性强,集成方便能够满足数字化时代的要求。我们做的是用51单片机做一个能用来测外部电压源的数字电压表,电压表的量程为0~5V,分辨力为20mV,能够每秒钟自动连续测量两次电压,并且用LCD1602液晶显示当前电压,可以通过按键来调节电压越限报警的上下限。电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D转换的方式可分为两类:积分式和逐次逼近式。积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。我们设计的数字电压表是基于STC89C52单片机的硬件设计及软件设计方法。在设计中,充分利用了STC89C52单片机内部的高速计数器和以MAX197组成的A/D转换器的优良特性,使整个设计达到了比较满意的效果。共14页第页2二·整体模块介绍2.1题目要求:1、基本要求测量一个外部电压源的电压。A.测量量程:0~5V;B.分辨力:20mV;C.测量速率:2次/秒自动连续测量;D.结果显示方式:用LED显示当前电压。E.电压越限报警。报警上限、下限通过按键设置修改。2、扩展要求(1)用LCD1602显示当前电压以及报警门限。(2)用图形液晶LCD12864显示最近一分钟内的电压时间曲线。(3)电压变化率(dV/dt)越限报警。3、误差测试调试无误后,可用较高精度的数字电压表与其进行比对,记录测量结果,进行误差分析。2.2整体硬件结构A.定时器,定时0.5s执行一次进程(洪敏杰)B.扫描按键,并能改变变量的值(赵亚杰)C.1602显示屏显示电压值(梁芝)D.12864显示一分钟电压曲线(田伟正)E.蜂鸣器(糟怀明)F.AD转换(贺志勇)共14页第页3硬件设计基本思路:单片机STC90C51的最小系统作为核心处理器,数字电压表的核心测量部分为A/D转换模块,对采集得到的数字电压进行简单数据处理后,并把数字电压值显示在LCD1602上,同时扫描独立按键,判断按键的被按下情况,以此作为改变量程上下限值的信号,在所测电压超出所设定的范围时,为了达到报警的作用,选择蜂鸣器模块来实现。1)MCS-51单片机最小系统:共14页第页4MCS-51单片机最小系统是程序运行的核心部分,包括处理数据,控制芯片状态(对芯片写控制字操作),读取I/O口状态以及改变I/O口状态。2)A/D转换模块:A/D转换模块主要实现对外部电压源的电压进行采集并转换为数字电压,并把代表数字电压值大小的12位二进制从DOUT口输出,由单片机进行处理后输出显示。3)独立按键:共14页第页5独立按键模块主要功能是通过按键被按下这一动作改变数字电压表量程的上下限值,根据按键的电路结构,当按键被按下时,与GND接通,电平为‘0’,而不被按下时,电平为‘1’。因此,将按键与I/O口相连,就可以通过判断I/O口的状态得到按键所处的状态,并以此来改变对应的上下限值。4)蜂鸣器:蜂鸣器主要是为了实现系统的越限报警功能。图中晶体管具有这样的特性:当基极电压大开启电压(0.6-0.7v)时,晶体管导通,有电压通过蜂鸣器,否则,不导通,无电流通过蜂鸣器。如此导通与截止状态反复更替,蜂鸣器发出声音。因此,只要通过I/O口控制J8的电平即可达到报警的效果。5)LCD1602液晶显示屏:主要功能是显示被测量的电压值、量程的上下限值以及被测电压的随时间的变化率。共14页第页62.3整体软件设计整体软件设计思路:首先为满足每秒测量量程的要求,用定时器定时0.5S执行一次测量任务。通过A/D转换模块采集模拟电压,转换为数字电压,进行简单数据处理得到分辨力为20mV的数字电压值,设定量程上下限两个变量,并可以通过扫描独立按键来改变这两个变量值。记录前后两次所得到的数字电压值,作差后再除以时间0.5S就得到电压随时间的变化率。最后,将数字电压值、量程上下限值和电压变化率显示在LCD1602上。三·个人模块硬件设计3.112864截图3.212864电路图共14页第页73.312864介绍12864液晶指是128*64点阵液晶模块的点阵数简称,在使用其绘图功能时,先要打开扩充指令集,然后再打开绘图功能,最后是数据显示ST7920的显示坐标关系。其显示坐标如下。从图中可以看出,X方向共有8个字(16个字节)Y方向共有0~31行分为上下两个屏。而对12864的所有操作概括起来有四种:1)读忙状态(同时独出指针地址内容),初始化之后每次对12864的读写均要进行检测。共14页第页82)写命令:所有的命令可以查看指令表,后续讲解指令的详细用法。写地址也是写命令。3)写数据:操作对象有DDRAM、CGRAM、GDRAM。4)读数据:操作对象也是DDRAM、CGRAM、GDRAM。四·个人模块软件设计4.1软件设计思路12864显示输出波形是我们组数字电压表的拓展模块,在于将输出的电压曲线显示在12864液晶屏上,显示思路为首先了解12864点阵分布结构和如何调用内部任意位置并写入数据,由此便可以在任意位置画点,我们就可以得到坐标轴,在得到坐标轴以后问题就容易多了,因为横坐标128位我们用来当做时间轴,来显示一分钟数据,取120位,每一位表示0.5秒,过一分钟刷一次,纵坐标64位表示电压轴,因为输出电压的范围为0~5000mv,所以我们所做的处理为取50位y=v(实际电压)/100,每一位表示100mv。这样只要输入每一秒的电压值就可以依次画出波形。4.2软件子程序:/*******************************************************************************函数名:LCD12864_WriteCmd*函数功能:写入一个命令到12864*输入:cmd*输出:无*******************************************************************************/voidLcdSt7565_WriteCmd(cmd){LCD12864_CS=0;//chipselect,打开片选LCD12864_RD=1;//disableread,读失能LCD12864_RS=0;//selectcommand,选择命令LCD12864_RW=0;//selectwrite,选择写模式_nop_();_nop_();DATA_PORT=cmd;//putcommand,放置命令_nop_();_nop_();LCD12864_RW=1;//commandwriting,写入命令}共14页第页9/*******************************************************************************函数名:LcdSt7565_WriteData*函数功能:写入一个数据到12864*输入:dat*输出:无*******************************************************************************/voidLcdSt7565_WriteData(dat){LCD128
本文标题:单片机原理及应用实习报告
链接地址:https://www.777doc.com/doc-4673144 .html