- 3
- 0
- 约1.2万字
- 约 11页
- 2018-04-28 发布于湖北
- 举报
基于PIC单片机的实时温度控制系统推荐
基于PIC单片机的实时温度控制系统
// 实现的功能:数码管显示实时温度,支持负温度// 芯片PIC16F877// XT:4MHZ//*********************************************************#include pic.h?????? //包含单片机内部资源预定义#define LVP 0x3f39
// 晶振:XT;代码:没有代码保护;上电延时定时器关闭;// 低电压复位禁止;看门狗关闭 ;低电压编程禁止__CONFIG (XT UNPROTECT PWRTDIS BORDIS WDTDIS LVP);
#define uch unsigned char???????????????????? //给unsigned char起别名 uch#define DQ RA2??????????????????????????????? //定义18B20数据端口 #define DQ_DIR TRISA2???????????????????????? //定义18B20D口方向寄存器 #define DQ_HIGH() DQ_DIR =1?????????????????? //设置数据口为输入#define DQ_LOW() DQ_DIR = 0;DQ = 0??????????? //设置数据口为输出
const unsigned char ledcode[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x40};//不带小数点的共阴极数码管0123456789段码,正负符号位const unsigned char ledcode1[12]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x00,0x40};?? //带小数点的共阴极数码管0123456789段码 ,正负符号位
void init_port(void);void delay(char x,char y); void delay_1ms(void);void delay_ms(unsigned int time);void interrupt dealtime();void tmint(void);void timetoseg(uch fh_temp,uch bai_temp,uch shi_temp,uch ge_temp,uch sf_temp,uch bf_temp,uch qf_temp,uch wf_temp);void binary_temp(uch TL , signed char TH);void reset(void);void write_byte(uch val);uch read_byte(void);void get_temp(void);
unsigned char display_data[8];unsigned char intcount=0; uch TLV=0 ;??????????????????????? //采集到的温度高8位uch THV=0;???????????????????????? //采集到的温度低8位
union temp???????????????????????? //定义一个联合体{int T; uch TV[2]; }temp;
signed char TZ=0;???????????????????? //转换后的温度值整数部分,有符号位uch TX=0;??????????????????????????? //转换后的温度值小数部分
unsigned int wd;????????????????????????????? //转换后的温度值BCD码形式
unsigned char fh;?????????????????????????????? //符号位unsigned char bai;???????????????????????????? //整数百位unsigned char shi;???????????????????????????? //整数十位unsigned char ge;????????????????????????????? //整数个位unsigned char shifen;????????????????????????? //十分位unsigned char baifen;????????????????????????? //百分位unsigned char qianfen
原创力文档

文档评论(0)