资源简介
单片机通过DS18b20采集温度,发送给PC机,PC采用VB编程,VB接收单片机串口输入画图
VB6.0开发上位机程序,有源码
C51下位机程序有源码
采集18B20温度,并传给上位机,测试通过,绝对好用,全部工程都在文件里面
代码片段和文件信息
#include
#include
#define Key_UP P1_5
#define Key_DOWN P1_4
#define Key_SET P1_6
#define RelayOutPort P3_7
#define LEDPort P0
#define DELPort P3_6
#define LEDTwoC P2_6
#define LEDThreeC P2_7
#define TMPort P3_3
#define INBUF_LEN 5 //数据长度
unsigned char inbuf1[INBUF_LEN]={‘0‘‘0‘‘0‘‘0‘‘0‘};//发送缓冲区
unsigned char inbuf2[50];//接收缓冲区
unsigned char count3;
void init_serialcomm( void )
{
SCON = 0x50 ; //SCON: serail mode 1 8-bit UART enable ucvr
TMOD |= 0x20 ; //TMOD: timer 1 mode 2 8-bit reload
PCON |= 0x80 ; //SMOD=1;
TH1 = 0xFA ; //Baud:9600 fosc=11.0592MHz
IE |= 0x90 ; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run
}
//向串口发送一个字符
void send_char_com( unsigned char ch)
{
SBUF=ch;
while (TI== 0 );
TI= 0 ;
}
//向串口发送一个字符串,strlen 为该字符串长度
void send_string_com( unsigned char *str unsigned int strlen)
{
unsigned int k= 0 ;
do
{
send_char_com(*(str + k));
k++;
} while (k < strlen);
}
//串口接收中断函数
void serial () interrupt 4 using 3
{
if (RI) //RI==开始接收
{
unsigned char ch;
RI = 0 ; //软件RI=0
ch=SBUF;
if (ch> 1 )
{
count3= 0 ;
inbuf2[count3]=ch;
}
else
{
count3++;
inbuf2[count3]=ch;
}
}
}
unsigned char code LEDDis[]={0xC00xF90xA40xB00x990x920x820xF80x800x900xFF0xBF}; //0-9的LED笔划0xFF为空0xF7为负号
unsigned char dis_8[12]={‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘‘ ‘‘-‘};
static unsigned char bdata StateREG; //可位寻址的状态寄存器
sbit DS1820ON = StateREG^0; //DS1820是否存在
sbit SetTF = StateREG^1; //是否是在温度设置状态
sbit KeySETDown = StateREG^2; //是否已按过SET键标识
sbit PowTF = StateREG^3; //电源电源标识
sbit KeyTF = StateREG^4; //键盘是否允许
//sbit KeySETDowning = StateREG^5; //SET是否正在按下
static unsigned char bdata TLV _at_ 0x0029; //温度变量高低位
static unsigned char bdata THV _at_ 0x0028;
static signed char TMV; //转换后的温度值
static unsigned char KeyVTempKeyV; //键值
static unsigned char Second;
static unsigned char flag;
static signed char TMRomV _at_ 0x0027; //高温限制
static signed char TMSetV _at_ 0x0026; //温度设定值
static unsigned char KSDNum; //SET键连按时的采集次数
static unsigned char IntNumIntNum2IntNum3; //中断发生次数,IntNum用于SET长按检测,IntNum2用于设定状态时LED闪烁
static signed char LED_OneLED_TwoLED_Three; //LED的显示位 LED_One为十位,LED_Two为个位
static unsigned char Sign; //负号标识
void main(void)
{
void InitDS1820(void); //定义函数
void ROMDS1820(void);
void TMVDS1820(void);
void TMRDS1820(void);
void TMWDS1820(void);
void TMREDS1820(void);
void TMERDS1820(void);
void ReadDS1820(void);
void WriteDS1820(void);
void Delay_510(void);
void Delay_110(void);
void Delay_10ms(void);
void Delay_4s(void);
void V2ToV(void);
DELPort=1;
StateREG = 0; //初始化变量
SetTF = 0;
PowTF = 0; //关电源
THV = 0;
TLV = 0;
TMV = 0;
KeyV = 0;
TempKeyV = 0;
KSDNum = 0;
IntNum = 0;
IntNum2 = 0;
In
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 67327 2007-10-15 18:52 PC与单片机双向通讯智能温控程序\上位机PC程序.JPG
文件 17068 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM1.WAV
文件 14828 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM2.WAV
文件 14444 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM3.WAV
文件 1516 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM4.WAV
文件 8550 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM5.WAV
文件 42461 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM6.WAV
文件 28558 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM7.WAV
文件 209452 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM8.WAV
文件 76151 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\ALARM9.WAV
文件 25364 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\ba
文件 20524 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\BEEP1.WAV
文件 31788 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\BEEP2.WAV
文件 35372 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\BEEP3.WAV
文件 6092 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\BEOP.WAV
文件 7092 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\BLEEP1_S.WAV
文件 4972 2007-09-28 16:33 PC与单片机双向通讯智能温控程序\上位机VB程序\BUZZ1.WAV
文件 12460 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\BUZZ2.WAV
文件 22188 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\BUZZ3.WAV
文件 21740 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\BUZZ4.WAV
文件 19948 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\BUZZ5.WAV
文件 16618 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\CHOOCHOO.WAV
文件 4926 2001-01-22 18:53 PC与单片机双向通讯智能温控程序\上位机VB程序\Cls_linediagram.cls
文件 7347 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\ENGACK.WAV
文件 56864 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\FERYHORN.WAV
文件 20106 2010-01-19 15:56 PC与单片机双向通讯智能温控程序\上位机VB程序\frmMain.frm
文件 906 2010-01-19 15:56 PC与单片机双向通讯智能温控程序\上位机VB程序\frmMain.frx
文件 20 2010-01-19 15:59 PC与单片机双向通讯智能温控程序\上位机VB程序\hifans.ini
文件 6269 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\HONK.WAV
文件 23276 2007-09-28 16:34 PC与单片机双向通讯智能温控程序\上位机VB程序\HOOK1.WAV
............此处省略53个文件信息
评论
共有 条评论