基于stc89c52的闹铃万年历设计毕业设计论文(编辑修改稿)内容摘要:
存储器编程时,该引脚加上 +12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 ( 9) XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 ( 10) XTAL2:振荡器反相放大器的输出端。 . 复位电路 复位电路是使平均的 CPU 或系统中的其他部件处于某一确定的初始状态,并从这个状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位电路以重新启 动。 本设计采用的是上电复位电路,即使用一个 10uF 电容以及 10K 电阻完成设计,在上电时对单片机进行一次系统复位。 下面详细介绍下复位电路的原理,上电复位的工作过程是在加电时,复位电路通过电容加给RST 端一个短暂的高电平信号,此高电平信号随着 Vcc 对电容的充电过程而逐渐回落,即RST 端的高电平持续时间取决于电容的充电时间。 为了保证系统能够可靠地复位, RST 端的高电平信号必须维持足够长的时间。 上电时, Vcc 的上升时间约为 10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为 12MHz,起振时间为 ; 晶振频率为 1MHz,起振时间则为 10ms。 在本次设计中当 Vcc 掉电时,必然会使 RST 端电压迅速下降到 0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。 另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“ l”态。 如果系统在上电时得不到有效的复位,则程序计数器 PC 将得不到一个合适的初值,因此, CPU 可能会从一个未被定义的位置开始执行程序,但是通过 10uF 电容与 10K 电阻配合后就会有一个稳定复位过程。 以上就是本次复位电路的复位原理。 如图 所 示。 苏州大学本科生毕业设计(论文) 第 12 页 R810k+C110uf+5 GND 图 复 位电路 . 晶振电路 时钟电路由一个晶体振荡器 12MHz 和两个 30pF 的瓷片电容组成。 时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。 单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地作。 下面我就对晶振详细的介绍下,晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。 由于晶体自身的特性致使 这两个频率的距离相当的接近 ,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。 这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。 晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。 以上就是晶振的起振原理,设计中此晶振为单片机提供运行的必要条件,只有晶振产生振荡才可以是单片机正常运行,这也看出来晶 振在电路中的重要性了。 如图 晶振原理图。 C230PC330PY212MHZGND 图 晶振电路 . 时钟 模块 DS1302 DS1302 由美国 DALLAS 公司推出的具有涓细电流充电能力的低功耗实时时钟电路,它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。 DS1302 存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。 DS1302 可以用于数据记录,苏州大学本科生毕业设计(论文) 第 13 页 特别是对某些具有特殊意义的数据点的记录,能实 现数据与出现该数据的时间同时记录。 DS1302 引脚图如图。 图 DS1302 引脚图 DS1302 的引脚排列,其中 Vcc1 为后备电源, VCC2 为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。 当 Vcc2大于 Vcc1+ 时, Vcc2 给 DS1302 供电。 当 Vcc2 小于 Vcc1 时, DS1302 由 Vcc1 供电。 X1 和 X2 是振荡源,外接 晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手段。 当RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。 如果在传送过程中 RST置为低电平,则会终止此次数据传送, I/O引脚变为高阻态。 上电运行时,在 Vcc之前, RST 必须保持低电平。 只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串 行数据输入输出端(双向), SCLK 为时钟输入端。 . 显示模块 LCD1602 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。 在本设计采用的字符型液晶模块是一种用5x7 点阵图形来显示字符的液晶显示器,根据显示的容量可以分为 1 行 16 个字、 2 行 16个字、 2 行 20 个字等等,这里以常用的 2 行 16 个字的 1602 液晶模块来介绍它的编程方法。 1602 采用标准的 16 脚接口,其中: LCD1602 第 3 脚: VEE 为液晶显示器对比度调整端; 第 4 脚: RS 为寄存 器选择,高电平时选择数据寄存器、低电平时选择指令寄存器; 第 5 脚: RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS 和苏州大学本科生毕业设计(论文) 第 14 页 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据; 第 6 脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令; 第 7~ 14 脚: D0~ D7 为 8 位双向数据线; 第 15~ 16 脚:空脚。 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。 要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 1602 液晶模块内部的字符发生存储器( CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。 在液显电路连接上, LCD1602 显示模块可以直接和单片机STC89C52 直接接口,液晶显示的 D0~D7 八个双向端口接 STC89C52 单片机的 P0 口的~,单片机的 P0 口可以作为通用的输入,输出端口使用,此时,若要驱动 NMOS或其他拉电流负载时, 需外接上拉电阻,才能使该位高电平有效,所以中间接 10K 的排阻,来决定显示器高低点位,是否要显示。 由于 VEE 端接电源时接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,对比度过低会使屏幕模糊不清,所以使用时可以通过一个 10K 的电位器来调整它的对比度。 LCD1602 的 RS 寄存器选择端口接单片机的 口,通过软件程序中对此端口的设置来决定选择的寄存器。 液显的 RW 端口直接接地,因为我们不需要读取内部内容,高电平时进行对输入的数字信号进行读数。 使能 E 端接单片机的 口,使能端由高电平到低电平时开始执行命令,把读数显示出来。 . 闹铃模块 闹铃模块由蜂鸣器和蜂鸣器的驱动组成。 蜂鸣器电路接 在单片机的 引脚上,当给该引脚一个低电平,三极管导通。 在有闹铃发生的时候,蜂鸣器的驱动电路驱动蜂鸣器发声,产生闹铃的效果。 闹铃模块的设计如图 所示。 图 闹铃模块的设计 苏州大学本科生毕业设计(论文) 第 15 页 第 系统硬件设计 硬件设计以微控制器 AT89S52 为控制核心,结合所需的外围模块,完成键盘数据处理、LCD 的控制、时间的保存,闹铃的设置等功能。 总电路图如图 所示: 图 总电路图 苏州大学本科生毕业设计(论文) 第 16 页 第 4章 软件设计 第 软件设计概述 软件系统在本设计中尤其重要,基本功能大部分是由软件完成的,发挥功能的关键控制部分同样需要软件 的密切配合才能顺利实现。 鉴于软件设计的精确性和高效性,我们采用 C 语言编写程序。 整个软件系统采用模块化的程序设计方法,共分为初始化,显示程序,键盘程序,时钟程序,声音发声程序等。 软件系统的主要特点是整个过程完全在键盘的控制之下,实现了完全的友好的人机交互功能。 主程序通过判断键盘的输入情况调用不同的子程序。 子程序的功能实现也是在键盘的配合之下完成的。 下面分别对这这些程序进行详细设计。 第 显示程序设计 如图所示为 LCD1602 显示流程图,通过定时器与计时器配合采集频率,并且在LCD1602 屏幕显示出来,具体 LCD 显示流程如下。 LCD显示流程 第 时钟程序设计 控制字节的最高有效位 (位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302苏州大学本科生毕业设计(论文) 第 17 页 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据 , 位 5 至位 1 指示操作单元的地址 , 最低有效位 (位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。 同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数 据时从低位 0 位到高位 7。 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD码形式 ,其日历、时间寄存器及其控制如图所示。 日历、时间寄存器及其控制字 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0H~ FDH,其中奇数为读操作,偶数为写操 作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写 )、 FFH(读 )。 苏州大学本科生毕业设计(论文) 第 18 页 第 5章 系统测试 第 系统的调试 整个系统设计完成后,要进行运行调试,排除软件和硬件的故障,同时验证系统的可靠性及稳定性,使系统符合设计要求。 本系统的调试主要分两个步骤:单片机系统调试及整个控制系统运行调试。 系统调试包括硬件调试和软件调试,而且两者是密不可分的 ,可以相互独立的平行进行。 我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配 合 情况以及是否达到设计任务的 要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。 在对系统进行实际调试时,首先应对硬件进行静态调试,同时对系统软件进行初步调试,此后再对软件和硬件进行动态调试,最后才能使系统进入正常工作。 ( 1)静态调试:静态调试主要是排除明显的硬件故障。 在电路搭建好后,对其进行仔细检查。 查看端口是否正确连接,连接是否可靠。 同时还应当用万用表检查电路,看应当开路的地方是否开路,有无虚焊或短路等等。 ( 2)软件调试:系统软件程序在编制好以后,可通过 KEIL 软件对源程序进行编程,变成可执行的 目标。基于stc89c52的闹铃万年历设计毕业设计论文(编辑修改稿)
相关推荐
块电路 ,将 行扫描和列扫描的扫描信号线 接到信号源上,用信号源输出波形代替 单片机控制系统模块发出的行扫 和列扫的信号 ,在单独对 点阵屏显示电路模块进行调试,当准确的 显示出要移动显示的汉字、字符、图像 时即可证明此 行扫描电路模块和列扫描 电路模块工作正常,可以进行整个系统的调试工作。 将所有的模块电路综合成一个整体的系统 ,通电进行测试工作,在软件上小心的调试,尽力将参数调整到最优,
P 3. 6/ W R16P 3. 7/ R D17X T A L 218X T A L 119GND20US T C 89 C 52S?S W P BS?S W P BS?S W P BS?S W P BS?S W P BGND 洛阳理工学院毕业设计(论文) 10 图 25 键盘调整单元接线图 图中,键盘从上至下依次为: S0:接 口,对上一次的计费进行清零,为下次载客做准备; S1:接 口
VCC16CD2CD4094A7B6C4D2E1F9G10DP5COM3COM8SMG1Component_1A7B6C4D2E1F9G10DP5COM3COM8SMG2Component_1A7B6C4D2E1F9G10DP5COM3COM8SMG3Component_1A7B6C4D2E1F9G10DP5COM3COM8SMG4Component_1A7B6C4D2E1F9G10DP5COM3
电路来控制水阀的开和关达到浇花的目的,原理图如图 8: 西昌学院毕业论文(设计) 13 12345继电器Q1继电器123P1Header 3D3VCC470R8Q2GND继电器开关控制 图 8 控制电路 A/D 转换模块 该模块采用 PCF8951 芯片来把采集到的温度和湿度等参数转换为单片机需要的数据,便于运算和运用。 原理图如图 9:
T 115P 3. 6/ W R16P 3. 7/ R D17X T A L 218X T A L 119GND20US T C 89 C 52S?S W P BS?S W P BS?S W P BS?S W P BS?S W P BGND 洛阳理工学院毕业设计(论文) 10 图 25 键盘调整单元接线图 图中,键盘从上至下依次为: S0:接 口,对上一次的计费进行清零,为下次载客做准备; S1
“气压” : 检测目前芯片的气压值,同时输出温度值 “加速度” : 用来检测芯片加速度,同时输出温度值 “温度” : 检测芯片周围温度。 “电源电压” : 检测芯片工作电压。 c. 自动编程“自动编程” : 自动连续编程,按照设定好的几个选项一次性执行。 “计数清零” : 清除自动编程时的计数结果。 “清空消息” : 清除下面两个消息框信息 烧录器及烧录操作 图 烧录器 河北工业大学 2020