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

上传人:b****5 文档编号:3374621 上传时间:2022-11-22 格式:DOCX 页数:44 大小:440.04KB
下载 相关 举报
基于ATmega16单片机的电子时钟设计毕业设计.docx_第1页
第1页 / 共44页
基于ATmega16单片机的电子时钟设计毕业设计.docx_第2页
第2页 / 共44页
基于ATmega16单片机的电子时钟设计毕业设计.docx_第3页
第3页 / 共44页
基于ATmega16单片机的电子时钟设计毕业设计.docx_第4页
第4页 / 共44页
基于ATmega16单片机的电子时钟设计毕业设计.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

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

《基于ATmega16单片机的电子时钟设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于ATmega16单片机的电子时钟设计毕业设计.docx(44页珍藏版)》请在冰豆网上搜索。

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

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

基于ATmega16单片机的电子时钟设计

 

摘要:

随着科学技术的发展电子时钟在日常的生活中应用的相当的多。

本文介绍了一款基于ATmega16单片机为主控芯片的数字电子时钟设计。

其中主要包括ATmega16单片机、独立键盘、DS1302芯片、LCD1602液晶显示、以及相关外围电路并在PROTUES仿真平台上运行。

关键词:

ATmega16单片机;DS1302芯片;独立键盘;LCD1602

Abstract:

Withthedevelopmentofscienceandtechnologyelectronicclockinthedailylifeoftheapplicationisquitelong.ThispaperintroducesasinglechipprocessorasthemaincontrolchipbasedonATmega16digitalelectronicclockdesign.IncludeATmega16microcontroller,independentkeyboard,DS1302chipLCD1602,liquidcrystaldisplay(LCD),andrelatedperipheralcircuitandinPROTUESsimulationplatformoperation.

Keywords:

ATmega16microcontroller;DS1302chip;Independentkeyboard;LCD1602

1前言

液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧等许多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。

本文中详细介绍了基于ATmega16单片机控制下的162液晶屏显示设计,此设计基于ds1302的时钟电路方便实用,电路设计简单。

2AVR单片机介绍

2.1AVR单片机简介

AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机。

AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪表仪器、通讯设备、家用电器等各个领域。

1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机,简称AVR。

2.2Atmega16简介

ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。

由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。

ATmega16AVR内核具有丰富的指令集和32个通用工作寄存器。

所有的寄存器都直接与运算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。

这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。

ATmega16有如下特点:

16K字节的系统内可编程Flash(具有同时读写的能力),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。

2.3ATmega16产品特性

  高性能、低功耗的8位AVR微处理器

先进的RISC结构

131条指令

大多数指令执行时间为单个时钟周期

32个8位通用工作寄存器

全静态工作

工作于16MHz时性能高达16MIPS

只需两个时钟周期的硬件乘法器

非易失性程序和数据存储器

16K字节的系统内可编程Flash,擦写寿命:

10,000次

具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正的同时读写操作

512字节的EEPROM,擦写寿命:

100,000次

1K字节的片内SRAM

可以对锁定位进行编程以实现用户程序的加密

JTAG接口(与IEEE1149.1标准兼容)

符合JTAG标准的边界扫描功能

支持扩展的片内调试功能

通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程外设特点

两个具有独立预分频器和比较器功能的8位定时器/计数器

一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器

具有独立振荡器的实时计数器RTC

四通道PWM

8路10位ADC,8个单端通道,2个具有可编程增益(1x,10x,或200x)的差分通道

面向字节的两线接口

两个可编程的串行USART

可工作于主机/从机模式的SPI 串行接口

具有独立片内振荡器的可编程看门狗定时器

片内模拟比较器

特殊的处理器特点

上电复位以及可编程的掉电检测

片内经过标定的RC振荡器

片内/片外中断源

6种睡眠模式:

空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式uI/O和封装

32个可编程的I/O口

2.4工作电压:

 ATmega16L:

2.7-5.5V

 ATmega16:

4.5-5.5V

2.5ATmega16引脚功能

VCC电源正

 GND 电源地

 端口A(PA7..PA0)做为A/D 转换器的模拟输入端。

端口A为8位双向I/O口,具有可编程的内部上拉电阻。

其输出缓冲器具

  ATmega引脚图

有对称的驱动特性,可以输出和吸收大电流。

作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。

在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。

 端口B(PB7..PB0)为8位双向I/O口,具有可编程的内部上拉电阻。

其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。

作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。

在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。

端口B也可以用做其他不同的特殊功能.

 端口C(PC7..PC0)为8位双向I/O口,具有可编程的内部上拉电阻。

其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。

作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。

在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。

如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。

端口C也可以用做其他不同的特殊功能。

 端口D(PD7..PD0)为8位双向I/O口,具有可编程的内部上拉电阻。

其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。

作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。

在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。

端口D也可以用做其他不同的特殊功能.

 RESET复位输入引脚。

持续时间超过最小门限时间的低电平将引起系统复位。

