毕业设计基于TFTLCD的指针式时钟设计Word下载.docx
- 文档编号:16846468
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:66
- 大小:2.32MB
毕业设计基于TFTLCD的指针式时钟设计Word下载.docx
《毕业设计基于TFTLCD的指针式时钟设计Word下载.docx》由会员分享,可在线阅读,更多相关《毕业设计基于TFTLCD的指针式时钟设计Word下载.docx(66页珍藏版)》请在冰豆网上搜索。
单片机以其芯片集成度高、处理功能强、可靠性高等优点,成功应用于工业自动化、智能仪器仪表、家电产品等领域。
近些年,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。
多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。
而目前,对于指针式时钟来说,所用的指针大多是靠机械装置驱动达到显示时间的目的,例如手表,挂钟,钟楼等等,单片机在指针式时钟中的应用也已经非常普遍的,人们对指针时钟的功能及工作顺序都非常熟悉。
但是却很少知道它的内部结构以及工作原理。
由单片机作为指针时钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。
输出设备显示器可以用液晶显示技术。
1.2本设计的目的和意义
1.2.1设计目的
(1)巩固,加深和扩大AVR系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;
(2)培养针对课题需要,选择和查阅有关手册,图表及文献资料的自学能力,提高组成系统,编程,调试的动手能力;
(3)对课题设计方案的分析、选择、比较,熟悉用AVR单片机做系统开发,研制的过程,软硬件设计的方法,内容及步骤;
(4)进一步掌握C语言在硬件编程中的应用,熟悉怎样用C语言实现TFT-LCD上的绘图功能;
(5)掌握时钟芯片DS1302的原理和应用。
1.2.2设计意义
数字指针式时钟是采用数字电路实现对时,分,秒,星期,年,月,日等数字以及指针表盘显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
1.3本设计的主要研究内容
(1)在硬件设计方面,本系统采用AVR单片机作为整个电子钟系统的核心处理器,通过高精度时钟芯片DS1302来控制时间和日期的读取,最后再通过单片机对TFT-LCD液晶进行驱动并实现在液晶上显示整个指针式电子时钟。
(2)在软件设计方面,重点研究了下列内容:
A.TFT-LCD的驱动函数如何编写,包括LCD的读函数(读数据,读LCD状态),写函数(写数据,写命令),初始化函数,清屏函数等一系列驱动函数。
B.用C语言在LCD上绘图必须先写出打点函数,这是绘图的基本要求,由于本设计需要在液晶屏上模拟指针式时钟,因而还要写出绘圆和画线函数,于是便实现了表盘的绘制,时分秒指针的绘制等,从而在LCD上可以模拟指针式电子钟。
C.时钟芯片DS1302负责时间和日期信息的读取,自动计时,调整等一列功能,通过掌握DS1302的时序图,指令和功能表完成其驱动函数的编写,如读一字节函数,写一字节函数,指定位置读数据函数,指定位置写数据函数等等。
再通过读时间函数实现与LCD信息传输。
第2章方案设计及方案论证
2.1时钟系统的总体设计思路
按照系统的设计功能要求,本时钟系统的设计必须采用单片机软件系统实现,用单片机的自动控制能力配合ds1302来控制时钟的调整显示。
获得时钟数据信息,单片机对其进行一系列的处理,最后通过液晶显示出来。
2.2时钟系统方案论证
2.2.1单片机的选择
对于单片机的选择,如果用8031系列,由于它没有内部RAM,系统又需要大量内存存储数据,因而不可用;
51系列单片机的ROM为4K,对于我们设计的系统可能有点小;
AVR单片机具有高速度、低功耗的特点,在和51单片机外接相同晶振条件下,AVR单片机的工作速度是51单片机的30~40倍,并且增加了休眠功能及CMOS技术,其功耗远低于51单片机。
ATmeaga128A单片机作为主控单片机,该型单片机具有丰富的资源和接口,内部ROM和RAM完全能满足AVR单片机高级开发要求,内置大容量程序Flash空间和SRAM数据空间,还包含非易失性存储器EEPROM,对于那些实际项目中的数据存储也不需要扩展外部存储空间因此,我们选择ATMEL公司megaAVR系列的单片机ATmeaga128A。
2.2.2时钟系统方案选择
方案1:
本方案通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟;
方案2:
本方案用专门的时钟芯片(DS1302)实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。
虽然用软件实现时钟硬件线路简单,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响记时的准确度,对定时器定时也不是十分准确,时钟精度很低,对于我们实现所需要的功能造成软件编程非常复杂。
用专用时钟芯片硬件成本相对较高,但它的精度很高,软件编程很简单。
综上所述,选择方案2。
2.2.3显示系统的方案比较
用数码管或点阵LED显示;
用液晶1602显示;
方案3:
用液晶12864显示;
方案4:
用1.8寸TFT-LCD彩屏显示。
时钟的显示可以用数码管或LED,而且价格便宜。
但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。
有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用1602液晶显示数据有限,1602不能够显示指针时钟,只能够显示一些基本的西文字符,显示数据的可读性不好,用可以显示汉字的12864液晶显示器还可以增加显示信息的可读性,用12864的绘图功能即可绘制出指针时钟的框架,至于指针的转动则采用12864加ds1302同步控制,让人看起来会很方便。
当然12864液晶和1.8寸TFT-LCD彩屏的显示所基于的原理都一样,只是彩屏的分辨率更高,能显示的颜色更是丰富多彩。
由于1602只能显示字符的缺陷,不能达到我们的要求,所以我们只能选择12864液晶或者TFT彩屏,虽然它们在价格上有差距,但是1.8寸TFT彩屏显示显示效果更好,因此我选择了TFT彩屏作为显示芯片。
第3章硬件系统设计
3.1系统框图与说明
初步确定设计系统由AVR单片机主控模块、时钟模块DS1302、TFT-LCD显示模块组成,电路系统框图。
主
控
单
片
机
ATmeaga128A
系统框图如下图3.1所示
最小电路系统
1.8寸TFT彩屏显示系统
DS1302时钟系统
图3.1系统框图
图3.1系统框图
3.2硬件设计部分
3.2.1单片机芯片选择
作为电子爱好者或者电子行业硬件工程的开发者,单片机技术的掌握是必须的,但是目前很多的初学者选择入门的单片机都是基于MCS-51内核的单片机,虽然此类单片机学习简单,使用方便,但是其性能在很多场合却是大打折扣,要么速度欠缺,要么存储空间欠缺,因此,由于MCS-51自身的结构所限制,与目前的新技术有明显的脱节。
AVR单片机是近10年来发展起来的新型的、基于增强型RISC结构的单片机。
AVR在运行速度,存储器空间,内部功能模块的集成化,以串行接口为主的外围扩展,适合使用高级语言编程,以及在开发技术和仿真调试方面都比MCS-51内核的单片机要先进。
ATmega128具有如下特点:
128K字节的系统内可编程Flash(具有在写的过程中还可以读的能力,即RWW)、4K字节的EEPROM、4K字节的SRAM、53个通用I/O口线、32个通用工作寄存器、实时时钟RTC、4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C)、两个USART、面向字节的两线接口TWI、8通道10位ADC(具有可选的可编程增益)、具有片内振荡器的可编程看门狗定时器、SPI串行端口、与IEEE1149.1规范兼容的JTAG测试接口(此接口同时还可以用于片上调试),以及六种可以通过软件选择的省电模式。
空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;
掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作,寄存器的内容则一直保持;
省电模式时异步定时器继续运行,以允许用户维持时间基准,器件的其他部分则处于睡眠状态;
ADC噪声抑制模式时CPU和所有的I/O模块停止运行,而异步定时器和ADC继续工作,以减少ADC转换时的开关噪声;
Standby模式时振荡器工作而其他部分睡眠,使得器件只消耗极少的电流,同时具有快速启动能力;
扩展Standby模式则允许振荡器和异步定时器继续工作。
器件是以Atmel的高密度非易失性内存技术生产的。
片内ISPFlash可以通过SPI接口、通用编程器,或引导程序多次编程。
引导程序可以使用任何接口来下载应用程序到应用Flash存储器。
在更新应用Flash存储器时引导Flash区的程序继续运行,实现RWW操作。
通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATmega128为许多嵌入式控制应用提供了灵活而低成本的方案。
ATmega128的封装图如下图图3.2所示:
图3.2ATmega128的封装图
ATmega128的引脚图如下图图3.3所示:
图3.3ATmega128的引脚图
3.2.2单片机管脚说明
VCC数字电路的电源。
GND接地。
端口A(PA7..PA0)端口A为8位双向I/O口,并具有可编程的内部上拉电
阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收
大电流。
作为输入使用时,若内部上拉电阻使能,则端口
被外部电路拉低时将输出电流。
复位发生时端口A为三
态。
端口B(PB7..PB0)端口B为8位双向I/O口,并具有可编程的内部上拉电
复位发生时端口B为三
端口C(PC7..PC0)端口C为8位双向I/O口,并具有
可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特
性,可以输出和吸收大电流。
作为输入使用时,若内部上
拉电阻使能,则端口被外部电路拉低时将输出电流。
复位
发生时端口C为三态。
在ATmega103兼容模式下,端口C只能作为输出,而且
在复位发生时不是三态。
端口D(PD7..PD0)端口D为8位双向I/O口,并具有可编程的内部上拉电
其输出缓冲器具有对称的驱动特性,可以输出和吸
收大电流。
作为输入使用时,若内部上拉电阻使能,则端
口被外部电路拉低时将输出电流。
复位发生时端口D为三态。
端口E(PE7..PE0)端口E为8位双向I/O口,并具有可编程的内部上拉电
复位发生时端口E为三
端口F(PF7..PF0)端口F为ADC的模拟输入引脚。
如果不作为ADC的模拟输入,端口F可以作为8位双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时端口F为三态。
如果使能了JTAG接口,则复位发生时引脚PF7(TDI)、PF5(TMS)和PF4(TCK)的上拉电阻使能。
端口F也可以作为JTAG接口。
在ATmega103兼容模式下,端口F只能作为输入引脚。
端口G(PG4..PG0)端口G为5位双向I/O口,并具有可编程的内部上拉电
复位发生时端口G为三
端口G也可以用做其他不同的特殊功能。
在ATmega103兼容模式下,端口G只能作为外部存储器
的所存信号以及32kHz振荡器的输入,并且在复位时这
些引脚初始化为PG0=1,PG1=1以及PG2=0。
PG3
和PG4是振荡器引脚。
~RESET复位输入引脚。
超过最小门限时间的低电平将引起系统
复位。
门限时间在P47Table19说明。
低于此时间的脉冲
不能保证可靠复位。
XTAL1反向振荡器放大器及片内时钟操作电路的输入。
XTAL2反向振荡器放大器的输出。
AVCCAVCC为端口F以及ADC转换器的电源,需要与VCC相连接,即使没有使用ADC也应该如此。
使用ADC时应该通过一个低通滤波器与VCC连接。
AREFAREF为ADC的模拟基准输入引脚。
PENPEN是SPI串行下载的使能引脚。
在上电复位时保持PEN
为低电平将使器件进入SPI串行下载模式。
在正常工作过
程中PEN引脚没有其他功能。
3.2.3单片机最小系统
单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。
(1)复位电路
ATmega128已经内置了上电复位设计。
并且在熔丝位里,可以控制复位时的额外时间,故AVR外部的复位线路在上电时,可以设计得很简单:
直接拉一只5.1K的电阻到VCC即可(R26)。
为了可靠,再加上一只0.1uF的电容(C9)以消除干扰、杂波。
当AVR在工作时,按下S3开关时,复位脚变成低电平,触发AVR芯片复位。
重要说明:
实际应用时,如果你不需要复位按钮,复位脚可以不接任何的零件,AVR芯片也能稳定工作。
即这部分不需要任何的外围零件。
复位电路如下图3.4所示:
图3.4复位电路原理图
(2)晶振电路
ATmega128已经内置RC振荡线路,可以产生1M、2M、4M、8M的振荡频率。
不过,内置的毕竟是RC振荡,在一些要求较高的场合,比如要与RS232通信需要比较精确的波特率时,建议使用外部的晶振线路。
早期的90S系列,晶振两端均需要接27pF左右的电容。
Mega系列实际使用时,这两只小电容不接也能正常工作。
不过为了线路的规范化,我们仍建议接上。
实际应用时,如果你不需要太高精度的频率,可以使用内部RC振荡。
晶振电路原理图如下图3.5所示:
图3.5晶振电路原理图
选取原则:
电容选取27pF,晶振为7.3728MHz。
(3)电源电路
系统电源模块提供整个开发板的电源,该开发板支持USB接口和外接电源供电,使用USB供电显得尤其方便,一条USB线即可供电。
开发板支持3.3V系统和5V系统,板上集成5V到3.3V的电压稳压芯片ASM1117-3,可以通过跳线自由选择,确定使用何种电压,对于低功耗场所使用提供了方便,有助于项目开发的使用。
电源电路原理图如下图3.6所示:
图3.6电源电路原理图
(4)JTAG仿真接口设计
仿真接口也是使用双排2*5插座。
需要一只10K的上拉电阻(R30—R33)。
JTAG仿真接口原理图如下图3.7所示:
图3.7JTAG仿真接口原理图
(5)ISP下载接口设计
ISP下载接口,不需要任何的外围零件。
使用双排2*5插座。
由于没有外围零件,故PE0(MOSI)、PE1(MISO)、PB1(SCK)、复位脚仍可以正常使用,不受ISP的干扰。
RST连接倒RESET(20),即单片机的管脚20.
ISP下载接口原理图如下图3.8所示:
图3.8ISP下载接口原理图
3.2.4时钟系统电路设计
(1)时钟芯片选择与介绍
我们采用的是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302。
它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能,主要特点是采用串行数据传输,采用普通32.768kHz晶振,工作电压为2.5V~5.5V,DS1302内部有一个31×
8的用于临时性存放数据的RAM寄存器。
DS1302可以对年、月、日、周日、时、分、秒进行计时,可以达到我们设计的基本的要求。
内部的寄存器为我们调时,闹钟定时提供了寄存空间。
备用用电源也实现了当系统断电后,时钟仍然可以保持。
而且它是串行接口,与单片机通信所需要的接口少。
不像DS12887等芯片并行通信需要很多IO口。
DS1302的外部引脚分配如下图3.9所示:
图3.9DS1302的外部引脚分配图
DS1302的内部结构如下图3.10所示:
图3.10DS1302的内部结构图
(2)DS1302管脚及寄存器说明
DS1302的引脚排列
Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
因此,我们vcc1用3V的纽扣电池作为备用电源,vcc2用系统电源作为主电源。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;
其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向)。
SCLK为时钟输入端。
DS1302的寄存器说明
DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如下图3.11所示。
图3.11DS1302有关日历、时间的寄存器
小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。
当为高时,选择12小时模式。
在12小时模式时,位5是,当为1时,表示PM。
在24小时模式时,位5是第二个10小时位。
秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。
当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;
当该位置为0时,时钟开始运行。
控制寄存器(8Fh、8Eh)的位7是写保
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 TFTLCD 指针 时钟 设计