单片机原理与应用课程设计基于ATmega16实现的电压和温度的采集及液晶显示系统

上传人:桔**** 文档编号:470562999 上传时间:2022-10-07 格式:DOC 页数:29 大小:366.50KB
返回 下载 相关 举报
单片机原理与应用课程设计基于ATmega16实现的电压和温度的采集及液晶显示系统_第1页
第1页 / 共29页
单片机原理与应用课程设计基于ATmega16实现的电压和温度的采集及液晶显示系统_第2页
第2页 / 共29页
单片机原理与应用课程设计基于ATmega16实现的电压和温度的采集及液晶显示系统_第3页
第3页 / 共29页
单片机原理与应用课程设计基于ATmega16实现的电压和温度的采集及液晶显示系统_第4页
第4页 / 共29页
单片机原理与应用课程设计基于ATmega16实现的电压和温度的采集及液晶显示系统_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《单片机原理与应用课程设计基于ATmega16实现的电压和温度的采集及液晶显示系统》由会员分享,可在线阅读,更多相关《单片机原理与应用课程设计基于ATmega16实现的电压和温度的采集及液晶显示系统(29页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学单片机原理与应用课程设计课程设计任务书学生姓名: 专业班级: 自动化0501班 指导教师: 工作单位: 自动化学院 题 目: 电压和温度的采集及液晶显示 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)系统能够测量环境温度,测量范围0-100摄氏度。(2)系统能够测量给定电压,测量范围0-5V。 (3)电压测量精确到0.01伏,温度测量精确到0.1摄氏度。(4)具有液晶实时显示当前电压及温度的功能。时间安排:序号设计内容所用时间1选题及调研1天2硬件软件设计2天3硬件软件调试及撰写报告1天答辩1天合 计1周指导教师签名: 年 月 日系主任(或

2、责任教师)签名: 年 月 日目录摘要31. 硬件选择及各模块组成41.1 设计原理41.2 器件选择及基本原理41.2.1 模数转换模块41.2.2 ATmega16芯片模块51.2.3 DS18B20模块61.2.4 液晶显示器模块72各模块实现方法说明及整体电路图92.1 温度采集92.2 电压采集92.3液晶中文显示92.4 整体电路图103.软件设计113.1 程序设计流程图113.2 源程序114 仿真调试结果12总结13参考文献:14附录115主程序源程序:15显示驱动程序源程序:22摘要此次课程设计是基于ATmega16实现的电压和温度的采集及液晶显示系统。该系统主要包括控制器、

3、温度传感器、外部参考电压及测试电压、液晶显示器几个硬件部分。控制器采用的8位AVR系列单片机-ATmega16,有高性能、低功耗等优点,电压采集是通过单片机内部的数模转换器实现的;温度传感器则采用DS18B20实现,该传感器有低功耗单总线控制的特点,显示部分采用控制芯片为KS0108的12864液晶显示器,通过单片机的I/O口直接驱动。关键词: AVR ATmega16 温度传感器DS18B20 12864液晶显示器1. 硬件选择及各模块组成1.1 设计原理整个系统主要涉及数据采集,数据处理,数据显示3方面内容。利用单片机内部的数模转换器完成电压数据的采集,将外部待测的模拟电压信号转换为数字信

4、号,单片机中读取这个转换值会根据参考电压进行相关的处理计算出实际的电压值。温度采集通过温度传感器在单片机工作时不断查询其温度信息以备显示。显示部分主要是12864液晶显示器,并在单片机运行时不断更新采集到的电压和温度信息。1.2 器件选择及基本原理1.2.1 模数转换模块由于单片机只能处理数字信号,因此外部模拟信号必须经过转换,变成数字信号之后才能输入到单片机中。模数转换器就是一种将模拟信号转换成数字信号的器件,ATmega16单片机的片内包含一个8通道的10位数模转换器,其内部结构如下图图1。 如图,ATmega16单片机的模数转换单元包括一个8通道的模拟开关,一个采样保持比较器,一个转换逻

5、辑和3个控制/状态寄存器。ADC可以将输入的模拟电压信号转换成一个10位的数字量信号。输入模拟电压的范围介于AGND和AVcc之间,输入模拟信号通道通过ADMUX寄存器选择。ADC模块由ADSCRA寄存器的ADEN位使能,当ADC模块被启动以后,用户可以通过SFIOR寄存器选择单次转换模式或者连续转换模式。ADC的转换结果存储在ADCH和ADCL两个寄存器中。图1 ATmega16单片机的模数转换器结构1.2.2 ATmega16芯片模块ATmega16本身具有数模转换功能,完全能够满足本设计题目的要求,故本设计不需要接单独的AD芯片,由单片机实现电压采集和控制器的作用。具体引脚应用及引脚图如

6、下:端口A(PA7.PA0): 端口A 做为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。本设计只需要用到一个A/D转换口,可以任意选用PA7到PA0的任意一个端口作为电压输入,本设计选用PA4。端口B(PB7.PB0): 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。本设计中PB2-PB6口用来连接12864液

