温度控制器程序

温度控制器程序

ID:39544014

大小:71.52 KB

页数:20页

时间:2019-07-05

温度控制器程序_第1页
温度控制器程序_第2页
温度控制器程序_第3页
温度控制器程序_第4页
温度控制器程序_第5页
资源描述:

《温度控制器程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//PT100自身温度范围#defineM_temper_MIN-200//最低温度#defineM_temper_MAX500//最高温度//CPU引脚定义#defineP_LEDP0sbitLED_S1=P2^0;//LED1位选sbitLED_S2=P2^1;//LED2位选sbitLED_S3=P2^2;//LED3位选sbitLED_S4=P2^3;//LED4位选sbitKEY_S1=P1^0;//上下限温度设置sbitKEY_S2=P1^1;//温度加sbitKEY_S3=P1^2;//温度减/

2、/全局变量寄存器ucharM_LED1,M_LED2,M_LED3,M_LED4;//4位LED显示寄存器ucharLED_DISP_TAB[]=//LED编码表{0X3f,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07,0X7f,0X6f,//0-90X40,0X23,0X1c,0X58//字符:-nuc};ucharSet_count;//温度设置按钮计数ucharT0_count;//T0定时中断计数uintT1_count;//T1定时中断计数charM_temper_up;//

3、温度上限charM_temper_down;//温度下限charM_temper_AI;//设置中温度charM_temper_conver;//当前温度bitB_set,B_set_AI;//温度设置标志bitB_set_T0,B_set_T1;//定时器中断标志//函数声明voidT1int_init();/*定时器T1初始化:设置工作方式赋初值开启中断*/voidT0int_init();/*定时器T0初始化:设置工作方式赋初值开启中断*/voidSet_temper();/*设置上下限温度:按键次数=

4、1:显示上限温度并处于操作状态按键次数=2:显示下限温度并处于操作状态按键次数=3:保存设置值并退出*/voidInc_temper();/*提高设置的温度*/voidDec_temper();/*降低设置的温度*/voidLED_data_BCD(charDisp_dat);/*数码管显示温度*/voidPT100_delay(uintcount);/*PT100延时程序*/voidPT100_reset(void);/*PT100复位初始程序:根据PT100要求对其进行复位初始控制*/bitPT100_r

5、eadbit(void);/*PT100位读子程序:从PT100取出一位数据*/ucharPT100_readbyte(void);/*PT100字节读子程序:读出的一字节数据并返回数据值*/voidPT100_writebyte(uchardat);/*PT100字节写子程序:将输入参数值写入PT100*/voidPT100_change(void);//启动PT100温度转换ucharPT100_Gettemper(void);/*读取PT100温度数据:单线方式读取PT100转换的温度数据,并返回处理后

6、的温度值*/voidDelay_ms(uintcount);//延时子程序:延时count(ms)voidmain(){ucharM_temper_curr;SP=0x50;//堆栈起始地址M_temper_up=100;//初始温度上下限M_temper_down=0;Delay_ms(500);T0int_init();//T0T1初始化T1int_init();while(1){if(B_set_T0)//T0定时读取温度标志{EA=0;//关总中断B_set_T0=0;if(!B_set)//上下限设

7、置状态时,取消温度读取{PT100_change();//读取温度M_temper_curr=PT100_Gettemper();M_temper_conver=(M_temper_curr>126?(127-M_temper_curr):M_temper_curr);//转换正负温度LED_data_BCD(M_temper_conver);//转换LED显示}EA=1;}if(B_set_T1)//T1定时LED显示扫描标志{TR1=0;B_set_T1=0;++T1_count;switch(T1_co

8、unt)//依次显示4位LED{case1:LED_S4=1;P_LED=LED_DISP_TAB[M_LED1];LED_S1=0;break;case2:LED_S1=1;P_LED=LED_DISP_TAB[M_LED2];LED_S2=0;break;case3:LED_S2=1;P_LED=LED_DISP_TAB[M_LED3];LED_S3=0;break;case4:LED_S3=1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。