持续时间小于门限间的脉冲不能保证可靠复位。

 XTAL1反向振荡放大器与片内时钟操作电路的输入端。

 XTAL2反向振荡放大器的输出端。

 AVCCAVCC是端口A与A/D转换器的电源。

不使用ADC时,该引脚应直接与VCC连接。

使用ADC时应通过一个低通滤波器与VCC连接。

 AREFA/D的模拟基准输入引脚。

2.6AVR单片机的应用区域

AVR单片机应用区域包括:

空调控制板、打印机控制板、智能电表、智能手电筒、LED控制屏和医疗设备等领域。

3162液晶显示屏介绍

162液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字等。

3.1162液晶屏显示屏的引脚定义

首先,我们来看162的引脚定义,162的引脚是很整齐的SIP单列直插封装。

表1是液晶屏的引脚定义。

表1接口信号说明表

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

Data1/0

2

VDD

电源正极

10

D3

Data1/0

3

VEE

液晶显示偏压信号

11

D4

Data1/0

4

RS

数据命令/选择端(H/L)

12

D5

Data1/0

5

R/W

读/写信号(H/L)

13

D6

Data1/0

6

E

使能信号

14

D7

Data1/0

7

D0

Data1/0

15

LEDA

背光源正极

8

D1

Data1/0

16

LEDK

背光源

该液晶屏采用标准的16脚接口,我们只需要关注一下几个管脚:

1脚:

VSS为地电源。

2脚:

VDD接5V正电源。

3脚:

VEE,液晶屏显示偏压信号,用于调整液晶屏的显示对比度,一般会外界电位器用以调整偏压信号,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“阴影”,使用时可以通过一个10K的电位器调整对比度。

4脚:

RS,数据/命令选择端,即对寄存器进行选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

5脚:

R/W,读写选择端,高电平时进行读操作,低电平时进行写操作。

6脚:

E,使能信号,其实时162的逐句控制时钟信号,利用该信号的上升沿实现对液晶屏的数据传输。

7~14脚:

8位双向数据线。

15脚:

背光阳极。

16脚:

背光阴极。

3.2162液晶显示屏的指令说明

162液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

(说明:

1为高电平、0为低电平)。

162液晶屏内部模块共有11条控制指令,如表2所示。

表2控制命令表

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清屏

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

输入方式

0

0

0

0

0

0

0

1

I/D

S

4

显示开关

0

0

0

0

0

0

1

D

C

B

5

移位

0

0

0

0

0

1

S/C

R/L

*

*

6

功能设置

0

0

0

0

1

DL

N

F

*

*

7

CGRAM地址设置

0

0

0

1

A5A4A3A2A1A0

8

DDRAM地址设置

0

0

1

A6A5A4A3A2A1A0

9

忙标志/读地址计数器

0

1

BF

AC6AC5AC4AC3AC2AC1AC0

10

CGRAM/DDRAM数据写

1

0

写数据

11

CGRAM/DDRAM数据读

1

1

读数据

指令1:

清显示,指令码01H,光标复位到地址00H位置

指令2:

光标复位,光标返回到地址00H

指令3:

光标和显示模式设置

I/D:

光标移动方向,高电平右移,低电平左移

S:

屏幕上所有文字是否左移或者右移。

高电平表示有效,低电平则无效

指令4:

显示开关控制。

D:

控制整体显示的开与关,高电平表示开显示,低电平表示关显示

C:

控制光标的开与关,高电平表示有光标,低电平表示无光标

B:

控制光标是否闪烁,高电平闪烁,低电平不闪烁

指令5:

光标或显示移位S/C:

高电平时移动显示的文字,低电平时移动光标

指令6:

功能设置命令

DL:

高电平时为4位总线,低电平时为8位总线

N:

低电平时为单行显示,高电平时双行显示

F:

低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符

指令7:

字符发生器RAM地址设置

指令8:

DDRAM地址设置

指令9:

读忙信号和光标地址BF:

忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:

写数据

指令11:

读数据

3.3162液晶显示屏的时序

在操作液晶屏,我们应该对它的工作时序非常熟悉,这里介绍了162液晶显示屏的两个写时序:

写指令和写入数据。

写指令,即设置162液晶显示屏的工作方式:

需要把RS置为低电平,RW置为低电平,然后将数据送到数据口D0~D7,最后E引脚一个高脉冲将数据写入。

写数据,即在液晶屏上实现显示时:

需要把RS置为高电平,RW置为低电平,然后将数据送到D0~D7,最后E引脚一个高脉冲将数据写入。

图1162液晶显示屏时序图

注意:

162液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。

当然,162提供了读忙信号的方法:

当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号。

3.4162液晶屏的RAM地址映射及标准字库表

液晶模块内部的字符发生存储器(CGROM)已经存储了128个不同的点阵字符图形,这些字符有:

阿拉伯数字、英文字母的大小写和常用的符号等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。

液晶屏第一行的首地址是80H,第二行的首地址是C0H。

