基于89C52的DH11 C语言测试程序
2MHz 串口发
//送温湿度数据,波特率 9600
//----------------------------------------------
voidmain()
{
U8 i,j;
//uchar str[6]={"RS232"};
TMOD = 0x20;//定时器T1使用工作方式2
TH1 = 253;// 设置初值
TL1 = 253;
TR1 = 1;// 开始计时
SCON = 0x50;//工作方式1,波特率9600bps,允许接收
ES = 1;
EA = 1;// 打开所以中断
TI = 0;
RI = 0;
SendData(str) ;//发送到串口
Delay(1);//延时100US(12M晶振)
while(1)
{
//------------------------
//调用温湿度读取子程序
RH();
//串口显示程序
//--------------------------
str[0]=U8RH_data_H;
str[1]=U8RH_data_L;
str[2]=U8T_data_H;
str[3]=U8T_data_L;
str[4]=U8checkdata;
SendData(str) ;//发送到串口
//读取模块数据周期不易小于 2S
Delay(20000);
}//elihw
}// main
voidRSINTR() interrupt 4using2
{
U8 InPut3;
if(TI==1)//发送中断
{
TI=0;
if(count!=5)//发送完5位数据
{
SBUF= outdata[count];
count++;
}
}
if(RI==1)//接收中断
{
InPut3=SBUF;
indata[count_r]=InPut3;
count_r++;
RI=0;
if(count_r==5)//接收完4位数据
{
//数据接收完毕处理。
count_r=0;
str[0]=indata[0];
str[1]=indata[1];
str[2]=indata[2];
str[3]=indata[3];
str[4]=indata[4];
P0=0;
}
}
}
89C52DH11C语言测 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)