基于单片机的电子万年历_大学毕业论文(编辑修改稿)内容摘要:
4 A3 A2 A1 A0 RAM K 图 DS1302的控制字 表 1302DS 的日历、时间内部寄存器地址和内容 寄 存器 命令 指令 它们的取值 寄存器的内容 写寄存器 读 寄存器 B7 B6 B5 B4 B3 B2 B1 0 秒 寄 存器 80H 81H 00~ 59 CH 10S SEC 分 寄 存器 82H 83H 00~ 59 0 10 min MIN [小 ]时 寄 存器 84H 85H 00~ 23或 01~ 12 12/ 24 0 10 A/P HR HR 日 寄 存器 85H 87H 01~ 28, 29, 30, 31 0 0 10DATE DATE 月 寄 存器 88H 89H 01~ 12 0 0 0 10M MONTH 周 寄 存器 8AH 8BH 01~ 07 0 0 0 0 0 DAY 年 寄 存器 8CH D3H 00~ 99 10YEAR YEAR 烟台大学毕业论文(设计) 9 1302DS 的 日历、时间寄存器及其控制字见表 , 当 读取的 数是偶数时则 将写 入相关内容 , 否则 是读出相关内容。 A7 决定时间是 12 小时制还是 24 小时制。 它为 高电平 时 则为 12小时制。 在 这种情况 下, A5是 AM/PM 位,此位是高电平时表示 PM 低电平表示 AM。 在 24h 方式下, A5为第二个 10h 位( 20~ 23h)。 1302DS 晶振电路 1302DS 单片机的晶振电路 基本差不多 , 不同之处在于它们 的频率, 1302DS 所选晶振频率为 32768Hz。 如图 DS1302 的晶振电路 图 1302DS 的晶振电路 显示电路的选择 电路的选择 图 显示电路 烟台大学毕业论文(设计) 10 元件的设计及计算 LCD1602 的特性 内建有 160 个 5X7 点阵的字型的字符发生器 CGROM 8 个可由用户自定义的 5X7 的字符发生器 CGRAM 测温 电路的选择 测温的电路图 图 元件的选择及设计计算 DS18B20 温度传感器的优点: 接口方式 采用单总线。 单总线具有 使用经济、方便快捷、 抗干扰能力强 等优点,特别适用于恶劣环境的测温, 为 构建 测量系统 创建了新方法。 当 多个 DS18B20 同时使用 时可达到 多点测温 的目的,且不需要外接元件 烟台大学毕业论文(设计) 11 多变的 供电方式。 DS18B20 既 可以 在外部接电源,又可以在内部通过 数据线获取电源 ,在这种情况子下可以使 系统 具有 简单 的结构,较高的可靠性。 负压特性。 在 电源 没有正确接线 时,温度计 将 会继续 正常工作 且不会烧毁。 防止 掉电。 DS18B20 有 EEPROM, 在没有电时仍然可以继续工作。 DS18B20 的性能特点如下: 不需要 外部器件; 电压 工作 范围为 ~ , 可 由 数据线 提供 电 源且待机时不需要消耗功率 ; 温度以 一定的数字 读出; 设置的温度报警器数据不容易丢失。 DS18B20 温度传感器还 有容量为八字节的 RAM 作为暂存 和 信 息可重复使用 的EERAM。 温度信息 在前两个字节 , 接着的两个字节为 TH和 TL 的 拷贝 , 信息不容易保存,且在通电时信息被刷新。 配置寄存器 位于第五个字节。 DS18B20 工作时按 配置 寄存器中的分辨率将温度转换为 相对需要的值。 表 DS18B20分辨率的定义规定 R1 R0 分辨率 /位 时间的最大转换 /ms 0 0 9 0 1 10 1 0 11 375 1 1 12 750 由表 可见, 在应用 DS18B20 时 分辨率和转换时间 要综合考虑,随着 分辨率增长 温度数据转换时间 就越多。 暂存 RAM的六七八没有用到,全部用高字节表示。 第 九 字节 将显示前面 的 CRC 码, 通过 数据 的检测来确保 通信数据 无误。 S 为符号位, S 取值为零时,可以直接进行 2进制到 10进制变换;当 S取值为一时,测的温度 为零度以下,则不可以直接求出 10 进制的数值。 DS18B20 是 单线通信 且 分时完成, 要求较严格,所以看 重 读写时序。 DS18B20的操作 流程 为 : 首先对 DS18B20 初始化 ,其次把 ROM 的各个 指令 发出,接着把 存储器 的各个 操作 指令发出,最后进行 数据 的处理 [5]。 DS18B20 内部结构: DS18B20 主要 由 64 位 ROM、温度传 感器、 不容易挥发的 温度报警除法器 TH 和烟台大学毕业论文(设计) 12 TL、配置寄存器 四个部分组成。 ROM 中的 64 位序列号 可以看做是 DS18B20 的地址序列码,它是出厂前就被定义好的,则每个 DS18B20 的 64 位序列号均不相同,即所有的 DS18B20 都各不相同,因此可以多个 DS18B20 并联在一根总线上。 DS18B20 可以采用两种方式供电,一种是 由 电源 提供供电 ,此时 DS18B20 的 1脚接地, 2脚作为引线, 3脚 外 接电源。 另一种是寄生电源供电方式。 为了使 DS18B20正常 使用 , 单片机端口用 MOSFET 管来 控制 单线 总线。 单线总线开启时间 非常短 , 而它的引脚驱动能力有限,只能输出低电平,无法输出高电平, 为了 保证 写存储器操作和温度 A/D 转换操作 能正常进行 必须使用外部上拉 硬件的仿真 硬件的调试 首先根据硬件电路图利用 PROTEUS 把电路图链接好,如图 硬件实际图: X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .0 /T 21P 1 .1 /T 2 E X2P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 2X1CR Y S T A LF RE Q = 1 2 M H zC12 2 p FC22 2 p FC32 0 u FR11kRS T5S CL K7I /O6X12X23V CC 18V CC 21U2DS 1 3 0 2B A T 19VX2CR Y S T A LF RE Q = 3 2 7 6 8 H zD714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3L C D 1L M 0 1 6 LR V 11k234567891R P 1RE S P A C K 83 4 . 0DQ2V C C3G ND1U3DS 1 8 B 2 0R24 .7 kR31 0 kR41 0 kR51 0 kR61 0 kL S 1S O UN D E R 图 硬件模拟图 然后保存文件的格式为 .DSN,以便下次使用的时候调用。 然后再双击单片机,在 Progame File 栏调出程序生成的以 .hex 为后缀的文件,然后单击确定,如图 所示: 烟台大学毕业论文(设计) 13 图 调用程序 硬件仿真的结果如图 图 硬件仿真结果 温度报警器 LED 显示屏显示的为年 /月 /日、星期、时分秒、温度。 U3 为温度的调试,左 /右边分别表示为温度减 /加 1。 当温度超过 35 度时,将会报警,如图 在 R2 和报警器之间的符号变为红的并且有滴滴的声音发出。 图 报警时的图 烟台大学毕业论文(设计) 14 时间的调整 年、月、日、星期、时、分、秒的调整为 R R R5 和 R6 下面的那个 BUTTON,它们分别表示启动、加、减、恢复。 单击启动时,可以调整秒,加减调整结束后,如果还不正确,在单击调试,则可以调试分,以此类推,可以调试时、星期、日、月、年,调整结束后单击恢复,则可以恢复 ,调整结束。 如图 时间的调整 时间的调整 烟台大学毕业论文(设计) 15 4 系统程序设计 阳历程序设计 因为在该程序中使用 DS1302 时钟芯片,阳历程序只需从 DS1302 各寄存器中读出年 、月、日、周、 [小 ]时、分、秒等数据,再处理即可。 对 DS1302 进行 首次 操作之前, 先 初始化, 把经过处理的 从 DS1302 中读出数据送给显示缓冲单元。 阳历时间显示的 程序流程图见图 所示。 时间调整程序设计 时间的修改用 4个按钮键来控制 , 它们分别为 开始 、加、减、停止。 在时间 修改的 过程中,要 修改 的位与 不需要修改 的位 应该把它们给分别开。 把 需要 修改 的位一直在闪,直到 修改 完继续 修改 下一 个。 需要修改的位一直闪 的 原理是 利用定时器把需要修改的位亮和 熄灭 一定时间 ,比如说 每次 亮和熄灭的 时间 均为 为 40ms。 利用定时器计时, 每次 达到 40ms 溢出时, 由亮变灭或由灭变亮, 不断交替,直到 不再调整。 这个时候把正确的 数定住,不在闪 , 然后使下一个需要修改的数不停的闪。 初始化 1302 1302 开始振荡 从 1302 中读出年、月、日、周、 [小 ]时、分、秒 开 始 读出的数据都为 BCD码,将其高低位分离送显示缓冲单元 图 阳历程序流程图程图 烟台大学毕业论文(设计) 16 阴历程序设计 根据 阳历日期来推算 阴历日期。 先要根据当前阳历的日期,算出阳历为该年中的第 多少 天 ,设为 A,该年春节和元旦的日差 为 B, 当 A=B 时 ,则 AB=C 时, C就是阴历在该年中的第 多少 天, 然后就可以算出 当前阴历日期; 当 AB 时 , 则阴历比阳历小一年,通常此时阴历会是 11 月或者 12 月 , 此时 BA=D, 而 D 表示距离 过新年还剩 的天数。 再根据查表所得的该年的阴历的闰月 ,以及哪些月份有 30 号和哪些月份没有 30号 , 这样就可以计算出在阴历时为几月几号。 软件测试 首先在 Keil uVision3 软件上在 File 中把写好的程序调用出来, 程序见附录 B, 然后再 Project 中通过 New Project 把生成的以 .Uv2 为后缀的文件打开如图 图 工程的调用 最后为程序的调试,程序的调试为单击左边的第一个 如图 ,调试的结果如图 图 程序的调试图 程序的调试结果 烟台大学毕业论文(设计) 17 5 结论 与展望 结论 此次设计 具有可以显示阳历日期、按键调整时间和可动态显示年等功能。 这个设计 的 硬件电路 用的 器件 比较 少 ,电路比较简单 ,电路 的主要部分为 AT89C52 单片机 , DS1302 时钟芯片和 LCD12864 作为 显示器, 可以达到目的。 展望 这次设计虽然完成了,但是还存在着缺点: 显示的年限过短,只能显示 2020 年 — 2100 年之间的部分。 通过按键调节年、月、日后,如果不调节星期,星期的显示就会出现与正常的星期 不一样,导致出现错误 , 现在还没有想出如何可以自动调整。基于单片机的电子万年历_大学毕业论文(编辑修改稿)
相关推荐
will to achieve calendar of a multifunctional electronic clock design,Thereby achieve studying and understanding the relevant directives MCU in all aspects of the application. By main control AT89C5
74LS373 的 C 和 OC 端置低电平,使其处于送数状态。 当输入密码后将 OC 置于高电位,则锁存器将密码信号锁 存,然后按键复位。 当下次开锁时只有在规定时间内,规定次数内输入密码才会发出开锁信号,否则不能开锁。 并且,当时间或输入次数到达一定值后,电路会自锁一段时间,并发出警报声。 警报结束后,电路回复原状,计时及计数归零,直至下一次开锁动作。 第一部分是密码输入部分,由八个开关构成
111,0xF7, 0x7F),而第二行( 14 脚)送 1 信号。 依此类推,只要每行数据显示时间间隔够短,利用人眼的视觉暂停作用,这样送 16次数据扫描完 16 行后就会看到一个“你”字;第二种送数据的方法是字模信号送到行线上再扫描列线也是同样的道理。 同样以“你”字来说明, 16 行( 1 1 5)上送( 0000000000000000, 0x00, 0x00)而第一列( 13 脚)送
而得到广泛应用。 在使用时必须注意: (VI)和 (Vo)之间的关系,该三端稳压器的固定输出电压是,而输入电压至少大于 7V,这样输入 /输出之间有 2- 3V及以上的压差。 使调整管保证工作在放大区。 但压差取得大时,又会增加集成块的功耗,所以,两者应兼辽宁石油化工大学继续教育学院论文 8 顾,即既保证在最大负载电流时调整管不进入饱和,又不至于功耗偏大。 另外一般在三端稳压器的
收到有红外传感器模块输出的中断信号,在单片机内部通过程序的识别,查询,判断继而执行相应的中断程序,所执行的中断程序也即报警电路的控制程序,通过此中断程序就可以控制报警电路的开与关 ,进而达到报警 的效果, 这一过程,起到信息的采集和处理的是 红外传感器模块。 不难看出 , 整个 红外 报警系统的 核心 是单片机控制电路。 铜陵学院毕业论文 5 第 1 章 系统总体设计 总体框图 设计
映速度快、准确、稳定性好、能够定量检测,但寿命较短 (大约两年 )。 它主要适用于毒性气体检测。 目前国际上绝大部分毒气检测采用该类型传感器。 ( 6)热传导传感器 热传导传感器与接触燃烧式传感器具有类似的结构形式,但是测量原理不同。 它的测量原理是:将加热后的铂电阻线圈置于目标烟雾中,由于向目标气体传送热量造成温度降低,引起电阻值变化,传感器即测量电阻值的变化情况。 温度的变化情况