资源描述:
《基于pic单片机的实时温度控制系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于PIC单片机的实时温度控制系统//实现的功能:数码管显示实时温度,支持负温度//芯片PIC16F877//XT:4MHZ//*********************************************************#include //包含单片机内部资源预定义#defineLVP0x3f39//晶振:XT;代码:没有代码保护;上电延时定时器关闭;//低电压复位禁止;看门狗关闭;低电压编程禁止__CONFIG(XT&UNPROTECT&PWRTDIS&BORDIS&WDTDI
2、S&LVP);#defineuchunsignedchar //给unsignedchar起别名uch#defineDQRA2 //定义18B20数据端口#defineDQ_DIRTRISA2 //定义18B20D口方向寄存器#defineDQ_HIGH()DQ_DIR=1 //设置数据口为输入#defineDQ_LOW()DQ_DIR=0;DQ=0
3、 //设置数据口为输出constunsignedcharledcode[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40};//不带小数点的共阴极数码管0123456789段码,正负符号位constunsignedcharledcode1[12]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x00,0x40}; //带小数点的共阴极数码管0123456789段码,正
4、负符号位voidinit_port(void);voiddelay(charx,chary);voiddelay_1ms(void);voiddelay_ms(unsignedinttime);voidinterruptdealtime();voidtmint(void);voidtimetoseg(uchfh_temp,uchbai_temp,uchshi_temp,uchge_temp,uchsf_temp,uchbf_temp,uchqf_temp,uchwf_temp);voidbinary_temp(uchTL,s
5、ignedcharTH);voidreset(void);voidwrite_byte(uchval);uchread_byte(void);voidget_temp(void);unsignedchardisplay_data[8];unsignedcharintcount=0;uchTLV=0; //采集到的温度高8位uchTHV=0; //采集到的温度低8位uniontemp //定义
6、一个联合体{intT;uchTV[2];}temp;signedcharTZ=0; //转换后的温度值整数部分,有符号位uchTX=0; //转换后的温度值小数部分unsignedintwd; //转换后的温度值BCD码形式unsignedcharfh; //符号位unsignedcharbai;
7、 //整数百位unsignedcharshi; //整数十位unsignedcharge; //整数个位unsignedcharshifen; //十分位unsignedcharbaifen; //百分位unsignedcharqianfen; //千
8、分位unsignedcharwanfen; //万分位//*********************************************************// 主程序//*************************