单片机课程论文设计电子钟课程设计1.docx

上传人:b****3 文档编号:4992184 上传时间:2023-05-07 格式:DOCX 页数:17 大小:272.47KB
下载 相关 举报
单片机课程论文设计电子钟课程设计1.docx_第1页
第1页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第2页
第2页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第3页
第3页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第4页
第4页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第5页
第5页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第6页
第6页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第7页
第7页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第8页
第8页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第9页
第9页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第10页
第10页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第11页
第11页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第12页
第12页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第13页
第13页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第14页
第14页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第15页
第15页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第16页
第16页 / 共17页
单片机课程论文设计电子钟课程设计1.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机课程论文设计电子钟课程设计1.docx

《单片机课程论文设计电子钟课程设计1.docx》由会员分享,可在线阅读,更多相关《单片机课程论文设计电子钟课程设计1.docx(17页珍藏版)》请在冰点文库上搜索。

单片机课程论文设计电子钟课程设计1.docx

单片机课程论文设计电子钟课程设计1

单片机课程论文设计

——电子钟

一、设计要求

1、准确计时,以数字形式显示时、分、秒的时间。

2、小时以24小时计时形式,分秒计时为60进位。

3、校正时间功能(即调整时间)

4、闹钟功能。

5、整点报时。

6、总结检验电路设计结果

二、设计方案和论证

本次设计时钟电路,使用了ATC89C52单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:

键盘、芯片、扬声器、显示屏即可满足设计要求。

1、总设计原理框图如下图所示:

 

2、元器件清单

名称

数量

STC89C52单片机

1

12M晶振

1

PNP9015三极管

2

10k排阻

1

10k微调电阻

1

10k电阻

2

4.7k电阻

2

Led发光二极管

1

四角按键

4

蜂鸣器

1

10uF电容

1

30pF电容

2

1602液晶显示器

1

40脚插座

1

铜板15cm*15cm

1

排针和排插

若干

3、各部分功能实现

(1)单片机发送的信号通过程序控制最终在数码管上显示出来。

(2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。

(3)为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正液晶显示器上显示的时间。

(5)单片机通过控制闹铃电路来完成定时闹钟的功能。

4、STC89C52单片机介绍

STC89C52单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS8位单片机,片内含8kbytes的可反复写的FlashROM和128bytes的RAM,2个16位定时计数器[5]。

STC89C52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。

这些部件通过内部总线联接起来,构成一个完整的微型计算机。

其管脚图如图所示。

STC89C52单片机管脚结构图

VCC:

电源。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

 

5、上电按钮复位电路

本设计采用上电按钮复位电路:

首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,单片机芯片正常工作。

其中电阻R2决定了电容充电的时间,R2越大则充电时间长,复位信号从VCC回落到0V的时间也长。

6、晶振电路

本设计晶振电路采用12M的晶振。

晶振的作用是给单片机正常工作提供稳定的时钟信号。

单片机的晶振并不是只能用12M,只要不超过20M就行,在准许的范围内,晶振越大,单片机运行越快,还有用12M的就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12M的话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接的是30pF的电容。

机器周期=10*晶振周期=12*系统时钟周期

 

7.下载端口

设计用到的STC89C52单片机芯片的ISP下载线是通过单片机的TXD,RXD引脚把程序烧进去的。

管脚TXD和RXD用于异步串行通信。

其实STC89C52单片机的ISP下载线就是一个max232芯片连接STC和计算机的串行通信口。

计算机把程序从九针串口送到max232芯片,电平转换后送进单片机的串行口,也就是TXD和RXD。

然后单片机的串行模块把数据送到程序区。

8、1602A液晶显示器

 

8.1引脚功能说明

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表8-1所示:

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

表8-1:

引脚接口说明表

第1脚:

VSS为地电源。

第2脚:

VDD接5V正电源。

第3脚:

VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

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

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光源正极。

第16脚:

背光源负极。

10.8.2.31602LCD的指令说明及时序

1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:

序号

指令

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

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志或地址

0

1

BF

计数器地址

10

写数到CGRAM或DDRAM)

1

0

要写的数据内容

11

从CGRAM或DDRAM读数

1

1

