#include <pic.h>
#include "temperature_header_file.h"
void init();
void max7219_init();
void delay_long(int x);
void delay_short();
void key_onoff();
void key_manauto();
void key_ctrl();
void max515_write(unsigned char data);
void max7219_write(unsigned char address,unsigned char dat);
char get_ad();
//这里的静态变量定义有些问题!待解决!
char ONOFF=0; //0--off,1--on
char MANAUTO=0; //0--manual,1--auto
char SPEEDCTRL=0; //风速控制,初始值为0档(停转)
char TEMPCTRL=20; //设定温度值,初始值为20度(实际温度)
char TEMPOBSV=20; //实际检测温度,在ad.c中引用
char oa=0; //存放环境温度十位
char ob=0; //存放环境温度个位
char ca=0; //存放设定温度十位
char cb=0; //存放设定温度个位
void main()
{
init();
max7219_init();
while(1)
{
key_onoff();
key_manauto();
key_ctrl();
////////////温度检测及显示转换
TEMPOBSV=get_ad();
TEMPOBSV=TEMPOBSV/5; //测量环境温度
if(TEMPOBSV > 0x1D)
{ TEMPOBSV=30; }
if(TEMPOBSV < 0x0A) //使环境温度测量范围为10度至30度
{ TEMPOBSV=10; }
oa=TEMPOBSV/10; //取环境温度十位
ob=TEMPOBSV%10; //取环境温度个位
ca=TEMPCTRL/10; //取设定温度十位
cb=TEMPCTRL%10; //取设定温度个位
////////////手动模式控制风速
if(ONOFF==0)
{
max515_write(0x0000);
max7219_write(0x04,0x0F);
max7219_write(0x03,0x0F);
max7219_write(0x02,0x0F);
max7219_write(0x01,0x0F);
MANAUTO=0;
SPEEDCTRL=0;
}
if(ONOFF==1 && MANAUTO==0)
{
if(SPEEDCTRL==0)
{
max515_write(0x0000);
max7219_write(0x02,0x00); //写入DIG1
max7219_write(0x01,0x00); //写入DIG0
}
if(SPEEDCTRL==1)
{
max515_write(0x00AF);
max7219_write(0x02,0x01); //写入DIG1
max7219_write(0x01,0x00); //写入DIG0
}
if(SPEEDCTRL==2)
{
max515_write(0x00CF);
max7219_write(0x02,0x02); //写入DIG1
max7219_write(0x01,0x00); //写入DIG0
}
if(SPEEDCTRL==3)
{
max515_write(0x00FF);
max7219_write(0x02,0x03); //写入DIG1
max7219_write(0x01,0x00); //写入DIG0
}
}
///////////自动模式控制温度
if(ONOFF==1 && MANAUTO==1)
{
if(TEMPOBSV-TEMPCTRL <= 0)
{ max515_write(0x0000); }
else if(TEMPOBSV-TEMPCTRL < 2)
{ max515_write(0x00AF); }
else if(TEMPOBSV-TEMPCTRL < 4)
{ max515_write(0x00CF); }
else
{ max515_write(0x00FF); }
max7219_write(0x02,ca); //写入DIG1
max7219_write(0x01,cb); //写入DIG0
}
max7219_write(0x04,oa); //写入DIG3
max7219_write(0x03,ob); //写入DIG2
////////////////////////////////
if(TEMPOBSV==30)
{
RC5=0;RC7=0;
RC4=1;RC6=1;
delay_long(10);
RC5=1;RC7=1;
RC4=0;RC6=0;
delay_long(10);
}
if(TEMPOBSV<30)
{
RC4=0;RC5=0;RC6=0;RC7=0;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
program_final.zip (42个子文件)
program_final
delay.c 241B
startup.as 5KB
all.hxl 4KB
all.hex 9KB
startup.lst 12KB
MAX515.pre 12KB
main.p1 49KB
all.mcp 2KB
ad.p1 41KB
all.cof 49KB
all.map 26KB
main.c 3KB
max7219.c 1KB
ad.c 274B
all.sym 14KB
all.mcw 52KB
max515.p1 42KB
max515.c 859B
startup.obj 4KB
main.pre 13KB
temperature_header_file.h 465B
all.sdb 12KB
delay.p1 1KB
led.c 206B
key.c 2KB
MAX7219.pre 12KB
all.obj 38KB
init.p1 41KB
led.pre 11KB
AD.pre 12KB
init.pre 12KB
max7219.p1 44KB
init.c 1KB
all.mcs 11KB
all.lst 229KB
led.p1 41KB
startup.rlf 13KB
key.pre 13KB
delay.pre 231B
16toBCD.c 124B
key.p1 47KB
all.rlf 302KB
共 42 条
- 1
资源评论
周楷雯
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功