导航:首页 > 装置知识 > 温度报警装置课程设计

温度报警装置课程设计

发布时间:2022-12-07 08:10:43

① 温度报警器毕设,要求用户可以自己设置报警温度,怎么做

你说的是消防用的感温探测器吗?如果是的话只能设置固定的四个温度常见的是A1和A1R,A2和A2R,A1动作温度下限是54℃,动作温度上限是65℃;A2动作温度下限是54℃,动作温度上限是70℃。A1R和A2R等带“R”标志的,多了一个差温报警,就是一定时间内,温度骤升一定℃(比如8.3℃/m)就会报警。探测温度一般是54℃-70℃,按照国家的标准,探测温度最高的可达到160℃。 温感定温报警温度一般是设置在57度左右。

② 单片机课程设计用1602LCD与DS18B20设计的温度报警器”的源程序 c语言或者汇编都好 上限温度70 下限-20

仿真实例 参考一下吧

③ 模电课程设计——温度测量电路

我帮你设计原理图吧设计方案选择你自己列吧原理很简单的

④ 单片机温度报警系统

不是太难,当然对刚刚接触单片机的人而言还是有一定难度的,下面是我做的一个温控系统,供参考。

//温控系统控制程序
//版本号:V1.0;2015.6.19
//温度传感器:DS18B20
//显示方式:LED
#include <reg51.h>
#define uchar unsigned char
sbit keyup=P1^0;
sbit keydn=P1^1;
sbit keymd=P1^2;
sbit out=P3^7;//接控制继电器
sbit DQ = P3^4;//接温度传感器18B20
uchar t[2],number=0,*pt;//温度值
uchar TempBuffer1[4]={0,0,0,0};
uchar Tmax=18,Tmin=8;
uchar distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xfe,0xf7};
uchar dismod=0,xiaodou1=0,xiaodou2=0,currtemp;
bit flag;
void t0isr() interrupt 1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
switch(number)
{
case 0:
P2=0x08;
P0=distab[TempBuffer1[0]];
break;
case 1:
P2=0x04;
P0=distab[TempBuffer1[1]];
break;
case 2:
P2=0x02;
P0=distab[TempBuffer1[2]]&0x7f;
break;
case 3:
P2=0x01;
P0=distab[TempBuffer1[3]];
break;
default:
break;
}
number++;
if(number>3)number=0;
}

void delay_18B20(unsigned int i)
{
while(i--);
}

/**********ds18b20初始化函数**********************/

void Init_DS18B20(void)
{
bit x=0;
do{
DQ=1;
delay_18B20(8);
DQ = 0; //单片机将DQ拉低
delay_18B20(90); //精确延时 大于 480us
DQ = 1; //拉高总线
delay_18B20(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败,继续初始化
}while(x);
delay_18B20(20);
}

/***********ds18b20读一个字节**************/

unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
delay_18B20(4);
}
return(dat);
}

/*************ds18b20写一个字节****************/

void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay_18B20(5);
DQ = 1;
dat>>=1;
}
}

/**************读取ds18b20当前温度************/

unsigned char *ReadTemperature(unsigned char rs)
{
unsigned char tt[2];
delay_18B20(80);
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0x44); //启动温度转换
delay_18B20(80);
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度
tt[0]=ReadOneChar(); //读取温度值低位
tt[1]=ReadOneChar(); //读取温度值高位
return(tt);
}

void covert1(void)//将温度转换为LED显示的数据
{
uchar x=0x00,y=0x00;
t[0]=*pt;
pt++;
t[1]=*pt;
if(t[1]&0x080) //判断正负温度
{
TempBuffer1[0]=0x0c; //c代表负
t[1]=~t[1]; /*下面几句把负数的补码*/
t[0]=~t[0]; /*换算成绝对值*********/
x=t[0]+1;
t[0]=x;
if(x==0x00)t[1]++;
}
else TempBuffer1[0]=0x0a;//A代表正
t[1]<<=4;//将高字节左移4位
t[1]=t[1]&0xf0;
x=t[0];//将t[0]暂存到X,因为取小数部分还要用到它
x>>=4;//右移4位
x=x&0x0f;//和前面两句就是取出t[0]的高四位
y=t[1]|x;//将高低字节的有效值的整数部分拼成一个字节
TempBuffer1[1]=(y%100)/10;
TempBuffer1[2]=(y%100)%10;
t[0]=t[0]&0x0f;//小数部分
TempBuffer1[3]=t[0]*10/16;
//以下程序段消去随机误检查造成的误判,只有连续12次检测到温度超出限制才切换加热装置
if(currtemp>Tmin)xiaodou1=0;
if(y<Tmin)
{
xiaodou1++;
currtemp=y;
xiaodou2=0;
}
if(xiaodou1>12)
{
out=0;
flag=1;
xiaodou1=0;
}
if(currtemp<Tmax)xiaodou2=0;
if(y>Tmax)
{
xiaodou2++;
currtemp=y;
xiaodou1=0;
}
if(xiaodou2>12)
{
out=1;
flag=0;
xiaodou2=0;
}
out=flag;
}
void convert(char tmp)
{
uchar a;
if(tmp<0)
{
TempBuffer1[0]=0x0c;
a=~tmp+1;
}
else
{
TempBuffer1[0]=0x0a;
a=tmp;
}
TempBuffer1[1]=(a%100)/10;
TempBuffer1[2]=(a%100)%10;
}
void keyscan( )
{
uchar keyin;
keyin=P1&0x07;
if(keyin==0x07)return;
else if(keymd==0)
{
dismod++;
dismod%=3;
while(keymd==0);
switch(dismod)
{
case 1:
convert(Tmax);
TempBuffer1[3]=0x11;
break;
case 2:
convert(Tmin);
TempBuffer1[3]=0x12;
break;
default:
break;
}
}
else if((keyup==0)&&(dismod==1))
{
Tmax++;
convert(Tmax);
while(keyup==0);
}
else if((keydn==0)&&(dismod==1))
{
Tmax--;
convert(Tmax);
while(keydn==0);
}
else if((keyup==0)&&(dismod==2))
{
Tmin++;
convert(Tmin);
while(keyup==0);
}
else if((keydn==0)&&(dismod==2))
{
Tmin--;
convert(Tmin);
while(keydn==0);
}
xiaodou1=0;
xiaodou2=0;
}
main()
{
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
ET0=1;
EA=1;
out=1;
flag=0;
ReadTemperature(0x3f);
delay_18B20(50000);//延时等待18B20数据稳定
while(1)
{
pt=ReadTemperature(0x7f); //读取温度,温度值存放在一个两个字节的数组中
if(dismod==0)covert1();
keyscan();
delay_18B20(30000);
}

}

