图14 闹铃电路
25
4 软件设计
4.1 系统软件设计
整个软件系统采用模块化思想,把独立式键盘编程模块、LCD12864、DS1302的驱动程序分模块编写,在功能程序中调用。采用这种方法不仅使程序模块化,使程序结构层次分明,便于管理和维护,同时可方便以后开发的调用,而不必关心底层驱动是如何实现的,这样缩短了开发周期,开发效率大大提高。按键处理中采用采用网状多级状态结构的编程方法。
4.2系统主程序的流程图
流程图如下:
26
开始 LCD12864初始化 DS1302初始化 读取DS1302的静态RAM N 中的时间和闹铃时间 键盘扫描 Y 进入设置状态 标记Down=1? Y N 退出? N 标记Down=0? Y 调用读取时间函数并显示时间 定时中断初始化 键盘扫描 闹钟时间到? N 图15 系统主程序的流程
27
5 系统仿真测试
5.1仿真软件简介
(1) Keil uVision2程序编译
Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言,它是德国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。 (2)protuse仿真
Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译
5.2仿真步骤
通过以上对各模块流程图的绘制,在软件Keil uVision2下编写好各模块的c语言程序,并调试成功生成HEX文件;用protues软件绘制出该系统的各模块
28