ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:440.04KB ,
资源ID:3374621      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3374621.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ATmega16单片机的电子时钟设计毕业设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于ATmega16单片机的电子时钟设计毕业设计.docx

1、基于ATmega16单片机的电子时钟设计毕业设计基于ATmega16单片机的电子时钟设计摘 要:随着科学技术的发展电子时钟在日常的生活中应用的相当的多。本文介绍了一款基于ATmega16单片机为主控芯片的数字电子时钟设计。其中主要包括ATmega16单片机、独立键盘、DS1302芯片、LCD1602液晶显示、以及相关外围电路并在PROTUES仿真平台上运行。关键词:ATmega16单片机;DS1302芯片;独立键盘;LCD1602 Abstract:With the development of science and technology electronic clock in the da

2、ily life of the application is quite long. This paper introduces a single chip processor as the main control chip based on ATmega16 digital electronic clock design. Include ATmega16 microcontroller, independent keyboard, DS1302 chip LCD1602, liquid crystal display (LCD), and related peripheral circu

3、it and in PROTUES simulation platform operation. Key words:ATmega16 microcontroller;DS1302 chip;Independent keyboard;LCD1602 1 前言液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧等许多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。本文中详细介绍了基于ATmega16单片机控制下的162液晶屏显示设计,此设计基于ds1302的时钟电路方便实用,电路设计简单。2 AVR单片机介绍2.1 AVR单片机简介AVR单片机是1997年由ATMEL公司研发出的增强型

4、内置Flash的RISC精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪表仪器、通讯设备、家用电器等各个领域。1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机,简称AVR。2.2 Atmega16简介ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。ATmega16 AVR 内核具有丰富的指令集

5、和32 个通用工作寄存器。所有的寄存器都直接与运算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分

6、输入级可编程增益的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。2.3 ATmega16产品特性高性能、低功耗的8位AVR微处理器先进的RISC 结构131条指令大多数指令执行时间为单个时钟周期32个8位通用工作寄存器全静态工作工作于16MHz时性能高达16MIPS只需两个时钟周期的硬件乘法器非易失性程序和数据存储器16K 字节的系统内可编程Flash,擦写寿命: 10,000次具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正的同时读写操作512 字节的EEPROM,擦写寿命: 100,000次1K字节的片

7、内SRAM可以对锁定位进行编程以实现用户程序的加密JTAG 接口( 与IEEE 1149.1 标准兼容)符合JTAG 标准的边界扫描功能支持扩展的片内调试功能通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程外设特点两个具有独立预分频器和比较器功能的8位定时器/计数器一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器具有独立振荡器的实时计数器RTC四通道PWM8路10位ADC,8个单端通道,2个具有可编程增益(1x, 10x, 或200x)的差分通道面向字节的两线接口两个可编程的串行USART可工作于主机/ 从机模式的SPI串行接口具有独立片内振荡器的可编程看门狗定

8、时器片内模拟比较器特殊的处理器特点上电复位以及可编程的掉电检测片内经过标定的RC振荡器片内/片外中断源6种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby模式 u I/O和封装32个可编程的I/O口2.4 工作电压:ATmega16L:2.7 - 5.5VATmega16: 4.5 - 5.5V2.5 ATmega16 引脚功能VCC 电源正GND电源地端口A (PA7.PA0)做为A/D转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具ATmega引脚图有对称的驱动特性,可以输出和吸收大电流

9、。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。端口B(PB7.PB0)为8位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B也可以用做其他不同的特殊功能.端口C(PC7.PC0) 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低

10、时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口C 也可以用做其他不同的特殊功能。 端口D(PD7.PD0)为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能.RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时

11、间小于门限间的脉冲不能保证可靠复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2 反向振荡放大器的输出端。AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。AREF A/D 的模拟基准输入引脚。2.6 AVR单片机的应用区域AVR单片机应用区域包括:空调控制板、打印机控制板、智能电表、智能手电筒、LED控制屏和医疗设备等领域。3162液晶显示屏介绍162液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字等。3.1 162液晶屏显示屏的引