⑤ 大学PLC课程设计一般有哪些题目

1. 基于-48MRPLC的交通灯控制
2. 西门子PLC控制的四层电梯毕业设计论文
3. PLC电梯控制毕业论文
4. 基于plc的五层电梯控制
5. 松下PLC控制的五层电梯设计
6. 基于PLC控制的立体车库系统设计
7. PLC控制的花样喷泉
8. 三菱PLC控制的花样喷泉系统
9. PLC控制的抢答器设计
10. 世纪星组态 PLC控制的交通灯系统
11. X62W型卧式万能铣床设计
12. 四路抢答器PLC控制
13. PLC控制类毕业设计论文
14. 铁路与公路交叉口护栏自动控制系统
15. 基于PLC的机械手自动操作系统
16. 三相异步电动机正反转控制
17. 基于机械手分选大小球的自动控制
18. 基于PLC控制的作息时间控制系统
19. 变频恒压供水控制系统
20. PLC在电网备用自动投入中的应用
21. PLC在变电站变压器自动化中的应用
22. FX2系列PCL五层电梯控制系统
23. PLC控制的自动售货机毕业设计论文
24. 双恒压供水西门子PLC毕业设计
25. 交流变频调速PLC控制电梯系统设计毕业论文
26. 基于PLC的三层电梯控制系统设计
27. PLC控制自动门的课程设计
28. PLC控制锅炉输煤系统
29. PLC控制变频调速五层电梯系统设计
30. 机械手PLC控制设计
31. 基于PLC的组合机床控制系统设计
32. PLC在改造z-3040型摇臂钻床中的应用
33. 超高压水射流机器人切割系统电气控制设计
34. PLC在数控技术中进给系统的开发中的应用
35. PLC在船用牵引控制系统开发中的应用
36. 智能组合秤控制系统设计
37. S7-200PLC在数控车床控制系统中的应用
38. 自动送料装车系统PLC控制设计
39. 三菱PLC在五层电梯控制中的应用
40. PLC在交流双速电梯控制系统中的应用
41. PLC电梯控制毕业论文
42. 基于PLC的电机故障诊断系统设计
43. 欧姆龙PLC控制交通灯系统毕业论文
44. PLC在配料生产线上的应用毕业论文
45. 三菱PLC控制的四层电梯毕业设计论文
46. 全自动洗衣机PLC控制毕业设计论文
47. 工业洗衣机的PLC控制毕业论文
48. 《双恒压无塔供水的PLC电气控制》
49. 基于三菱PLC设计的四层电梯控制系统
50. 西门子PLC交通灯毕业设计
51. 自动铣床PLC控制系统毕业设计
52. PLC变频调速恒压供水系统
53. PLC控制的行车自动化控制系统
54. 基于PLC的自动售货机的设计
55. 基于PLC的气动机械手控制系统
56. PLC在电梯自动化控制中的应用
57. 组态控制交通灯
58. PLC控制的升降横移式自动化立体车库
59. PLC在电动单梁天车中的应用
60. PLC在液体混合控制系统中的应用
61. 基于西门子PLC控制的全自动洗衣机仿真设计
62. 基于三菱PLC控制的全自动洗衣机
63. 基于plc的污水处理系统
64. 恒压供水系统的PLC控制设计
65. 基于欧姆龙PLC的变频恒压供水系统设计
66. 西门子PLC编写的花样喷泉控制程序
67. 欧姆龙PLC编写的全自动洗衣机控制程序
68 景观温室控制系统的设计
69. 贮丝生产线PLC控制的系统
70. 基于PLC的霓虹灯控制系统
71. PLC在砂光机控制系统上的应用
72. 磨石粉生产线控制系统的设计
73. 自动药片装瓶机PLC控制设计
74. 装卸料小车多方式运行的PLC控制系统设计
75. PLC控制的自动罐装机系统
76. 基于CPLD的可控硅中频电源
77. 西门子PLC编写的花样喷泉控制程序
78. 欧姆龙PLC编写的全自动洗衣机控制程序
79. PLC在板式过滤器中的应用
80. PLC在粮食存储物流控制系统设计中的应用
81. 变频调速式疲劳试验装置控制系统设计
82. 基于PLC的贮料罐控制系统
83. 基于PLC的智能交通灯监控系统设计

