毕业论文.docx
- 文档编号:17213321
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:58
- 大小:703.09KB
毕业论文.docx
《毕业论文.docx》由会员分享,可在线阅读,更多相关《毕业论文.docx(58页珍藏版)》请在冰点文库上搜索。
毕业论文
专业电子信息科学与技术
学号271060164
研究类型实验实践
指导教师
提交日期2011年5月31日
原创性声明
本人郑重声明:
本人所呈交的论文是在指导教师的指导下独立进行研究所取得的成果。
学位论文中凡是引用他人已经发表或未经发表的成果、数据、观点等均已明确注明出处。
除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。
本声明的法律责任由本人承担。
论文作者签名:
年月日
论文指导教师签名:
摘要:
现代社会电子科学技术飞速的发展,电子产品已经渗透了社会的各个领域,越来越多的家庭电子产品为人们所使用,但我们常用的电器插线板开关并不具备定时开启和关闭功能。
或许就由于这些原因给我们带来很多不便。
而传统的具有定时开关作用插线板多采用数字集成电路定时,元器件多,电路结构复杂、功率损耗大、成本高,并且精度低、定时时间较短、不具掉电存储、抗干扰能力弱等缺点。
因此有必要对传统插线板进行改进。
本设计所介绍的是一种基于单片机Atemag16编程控制为核心,外接键盘、温度监测、显示接口和时钟电路的智能开关插线板。
此多功能插线板具备实时时间温度显示、时钟校准、定时设置、启动和关闭的功能。
关键词:
单片机、键盘、显示电路、时钟电路
Abstract:
Modernsociety,therapiddevelopmentofelectronicscienceandtechnology,electronicproductshaveinfiltratedallspheresofsociety,moreandmoreelectronicproductsforhomeusebypeople,butourcommonelectricalpowerstripswitchdoesnothavethetimetoopenandclosefunction.Perhapsforthesereasonstogiveusalotofinconvenience.Thetraditionalroleofatimerswitchstripmoretimeusingdigitalintegratedcircuits,componentsandmorecomplexcircuits,powerconsumption,highcostandlowaccuracy,timeisshorter,non-power-downstore,weakanti-interferenceabilityandothershortcomings.Soitisnecessarytoimprovedigitalelectronicclock.ThedesignpresentedisbasedonthecoreSCMAtemag16programmingcontrol,externalkeyboard,temperaturemonitoring,displayinterfacecircuitandtheclockcircuit,andconductionthroughtherelaysocketonandoffswitch,ontheelectricalcontrol.Thisswitchhasrealtimetemperaturedisplay,clockcalibration,regulartimesettings,timerstartandstopfunctions.
Keywords:
Microcomputer,keyboard,displaycircuit,clockcircuit
目录
引言1
第1章系统总设计2
1.1系统总设计及框图2
1.2Atmega16以及DS1302、DS18B20功能介绍2
第2章硬件设计7
2.1模块划分7
2.1.1DS18B20温度采集模块7
2.1.2LCD1602液晶显示模块8
2.1.3键盘模块9
2.1.4DS1302时钟模块9
2.1.5插线板模块11
2.1.6Atemag16主控制模块12
第3章软件设计12
第4章系统调试分析13
4.1硬件部分调试13
4.2软件部分调试13
4.3系统整机调试13
第5章总结与展望15
第6章致谢16
参考文献17
附录118
附录219
引言:
多功能智能插线板在实际生活中有着非常大的用处,它可以通过定时电路的设计来根据时间需要定时开断开关,通过温度的高低控制开关闭合,使很多非智能型家电变为智能型。
现在市场出售的定时插班大多功能单一、价格昂贵,而本设计借助单片机系统制作一个简易定时插线板具有数字显示化、使用方便、造价便宜等诸多优点。
第1章系统总设计
1.1系统总设计及框图
本次设计是基于单片机开发的,介绍一款以单片机ATemag16编程控制为核心,外接键盘、温度监测、显示接口电路和时钟电路,并通过继电器吸合导通和关闭插座开关,对电器进行控制。
此开关具备实时时间温度显示、时钟校准、定时时间设置、定时启动和关闭的功能。
已选好插线板具有六个插口,为了合理有效使用本设计只对其前三个进行定时设定,另外三个为普通常用插口。
第一个和第二个具有一组定时,第三组具有三组定时。
选择一废弃电源适配器作为主芯片供电电源,DS18B20提供温度数据,DS1302提供时钟,1602A液晶显示屏作为时间和温度显示界面,通过键盘设定时间控制继电器开关闭合时间。
总体电路设计框图如下:
图1系统总框图
1.2Atmega16以及DS1302、DS18B20功能介绍
Atmega16功能介绍
ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。
由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
其引脚图如下:
图2ATmega16引脚图
AVR内核具有丰富的指令集和32个通用工作寄存器。
所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。
这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。
ATmega16有如下特点:
16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。
工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。
本芯片是以Atmel高密度非易失性存储器技术生产的。
片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。
引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlashMemory)。
在更新应用Flash存储区时引导Flash区(BootFlashMemory)的程序继续运行,实现了RWW操作。
通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATmega16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。
ATmega16具有一整套的编程与系统开发工具包括:
C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。
DS1302介绍
DS1302包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条串行输入输出出口,实现时钟/日历包括秒、分、时、日期和年份信息,瑞年可自行调整,可选择12小时和24小时制,可以设置AM、PM。
其引脚功能图如下:
图3DS1302引脚功能图
只通过三根线进行数据的控制和传递:
RST(Reset)、I/O(Dataline)、SCLK(Serialclock),通过备用电源可以让芯片在小于1MW的功率下运作。
其工作过程图如下
图4DS1302工作原理图
主要工作原理图如图4所示:
移位寄存器,控制逻辑,晶振,时钟和RAM。
在进行任何数据传输时,必须被制高电平(注意虽然将它置为高电平,内部时钟还是在晶振作用下走时的,此时,允许外部读写数据),在每个SCLK上升沿数据被输入,下降沿时数据被输出,一次只能读写一位,适度还是写需要通过串行
输入控制指令来实现(也是一个字节),通过8个脉冲便可读取一个字节从而实现串行输入与输出。
最初通过8个时钟周期载入控制字节到移位寄存器。
如果控制指令选择的是单字节模式,连续的8个时钟脉冲可以进行8位数据的写和8位数据的读操作,SCLK时钟的上升沿时,数据被写入DS1302,SCLK脉冲的下降沿读出DS1302的数据。
8个脉冲便可读写一个字节。
在突发模式,通过连续的脉冲一次性读写完7个字节的时钟/日历寄存器(注意时钟/日历寄存器要读写完),也可以一次性读写8~328位RAM数据(可按实际情况读写一定数量的位,不必全部读写,两者的区别)。
备用电源可采用电池或超级电容(0.1F以上),可以用老式电脑主板上的3.6V充电电池。
如果断电时间较短时(几个小时或几天),就可用漏电较小的普通电解电容代替。
100μF就可以保证1小时正常走时。
DS1302在第一次加电后,必须进行初始化操作,初始化后就可按正常方法调整时间。
DS18B20介绍
DS18B20的温度检测与数字数据输出全集成与一个芯片上,抗干扰能力强;采用数字温度转换及输出;单总线数据通信;最高12位分辨率,精度可达0.5摄氏度;可选择寄生工作方式;检测温度为55125;内置EEPROM,限温报警功能;64位光刻ROM,内置产品序列号,方便多机挂接。
其芯片封装结构如图:
图5DS18B20芯片封装结构图
引脚功能为:
GND电压地DQ单数据总线VDD电源电压NC空引脚
18B20共有三种形态的存储器资源:
ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
第2章硬件设计
2.1模块划分
本系统主要由六大模块组成:
DS18B20温度采集模块,1602液晶显示模块,键盘模块,DS1302时钟模块,插线板模块,Atemag16主控制模块。
2.1.1DS18B20温度采集模块
DS18B20用于采集温度。
该模块电路原理图如下:
图6DS18B20电路原理图1
18B20的I/O口连接单片机Atemag16的PC3接口,在初始化完成后,直接将采集来的数据传输给单片机,DS18B20只需要接到控制器(单片机)的一个I/O口上,由于单总线为开漏所以需要外接一个4.7K的上拉电阻。
如要采用寄生工作方式,只要将VDD电源引脚与单总线并联即可。
但在程序设计中,寄生工作方式将会对总的状态有一些特殊的要求。
每一次通信之前必须进行复位,复位的时间、等待时间、回应时间应严格按时序编程,DS18B20复位及应答关系示意图:
图7DS18B20复位应答关系图
DS18B20的数据读写是通过时间隙处理位和命令字来确认信息交换的:
写时间隙分为写“0”和写“1”,时序如图7。
在写数据时间隙的前15uS总线需要是被控制器拉置低电平,而后则将是芯片对总线数据的采样时间,采样时间在15~60uS,采样时间内如果控制器将总线拉高则表示写“1”,如果控制器将总线拉低则表示写“0”。
每一位的发送都应该有一个至少15uS的低电平起始位,随后的数据“0”或“1”应该在45uS内完成。
整个位的发送时间应该保持在60~120uS,否则不能保证通信的正常
读时间隙时控制时的采样时间应该更加的精确才行,读时间隙时也是必须先由主机产生至少1uS的低电平,表示读时间的起始。
随后在总线被释放后的15uS中DS18B20会发送内部数据位,这时控制如果发现总线为高电平表示读出“1”,如果总线为低电平则表示读出数据“0”。
每一位的读取之前都由控制器加一个起始信号
2.1.2LCD1602液晶显示模块
LCD1602模块主要显示时间、温度,以及时间调整和定时设置显示。
该模块电路原理图如下:
图8LCD1602电路原理图
RS、RW、E分别于Atemag16PA0、PA1、PA2端口相连,DB4、DB5、DB6、DB7分别和Atemag16PA6、PA5、PA4、PA3端口相连,Atemag16将得到DS18B20温度传感器以及DS1302时钟芯片传输过来的温度、时间数据显示出来。
2.1.3键盘模块
键盘模块主要用于时间调整以及定时设置。
本模块4个键盘SW-P1、SW-P2、SW-P3、SW-P4通过总线与Atemag16主控芯片连接分别对时间年、月、日、星期、时、分、秒以及定时设置:
SW-P1长按2秒后,对时间进行调整,1602显示器出现SET0对年调整,按SW-P1跳转为SWT1,SET1对月调整,SET2对日调整,SET3对星期调整,SET4对时调整,SET5对分调整,SET6跳过。
调整时,SW-P2、SW-P3分别对应数值加、减;SW-P4长按2秒后,进行定时设置:
1602显示器出现SET0对应第一个插口定时设置,SET1对应第二个插口定时设置,SET2对应第三个插口第一组定时设置,SET3对应第三个插口第二组定时设置,SET4对应第三个插口第三组定时设置。
SW-P2、SW-P3分别对应数值加、减。
该模块原理图如下:
图9键盘模块电路原理图
2.1.4DS1302时钟模块
DS1302时钟芯片控制指令有8位
图10DS1302芯片控制指令图
每个字节的传输是有控制字节指定的,控制字节的最高位Bit7必须是‘1’,如果是‘0’,写入将被禁止,因此我们如果将这位置一,可以禁止写入。
bit6为‘0’则指定对时钟/日历寄存器控制读写操作,为‘1’则为RAM区数据的控制读写操作,bir1~bit5指定相关寄存器待进行输入输出操作,最低位bit0指定是输入还是输出,为‘0’则为输入,相反则输入有效,输入输出根据脉冲的上升沿和下降沿串行进行。
复位以及时钟控制:
所有的数据传输在置一时进行(反复强调),输入信号有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向),后面有详细说明。
SCLK始终是输入端。
数据的传输如下图所示:
图11DS1302数据传输图
经过8个时钟周期的控制字节的输入,一个字节的输入将在下8个时钟周期的上升沿完成,数据传输从字节最低位开始。
经过8个时钟周期的控制读指令的输入,控制指令串行输入后,一个字节的数据将在下个8个时钟周期的下降沿被输出,注意第一位输出是在最后一位控制指令所在脉冲的下降沿被输出,要求RST保持位高电平。
同理8个时钟周期的控制读指令如果指定的是突发模式,将会在脉冲的上升沿读入数据,下降沿读出数据,突发模式一次可进行多字节数据的一次性读写,只要控制好脉冲就行了。
上面已经提到过的突发模式可以指定为任何时钟/日历或RAM的寄存器,与以前一样,位6指定时钟或RAM,位0指定读或写。
读取或写入的突发模式开始在位0地址0。
对于DS1302来说,在突发模式下写时钟寄存器,起始的8个寄存器用来写入相关数据,必须写完。
然而,在突发模式下写RAM数据时,没有必要全部写完。
每个字节都将被写入而不论31字节是否写完。
AM-PM/12-24模式选择:
小时寄存器的bit7是AM-PM/12-24模式选择选择位,这一位为‘1’时,选择了12小时制,为‘0’时,选择了24小时制,在12小时制下,bit为‘1’选择了PM,在24小时制下,bit5选择了20~23小时段。
2.1.5插线板模块
插线板模块原理图如下:
图12插线板模块电路原理图
K1、K2、K3为三个欧姆龙MY2JAC220V继电器,由于其子类为直流电磁,Q1、Q2、Q3分别为三个三极管,当计时器分别到达各自定时时间,K1、K2、K3独立进行闭、合,以达到控制插板开关闭合目的。
LED1、LED2、LED3分别显示开关关闭,当开关闭合,LED灯变亮,开关断开,LED灯变灭。
2.1.6Atemag16主控制模块
Atemag16主控制模块电路原理图如下:
图13Atemag16主控制模块电路原理图
LM7805为一三端稳压器,由于LM7805发热较大,所以给LM7805安装了散热片。
对电源适配器的电压进行稳压后于主芯片VCC相连。
JATA为串口通信端口。
U1为三个光耦传感器,对芯片起到保护作用。
X1为反向振荡放大器与片内时钟操作电路的输入端,X2为反向振荡放大器的输出端,RESET为复位输入引脚。
持续时间超过最小门限时间的低电平将引起系统复位,持续时间小于门限间的脉冲不能保证可靠复位。
第3章软件设计
本系统由单片机C语言编写而成,采用模块化结构设计。
主要实现功能是:
把单片机控制技术、键盘扫描、显示结合起来,运用继电器、键盘、稳压电源等完成基于单片机Atmega16的智能插线板系统的设计,实现的功能包括通过单片机控制电路实现定时功能并在显示电路中显示定时时间、温度等。
其软件流程图如下:
图14软件流程图
第4章系统调试分析
4.1硬件部分调试
根据设计的电路原理图设计好样品,进图硬件调试部分。
硬件部分调试的主要任务是排除设计故障,故障主要由设计错误和工艺性故障。
设计检查:
主要用万用表按照电路图检查设计中的电源以及各引脚、走线是否连接正确。
检查数据总线、地址总心啊、控制总线是否短路。
4.2软件部分调试
本设计程序在CVAVR编程软件编写完成。
对照Atmega16、DS1302、DS18B20指令编码表,进行程序编写。
编写完成后,在CVAVR中对程序进行编译,检查程序错误并进行修改。
4.3系统整机调试
当硬件、软件单独调试完成后,便可进行硬件、软件联合起来进行调试,找出硬件、软件之间不匹配的地方,然后反复修改和调试,直到达到预想效果。
第5章总结与展望
这次毕业设计让学到很多新的知识,拓宽了自己的知识面,强化自己的实践、动手等综合能力。
本设计为一智能插线板控制系统,由Atmega16AVR单片机以及DS1302时钟芯片、DS18B20温度传感器、1602液晶显示器、稳压电路组成。
可以实现对插线板的定时控制,极大方便人们日常生活对插线板的使用,不用担心充电器充电时间过长或有些用电器通电时间过长。
通过1602液晶显示器和4个按键实现定时控制和显示功能。
但是由于自身能力、时间有限,系统还不够完善,还可以增加跟多功能。
比如通过DS18B20温度传感器,不但可以对时间设定,还可以通过温度对插线板进行控制,更高层次可以通过GSM对插线板进行远程操控,希望在以后工作中可以进一步完善。
通过这次设计,掌握了AVR单片机芯片的内部组成和存储器结构,掌握了各种寻址方式和单片机的中断源,中断控制寄存器,中断响应过程,定时/计数/稳压器的电路结构原理,理解了常用指令的功能和使用方法。
本次毕业设计和论文是在温志贤老师的精心指导和严格要求下,获得了丰富的理论知识,极大的提高了实践能力。
第6章致谢
谢学校这四年来的对我的悉心栽培,为我们提供实验室和良好的学习环境。
其次,要感谢我的指导老师温志贤老师,本设计是在温老师的悉心指导和帮助下完成的,在设计制作过程中他给了很多宝贵的指导和建议,并且结合他自己的工作体会和经历,给予了很多具有创新意义的意见,为本次设计和论文给予了很大帮助。
感谢我的同学阮清源,每当设计遇到问题和困难时,总是他急时的和我进行讨论,找合理的解决方法。
再次感谢所有支持和帮助过我的领导、老师、同学们。
此致!
谈洲
2011年5月25日
参考文献
1.张洪润、蓝清华。
单机应用技术教程[m]。
北京,北京清华大学出版社。
1997年。
2.何利民。
单片机应用技术选编[m]。
北京,北京航空航天大学出版社。
1993年。
3.梅丽凤。
单片机原理及接口技术[m]。
北京,清华大学出版社。
2008年。
4.李朝青。
单片机原理及接口技术[m]。
北京,北京航空航天大学出版社。
1994年。
5.杨汉华、凌福玲。
一种新型温度控制系统[m]。
电子世界。
2003年。
6.沈文。
AVR单片机C语言开发入门指导[m]。
北京,清华大学出版社。
2005年。
7.邓志诚。
AVR系列单片机C语言编程与应用实例[m]。
北京,清华大学出版社。
2003年。
8.高美珍、毛欲民、刘进军。
AVR单片机与串行时钟器件DS3231的接口设计[m]。
国外电子元器件,2007年。
附录1
附录1:
电路总原理图
图15电路总原理图
附录2
/*****************************************************
Thisprogramwa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文
![提示](https://static.bingdoc.com/images/bang_tan.gif)