7、晶显示器的5个控制断口驱动显示。端口C(PC7.PC0): 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。本设计中用将PC0用做普通IO端口,通过程序实现与DS18B20的单总线通信。端口D(PD7.PD0): 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。本设计中PD口全部接在12864液晶显示器的8个数据口,用来传送液晶显示

8、器的指令和数据。AREF A/D 的模拟基准输入引脚,由于设计要求测量电压范围为0-5V,故此引脚接5V的基准电压源。RESET: 复位输 入引脚。持 续 时间超过最 小门限时间 的低电平将引 起系统复位持续时间小于门限间的脉冲不能保证可靠复位。 地,电源略1.2.3 DS18B20模块DS12B20数字温度计提供9位温度数,指示器件的温度。信息经过但借口送入DS18B20或从DS18B20送出,从单片机到DS18B20只需要一条线,因此成为单线。DS18B20不需要外部电源。它允许在许多不同的地方防止温度传感器。DS18B20的测量范围从-55摄氏度到+125摄氏度,增量值为0.5摄氏度,可

9、在1s内把温度变换成数字。其引脚分布和内部结构如图2,图3。图2 DS18B20内部结构图 图3 DS18B20引脚分布图根据DS18B20的协议规定,微控制起控制DS18B20完成温度转换必须经过以下4个步骤:1,每次读写前对DS18B20进行复位初始化。复位要求CPU将数据线下拉480us,然后释放,DS18B20收到信号后等待60us左右,然后发出60us-240us的低存在脉冲,主CPU收到此信号表示复位成功。2,发送一条ROM指令。3,发送存储器指令4,进行数据通信。1.2.4 液晶显示器为了能够显示汉字,本设计选用了点阵型LCD,型号为HS12864。HS12864是一种图形点阵液

10、晶显示模块,它主要由行驱动器/列驱动器和128*64全点阵液晶显示器组成,它除了可以显示8*4(16*16点阵)的汉字外,还可以完成图形显示功能,应用十分灵活。HS12864的主要技术参数如下:电源:DC+5,模块内自带用语LCD驱动的负压电路。显示内容:128*64全屏幕电阵。指令系统:七种指令。接口形式:与控制器采用8位数据总线和8条控制线相连。模块主要构成,引脚功能及指令表:图4 HS12864引脚功能表图5 HS12864模块内部结构图6 HS12864指令表2 各模块实现方法说明及整体电路图2.1 温度采集由于DS18B20采用的是单总线协议,在对其进行操作时必须严格满足其时序,否则

11、无法正常工作和读取结果。PA0与DS18B20的数据线相连,通过编制程序使IO口严格满足其工作时序并循环读取温度转换结果以便显示。具体软件流程见“软件设计”2.2电压采集通过单片机的ADC模块实现,外围只需要接5V的参考电压。通过在单片机初始化时设置PA4口的工作模式为ADC模式,并通过设置相关寄存器对DAC进行初始化。程序运行中通过指令循环启动DA,并读出转换数值。具体软件实现流程见“软件设计”。2.3液晶中文显示此部分的主要工作是根据器件手册上提供的时序编写液晶驱动程序,生成显示汉字,显示字符,显示数字的子函数,在主函数只需要调用即可。另外由于HS12864不带中文字库,必须手动生成所需要

12、显示汉字及字符的字库,可以用专门的软件实现。要显示的部分分为提示语言的固定汉字和不断刷新的数字量,固定显示的汉字只需写入一次即可,不断刷新的部分通过在程序中不断刷新显示内容以实现动态显示。2.4 整体电路图 图7 整体电路仿真图3.软件设计3.1 程序设计流程图主程序流程: 显示程序流程:图8 程序流程图3.2 源程序见附件14 仿真调试结果 上图为程序运行仿真后的效果,仿真中待测电压由滑动变阻器分压产生0-5V的电压,由PA4输入单片机。DS18B20的数据线与PA0相连,当前温度可以任意调,现在为17度。可以看到经过单片机采集并显示的电压值与电压表示数完全一致,温度值与DS18B20显示的

13、数值完全一致。说明系统工作正常,顺利实现了设计功能。总结几天的课程设计终于过去了,虽然说过程比较累,但我发现它对自己还是很有帮助的,比如说人比较懒,不愿意动,平时知识也不扎实,但在设计过程中碰到自己不懂的问题却只有耐心下来,查书或在网上弄清楚答案。再就是说通过本次实验我对本课程有了更多的了解与认识,课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次课程设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次课程设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高

14、自己知识和综合素质。 在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。 我的心得也就这么多了,总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。 参考文献:1、金春林,邱慧芳.AVR单片机C语言编程与应用实例 .清华大学出版社,20072、陈冬云,杜敬仓等.单片机原理与开发指导.清华大学出版社,2006附录1 :主程序源程序:/ICC-AVR application builder : 2008-5-14 1:11:50/ Target : M16/ Crystal: 8.0000Mhz#include #include #include 12864.hunsigned int input,voltage;/定义变量void port_init(void)/端口初始化 PORTA = 0x00; DDRA = 0x00; PORTB = 0xF

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号