1.基于labVIEW虚拟滤波器的设计与实现
2.双闭环直流调速系统设计
3.单片机脉搏测量仪
4.单片机控制的全自动洗衣机毕业设计论文
5.FPGA电梯控制的设计与实现
6.恒温箱单片机控制
7.基于单片机的数字电压表
8.单片机控制步进电机毕业设计论文
9.函数信号发生器设计论文
10.110KV变电所一次系统设计
11.报警门铃设计论文
12.51单片机交通灯控制
13.单片机温度控制系统
14.CDMA通信系统中的接入信道部分进行仿真与分析
15.仓库温湿度的监测系统
16.基于单片机的电子密码锁
17.单片机控制交通灯系统设计
18.基于DSP的IIR数字低通滤波器的设计与实现
19.智能抢答器设计
20.基于LabVIEW的PC机与单片机串口通信
21.DSP设计的IIR数字高通滤波器
22.单片机数字钟设计
23.自动起闭光控窗帘毕业设计论文
24.三容液位远程测控系统毕业论文
25.基于Matlab的PWM波形仿真与分析
26.集成功率放大电路的设计
27.波形发生器、频率计和数字电压表设计
28.水位遥测自控系统 毕业论文
29.宽带视频放大电路的设计 毕业设计
30.简易数字存储示波器设计毕业论文
31.球赛计时计分器 毕业设计论文
32.IIR数字滤波器的设计毕业论文
33.PC机与单片机串行通信毕业论文
34.基于CPLD的低频信号发生器设计毕业论文
35.110kV变电站电气主接线设计
36.m序列在扩频通信中的应用
37.正弦信号发生器
38.红外报警器设计与实现
39.开关稳压电源设计
40.基于MCS51单片机温度控制毕业设计论文
41.步进电动机竹竿舞健身娱乐器材
42.单片机控制步进电机 毕业设计论文
43.单片机汽车倒车测距仪
44.基于单片机的自行车测速系统设计
45.水电站电气一次及发电机保护
46.基于单片机的数字显示温度系统毕业设计论文
47.语音电子门锁设计与实现
48.工厂总降压变电所设计-毕业论文
49.单片机无线抢答器设计
50.基于单片机控制直流电机调速系统毕业设计论文
51.单片机串行通信发射部分毕业设计论文
52.基于VHDL语言PLD设计的出租车计费系统毕业设计论文
53.超声波测距仪毕业设计论文
54.单片机控制的数控电流源毕业设计论文
55.声控报警器毕业设计论文
56.基于单片机的锁相频率合成器毕业设计论文
57.基于Multism/protel的数字抢答器
58.单片机智能火灾报警器毕业设计论
59.无线多路遥控发射接收系统设计毕业论文
60.单片机对玩具小车的智能控制毕业设计论文
61.数字频率计毕业设计论文
62.基于单片机控制的电机交流调速毕业设计论文
63.楼宇自动化--毕业设计论文
64.车辆牌照图像识别算法的实现--毕业设计
65.超声波测距仪--毕业设计
66.工厂变电所一次侧电气设计
67.电子测频仪--毕业设计
68.点阵电子显示屏--毕业设计
69.电子电路的电子仿真实验研究
70.基于51单片机的多路温度采集控制系统
71.基于单片机的数字钟设计
72.小功率不间断电源(UPS)中变换器的原理与设计
73.自动存包柜的设计
74.空调器微电脑控制系统
75.全自动洗衣机控制器
76.电力线载波调制解调器毕业设计论文
77.图书馆照明控制系统设计
78.基于AC3的虚拟环绕声实现
79.电视伴音红外转发器的设计
80.多传感器障碍物检测系统的软件设计
81.基于单片机的电器遥控器设计
82.基于单片机的数码录音与播放系统
83.单片机控制的霓虹灯控制器
84.电阻炉温度控制系统
85.智能温度巡检仪的研制
86.保险箱遥控密码锁 毕业设计
87.10KV变电所的电气部分及继电保护
88.年产26000吨乙醇精馏装置设计
89.卷扬机自动控制限位控制系统
90.铁矿综合自动化调度系统
91.磁敏传感器水位控制系统
92.继电器控制两段传输带机电系统
93.广告灯自动控制系统
94.基于CFA的二阶滤波器设计
95.霍尔传感器水位控制系统
96.全自动车载饮水机
97.浮球液位传感器水位控制系统
98.干簧继电器水位控制系统
99.电接点压力表水位控制系统
100.低成本智能住宅监控系统的设计
101.大型发电厂的继电保护配置
102.直流操作电源监控系统的研究
103.悬挂运动控制系统
104.气体泄漏超声检测系统的设计
105.电压无功补偿综合控制装置
106.FC-TCR型无功补偿装置控制器的设计
107.DSP电机调速
108.150MHz频段窄带调频无线接收机
109.电子体温计
110.基于单片机的病床呼叫控制系统
111.红外测温仪
112.基于单片微型计算机的测距仪
113.智能数字频率计
114.基于单片微型计算机的多路室内火灾报警器
115.信号发生器
116.基于单片微型计算机的语音播出的作息时间控制器
117.交通信号灯控制电路的设计
118.基于单片机步进电机控制系统设计
119.多路数据采集系统的设计
120.电子万年历
121.遥控式数控电源设计
122.110kV降压变电所一次系统设计
123.220kv变电站一次系统设计
124.智能数字频率计
125.信号发生器
126.基于虚拟仪器的电网主要电气参数测试设计
127.基于FPGA的电网基本电量数字测量系统的设计
128.风力发电电能变换装置的研究与设计
129.电流继电器设计
130.大功率电器智能识别与用电安全控制器的设计
131.交流电机型式试验及计算机软件的研究
132.单片机交通灯控制系统的设计
133.智能立体仓库系统的设计
134.智能火灾报警监测系统
135.基于单片机的多点温度检测系统
136.单片机定时闹钟设计
137.湿度传感器单片机检测电路制作
138.智能小车自动寻址设计--小车悬挂运动控制系统
139.探讨未来通信技术的发展趋势
140.音频多重混响设计
141.单片机呼叫系统的设计
142.基于FPGA和锁相环4046实现波形发生器
143.基于FPGA的数字通信系统
144.基于单片机的带智能自动化的红外遥控小车
145.基于单片机AT89C51的语音温度计的设计
146.智能楼宇设计
147.移动电话接收机功能电路
148.单片机演奏音乐歌曲装置的设计
149.单片机电铃系统设计
150.智能电子密码锁设计
151.八路智能抢答器设计
152.组态控制抢答器系统设计
153.组态控制皮带运输机系统设计
154..基于单片机控制音乐门铃
155.基于单片机控制文字的显示
156.基于单片机控制发生的数字音乐盒
157.基于单片机控制动态扫描文字显示系统的设计
158.基于LMS自适应滤波器的MATLAB实现
159.D功率放大器毕业论文
160.无线射频识别系统发射接收硬件电路的设计
161.基于单片机PIC16F877的环境监测系统的设计
162.基于ADE7758的电能监测系统的设计
163.智能电话报警器
164.数字频率计 课程设计
165.多功能数字钟电路设计 课程设计
166.基于VHDL数字频率计的设计与仿真
167.基于单片机控制的电子秤
168.基于单片机的智能电子负载系统设计
169.电压比较器的模拟与仿真
170.脉冲变压器设计
171.MATLAB仿真技术及应用
172.基于单片机的水温控制系统
173.基于FPGA和单片机的多功能等精度频率计
174.发电机-变压器组中微型机保护系统
175.基于单片机的鸡雏恒温孵化器的设计
176.数字温度计的设计
177.生产流水线产品产量统计显示系统
178.水位报警显时控制系统的设计
179.红外遥控电子密码锁的设计
180.基于MCU温控智能风扇控制系统的设计
181.数字电容测量仪的设计
182.基于单片机的遥控器的设计
183.200电话卡代拨器的设计
184.数字式心电信号发生器硬件设计及波形输出实现
185.电压稳定毕业设计论文
186.基于DSP的短波通信系统设计(IIR设计)
187.一氧化碳报警器
188.网络视频监控系统的设计
189.全氢罩式退火炉温度控制系统
190.通用串行总线数据采集卡的设计
191.单片机控制单闭环直流电动机的调速控制系统
192.单片机电加热炉温度控制系统
193.单片机大型建筑火灾监控系统
194.USB接口设备驱动程序的框架设计
195.基于Matlab的多频率FMICW的信号分离及时延信息提取
196.正弦信号发生器
197.小功率UPS系统设计
198.全数字控制SPWM单相变频器
199.点阵式汉字电子显示屏的设计与制作
200.基于AT89C51的路灯控制系统设计
200.基于AT89C51的路灯控制系统设计
201.基于AT89C51的宽范围高精度的电机转速测量系统
202.开关电源设计
203.基于PDIUSBD12和K9F2808简易USB闪存设计
204.微型机控制一体化监控系统
205.直流电机试验自动采集与控制系统的设计
206.新型自动装弹机控制系统的研究与开发
207.交流异步电机试验自动采集与控制系统的设计
208.转速闭环控制的直流调速系统的仿真与设计
209.基于单片机的数字直流调速系统设计
210.多功能频率计的设计
211.18信息移频信号的频谱分析和识别
212.集散管理系统—终端设计
213.基于MATLAB的数字滤波器优化设计
214.基于AT89C51SND1C的MP3播放器
215.基于光纤的汽车CAN总线研究
216.汽车倒车雷达
217.基于DSP的电机控制
218.超媒体技术
219.数字电子钟的设计与制作
220.温度报警器的电路设计与制作
221.数字电子钟的电路设计
222.鸡舍电子智能补光器的设计
223.高精度超声波传感器信号调理电路的设计
224.电子密码锁的电路设计与制作
225.单片机控制电梯系统的设计
226.常用电器维修方法综述
227.控制式智能计热表的设计
228.电子指南针设计
229.汽车防撞主控系统设计
230.单片机的智能电源管理系统
231.电力电子技术在绿色照明电路中的应用
232.电气火灾自动保护型断路器的设计
233.基于单片机的多功能智能小车设计
234.对漏电保护器安全性能的剖析
235.解析民用建筑的应急照明
236.电力拖动控制系统设计
237.低频功率放大器设计
238.银行自动报警系统

