万年历的c实现设计课设论文(编辑修改稿)内容摘要:

芯片采用 DS1302,它是一款高性能、低功耗、自带 RAM 的实时时钟芯片,具有使用寿命长,精度高和功耗低等特点,同时具有掉电自动保存功能 ,可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,其工作电压为 ~;显示部份使用 1602 液晶显示屏来实现 ,该显示屏具有低功耗、寿命长、可靠性高的特点,其工作电压为 5v。 主要单元电路的设计 STC89C52单片机简介 STC89C52是一种低功耗、高性能的 8位 CMOS微控制器,具有 8K的可编程 Flash 存储器。 使用高密度非易失性存储器技术制造,与工业 80C51产品指令和引脚完全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。 在单芯片上,拥有灵巧的 8 8 位 CPU和在线系统可编程 Flash,使得 STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52具有以下标准功能: 8K字节 Flash, 256字节 RAM, 32位I/O 口线,看门狗定时器, 2个数据指针,三个 16位定时器 /计数器,一个 6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。 另外, STC89C52可降至 0Hz静态逻辑操作,支持 2种软件可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 引脚排列如图。 图 STC89C52 引脚图 从引脚功能来看,可将引脚分为三部分: 电源及时钟引脚 VCC:接 +5V 电源; VSS:接地; XTAL1 和 XTAL2:时钟引脚,外接晶体引线端。 当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 控制引脚 RST/VPT: RST 是复位信号输入端, VPT 是备用电源输入端。 当 RST 输入端保持 2个机器周期以上高电平时,单片机完成复位初始化操作。 当主电源 VCC 发生故障而突然下降到一定低电压或断电时,第 2功能 VPT将为片内 RAM提供电源以保护片内 RAM中 9 的信息不丢失。 ALE/PROG:地址锁存允许信号输出端。 在存取外存储器时,用 于锁存低 8 位地址信号。 当单片机正常工作后, ALE端就会周期性地以时钟振荡频率的 1/6固定频率向外输出正脉冲信号。 此引脚的第 2功能 PROG是对片内带有 4K字节 EPROM的 8751固化程序时,作为编程脉冲输入端。 PSEN:程序存储允许输出端。 是片外程序存储器的读选通信号,低电平有效。 CPU从外部程序存储器取指令时, PSEN 信号会自动产生负脉冲,作为外部程序存储器的选通信号。 EA/VPP:程序存储器地址允许输入端。 当 EA为高电平时, CPU执行片内程序存储器指令,但当 PC 中的值超过 0FFFFH 时,将自动转向执行 片外程序存储器指令;当 EA 为低电平时, CPU只执行片外程序存储器指令。 对 8031单片机, EA必须接低电平。 在 8751中,当对片内 EPROM编程时,该端接 21V的编程电压。 I/O口引脚 ~ : P0 口是一个 8 位漏极开路的双向 I/O 口。 作为输出口,每位能驱动 8 个TTL逻辑电平。 对 P0端口写 “1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时, P0口也被作为低 8位地址 /数据复用。 ~ : P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口。 作为输出口,每位能驱动 4 个 TTL 逻辑电平。 此外, 和 分别作定时器 /计数器 2 的外部计数输入( )和时器 /计数器 2的触发输入( )。 在 flash编程和校验时, P1口接收低 8位地址字节。 ~ :P2口是一个具有内部上拉电阻的 8位双向 I/O口。 作为输出口,每位能驱动 4个 TTL逻辑电平。 在访问外部程序存储器或用 16位地址读取外部数据存储器时, P2口送出高八位地址。 在使用 8位地址访问外部数据存储器时, P2口输出 P2锁存器的内容。 在 flash编程和校验时, P2口也接收高 8位地址字节和一些控制信号。 ~ : P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口。 作为输出口,每位能驱动 4个 TTL逻辑电平。 P3口亦作为 STC89C52特殊功能(第二功能)使用。 在 flash编程和校验时, P3口也接收一些控制信号。 单片机主控制模块的设计 10 本设计中单片机主要负责对外设的控制和各个功能模块间的协调,没有复杂的数据计算,因此, 8 位的 51 系列单片机足以胜任。 51 单片机以其低廉的价格以及较出色的性能成了很多控制系统的首选。 它具有丰富的内部资源,较大的数据、程序存储区。 一个典型的单片机最小系统一般由时钟电路、复 位电路、电源指示灯和外部扩展接口等部分组成,本系统也不例外, 当单片机具备了这些最基本的条件后,就可以正常工作了。 单片机最小系统复位、晶振电路简介 复位电路的设计 复位电路是使单片机的 CPU或系统中的其他部件处于某一确定的初始状态,并从这上状态开始工作。 ( 1)单片机常见的复位电路 通常单片机复位电路有两种:上电复位电路,按键复位电路。 上电复位电路:上电复位是单片机上电时复位操作,保证单片机上电后立即进入规定的复位状态。 它利用的是电容充电的原理来实现的。 按键复位电路:它不仅具有上电复位电路的功能,同时它 的操作比上电复位电路的操作要简单的多。 如果要实现复位的话,只要按下 RESET 键即可。 它主要是利用电阻的分压来实现的 在此设计中,采用的按键复位电路。 按键复位电路如图。 图 复位电路 11 ( 2)复位电路工作原理 上电复位要求接通电源后,单片机自动实现复位操作。 上电瞬间 RESET 引脚获得高电平,随着电容的充电, RERST 引脚的高电平将逐渐下降。 RERST 引脚的高电平只要能保持足够的时间( 2个机器周期),单片机就可以进行复位操作。 上电与按键均有效的复位电路不仅在上电时可以自动复位 ,而且在单片机运行期间,利用按键也可以完成复位操作 晶振电路的设计 晶振电路 用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。 单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。 通常在引脚 Xl 和 X2 跨接石英晶体和两个补偿电容构成自激振荡器,如图 XC C4。 可以根据情况选择 6MHz、 12MHz或 24MHz等频率的石英晶体,补偿电容通常选择 30pF左右的瓷片电容。 图 时钟振 荡电路 时钟电路模块的设计 DS1302 是 DALLAS 公司推出的涓流充电时钟 芯片,内含有一个实时时钟 /日历和 31字节静态 RAM,通过简单的串行接口与单片机进行通信。 图 DS1302的引脚排列,其中 VCC1 为后备电源, VCC2 为主电源。 所以在主电源关闭的情况下,也能保持时钟的连续运行。 DSX1 和 DSX2 是振荡源,外接。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST提供终止单字节或多字节数据的传送手段。 当 RST为高电平时,所有的数据传送被初始化, 12 允许对 DS1302进行操作。 如果在传送过程中 RST置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。 上电行动时,在 VCC 大于等于 之前, RST 必须保持低电平。 在 SCLK为低电平时,才能将 RST置为高电平, I/O为串行数据输入端(双向)。 SCLK始终是输入端。 图 DS1302的 硬件接线图 时钟芯片 DS1302的工作原理: (1) DS1302的控制字节 DS1302 控 制字节的高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入DS1302中,位 6如果 0,则表示存取日历时钟数据,为 1表示存取 RAM数据;位 5至位1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出 (2) 数据输入输出( I/O) 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0开始。 同样,在紧跟 8位的控制指令字后的下一个 SCLK脉冲的下降沿读出 DS1302的数据,读出数据时从低位 0位到高位 7。 (3) DS1302的寄存器 DS1302有 12个寄存器,其中有 7个寄存器与日历、时钟相关,存放的数据位为 BCD码形式。 “CH”是时钟暂停标志位,当该位为 1 时,时钟振荡器停止, DS1302 处于低功耗状态;当该位为 0时,时钟开始运行。 “WP”是写保护位,在任何的对时钟和 RAM的写操作之前, “WP”必须为 0。 当 “WP”为 1时,写保护位防止对任一寄存器的写操作。 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存 器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8位的字节,其命令控制字为 C0H~ FDH,其中奇数为读操作,偶数为写操作; 13 另一类为突发方式下的 RAM寄存器,此方式下可一次性读写所有的 RAM的 31个字节,命令控制字为 FEH(写 )、 FFH(读 )。 实现键盘控制的方法有多种,在本系统中,我们采用了 STC89C52单片机来进行控制,因为单片机可以很好的解决键抖动。 由若干个按键组成一个键盘,其电路结构可分为独立式键盘和矩阵式键盘两种。 本设计采用的是独立式键盘。 键盘的工作方式可分为编程控制方式和中断控制方式。 CPU在一个工作周期内,利用完成其他任务的空余时间,调用键盘扫描子程序,经程序查询,若无键操作,则返回;若有键操作,则进而判断是哪个键,并执行相应的键处理程序。 这种方式为编程扫描方式。 由于单片机在正常应用过程中,可能会经常进行键操作,因而编程控制方式使 CPU经常处于工作状态, 在进行本次设计中,只涉及到了设置、上调、下调三个功能。 因此采用独立式键盘。 如下图所示: 图 显示模块的设计 本设计中由于要对时间、温度进行显示,所以选择液晶显示屏 1602 模块作为输出。 1602字符型 LCD通常有 14条引脚线或 16条引脚线的 LCD,多出来的 2条线是背光电源线。 它可以显示两行,每行 16 个字符,采用单 +5V 电源供电,外围电路配置简单,价格便宜,具有很高的性价比。 1602 液晶模块内部的字符发生存储器( CGROM)已经存储了160个不同的点阵字符 图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母 “A”的代码是01000001B( 41H),显示时模块把地址 41H中的点阵字符图形显示出来,我们就能看到字母 “A”。 管脚功能 如表 41所示 : 14 表 41 LCD1602 引脚功能 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源( +5V) 3 VL 液晶显示器对比度调整端。 4 RS RS为寄存器选择。 5 R/W R/W为读写信号线。 6 EN E(或 EN)端为使能 (enable)端,下降沿使能。 7 DB0 低 4位三态、 双向数据总线 0位(最低位) 8 DB1 低 4位三态、 双向数据总线 1位 9 DB2 低 4位三态、 双向数据总线 2位 10 DB3 低 4位三态、 双向数据总线 3位 11 DB4 高 4位三态、 双向数据总线 4位 12 DB5 高 4位三态、 双向数据总线 5位 13 DB6 高 4位三态、 双向数据总线 6位 14 DB7 高 4位三态、 双向数据总线 7位(最高位) 15 BL+ 背光电源正极 16 BL 背光电源负 极 LCD1602主要管脚介绍: V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生鬼影使用时可以通过一个 10K的电位器调整对比度。 RS为寄存器选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。 R/ W为读写信号线端,高电平时进行读操作,低电平时进行写操作。 当 RS和 R/ W共同为低电平时可以写入指令或者显示地址;当 RS为高电平 R/ W 为低电平时可以写入数据。 E为使能端,当 E端由高电平跳变成低电平时,液晶模块执行命令。 15 将 L1602的 RS 端和 , R/W端和 , E 端和 ,当 RS=0时,对 LCD1602写入指令;当 RS=1 时,对 LCD1602 写入数据。 当 R/W端接高电平时芯片处于读数据状态,反。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。