读出的数据内容

表10-14:

控制命令表

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

(说明:

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

指令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:

读数据。

与HD44780相兼容的芯片时序表如下:

读状态

输入

RS=L,R/W=H,E=H

输出

D0—D7=状态字

写指令

输入

RS=L,R/W=L,D0—D7=指令码,E=高脉冲

输出

读数据

输入

RS=H,R/W=H,E=H

输出

D0—D7=数据

写数据

输入

RS=H,R/W=L,D0—D7=数据,E=高脉冲

输出

9、时钟显示校正电路

本设计利用按键开关来校正时钟显示的数字。

当按钮按下时,将在相应的端口输入一个低电平,通过相应的程序来改变时钟显示。

其中S1按键开关用来选择要修改的数字;S2按键用来增加所选数字的数值;S3按键用来减少所选数字的数值。

 

10、蜂鸣器电路

电路接法:

三极管选定PNP型,基极B连接5V电压,发射极E连接一个1K左右的电阻后接I/O口,集电极C连接蜂鸣器后接地。

单片机在复位后的个I/O口是高电平,此时三极管是截止的,编写程序使选定的I/O为低电平,此时三极管导通,导通后蜂鸣器与电源正极连通,构成一个工作回路,从而发出滴滴的响声。

其中电阻R1在电路里起分压限流的作用,PNP三极管起到模拟开关的作用。

11、外接电源电路

外接电源电路用于连接外部5V电源与电子时钟电路,通过自锁开关控制电路的导通与断开,当开关闭合时,电路导通,外部电源给电路正常供电,电子时钟正常工作。

当开关断开时,电路停止工作。

12、总电路原理图

 

13、程序流程图

软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在数码管上显示

 

三、设计总结

辛辛苦苦努力了一个月,终于有了成果,把理论变成了现实,出了欣喜外,还充满了成就感。

1实验中遇到的问题及解决方法

实验中遇到了很多意想不到的问题,从一开始的设计原理图,程序的编写到最后的电路板制作,一直都是在发现问题和解决问题中度过。

还好自己一路坚持了下来,把问题一一解决。

设计的时候,程序的编写是比较难的,还要都熬过来了

制作电路板的时候,打孔时要很小心,刚开始打的孔都有点歪,多打的几个孔,才慢慢找到感觉。

在PCB板布线的时候,绕了好多弯,刚开始的时候,元件的位置没摆好,布线的时候,总是会有很多的跳线,布了好几天,元件的位置换了又换,最后才终于找到最佳的布线位置。

如果刚开始的时候,就把元件的位置摆放好,跟原理图的相对位置一致,就不会有这么多的麻烦了。

其实这些都不是问题,只要我们有耐心,够细心,都可以把它们解决。

2设计体会

以前看别人的一个电子表卖十几块钱,心里面有点愤愤不平,现在,自己做过一个电子钟,才发现,其中的不容易,还有艰辛。

其实做其他的事情也是一样,都会经过很多的困难,才能成功。

突然想起一句话“不经历风雨,怎么见彩虹”。

其实想想,这一个月,也留下了很多美好的回忆。

还记得那个晚上通宵达旦仿真,不成功,誓不睡觉,很困了,都还在弄着。

却当仿真成功时,没有一丝睡意,有的只是心中的喜悦

还记得那天废寝忘食打孔和焊板,还记得当数码管终于亮起来那一刻……

通过这次设计让我真正体会到了,有付出,才会有收获。

 

四、参考文献

[1]谢自美.电子线路设计·实验·测试[M].武汉:

华中理工大学出版社,1992.

[2]何立民.单片机应用系统设计[M].北京:

北京航空航天大学出版社,1993.

[3]楼然笛.单片机开发[M].北京:

人民邮电出版社,1994.

[4]付家才.单片机控制工程实践技术[M].北京:

化学工业出版社2004.3.

[5]李光才.单片机课程设计实例指导[M].北京:

北京航空航天大学出版社2004.

[6]朱定华.单片机原理及接口技术实验[M].北京:

北方交通大学出版社2002.11.

[7]刘湘涛.江世明.单片机原理与应用[M].北京:

电子工业出版社,2006.

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2