系统软件主要由系统监控软件模块、数据存取模块、人机接口程序模块、时钟程序模块、中断程序模块、显示模块组成。时钟软件系统主要实现对时间源的读写控制功能,数据存取模块程序则要求实现最基本的通信功能,而且要根据系统应用要求,制定自己的通信协议。另外在整个系统程序里,键盘处理程序负责对整个程序进行调度。 C 语言的是模块化的高级语言,它的程序可读性和可移植性都强于汇编语言,所以本系统软件开发工具使用的是单片机专用的 Keil C51。 下面介绍各个子系统软件的详细设计。
4.2主程序流程图:
主程序是整个系统软件的运行主体, 各个子系统软件都必须经过它的调
度,才能运行得当。根据设计项目的功能要求,主程序对系统进行了初始化,初始化具如下:
1、内存工作单元初始化: 本文来自优,文~论^文·网原文请找腾讯3249.114
(1) 标志位初始化 flash0=0; 时钟显示标志位
flash1=0; 加减移位键有效位
flash2=0; 打铃标志位
(2) 1、定时器 T0 初始化:工作于方式 1,定时 50ms,产生定时中断来比较当前时间是否等于定时时间; 2、复位 MCU,及其工作单元和位标志初始化。系统初始化完毕后,分别调用读时间子程序和时间显示子程序,再把当前时间与定时点进行比较,程序中通过定义标志位 flag2 来判断打铃。同时,通过键处理程序中按键的功能,进入相应的处理模块。 在主循环系统中, 随时等待T0 中断发生,并转入相应的中断处理程序。
数据存取程序模块:
数据存取程序系统的软件设计主要包括三大部分:I2C节点的初始化、数据发送和数据接收。
由于I2C总线的初始化:SADA=1&&SCL=1;在此不做流程图的出现。
其流程图如下:
数据发送流程图(左)数据接收流程图(右)
时钟程序模块:
读时间模块:
模块名:Read_DS1302
入口:无
出口:读出时间数据此时读出时钟单元的时间 数据(压缩 BCD 码) ,再转化成显示要求的非压缩 BCD 码,送到显缓区显示。
程序流程图如图 5.7。图 5.7
模块名:Write_DS1302
写时间模块:
入口:要写入的时间或日
期数据(压缩 BCD) 、
时钟单元名
出口:无
功能:要写入的日期时间数据 (非压缩 BCD 码)存入显缓区,再转换成压缩 BCD 码,写入到日期时间单元。程序流程图如图 5.8
图 5.8本文来自优,文~论^文·网原文请找腾讯324,9114
键盘显示程序模块:
液晶 键盘显示的基本程序流程图:
本系统仅使用了 64 键中的 11个键盘和 8 个数码管作为系统的人机接口。
当日期为 06年 06月 18日时 液晶显示格式为:06—06—18;
当时间为 12时 30分 30秒时 液晶显示格式为:12—30—30。
在键处理程序中设置了三个设置键,分别对应时间、日期和打铃时间的设置,再通过三个功
能键来保存设置的值。同时用移位键来选择当前对哪位数码管进行加减操
论文网http://www.youerw.com/
作,还设置了一个查询日期的键,按下之后会显示日期值一秒。
键盘设置如下:
S0 设置时间键 S1 启动键 S4 设置定时键 S5 保存定时键
S6 设置日期键 S7 保存日期键 S8 加键 S9 减键
S10 移位键 S11 查询日期键 S12 退出
<< 上一页 [11]
单片机的校园打铃系统设计 第11页下载如图片无法显示或论文不完整,请联系qq752018766