表3是液晶屏的GROM中的字符代码与图形对应关系。

表3字符代码与图形对应表

0000

0010

0011

0100

0101

0110

0111

0000

GRAM

0

@

P

\

p

0001

1

A

Q

a

Q

0010

2

B

R

b

R

0011

#

3

C

S

c

S

0100

$

4

D

T

d

t

0101

%

5

E

U

e

u

0110

&

6

F

V

f

v

0111

7

G

W

g

w

1000

8

H

X

h

x

1001

9

I

Y

i

y

1010

*

:

J

Z

j

Z

1011

+

;

K

[

k

{

1100

<

L

¥

l

|

1101

-

=

M

]

m

}

1110

.

>

N

^

n

1111

/

?

O

_

o

4ds1302芯片介绍

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。

实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。

工作电压宽达2.5~5.5V。

采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。

DS1302的外部引脚分配如图2所示及内部结构如图3所示。

DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。

图2引脚图

图3内部结构

各引脚的功能为:

Vcc1:

主电源;Vcc2:

备份电源。

当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2

SCLK:

串行时钟,输入,控制数据的输入与输出;

I/O:

三线接口时的双向数据线;

CE:

输入信号,在读、写数据期间,必须为高。

该引脚有两个功能:

第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。

DS1302有下列几组寄存器:

1DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式。

表4Ds1302有关日历、时间的寄存器

度寄存器

写寄存器

BIT7

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0

范围

81h

80h

CH

10秒

00—59

83h

82h

10分

00—59

85h

84h

12/~24

0

10A/P

1-12/0-23

87h

86h

0

0

10日

1—31

89h

88h

0

0

0

10月

1—12

8Bh

8Ah

0

0

0

0

0

周日

1—7

8Dh

8Ch

10年

00—99

8Fh

8Eh

WP

0

0

0

0

0

0

0

——

小时寄存器(85h、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的地址

DS1302中附加31字节静态RAM的地址见表所示。

表5静态RAM

读地址

写地址

数据范围

C1h

C0h

00—FFh

C3h

C2h

00—FFh

C5h

C4h

00—FFh

FDh

FCh

00—FFh

③DS1302的工作模式寄存器

所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。

表6工作模式

工作模式寄存器

读寄存器

写寄存器

时钟突发模式寄存器

CLOCKBURST

BFh

BEh

RAM突发模式寄存器

RAMBURST

FFh

FEh

④此外,DS1302还有充电寄存器等。

2读写时序说明

DS1302是SPI总线驱动方式。

它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。

要想与DS1302通信,首先要先了解DS1302的控制字。

1

RAM

A4

A3

A2

A1

A0

RD

~CK

~WR

控制字(即地址及命令字节)

控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。

位6:

如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1(A4~A0):

指示操作单元的地址;位0(最低有效位):

如为0,表示要进行写操作,为1表示进行读操作。

控制字总是从最低位开始输出。

在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。

同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。

数据读写时序如图4。

图4数据读写时序

5仿真软件介绍

5.1PROTUES简介

Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。

5.2PROTUES的特点

1.原理布图

2.PCB自动或人工布线

3.SPICE电路仿真 

4.互动的电路仿真。

用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

5.仿真处理器及其外围电路。

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。

5.3PROTUES工作界面介绍

PROTUES的工作界面是一种标准的windows界面,如下图所示,包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

图5PROTUES界面图

6硬件设计

6.1系统框图

本系统所包含模块:

主控芯片ATmega16、LCD1602液晶显示模块、独立键盘模块、指示灯电路、DS1302时钟模块、以及电源。

另外还有背光电压显示电路。

 

图6

 

6.2PROTUES仿真图及电路原理图

PROTUES仿真图

电路原理图

6.3独立键盘

该键盘是三路独立的按键回路,当D端口读取的电平为高电平时不动作,说明没有按键按下;当任意一个电路的按键按下时,该段口读取的电平就为低电平执行相应的操作。

按钮主要功能:

K1:

按下此按钮可以执行对时间的更改且相应的时间指示灯点亮;对应键值为:

00001011。

K2:

按下此按钮可以实现时间地址的切换并且相应的指示灯点亮;对应键值为:

00001101。

K3:

按下此按钮可以执行对时间的增1操作,对应键值为:

00001110。

图7

6.4背光电压显示

电位器的中间分为两路,一路接液晶的Vee端,另一路接单片机PA3端。

经过软件处理后将值显示在液晶屏上。

模数转换:

AD转换结果:

ADC=Vin*1024/Vref

ADC多工选择寄存器-ADMUX

图8

图9

Bit7:

6–REFS1:

0:

参考电压选择

如Table83所示,通过这几位可以选择参考电压。

如果在转换过程中改变了它们的设置,只有等到当前转换结束(ADCSRA寄存器的ADIF置位)之后改变才会起作用。

如果在AREF引脚上施加了外部参考电压,内部参考电压就不能被选用了。

表7参考电压选择

REFS1

REFS0

参考电压

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

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

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