基于89C52单片机的电子时钟的课程.doc
《基于89C52单片机的电子时钟的课程.doc》由会员分享,可在线阅读,更多相关《基于89C52单片机的电子时钟的课程.doc(32页珍藏版)》请在沃文网上搜索。
1、摘 要 电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LCD显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。本课程设计就是用一块89C52单片机和一块LCD1602液晶显示屏
2、及其他元器件设计出一个电子时钟。用单片机的定时器来产生时钟信号,用液晶显示屏来显示时钟的变化,通过扫描几个按键来控制时钟。把这几个模块的程序及原理图设计好后组合在一起就成了一个电子时钟。关键词:89C52单片机;LCD1602液晶;定时器;石英晶体振荡器。目 录 摘要. I1电子时钟总体设计.11.1设计任务与要求.11.2方案设计与论证.12单片机应用系统简介22.1单片机结构.22.2单片机的封装形式,引脚定义及功能.32.3定时/计数器.42.4 键盘接口技术.52.5 复位操作.82.6显示控制模块.83硬件电路设计133.1 电子时钟的原理图133.2单元电路设计134软件设计174
3、.1 系统主程序设计174.2 主程序清单194.3 系统调试245 结论与心得25参考文献.26附录.27致谢.301 电子时钟总体设计1.1 设计任务与要求设计要求:熟悉单片机的I/O口原理;掌握LED驱动电路和LED显示的原理;掌握定时计数器的使用。设计任务:设计一个电子时钟,要求实时显示时间(时钟/分钟/秒钟)要求可以通过按键设置当前时间。1、要求设计出电气原理图;2、要求设计出程序流程图和程序;3、要求设计出实物仿真模拟调试;4、用C语言编程,用proteus仿真。1.2 方案设计与论证方案:该系统采用52系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示
4、功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-52单片机特点如下: (1)单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。(2)单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。 (3)控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。其原理框图如图1.1所示: AT89C5
5、2最小应用系统按键电路晶振电路复位电路LCD 显 示 时 间蜂鸣器电路图1.1 电子时钟原理框图2 单片机应用系统简介2.1单片机结构2.1.1 89C52单片机的功能结构如下图所示,单片机是属于三总线结构,89C52单片机功能方框图如图2.1所示:图2.1单片机内部结构框图2.1.2 单片机内容结构单片机的内部结构如图2.2所示。从图中看出,它具有以下特征;(1)适于控制应用的8位CPU(2)56字节片内数据存储器,分高低两个128字节(3)4K字节片内程序存储器(4)64KB程序存储器空间(5)64KB数据存储器空间(6)4个8位共32根双向并可按位寻址的I/O口线(7)两个16位定时/计
6、数器;(8)一个全双工的串行I/O接口(9)有5个中断源(10)片内时钟振荡器(11)具有布尔处理(位处理)能力图2.2 单片机内部结构2.2单片机的封装形式、引脚定义及功能2.2.1 89C52封装89C52系列单片机具有双列直插式和方形两种封装。如图2.3所示 图2.3双列直插式和方形2.2.2 89C52系列单片机引脚功能(1)引脚分布:如图2.4所示为双列直插式引脚分布图图2.4 双列直插式引脚分布图(2)引脚功能VCC-工作电源+5VGND-电源地ALE/PROG -访问外部存储器时作为低8位地址锁存控制信号;在对EPROM编程时作为编程脉冲输入;在不访问外部存储器和非EPROM编程
7、状态下,该脚输出频率为1/6单片机晶振频率的方波信号,该信号,可作为时钟脉冲,但在访问数据存储器时会丢失一个脉冲; PSEN外部程序存储器读选通信号.EA/VPP访问程序存储器控制信号。当EA为低电平时,只读外部存储器,当EA为高电平时则先读内部程序存储器,再读外部程序存储器;这个引脚在编程时接编程电压VPP. RST复位信号,对系统复位信号要2T。XTAL1片内振荡电路输入端。XTAL2片内振荡电路输出端。P0-P3输入输出端口。2.3 定时计数器2.3.1定时/计数器结构 89C52单片机内部设有两个16位定时/计数器,简称为定时器0(T0)和定时器1(T1)。定时器计数器的结构如图2.5
8、所示:TMOD-方式控制寄存器,用于设定定时计数器的工作方式TCON-定时器控制寄存器,用于启动定时计数器IE-中断允许控制寄存器:定时计数器是微机的中断源 图2. 5 89C52单片机内部定时计数器的结构2.3.2 工作原理89C52系列单片机内部定时计数器的工作原理可用图2.6来说明。图2.6 定时计数器的工作原理图定时/计数功能选择:当CT0时,为定时器功能,此时,C与A相连(计数脉冲为机器周期);当CT1时,为计数功能,此时,C与B相连(计数脉冲从P3.4或P3.5口输入)。定时/计数器设置:定时计数器设置由工作方式控制寄存器(TMOD)、定时控制寄存器(TCON)以及中断允许寄存器(
9、IE)共同完成。2.4 键盘接口技术键盘分两类:独立连接多键盘和矩阵式键盘,如图2.7所示。 图2.7独立式键盘2.4.1 独立式键盘独立式按键结构独立式按键结构的键盘是最简单的键盘电路,每个键独立接入一根输入线。这种键盘的优点是结构简单、使用十分方便,目前这种结构的键盘应用还相当普遍,这种键盘的缺点是随着键数数量的增加所占用的I/O口线也增加。独立式按键结构的键盘在没有键按下时,数据输入线均为高电平,当有键按下时,与之对应的数据线将变成低电平。因此可用位指令判别是否有键按下。2.4.2 行列式键盘独立式键盘虽然结构简单,使用方便,但每一个按键开关要占一根I/O口线,因此在按键数较多时,采用行
10、列式键盘技术。输出锁存器输入缓冲器行线列线(1)行列式键盘的结构及原理行列式键盘的结构图2.8所示为行列式键盘的基本结构。它由键盘开关矩阵、输出(行线)锁存器、输入(列线)缓冲器三部分组成。在具体组成电路时,有以下几种组合方式:直接使用I/O的键盘电路。MCU的I/O口输出具有锁存器,输入具有缓冲器,因此应用I/O口直接与行线与列线相连就可以组成行列式键盘。如图2.7所示,是由P1口组成的44键盘。图中左示的是普通接法,右示为带中断的键盘接法。 图2.8 行列式键盘 利用I/O口和译码器的接口电路如图2.9所示为使用I/O口与74LS138译码器构成的键盘电路利用串行口的键盘接口电路P00 P
11、02P01P03P10A P11BP12C 图2.9由I/O口与译码器组成的行列式列式如图2.10为由I/O口与串行口组成的键盘电路。P10P11 AB P12RXD TXD图2.10 I/O口与串行口组成的行列式键盘行列式键盘的工作原理:尽管构成行列式键盘有多种形式,但它们的工作原理是相同的,现以图1.7为例说说明:行线P14P17为输出,列线P10P13为输入。 CPU先使第一行( P14)为“0”,其余行为“1”。读输入口P10P13的状态,若输入缓冲器的状态全部为“1”,则表示所在行无键按下,CPU使一下行线为“0”,其余行线为“1”,扫描下一行,这样在P14P17循环进行。若输入缓冲
12、器不全为“1”,说明所在行有键按下,CPU停止当前行线扫描,转入到列线扫描,列线P10 P13为“0”状态的列表示对应列有键按下。这样,行线与列数交叉键就是扫描到的按键。键扫描方式:程控扫描方式:CPU从执行程序就开始了键盘的扫描,等待来是键盘的命令。这种程控扫描方式,适用单任务多分支结构。定时扫描方式:在多任务应用系统中,既要执行当前任务,又要及时接受键盘命令,定时扫描方式适应这种需要。具体做法是:在程序初始化时,先对定时/计数器进行设置,使其每10ms中断一次,每次中断,CPU将去扫描一次键盘,若两次中断扫描到有键按下(这里考虑了消抖动),CPU将对键作相应的处理。中断扫描方式:采用中断扫
13、描方式必需有外部中断接口,当有键按下时,产生中断请请求,CPU响应中断,在中断服务程序扫描键盘,作相应处理。这是多任务应用系统常用的一种方式。2.5 复位操作复位操作是单片机的初始化操作,单片机在进入运行前和在运行过程中程序出错或操作失误使系统不能正常运行时,需要进行复位操作。复位操作后,程序将从0000H开始重新执行。除此之外,复位操作还使单片机的ALE和PSEN引脚信号在复位期间变为无效状态。单片机对复位信号的要求:一是复位信号为高电平,二是复位信号有效持续时间不少于24个振荡脉冲(两个机器周期)以上。在这里特别要提醒的是,在一个应用系统中,如果有几片单片机同时工作,在程序上有连接关系,系
14、统复位时,应确保每一片单片机同时复位。复位信号由单片机的RST引脚输入,复位操作有上电自动复位、按键复位和外部脉冲复位三种方式。随着单片机技术的发展,目前有些单片机内部带有看门狗电路,当程序进行出错或进入了无休止循环时,看门狗电路将利用软件强行使系统复位。2.6 显示控制模块LCD1602字符显示器模块是2行X16个字符的LCD显示器。该器件由32个字符点阵块组成,可以显示ASCII码表中的所有可显示字符。LCD1602字符显示器外形和引脚排列、名称如图2.11所示。图2.11 LCD16021602采用标准的16脚接口,其中: 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:V0
15、为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第1516脚:空脚1602液晶模块内部的字符发生存储器(CGROM
16、)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”表11602液晶模块内部的控制器共有11条控制指令,如表2所示 表2 序号指令RSR/WD7D6D5D4D3D2D1D01清显示 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 1I/D S4显示开/关控制0 0 0 0 0 0 1
17、D C B5光标或字符移位 0 0 0 0 0 1S/CR/L * *6置功能 0 0 0 0 1DL N F * *7置字符发生存贮器地址0 0 0 1 字符发生存贮器地址8置数据存贮器地址0 0 1显示数据存贮器地址9读忙标志或地址 0 1BF计数器地址10写数字到CGRAM或DDRAM) 1 0要写的数据内容 11从CGRAM或DDRAM读数 1 1读出的数据内容它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置 指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移
18、动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 89 C52 单片机 电子 时钟 课程