一个电子表 有时间 温度 闹钟 可以用上位机改变下位机的闹钟 温度报警上下限 采用模块

来源:互联网 发布:mac qq怎么接收文件 编辑:程序博客网 时间:2024/04/26 13:30

====================================== -1- 功能================================================================================= 
   
   1-- 时间  -- DS1302 
   2-- 温度  -- DS18B20 
   3-- 温度报警  
   4-- 闹钟 
   5-- 修改日期时自动更改星期 
   6-- 上位机改变下位机单片机的DS1302时间 闹钟时间  温度报警上下限值 
   7-- 可以通过键盘改变DS1302时间 闹钟时间  温度报警上下限值 
   8-- 改变值时光标会闪   可以控制闹钟的开关并在第一页上显示符号 
   9-- 年月日时分秒的临界值控制  平年闰年对应的二月判断 

========================================== -2-按键说明  ================================================================================ 

4*4的矩阵键盘共用了4个键   一个用于选择屏幕  一个是屏幕中的子选项  另两个为数值+-(分别是(1 2) (3 1) (1 1) (1 2)  括号里面的值的第一个为行 第二个是列  如(1 2)代表第一行第二列的按键) 


 ============================================ -3- 源码和原理图===========================================================================     

单片机波特率为9600  如果正常的话,可以发送一个T,那么久会返回提示,具体提示可以在下面的网站上的图上看到 
----------------------------------------------------------------------------------------------------- 
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4375606&bbs_page_no=1&bbs_id=9999 
在上面的帖子中的5楼有第一版的代码 
大家顺便帮忙看看,那个上位机的问题. 
源码: 
点击此处下载 ourdev_595928VEA3YT.rar(文件大小:341K) (原文件名:Final_Sensor.rar) 
------------------------------------------------------------------------------------------------------ 
原理图和PCB  
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3967978&bbs_page_no=1&search_mode=3&search_text=QQ373466062&bbs_id=9999 


=============================================== -4- 图片=================================================================== 

 
 (原文件名:Keil .jpg) 
引用图片


屏幕1:(显示时间和温度可以用键盘和上位机修改) 
 
 (原文件名:20101107096.jpg) 
引用图片


屏幕1:(显示时间和温度,可以用键盘修改和上位机修改) 
 
 (原文件名:20101107097.jpg) 
引用图片


屏幕2:(显示温度报警下行限可以用键盘和上位机修改) 
 
 (原文件名:20101107098.jpg) 
引用图片



屏幕3:(显示和设置闹钟可以用键盘和上位机修改) 
 
 (原文件名:20101107099.jpg) 
引用图片


4*4键盘 
 
 (原文件名:20101107100.jpg) 
引用图片



设置闹钟: (光标闪) 
 
 (原文件名:20101107105.jpg) 
引用图片


设置时间:(光标闪) 
 
 (原文件名:20101107106.jpg) 
引用图片


上位机命令修改下位机子程序设计图: 
 
 (原文件名:20101107107.jpg) 
引用图片



  

 ================================================ -5- 程序说明 =======================================================  

程序时国庆时候花两天写的  很多的模块是直接改写别人的,我将它们重新包装了下,某些地方也改了   
程序有太多的地方需要改进. 希望大家说出了.  例如延时应该换用检测报警程序替代.  每一个状态机的运行时间不同而使按键灵敏度不同 

源码: 
点击此处下载 ourdev_595928VEA3YT.rar(文件大小:341K) (原文件名:Final_Sensor.rar) 


     程序在main函数中使用状态机思想(自认为),用于三个屏幕切换显示,在屏幕函数对于的子函数中采用简单的显示和键盘扫描与相关量更改处理. 
     对上位机接受函数中采用队列缓存.然后判断处理. 

模块化: 
 
 (原文件名:Keil文件1.jpg) 
引用图片


代码量: 

 

原创粉丝点击