12、脚定义首先,我们来看162的引脚定义,162的引脚是很整齐的SIP单列直插封装。表1是液晶屏的引脚定义。表1 接口信号说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data 1/02VDD电源正极10D3Data 1/03VEE液晶显示偏压信号11D4Data 1/04RS数据命令/选择端(H/L)12D5Data 1/05R/W读/写信号(H/L)13D6Data 1/06E使能信号14D7Data 1/07D0Data 1/015LEDA背光源正极8D1Data 1/016LEDK背光源该液晶屏采用标准的16脚接口,我们只需要关注一下几个管脚:1 脚:VSS 为地电源。 2 脚

13、:VDD 接 5V 正电源。3脚:VEE,液晶屏显示偏压信号,用于调整液晶屏的显示对比度,一般会外界电位器用以调整偏压信号,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“阴影”,使用时可以通过一个10K的电位器调整对比度。4脚:RS,数据/命令选择端,即对寄存器进行选择,高电平时选择数据寄存器、低电平时选择指令寄存器。5脚:R/W,读写选择端,高电平时进行读操作,低电平时进行写操作。6脚:E,使能信号,其实时162的逐句控制时钟信号,利用该信号的上升沿实现对液晶屏的数据传输。714脚:8位双向数据线。15脚:背光阳极。 16脚:背光阴极。 3.2 162液晶显示屏的指令说明1

14、62液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)。162液晶屏内部模块共有11条控制指令,如表2所示。表2 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清屏00000000012光标返回000000001*3输入方式00000001I/DS4显示开关0000001DCB5移位000001S/CR/L*6功能设置00001DLNF*7CGRAM地址设置0001A5 A4 A3 A2 A1 A08DDRAM地址设置001A6 A5 A4 A3 A2 A1 A09忙标志/读地址计数器01BFAC6 AC5 AC4 AC3 AC2 A

15、C1 AC010CGRAM/DDRAM数据写10写数据11CGRAM/DDRAM数据读11读数据指令1:清显示,指令码01H,光标复位到地址00H位置 指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移S: 屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令6

16、:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 指令7:字符发生器RAM地址设置 指令8:DDRAM地址设置 指令9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据 指令11:读数据 3.3 162液晶显示屏的时序在操作液晶屏,我们应该对它的工作时序非常熟悉,这里介绍了162液晶显示屏的两个写时序:写指令和写入数据。写指令,即设置162液晶显示屏的工作方式:需要把RS置为低电平,RW置为低电平,然后

17、将数据送到数据口D0D7,最后E引脚一个高脉冲将数据写入。写数据,即在液晶屏上实现显示时:需要把RS置为高电平,RW置为低电平,然后将数据送到D0D7,最后E引脚一个高脉冲将数据写入。图1 162液晶显示屏时序图注意:162液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。当然,162提供了读忙信号的方法:当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号。3.4 162液晶屏的RAM地址映射及标准字库表液晶模块内部的字符发生存储器(CGROM)已经存储了128个不同的点阵字符图形,这些字符有

18、:阿拉伯数字、英文字母的大小写和常用的符号等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。液晶屏第一行的首地址是80H,第二行的首地址是C0H。表3是液晶屏的GROM中的字符代码与图形对应关系。表3 字符代码与图形对应表00000010001101000101011001110000GRAM0Pp0001!1AQaQ0010”2BRbR0011#3CScS0100$4DTdt0101%5EUeu0110&6FV

19、fv01117GWgw1000(8HXhx1001)9IYiy1010*:JZjZ1011+;Kk1100,Nn1111/?O_o4ds1302芯片介绍 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI 三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V 。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部引脚分

20、配如图2所示及内部结构如图3 所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。图2 引脚图图3 内部结构各引脚的功能为: Vcc1 :主电源;Vcc2:备份电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 Vcc1时,由Vcc1向DS1302供电。 SCLK:串行时钟,输入,控制数据的输入与输出; I/O :三线接口时的双向数据线; CE :输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数

