基于单片机的实用数字万年历设计(编辑修改稿)内容摘要:
1Hz; (4) 内含 复位电路振荡器电容和掉电检测电路; (5) 四种报警功能和定时器功能; (6) I2C 总线从地址:读, 0A3H;写, 0A2H。 PCF8563 的芯片引脚排布及引脚介绍如图 2 所示 : O S C I :振荡器输入; O S C O :振荡器输出; / I N T :中断输出(开漏,低电平有效); V ss :接地; S D A :串行数据 I / O ; S C L :串行时钟输入; C L K O U T :时钟输出(开漏); V DD 正电源。 图 2 PCF8563芯片引脚排布及说明 毕业设计 (论文)报告纸 共 21 页 第 8 页 第 3 章 系统的软硬件设计 硬件电路设计 最小系统设计电路 单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:( 1)电源正常;( 2)时钟正常;( 3)复位正常。 在 AT89C51 单片机的 40 个引脚中,电源引 脚2 根,晶振引脚 2 根,控制引脚 4 根,可编程输入输出引脚 32 根。 最小系统连接图 如 图 3所示。 图 3 AT89C51最小系统连接图 时钟模块电路 PCF8563 芯片的工作原理如下:它有 16 个 8 位寄存器,一个可自动增量的地址寄存器,一个内置 的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟 RTC 提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检毕业设计 (论文)报告纸 共 21 页 第 9 页 测器和一个 400KHz I2C 总线接口。 I2C 总线从地址:读, 0A3H;写, 0A2H。 所有 16 个寄 存器设计成可寻址的 8 位并行寄存器,但不是所有位都有用。 前两个寄存器(内存地址 00H, 01H)用于控制寄存器和状态寄存器,内存地址 02H~ 08H 用于时钟计数器(秒 ~年计数器),地址 09H~ 0CH 用于报警寄存器(定义报警条件),地址 0DH 控制 CLKOUT 管脚的输出频率,地址 0EH 和 0FH 分别用于定时器控制寄存器和定时器寄存器。 秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄存器,编码格式为 BCD,星期和星期报警寄存器不以 BCD 格式编码。 当一个 RTC 寄存器被读时,所有计数器的内容被锁存, 因此,在传送条件下,可以禁止对时钟 /日历芯片的错读。 连接原理图如图 4 所示。 1 2 3 4 5 6ABCD654321DCBAT i t leN u m be r R e v i s i onS i z eBD a t e : 5 A ug 2 00 8 S he e t o f F i l e : E : \ W o r k f i l e \ 单片机实例编写 \ R S 48 5 C A N 智能嵌入式网关的设计 \ R S 48 5 C A N .ddbD r a w n B y :1234 5678O S C IO S C O/ I N TV s sV D DO U TS C LS D AU 4 00P C F 85 6332 .76 8KX2C 40 015P V C CR 40 0 KR 40 1 KV C CP C F _S C LP C F _S D A 图 4 PCF8563连接原理图 显示模块电路 1602B 可以显示 2 行 16 个字符,有 8 位数据总线 D0D7,和 RS、 R/W、 EN 三个控制端口,工作电压为 5V,并且带有字符对比度调节和背光。 LCD 显示模块 与单片机的连接如图 5 所示。 毕业设计 (论文)报告纸 共 21 页 第 10 页 图 5 LCD连接图 软件设计 系统软件设计内容 本设计的软件程序包括主程序、中断子程序、闹钟设定子程序、时钟显示子程序。 在整个系统中,在单片机的 30H、 31H 和 32H 中存储当前时间的小时、分钟和秒。 用LCD 显示当前的时间,必须用到分字和合字,因此在 33H、 34H、 35H、 36H、 37H 和 38H中存储当前时间的时十位、时个位、分十位、分个位、秒十位和秒个位,方便显示。 本设计有由四个轻触按键组成的小键盘,这些按键可以任意改变当前的状态。 按功能移位键一次,表示当前要校对小时的十位;按第二次,表示当前校对的是小时的个位;按第三次,则表示校对的是分钟的十位;第四次,表示的校对的是分钟的个位。 按下数字 “ +” 键和数字 “ ” 键可在当前校对的数字上相应加上 1 或者减去 1。 系统 软件采用 C 语言编写。 时钟的最小计时单位是秒,但使用定时器的方式 1,最大的定时时间也只能达到 131ms。 我们可把定时器的定时时间定为 50ms。 这样,计数溢出20 次即可得到时钟的最小计时单位:秒。 而计数 20 次可以用软件实现。 秒计时是采用中断方式进行溢出次数的累积,计满 20 次,即得到秒计时。 从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。 要求每满 1 秒,则 “ 秒 ” 单元中的内容加 1; “ 秒 ” 单元满 60,则 “ 分 ” 单元中的内容加 1; “ 分 ” 单元满 60,则 “ 时 ” 单元中的内容加 1; “ 时 ”单元满 24,则将时、分、秒的内容全 部清零。 实时时钟程序设计步骤: 毕业设计 (论文)报告纸 共 21 页 第 11 页 ( 1)选择工作方式,计算初值; ( 2)采用中断方式进行溢出次数累计; ( 3)从秒 —— 分 —— 时的计时是通过累加和数值比较实现的; ( 4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部 RAM 中要设置显示缓冲区,共 6 个地址单元。 显示缓冲区从左到右依次存放时、分、秒数值; ( 5)主程序:主要进行定时器 /计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来。 ( 6)中断服务程序:进行计时操作; ( 7)加 1 子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、 分、时加 1 时共三次调用加 1 子程序,包括:合字、加 1 并进行进制调整、分字。 毕业设计 (论文)报告纸 共 21 页 第 12 页 主程序 MAIN 流程框图 毕业设计 (论文)报告纸 共 21 页 第 13 页 时钟 芯片驱动 程序 时钟芯片采用的是 PCF8563 芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过 I2C 总线接口串行传递。 驱动程序代码如下: ************************************************************************** * ( 1)函数名: void I2CStart(void) * 功能:发送 I2C 总线的起始位 * 输入:无 * 输出:无 **************************************************************************/ void I2CStart(void) { EA=0。 SDA=1。 SCL=1。 SomeNOP()。 SDA=0。 SomeNOP()。 SCL=0。 } /************************************************************************** * ( 2)函数名:。基于单片机的实用数字万年历设计(编辑修改稿)
相关推荐
:程序存储允许时外部程序存储器的读选通信号。 当 AT89C52 执行外部程序存储器的指令时,每个机器周期 两次 有效,除了当访问外部数据存储器时, 将跳过两个信号。 /VPP: 外部访问允许。 为了使单片机能够有效的传送外部数据存储器从 0000H到 FFFH单元的指令, 必须同 GND相连接。 需要主要的是,如果加密位 1被编程,复位时 EA端会自动内部锁存。 当执行内部编程指令时,
红灯和绿灯的时间最大可以设为 99,超出99 的时候会从 40 开始重新计数。 它包含倒计时调整和紧急状态两个状态。 主程序中放了一个按键的判断指令,当有按键按下的时候,程序就自动的跳转到按键子程序处理。 当检测到按键2( P17)键按下的时候就自动返回到主程序。 当出现紧急的情况的时候,按下按键 3( P27)就切 换到紧急状态,当紧急事件处理完毕的时候,按下按键 2( P17)
ey2 key3 D1D2D3 L1L2L3 0 0 0 正常运行 灯灭 灯灭 1 0 0 左转弯 灯灭 L3→ L2→ L1→ L3 0 1 0 右转弯 D1→ D2→ D3→ D1 灯灭 0 0 1 急刹车 闪烁 闪烁 总体设计思想 经过以上所述的设计内容及要求的分析,可以将电路分为以下几部分: 单片机扫描与 3个按键相连的 IO口的高低电平来确定是那个按键按下去了; 2
性。 蜗杆传动和螺旋传动具有简单、应用广泛、性价比高等特点,特别是它们具有自锁性能。 如果跟踪平台采用蜗杆传动或者 螺旋传动,遇到逆风情况,山于系统结构能够自锁,跟踪平台并不会被风吹动甚至翻转,能够正常工作。 采用蜗杆传动或者螺旋传动结构,比较适合较大跟踪范围、防风性场合的需求。 图 .方案 (1)传动原理 :输入轴转动时,蜗杆带动蜗轮及输出轴旋转。 方案 (2)传动原理 :输入轴转动时
总线结构,以前芯片间接线繁琐,这样就使得单片机内部连线大大缩减,使得单片机在恶劣的环境中,表现出较强的抗干扰能力与工作的稳定性。 ( 3)工作时候功耗低、工作电压低,体积小可以生产携带方便产品。 ( 4)为了满足用户的要求单品将具有较强的控制功能,它内部带有有 CPU、以及各种转移指令。 ( 5)由于 51单片机 系统的不断规范、完善、兼容性强等特点,比较便于形成各种应用系统。 电源引脚
、 12864 液晶显示器、蜂鸣器、控制电路、驱动电路、水位监测单元及复位电路构成。 洗衣机控制器采用带字库的液晶显示器 12864 4 提供诸如: 进水、洗涤、漂洗、甩干、结束等状态以及控制时间的显示。 通过按键来提供相应的操作,来选择相应的洗衣流程。 对于这次毕业设计课题 则通过一个直流电机来代替洗衣机的电机的交流电机,相应的转速和方向来通过专用的电机驱动芯片 H 桥电路以及 PWM