- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计题目:温度检测系统设计
一、实验内容
利用板载模拟温度传感器TC1047A实现一温度采集系统;
间隔1--5s采集一次(步进1 s,可以预设),在液晶屏第一行显示连续的3个采集温度值;
当必威体育精装版采集的温度大于这三个温度的平均值温度1℃时,蜂鸣器报警,当温度降低后,解除报警;
记录报警次数,在LCD上显示,,并将结果存入24LC024。
电路原理图以及各功能模块的工作原理
1、驱动蜂鸣器
APP001开发板上的BUZZER是由RC2控制一个三极管来驱动的,当JP4的跳线开关短路时,RC2管脚输出高电平便会使蜂鸣器发出声音,RC2管脚输出低电平便禁止蜂鸣器发声。
2.字符LCD
APP001开发板配置了一个2*16的字符LCD,它和PIC18F452的接口是RD0-RD3连接到LCD模块的DB4-DB7,用来向LCD模块写入命令和数据,其中DB7可以用来作为LCD模块控制器的忙标志位;RD5是读写控制位;RD4是命令和数据标志位。RD=0时,RD0-RD3是读取和写入数据到LCD的命令寄存器;RD=1时,RD0-RD3读取和写入的是要显示的数据。
3.温度测量
使用模拟温度传感器TC1047A,利用模数转换,将模拟电压转换为数字电压。对应于相应的温度。
4.键盘
使用开发板上的2组按键SW2和SW3
5. RTC
采用Timer 1外接32.768kHz的晶振可以产生精确的1秒计时,从而实现RTC。
6.24LC024
7.LCD、LEDADC按键读取
三、主要函数程序流程图
1.Main函数流程图
2.LCD__EEPROM 更新
3.温度比较和蜂鸣器
四、实验主要源码
(1)Main函数:
void main(void)
{
int AlarmNum;
/*首先初始化*/
InitializePORT( );
InitializeINTs( );
InitializeAD( );
InitializeTMR1( );
Initialize_I2C_Master( );
/*lcd初始化*/
OpenLCD( );
while(1)
{
Key_Press_Check();
if (Flagbits.Timer1_Flag) // update Temperature on LCD every 1 Sec
{
Flagbits.Timer1_Flag=0;
get_key_flag++;
if(get_key_flag=Time_count)
{
get_key_flag=0;
LCD_Temp_Update() ; // update Temperature
Temp_Compare();
}
}
}
}
(2)读取温度:
int Read_TC1047_Temperature(void)
{ int AD_Temp;
ADCON0bits.CHS0=1;
for (AD_Temp=0;AD_Temp5;AD_Temp++);
ADCON0bits.GO=1; // Start to convert the A/D
while(ADCON0bits.GO); // Waiting A/D until done
AD_Temp = ReadADC( ); // Get 10 bits A/D result
return AD_Temp;
}
(3)LCD__EEPROM 更新
void LCD_Temp_Update (void)
{
int i;
LCD_Set_Cursor(0,0); // 清理lcd
for (i=0;i16;i++)putcLCD( );
/****显示第一个温度值******/
LCD_Set_Cursor(0,0);//定位光标
T2_buffer[0]=T2_buffer[1];//从后面向前传递温度参数
if(T2_buffer[0]!=0)//如果是零,不要显示
{
Buffer_LCD(T2_buffer[0]);
LCD_Set_Cursor(0,4);//定位光标
putcLCD(0xDF);//显示 ”度 “ 这个标志
}
/****显示第二个温度值******/
LCD_Set_Cursor(0,5);
if(T2_buffer[1]!=0)
{
Buffer_LCD(T2_buffer[1]);
LCD_Set_Cursor(0,9);
putcLCD(0xDF);
}
您可能关注的文档
- 甘肃省张掖市甘州区张掖市黑河城区段治理工程(位于张掖市甘州区城区西侧)--一期工程(内容包括分洪溢流堰工程:在原黑河干流甘州区石庙子分洪溢流堰处建设分洪溢流堰一座;河道疏浚及蓄水湖工程:治理起点位于兰新高铁上游约850m处,治理终点位于西三环与滨河路交叉口下游约800m处)--报批稿报告表.doc
- 肝胆病防治大全.doc
- 甘肃省张掖市肃南裕固族自治县西宇矿业有限责任公司皂矾沟石灰石矿改扩建项目.docx
- 甘蔗渣nr复合材料的研究毕业论文.doc
- 甘肃省张掖市肃南裕固族自治县肃南裕固族自治县摆浪沟铜矿详查项目(位于甘肃省肃南县,行政区划隶属甘肃省肃南县大河乡)--硐探(穿脉平硐)配合坑内钻探--本项目涉及甘肃祁连山国家级自然保护区报告表.doc
- 钢轨打磨车设计.doc
- 钢混课程设计--单层单跨钢筋混凝土厂房设计.doc
- 钢结构基本原理课程设计钢框架设计说明书.doc
- 钢结构课程设计---钢结构平台设计.doc
- 钢结构课程设计--钢框架主梁设计.docx
文档评论(0)