⑥ 设计温度报警器电路图

给你一个电路图吧,设计思路就免了吧,

⑦ STC89C52单片机,用C语言编温度报警器的程序

温度报警就用外部中断不就行了?和18b20连接
万年历就是利用定时器就可以了吧。在加一块液晶屏用来显示。
具体的应该网上都有你可以搜一下。

我帮您搜了一个万年历的程序
一、 阳历算法
具体算法见函数void get_solar_day_date(void),这样阳历日历的星期排法就确定了。
表1:
变量定义:
Public:
Unsigned int temp_total_day;
Unsigned char gc_solar_calendar_year;
Unsigned char gc_solar_calendar_month;
Unsigned char gc_solar_calendar_date;
Unsigned char gc_lunar_calendar_year;
Unsigned char gc_lunar_calendar_month;
Unsigned char gc_lunar_calendar_date;
Unsigned char start_day_of_week;
说明:函数get_solar_day_date(void)的输入变量:gc_solar_calendar_year和 gc_solar_calendar_month
输出变量:start_day_of_week和temp_total_day
Void get_solar_day_date(void)
{
unsigned char temp01;
/*------calculate what day is the day of the current month and year. Mon~Sun?---*/
/*条件初始化二次,减少运算数据量. temp_total_day 是int型变量*/
start_day_of_week = 2; temp_total_day = 0;calculate_temp = 1;
if(gc_solar_calendar_year > 99)
{start_day_of_week = 6;calculate_temp = 100;}
for(temp01 = calculate_temp; temp01<gc_solar_calendar_year; temp01++)
{ if(temp01%4 == 0){start_day_of_week +=2;temp_total_day += 366; }
else {start_day_of_week +=1;temp_total_day += 365;}}
for(temp01 = 1;temp01<gc_solar_calendar_month;temp01++)
{ switch(temp01)
{case 1,3,5,7,8,10,12: start_day_of_week +=3;temp_total_day +=31;break;
case 2: if(((gc_solar_calendar_year%4) == 0)&&(gc_solar_calendar_year != 200))
{start_day_of_week +=1; temp_total_day +=29;}
else {start_day_of_week +=0;temp_total_day +=28;} break;
case 4,6,9,11: start_day_of_week +=2; temp_total_day +=30; break;}}
start_day_of_week %=7;
/*-end of calculate what day is the day(Mon~Sun?) and total day --*/
}

