第十三届蓝桥杯单片机与开发项目省赛——基于西风模版

一.程序试题

二.参考程序

main.c函数

/*头文件声明区*/
#include <STC15F2K60S2.H>
#include "key.h"
#include "seg.h"
#include "ds1302.h"
#include "onewire.h"

/*变量声明区*/
unsigned char key_Slow_Down;//按键减速专用变量  10ms
unsigned int  seg_Slow_Down;//数码管减速专用变量 100ms

unsigned char seg_mode = 0;		//数码管模式变量
unsigned char work_mode = 0;	//工作模式变量:0为温度控制,1为时间控制

unsigned char key_Val,key_Down,key_Old,key_Up;//按键扫描专用变量

unsigned char seg_Pos;//数码管、LED扫描变量

//unsigned char seg_Point[8] = {1,1,5,3,4,5,6,7}; //数码管小数点数据存放数组

unsigned char seg_Buf[8] = {10,10,10,10,10,10,10,10}; //存储数码管显示数据的数组
unsigned char uLed[8] = {0,0,0,0,0,0,0,0}; //Led显示数据存放数组:0不亮,1亮

//定义DS1302读操作的日历时钟存储器地址
unsigned char code Read_RTC_addr[7] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};
//定义DS1302写操作的日历时钟存储器地址
unsigned char code Write_RTC_addr[7] = {0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};
unsigned char TIME[7] = {0x50,0x25,0x23,0x15,0x12,0x07,0x22};//秒,分,时,日,月,周,年


unsigned int DS18B20_Read();

unsigned  char Temp_Disp = 25;//温度实时显示变量,便于后面与控制温度作比较
unsigned  char Temp_ctrol = 23;//温度参数
unsigned  char L3_flag = 0;	//L3闪烁标志位(当继电器吸合时每100ms闪烁一次)
unsigned  char L3_100ms = 0;	//L3专用定时变量


/*按键减速专用变量:10ms检测一次*/
void	Key_Proc()
{
	if(key_Slow_Down) return;
	key_Slow_Down = 1;	//按键减速程序
	
	key_Val = Key_Read();//读取按键按下的键码值
	key_Down = key_Val & (key_Old ^ key_Val);//捕捉下降沿
	key_Up = ~key_Val & (key_Old ^ key_Val);//捕捉上升沿
	key_Old = key_Val;//辅助扫描
	
	
/***在处于时间显示界面的前提下,长按S17跳转到分—秒显示,松手跳转回来***/

		if(seg_mode == 1){
				if(key_Old == 17)
					seg_mode = 3;
		}
		
		if(seg_mode == 3)
		if(key_Up == 17)
				seg_mode = 1;
	
	
	switch(key_Down)		//实现界面切换参数的改变
	{
		case 12:
			if(++seg_mode == 3) seg_mode = 0;	//界面切换

		break;
		
		case 16:	//控制界面+
			if(seg_mode == 2){ 
				
			if(Temp_ctrol<99)
				Temp_ctrol++;
			else
				Temp_ctrol = 10;
			}
		break;
			
			
		case 13:	
		//
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值