21、据传输的方法。 DS1302有下列几组寄存器: 1DS1302有关日历、时间的寄存器共有12个,其中有7 个寄存器(读时81h 8Dh ,写时80h 8Ch ),存放的数据格式为BCD码形式。 表4 Ds1302有关日历、时间的寄存器度寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81h80hCH10秒秒005983h82h10分分005985h84h12/24010A/P时时1-12/0-2387h86h0010日日13189h88h00010月月1128Bh8Ah00000周日178Dh8Ch10年年00998Fh8EhWP0000000小时寄存器(85

22、h 、84h )的位7 用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5 是 ,当为 1 时,表示 PM。在 24小时模式时,位5 是第二个10小时位。 秒寄存器(81h 、80h )的位 7 定义为时钟暂停标志(CH)。当该位置为1 时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0 时,时钟开始运行。 控制寄存器(8Fh 、8Eh )的 位7 是写保护位(WP),其它 7 位均置为0 。在任何的对时钟和RAM的写操作之前,WP位必须为0 。当WP位为1 时,写保护位防止对任一寄存器的写操作。 DS1302有关RAM的地址

23、 DS1302 中附加31字节静态RAM的地址见表所示。表5 静态RAM读地址写地址数据范围C1hC0h00FFhC3hC2h00FFhC5hC4h00FFh、FDhFCh00FFhDS1302的工作模式寄存器 所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。表6 工作模式工作模式寄存器读寄存器写寄存器时钟突发模式寄存器CLOCK BURSTBFhBEhRAM突发模式寄存器RAM BURSTFFhFEh此外,DS1302还有充电寄存器等。2 读写时序说明 DS1302是SPI 总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。 要想与DS1302通信,首先要先了解D

24、S1302的控制字。1RAMA4A3A2A1A0RDCKWR控制字(即地址及命令字节)控制字的最高有效位(位7 )必须是逻辑 1 ,如果它为 0 ,则不能把数据写入到DS1302中。 位6 :如果为 0 ,则表示存取日历时钟数据,为1 表示存取RAM数据; 位5 至位1 (A4A0):指示操作单元的地址; 位0 (最低有效位):如为0 ,表示要进行写操作,为1 表示进行读操作。 控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK 时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8 位的控制字指令后的下一个SCLK 脉冲的下降沿,读出DS1302的数

25、据,读出的数据也是从最低位到最高位。数据读写时序如图4 。图4 数据读写时序5 仿真软件介绍5.1 PROTUES简介Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC1

26、0/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。5.2 PROTUES的特点 1.原理布图 2.PCB自动或人工布线3.SPICE电路仿真 4.互动的电路仿真。用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 5.仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。5.3 PROTUES工

27、作界面介绍PROTUES的工作界面是一种标准的windows界面,如下图所示,包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。 图5 PROTUES界面图6 硬件设计6.1系统框图本系统所包含模块:主控芯片ATmega16、LCD1602液晶显示模块、独立键盘模块、指示灯电路、DS1302时钟模块、以及电源。另外还有背光电压显示电路。图6 6.2 PROTUES仿真图及电路原理图 PROTUES仿真图电路原理图6.3 独立键盘该键盘是三路独立的按键回路,当D端口读取的电平为高电平时不动作,说明没有

28、按键按下;当任意一个电路的按键按下时,该段口读取的电平就为低电平执行相应的操作。按钮主要功能:K1:按下此按钮可以执行对时间的更改且相应的时间指示灯点亮;对应键值为:00001011。K2:按下此按钮可以实现时间地址的切换并且相应的指示灯点亮;对应键值为:00001101。K3:按下此按钮可以执行对时间的增1操作,对应键值为:00001110。 图7 6.4 背光电压显示电位器的中间分为两路,一路接液晶的Vee端,另一路接单片机PA3端。经过软件处理后将值显示在液晶屏上。模数转换:AD转换结果:ADC=Vin*1024/VrefADC 多工选择寄存器 ADMUX图8图9Bit 7:6 REFS1:0: 参考电压选择如Table 83所示,通过这几位可以选择参考电压。如果在转换过程中改变了它们的设置,只有等到当前转换结束 (ADCSRA寄存器的ADIF置位 ) 之后改变才会起作用。如果在AREF引脚上施加了外部参考电压,内部参考电压就不能被选用了。表7 参考电压选择REFS1REFS0参考电压

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1