xx新编-基于at89c51单片机的多功能电子万年历的设计内容摘要:

背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 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 始终是输入端。 DS1302 的控制字节的最高有效位 (位 7)必须是逻辑 1,如果它为 0,则不能 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 13 把数据写入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据。 位 5至位 1指示操作单元的地址。 最低有效位 (位 0)如为 0表示要进行写操作,为 1表示进行读操作,控制字节总是从最低位开始输出。 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1902,数据输入从低位即位 0 开始。 同样,在紧跟 8 位的控制指令字后的下一个 SCLK脉冲的下降沿读出 DS1302的数据,读出数据时从低位 0 位到高位 7。 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM相关的寄存器分为两类:一类是单个 RAM单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0H~ FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31个字节,命令控制字为 FEH(写 )、 FFH(读 )。 DS1302 与 CPU 的连接需要三条线,即 SCLK(7)、 I/O(6)、 RST(5)。 DS1902与 89C2051 的连接图,其中,时钟的显示用 LED。 DS1302 与 CPU 的连接 , 实际上,在调试程序时可以不加电容器,只加一个 的晶振即可。 只是选择晶振时,不同的晶振,误差也较大。 另外,还可以在上面的电路中加入 DS18B20,同时显示实时温度。 只要占用 CPU 一个口线即可。 LED还可以换成 LCD,还可以使用北京卫信杰科技发展有限公司生产的 10位多功能 8 段液晶显示模块 LCM101,内含看门狗 (WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示 RAM,可显示任意字段 笔划,具有 3- 4 线串行接口,可与任何单片机、 IC接口。 功耗低,显示状态时电流为 2μA ( 典型值 ),省电模式时小于 1μA ,工作电压为 ~ ,显示清晰。 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 14 第四章 系统的软件设计 电子万年历的功能是在程序控制下实现的。 该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。 这样有利于程序修改和调试,增强了程序的可移植性。 主程序图如图 41所示。 图 41 主程序图 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 15 第五章 PROTEUS 使用 第一节 编程环境 PROTEUS PROTEUS 软件是由英国 LabCenter Electronics 公司开发的 EDA 工具软件,由 ISIS 和 ARES 两个软件构成,其中 ISIS 是一款便捷的电子系统仿真平台软件,ARES 是一款高级的布线编辑软件,它集成了高级原理布线图、混合模式 SPICE电路仿真、 PCB 设计以及自动布线来实现一个完整的电子设计。 第二节 用 PROTEUS ISIS 对电子万年历的硬件电路设计 通过 PROTEUS ISIS 软件的 VSM(虚拟仿真技术),用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电 子元器件一起仿真。 用 PROTEUS ISIS 设计硬件电路的过程 : ① 选择设计图纸的到小 ; 根 据设计所使用到元器件的多少,选择合适大小的设计图纸,操作是单击菜单栏上的 System→ Set Sheet Size ,然后弹出如图 51所示的对话框,从中选择合适大小的图纸,也可以选择 User 进行图纸的自定义设置。 在设计过程中也可以通过此方法调整图纸的大小。 图 51调整大小 ② 选取仿真所需的元器件 选取元器件的方式是,单击如图 52 所示的按钮“ P”。 会弹出如图 52所示的窗口。 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 16 图 52选取元器件 从此窗口的左上角的“ Keywords”中输入电子万年历设计用到的器件,如输入“ AT89C51”,在中间会列出带有输入关键字的元器件,选择合适的元器件并双击它,则已经选择好了该元器件。 然后再在“ Keywords”中输入其他所需的元器件,用同样的方法进行操作。 最后选择好所有的元器件如图 53 所示。 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 17 图 53 所用器件 其中 74LS174 表示三个串行接口, AT89C51 代表单片机会, DS1302 代表时钟芯片, RESPACK8 代表八排电阻。 ③ 把元器件放到图纸的合适位置,进行布线 单击 如图 54 所示的元器件 AT89C51,再在右边图纸上单击,就把元器件放入到了图纸上。 再用同样的方法把 ds1302 放入到图纸的合适位置。 如果元器件放置错误,这可通过两次右击删除所放置的元器件,如果位置放得不理想,可以先右击该器件,然后按住左键进行移动。 在布线之前,如果觉得元器件的引脚的方向不好布线,则可以通过单击 这四个按钮进行调整,这四按钮的意思分别是:顺时针旋转 90176。 ,逆时针旋转 90176。 ,沿 Y轴对称,沿 X轴对称。 通过这样的调整,可以使整个布局合理一些。 接着进行布线,由于 PROTEUS ISIS有自动布线的功 能,比如要把 AT89C51 的 P2口连到 74LS164 的 OUT8 口,只要先在 P2 引脚上单击一下,再在 OUT8 引脚上单击,则 ISIS 自动将两个引脚连上线。 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 18 图 54 AT89c51与 DS1302的连接 ISIS 还提供了网络布线,即不使用线连接也可以把两个引脚虚拟的连接了起来。 具体操作是:单击要连线的一个引脚,连出适当的距离后双击,另一个引脚也同样操作,在单击如图 65 所示的“ LBL”按钮,再在图中 引脚的 A处单击,在弹出的窗口中的“ String”中填入名称,如“ A”。 ④ 编辑窗口连接端子 要让最后的设计成功仿真时,必须放置并连接端子。 选择 ,从中可以选择电路原理中的两个通用的端子,一个是接地,一个是电源。 如图 55所示。 图 55连接端子 在 PROTEUS ISIS 中的最终设计图如图 56所示 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 19 图 56仿真图 最后分别对各元器件的属性值进行设置,单击 按钮,进行电气检测,查看接线是否合理,说明硬件电路已经顺利的完成。 第三节 用 PROTEUS ISIS 进行电子万年历的仿真测试 ① 添加 Keil 中编写的代码文件 单击工具栏中的 Source→ Add/Remove Source files...,弹出一个对话框,分别单击“ New”,然后选择在 Keil 中编写的数字电压表。 ASM 汇编语言程序,单击“ OK”,完成添加代码文件。 ② 编译源程序,生成 .HEX 目标代码文件 单击 Source→ Build All。 如果编译结果没有错误,会出现如图 57所示的结果。 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 20 图 57编译无错误提示图 ③ 加载 .HEX 目标代码文件 通过如图 58 所示的对话框,选择刚才编译生成的 .HEX 文件。 设置使单片机的运行频率为 6MHz。 图 58设置 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 21 ④ 单击 按钮,进行对电子万年历的仿真测试 , 运行结果如图 59 所示。 图 59仿真测试 ⑤ PROTEUS 的调试功能 由于使用的是汇编语言编写的程序,如果在测量的时候测量值显示错误,说明程序中存在问题,这个问题只用在仿真测量的时候才能被发现,这时可以使用PROTEUS 对程序进行调试。 单击 按钮,再单击菜单栏中的 Debug,可以在最下面选择打开内存观察窗口,寄存器值观察窗口,汇编语言源代码窗口等等。 在汇编语言源代码窗口中,也可以在所需要设置断点的语句前双击设置断点,当设置断点的时候,程序运行到所设断点处停止,从而可以在内存、寄存器等的值的变化, 从而找出程序出错的地方。 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 22 结束语 本课题从理论到实际应用,用 AT89C51 单片机与 8 位模数转换芯片 74LS164等一些电路的组合,成功的设计出了一个电子万年历。 而且 所设计的 电子万年历设计也按当初要求的能够在 PROTEUS 中进行仿真,并且能够很精确的显示年历。 可以说该电子万年历具有很高的实用价值。 在软件设计的过程中,利用了 Keil 这个软件在程序录入和调试的时候的优越性,让我能够在编写软件的时候很方便的发现软件中的错误,现在已经能够使用 Keil 对所设计的程序进行调试。 对于 PROTEUS 这款软件,也能熟练掌握 电路设计仿真。 由于平时没有接触过这两个软件,加上毕业设计的时间有限,对于他们的连接调试程序,未能熟练掌握,但以后有机会的话会再好好学习的。 本次设计的 电子万年历 也存在的不足的地方,有待于以后的改进。 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 23 谢 辞 经过 三 个多月的时间,毕业设计按照预期完成了,由于本人的知识水平有限,论文和设计中有遗漏和缺陷的地方恳请指正。 感谢我的导师 段莉 老师给了我莫大的帮助,在她悉心的指导和严格的要求下,作品和论文顺利完成了。 论文从选题和最终完成,凝结着导师的辛勤的汗水,她不辞劳苦的教导、严谨的作风使我终生受益。 在此毕业设 计完成之际,谨向导师和所有帮助过我的老师致以崇高的敬意和衷心的感谢。 成都工业学院成教院毕业论文(设计) ( 基于 AT89C51 单片机的多功能电子万年历的设计 ) 24 参考文献 1. 赵长德 , 微型计算机原理与接口技术 [M], 北京:机械工业出版社, 1999:98350. ,单片机的原理与接口技术 [M], 北京 :电子工业出版社, 2020: 1113. 3. 王忠民 ,微型计算机原理 [M], 西安 :西安科技大学出版社, 2020: 1555. ,计算机组成原理 [M], 北京 :经济科学出版社, 2020: 4356. ,单片机外围器件使用手册 [M], 北京 :北京航空航天大学出版社,622655. ,模拟电子技术 [M]西安 : 西安电子科技大学出版社, 2020: 8195. ,电子与模拟电子技术 [M], 北京 :电子工业出版社, 2020: 105131. ,单片机开发环境。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。