首页 基于单片机的温度控制系统课程设计流程图-北京化工大学

基于单片机的温度控制系统课程设计流程图-北京化工大学

举报
开通vip

基于单片机的温度控制系统课程设计流程图-北京化工大学//基于单片机的化学反应罐温度控制系统C语言代码/*端口分配P0连接8255A数据端口P10(A),1(B),2(C),3(D)4(1)5(2),6(3),7()P20(RD),1(WR),2(A0),3(A1)4(ADC_A)5(ADC_B),6(ALE),7(ST)P30(EOC),1(ADC_OE),2(INT0),3()4(b)5(E),6(RS),7(RW)8255APA(接ADC)PB(接LCD)PC0(out1)1(out2)2()3()4()5()6()7()out1接散热器继电器,out2加热器继...

基于单片机的温度控制系统课程设计流程图-北京化工大学
//基于单片机的化学反应罐温度控制系统C语言代码/*端口分配P0连接8255A数据端口P10(A),1(B),2(C),3(D)4(1)5(2),6(3),7()P20(RD),1(WR),2(A0),3(A1)4(ADC_A)5(ADC_B),6(ALE),7(ST)P30(EOC),1(ADC_OE),2(INT0),3()4(b)5(E),6(RS),7(RW)8255APA(接ADC)PB(接LCD)PC0(out1)1(out2)2()3()4()5()6()7()out1接散热器继电器,out2加热器继电器*/#include#include#include"absacc.h"//调用_nop_();延时函数用#defineucharunsignedchar#defineuintunsignedint#defineCOMXBYTE[0x7FFF]//8255A控制口地址#definePAXBYTE[0x7CFF]//8255AA口地址#definePBXBYTE[0x7DFF]//8255AB口地址#definePCXBYTE[0x7EFF]//8255AC口地址sbitH1=P1^0;sbitH2=P1^1;sbitH3=P1^2;sbitH4=P1^3;sbitL1=P1^4;sbitL2=P1^5;sbitL3=P1^6;sbitA0=P2^0;sbitA1=P2^1;sbitLCD_RS=P2^2;sbitLCD_RW=P2^3;sbitADC_A=P2^4;sbitADC_B=P2^5;sbitADC_ST=P2^7;sbitADC_EOC=P3^0;sbitHIGH=P3^1;sbitLOW=P2^6;sbitLCD_E=P3^5;sbitA_WR=P3^6;sbitA_RD=P3^7;ucharcodetable[]="0123456789ABCDE";//定义显示的数组ucharcodetable1[]=".";ucharcodetable2[]="Real:";//9ucharcodetable3[]="Target:";//9ucharcodetable4[]="Settedvalueis:";//15ucharcodetable6[]="welcometouse";//ucharcodetable7[]="thissystem";//voidinit();//函数声明voidwrite_data(uchardate);voidwrite_com(ucharcom);voiddelay(uintz);voiddealdata();voidcommon();voidget_tem();voidinput_tem();intfindkey();voidwelcom();floatread_adc();voidcls();//定义变量intflag,i,j,k,count,oldcount,realcount;//k键号,i键行数,j键列数flag 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 现在的状态,是//正在输入还是常态intreal__tem,bai1,shi1,ge1,set__tem,bai,shi,ge;//实际温度intset_tem[6],real_tem[6],num;//温度数组都是从第二位开始使用count=0;voidmain()//系统主函数{init();//系统初始化while(1){get_tem();//获取传感器的温度值if(flag==0)common();}}voidinit()//系统初始化函数{EA=1;IT0=1;EX0=1;//外部中断初始化A1=1;A0=1;A_RD=1;A_WR=0;//8255A初始化P1=0XF0;COM=P0;COM=0X90;A1=1;A0=0;LCD_E=0;//1602初始化write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);welcom();//显示欢迎界面delay(100);cls();//清屏}voidINT0_INTProc(void)interrupt0//外部中断函数{EA=0;dealdata();EA=1;}voiddealdata()//中断处理函数{intu;u=findkey();count=count+1;if(count==1)// 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示是第一次按键。{cls();input_tem();flag=1;//状态字,表示现在正在键入标准温度}if(u>=0&u<=9)//表示正常输入数字{set_tem[count]=u;write_com(0x80+0x40+count);write_data(table[u]);}if(u==10)//表示按下删除{count=0;cls();input_tem();}if(u==12)//表示按下确定{count=count-1;oldcount=count;set__tem=count*set_tem[count]+set__tem;if(count==2){set__tem=set_tem[2]+set_tem[1]*10;}if(count==3){set__tem=set_tem[3]+set_tem[2]*10+set_tem[1]*100;}flag=0;count=0;//计数变量清零cls();common();//调用common函数返回}}voidcommon()//常态函数{//开始定位写设定温度write_com(0x80);for(num=0;num<9;num++){write_data(table2[num]);delay(2);}for(num=1;num<=3;num++){write_data(table[real_tem[num]]);//向1602写入实际温度}//开始换行写实际温度write_com(0x80+0x40);for(num=0;num<9;num++){write_data(table3[num]);delay(2);}for(num=1;num<=oldcount;num++){write_data(table[set_tem[num]]);//向1602写入设定温度}}intfindkey()//查询按键程序{charKeyposi;i=0;j=0;P1=0xf0;if(P1!=0xf0){P1=0xf0;Keyposi=P1;if(Keyposi!=0xf0){if(L1==0){j=1;}if(L2==0){j=2;}if(L3==0){j=3;}P1=0x0F;if(H1==0){i=0;}if(H2==0){i=3;}if(H3==0){i=6;}if(H4==0){i=9;}k=i+j;//k=10代表删除k=12代表确定if(k==11){k=0;}}}else{k=13;}//如果没有键按下k返回13。P1=0xF0;delay(100);return(k);}voidget_tem()//获取传感器温度{uchardate=0;floattemp,temp1,temp2,temp3;temp=temp1=temp2=temp3=0.0;A1=0;A0=0;A_RD=0;A_WR=1;//设置8255A读A口输入到数据总线ADC_A=0;ADC_B=0;//选择IN0date=read_adc();temp1=(float)date*5.0/256;ADC_A=0;ADC_B=1;//选择IN1date=read_adc();temp2=(float)date*5.0/256;ADC_A=1;ADC_B=1;//选择IN2date=read_adc();temp3=(float)date*5.0/256;temp=(temp1+temp2+temp3)/3.0;real__tem=(int)temp;temp=temp*40.0;bai1=(int)temp/100;shi1=(int)temp%100/10;ge1=(int)temp%100%10/1;real_tem[1]=bai1;real_tem[2]=shi1;real_tem[3]=ge1;cls();if(real__tem>=set__tem+10)//实际温度过高,开风扇,关加热器{LOW=0;HIGH=1;}if(real__tem=set__tem-10)&(real__tem0;x--)for(y=110;y>0;y--);}voidwrite_com(ucharcom)//LCD写指令{A1=0;A0=1;A_RD=1;A_WR=0;//写数据总线到B口输出LCD_RW=0;LCD_RS=0;PB=com;delay(10);LCD_E=1;delay(10);LCD_E=0;}voidwrite_data(uchardate)//LCD写数据{A1=0;A0=1;A_RD=1;A_WR=0;//写数据总线到B口输出LCD_RW=0;LCD_RS=1;PB=date;delay(10);LCD_E=1;delay(10);LCD_E=0;}
本文档为【基于单片机的温度控制系统课程设计流程图-北京化工大学】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥20.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
正方体
暂无简介~
格式:doc
大小:13KB
软件:Word
页数:8
分类:
上传时间:2022-05-11
浏览量:9