二、 阴历算法
200年需要200 × 2 = 400个字节,构成阴历压缩数据表lunar_calendar_month_table[]如下
const char lunar_calendar_month_table[]={ //从阴历年1900年到2100年
/*the total day of each month pointer */
月份 1 2 3 4 5 6 7 8 9 10 11 12
闰年 31 29 31 30 31 30 31 31 30 31 30 31
非闰年 31 28 31 30 31 30 31 31 30 31 30 31

/* from 1901~2100*/
/* (0110)110000001001 (0110)leap month,110000001001
lunar month total day: 1:29 0:30*/
0x00,0x04,0xad,0x08,0x5a,0x01,0xd5,0x54,0xb4,0x09,0x64,0x05,0x59,0x45,
0x95,0x0a,0xa6,0x04,0x55,0x24,0xad,0x08,0x5a,0x62,0xda,0x04,0xb4,0x05,
0xb4,0x55,0x52,0x0d,0x94,0x0a,0x4a,0x2a,0x56,0x02,0x6d,0x71,0x6d,0x01,
0xda,0x02,0xd2,0x52,0xa9,0x05,0x49,0x0d,0x2a,0x45,0x2b,0x09,0x56,0x01,
0xb5,0x20,0x6d,0x01,0x59,0x69,0xd4,0x0a,0xa8,0x05,0xa9,0x56,0xa5,0x04,
0x2b,0x09,0x9e,0x38,0xb6,0x08,0xec,0x74,0x6c,0x05,0xd4,0x0a,0xe4,0x6a,
0x52,0x05,0x95,0x0a,0x5a,0x42,0x5b,0x04,0xb6,0x04,0xb4,0x22,0x6a,0x05,
0x52,0x75,0xc9,0x0a,0x52,0x05,0x35,0x55,0x4d,0x0a,0x5a,0x02,0x5d,0x31,
0xb5,0x02,0x6a,0x8a,0x68,0x05,0xa9,0x0a,0x8a,0x6a,0x2a,0x05,0x2d,0x09,
0xaa,0x48,0x5a,0x01,0xb5,0x09,0xb0,0x39,0x64,0x05,0x25,0x75,0x95,0x0a,
0x96,0x04,0x4d,0x54,0xad,0x04,0xda,0x04,0xd4,0x44,0xb4,0x05,0x54,0x85,
0x52,0x0d,0x92,0x0a,0x56,0x6a,0x56,0x02,0x6d,0x02,0x6a,0x41,0xda,0x02,
0xb2,0xa1,0xa9,0x05,0x49,0x0d,0x0a,0x6d,0x2a,0x09,0x56,0x01,0xad,0x50,
0x6d,0x01,0xd9,0x02,0xd1,0x3a,0xa8,0x05,0x29,0x85,0xa5,0x0c,0x2a,0x09,
0x96,0x54,0xb6,0x08,0x6c,0x09,0x64,0x45,0xd4,0x0a,0xa4,0x05,0x51,0x25,
0x95,0x0a,0x2a,0x72,0x5b,0x04,0xb6,0x04,0xac,0x52,0x6a,0x05,0xd2,0x0a,
0xa2,0x4a,0x4a,0x05,0x55,0x94,0x2d,0x0a,0x5a,0x02,0x75,0x61,0xb5,0x02,
0x6a,0x03,0x61,0x45,0xa9,0x0a,0x4a,0x05,0x25,0x25,0x2d,0x09,0x9a,0x68,
0xda,0x08,0xb4,0x09,0xa8,0x59,0x54,0x03,0xa5,0x0a,0x91,0x3a,0x96,0x04,
0xad,0xb0,0xad,0x04,0xda,0x04,0xf4,0x62,0xb4,0x05,0x54,0x0b,0x44,0x5d,
0x52,0x0a,0x95,0x04,0x55,0x22,0x6d,0x02,0x5a,0x71,0xda,0x02,0xaa,0x05,
0xb2,0x55,0x49,0x0b,0x4a,0x0a,0x2d,0x39,0x36,0x01,0x6d,0x80,0x6d,0x01,
0xd9,0x02,0xe9,0x6a,0xa8,0x05,0x29,0x0b,0x9a,0x4c,0xaa,0x08,0xb6,0x08,
0xb4,0x38,0x6c,0x09,0x54,0x75,0xd4,0x0a,0xa4,0x05,0x45,0x55,0x95,0x0a,
0x9a,0x04,0x55,0x44,0xb5,0x04,0x6a,0x82,0x6a,0x05,0xd2,0x0a,0x92,0x6a,
0x4a,0x05,0x55,0x0a,0x2a,0x4a,0x5a,0x02,0xb5,0x02,0xb2,0x31,0x69,0x03,
0x31,0x73,0xa9,0x0a,0x4a,0x05,0x2d,0x55,0x2d,0x09,0x5a,0x01,0xd5,0x48,
0xb4,0x09,0x68,0x89,0x54,0x0b,0xa4,0x0a,0xa5,0x6a,0x95,0x04,0xad,0x08,
0x6a,0x44,0xda,0x04,0x74,0x05,0xb0,0x25,0x54,0x03,};
确定阳历日和阴历日的对应关系的算法:
对于其他任何一个阳历日和阴历日的对应关系,都可以通过以下算法求得结果。具体算法由如get_lunar_day(void)实现:
说明:函数get_lunar_day(void)的输入变量:gc_solar_calendar_year和gc_solar_calendar
输出变量:gc_lunar_calendar_year、gc_lunar_calendar_month和 gc_lunar_calendar_date
void get_lunar_day(void)/*计算出输入阳历年、阳历月,对应该阳历月第一天对应阴历时间年、月、日*/
{unsigned char temp_leap_month;
unsigned char temp_flag;
unsigned char calculate_temp;
unsigned char mc_tpumenus_temp_loop;
unsigned char mc_tpumenus_temp_01;
temp_leap_month = 0;temp_flag = 1;
//条件初始化二次,减少运算数据量.
if(gc_solar_calendar_year > 99)
{gc_lunar_calendar_year = 99;gc_lunar_calendar_month = 11;
gc_lunar_calendar_date = 25;temp_total_day += 25;calculate_temp = 100;}
else
{gc_lunar_calendar_year = 0;gc_lunar_calendar_month = 11;
gc_lunar_calendar_date = 11;temp_total_day += 11;calculate_temp = 1;}
if(gc_solar_calendar_year >calculate_temp||gc_solar_calendar_month>1)
{ for(mc_tpumenus_temp_loop = 1;mc_tpumenus_temp_loop>0;){
temp_total_day -=calendar_calculate_lunar_month_total_day();
temp_leap_month = tpumenus_lunar_calendar_month_table[2*gc_lunar_calendar_year +
temp_leap_month = (temp_leap_month>>4)&0x0F;
if(gc_lunar_calendar_month == temp_leap_month)
{switch(gc_lunar_calendar_year)
{case 6,14,19,25,33,36,38,41,44,52,55,79,117,
136,147,150,155,158,185,193:
if(temp_total_day<31){gc_lunar_calendar_date = temp_total_day;
mc_tpumenus_temp_loop = 0;temp_flag = 0;}
else temp_total_day -= 30;
break; //current month:temp_leap_month
default:
if(temp_total_day < 30)
{gc_lunar_calendar_date = temp_total_day;mc_tpumenus_temp_loop = 0;
temp_flag = 0; /*current month:temp_leap_month*/ }
else temp_total_day -= 29; break;}}
if(temp_flag){gc_lunar_calendar_month++;
if(gc_lunar_calendar_month == 13){gc_lunar_calendar_month = 1;
gc_lunar_calendar_year++;}
If(temp_total_day < 61) //if temp_total_day>60,ignore compare
{mc_tpumenus_temp_01 = calendar_calculate_lunar_month_total_day();
if(temp_total_day < (mc_tpumenus_temp_01 + 1))
{mc_tpumenus_temp_loop = 0;gc_lunar_calendar_date = temp_total_day;
} }
} } }
gc_lunar_leap_month = (temp_flag<<4)|temp_leap_month;/*set leap_month flag*/
说明:函数calendar_calculate_lunar_month_total_day(void)根据输入变量gc_lunar_calen和 gc_lunar_calendar_month,结合压缩数据表lunar_calendar_month_table计算出对应阴历天数。
unsigned char calendar_calculate_lunar_month_total_day(void)
{
unsigned char mc_tpumenus_temp_01;
unsigned char mc_tpumenus_temp_02;
if(gc_lunar_calendar_month < 9)
{mc_tpumenus_temp_01 = lunar_calendar_month_table[2*gc_lunar_calendar_year];
mc_tpumenus_temp_02 = gc_lunar_calendar_month - 1;}
else{
mc_tpumenus_temp_01 = lunar_calendar_month_table[2*gc_lunar_calendar_year + 1];
mc_tpumenus_temp_02 = gc_lunar_calendar_month - 9;}
if((mc_tpumenus_temp_01>> mc_tpumenus_temp_02)&0x01)return(29);
else return(30);}
阳历日和农历节气的对应关系
压缩节气数据表:
根据规律可以得到四个数据表(每个阳历月有两个节气,每个节气需要两个数据表):
const unsigned char calendar_solar_term_table_01[12][33] = {
{7,6,6,6,6,6,6,6,6,5,6,6,6,5,5,6,6,5,5,5,5,5,5,5,5,4,5,5}, //month 1
{5,4,5,5,5,4,4,5,5,4,4,4,4,4,4,4,4,3,4,4,4,3,3,4,4,3,3,3}, //2
{6,6,6,7,6,6,6,6,5,6,6,6,5,5,6,6,5,5,5,6,5,5,5,5,4,5,5,5,5}, //3
{5,5,6,6,5,5,5,6,5,5,5,5,4,5,5,5,4,4,5,5,4,4,4,5,4,4,4,4,5}, //4
{6,6,6,7,6,6,6,6,5,6,6,6,5,5,6,6,5,5,5,6,5,5,5,5,4,5,5,5,5}, //5
{6,6,7,7,6,6,6,7,6,6,6,6,5,6,6,6,5,5,6,6,5,5,5,6,5,5,5,5,4,5,5,5,5}, //6
{7,8,8,8,7,7,8,8,7,7,7,8,7,7,7,7,6,7,7,7,6,6,7,7,6,6,6,7,7}, //7
{8,8,8,9,8,8,8,8,7,8,8,8,7,7,8,8,7,7,7,8,7,7,7,7,6,7,7,7,6,6,7,7,7}, //8
{8,8,8,9,8,8,8,8,7,8,8,8,7,7,8,8,7,7,7,8,7,7,7,7,6,7,7,7,7}, //9
{9,9,9,9,8,9,9,9,8,8,9,9,8,8,8,9,8,8,8,8,7,8,8,8,7,7,8,8,8}, //10
{8,8,8,8,7,8,8,8,7,7,8,8,7,7,7,8,7,7,7,7,6,7,7,7,6,6,7,7,7}, //11
{7,8,8,8,7,7,8,8,7,7,7,8,7,7,7,7,6,7,7,7,6,6,7,7,6,6,6,7,7}, //12
}; //这个数据表表示了每个月第一个节气出现的规律
const unsigned char calendar_solar_term_year_01[12][9] = {
{13,49,85,117,149,185,201,250,250}, //month 1
{13,45,81,117,149,185,201,250,250}, //2
{13,48,84,112,148,184,200,201,250}, //3
{13,45,76,108,140,172,200,201,250}, //4
{13,44,72,104,132,168,200,201,250}, //5
{5 ,33,68,96 ,124,152,188,200,201}, //6
{29,57,85,120,148,176,200,201,250}, //7
{13,48,76,104,132,168,196,200,201}, //8
{25,60,88,120,148,184,200,201,250}, //9
{16,44,76,108,144,172,200,201,250}, //10
{28,60,92,124,160,192,200,201,250}, //11
{17,53,85,124,156,188,200,201,250}, //12
}; //这个数据表表示了每个月第一个节气出现规律对应的阳历年份范围
const unsigned char calendar_solar_term_table_02[12][29] = {
{21,21,21,21,21,20,21,21,21,20,20,21,21,20,20,20,20,20,20,20,20,19,20,20,20,19,19
{20,19,19,20,20,19,19,19,19,19,19,19,19,18,19,19,19,18,18,19,19,18,18,18,18,18,18
{21,21,21,22,21,21,21,21,20,21,21,21,20,20,21,21,20,20,20,21,20,20,20,20,19,20,20
{20,21,21,21,20,20,21,21,20,20,20,21,20,20,20,20,19,20,20,20,19,19,20,20,19,19,19
{21,22,22,22,21,21,22,22,21,21,21,22,21,21,21,21,20,21,21,21,20,20,21,21,20,20,20
{22,22,22,22,21,22,22,22,21,21,22,22,21,21,21,22,21,21,21,21,20,21,21,21,20,20,21
{23,23,24,24,23,23,23,24,23,23,23,23,22,23,23,23,22,22,23,23,22,22,22,23,22,22,22
{23,24,24,24,23,23,24,24,23,23,23,24,23,23,23,23,22,23,23,23,22,22,23,23,22,22,22
{23,24,24,24,23,23,24,24,23,23,23,24,23,23,23,23,22,23,23,23,22,22,23,23,22,22,22
{24,24,24,24,23,24,24,24,23,23,24,24,23,23,23,24,23,23,23,23,22,23,23,23,22,22,23
{23,23,23,23,22,23,23,23,22,22,23,23,22,22,22,23,22,22,22,22,21,22,22,22,21,21,22
{22,22,23,23,22,22,22,23,22,22,22,22,21,22,22,22,21,21,22,22,21,21,21,22,21,21,21
}; //这个数据表表示了每个月第二个节气出现的规律
const unsigned char calendar_solar_term_year_02[12][8] = {
{13,45,81,113,149,185,201},{21,57,93,125,161,193,201},{21,56,88,120,152,188,200,20
{21,49,81,116,144,176,200,201},{17,49,77,112,140,168,200,201},
{28,60,88,116,148,180,200,201},{25,53,84,112,144,172,200,201},
{29,57,89,120,148,180,200,201},{17,45,73,108,140,168,200,201},
{28,60,92,124,160,192,200,201},{16,44,80,112,148,180,200,201},
{17,53,88,120,156,188,200,201},};
//这个数据表表示了每个月第二个节气出现规律对应的阳历年份范围
每个阳历月对应的两个农历节气出现的日期,可根据条件规律算法,分别由以下两个函数实现
unsigned char calendar_calculate_solar_term_1(void)
{
zpage unsigned char done_index;
zpage unsigned char solar_term;
done_index = 0;
while(gc_solar_calendar_year >= calendar_solar_term_year_01[gc_solar_calendar_mon
[done_index]) {done_index++;}
solar_term = calendar_solar_term_table_01[gc_solar_calendar_month - 1][4*done_ind
gc_solar_calendar_year%4];
if((gc_solar_calendar_year == 121)&&(gc_solar_calendar_month == 4))solar_term = 5
if((gc_solar_calendar_year == 132)&&(gc_solar_calendar_month == 4))solar_term = 5
if((gc_solar_calendar_year == 194)&&(gc_solar_calendar_month == 6))solar_term = 6
return(solar_term);
} //计算阳历月对应的第一个节气
unsigned char calendar_calculate_solar_term_2(void)
{
zpage unsigned char done_index;
zpage unsigned char solar_term;
done_index = 0;
while(gc_solar_calendar_year >= calendar_solar_term_year_02[gc_solar_calendar_mon
[done_index]){done_index++;}
solar_term = calendar_solar_term_table_02[gc_solar_calendar_month - 1][4*done_ind
gc_solar_calendar_year%4];
if((gc_solar_calendar_year == 171)&&(gc_solar_calendar_month == 3))solar_term = 2
if((gc_solar_calendar_year == 181)&&(gc_solar_calendar_month == 5))solar_term = 2
return(solar_term);
} //计算阳历月对应的第二个节气
以上就是万年历的完整算法。它首先计算出对应阳历月第一天对应是星期几,然后根据数据压定,确定对应的阴历日期;而阴历节气,则有条件规律算法实现。

⑧ 设计一个温度测量及超限报警电路

我给你提供方法吧 你自己去实现

一个温度传感器 一个比较器 当你设定的值超过 比较器设定的80度时的值,就输出驱动蜂鸣器工作 就这么简单

⑨ 设计一个工业系统中的温度测量及超限报警电路,温度测量范围0~100℃

怎么和我们老师布置得作业一样?你也是西交的?
不说了,就用书上的温度传感器那一章的温度测量在用个比较器就行了或者加个稳压管也行。

⑩ 课程设计:温度检测报警器

给你一个思路复;Cu50热电阻,接制恒流源,5MA,引出热电阻两端的电压,经放大后,接到DVM模块上(其核心是7107A/D转换器,同是还配有3位半LED数码显示器,对于报警回路,热电阻上的电压信号放大后,引出一个与一个设定电压值(用电位器来调整与改变)来进行比较,如果热电阻上的电压信号达到设定值后,使比较器输出从而使继电器动作,达到报警的目的!

阅读全文

与温度报警装置课程设计相关的资料

热点内容
滚背的器材哪里有卖的 浏览:835
蒸馏和萃取实验装置特点 浏览:733
仪表上出现电源故障是什么情况 浏览:523
防雷装置检测怎么测 浏览:894
备用电源自动投入装置自动调节 浏览:457
怎么判断阀门国标 浏览:1000
机床里的程序怎么锁定 浏览:962
水满可自动关闭的装置 浏览:282
10KV防雷接地装置定期检测 浏览:324
机械停表测量的物理量是什么 浏览:124
两个三角形给水是什么阀门 浏览:774
机械硬盘装上后如何做 浏览:46
东莞市永克五金制品有限公司怎么样 浏览:586
江玲皮卡车仪表盘左上角是什么表 浏览:485
流体压强和流速关系的实验装置 浏览:494
如何抓轴承 浏览:471
口罩超声波机怎么调 浏览:998
导缆装置的位置与作用 浏览:796
阀门的芯体里是什么材料 浏览:216
餐厅纸巾生产设备需要多少钱一套 浏览:987