基于ds18b20通過藍牙模塊hc05發送資料,但同時使用定時器0計時,定時器1計算串口中斷的波特率似乎行不通,請問有大神指點一下嗎?
#include <reg52.h>
#include <intrins.h>
#include "DS18B20.h"
#include "eeprom52.h"
uchar bluetoothdata=https://bbs.csdn.net/topics/0;
uchar disdata[2]={0};
void InitUART(void)
{
SCON = 0x50;
PCON = 0x80;
ES = 1;
PS=1;
TMOD = 0x21;
TH0=0xDB;
TL0=0xFF;
TH1 = 0xFA;
TL1 = TH1;
TR0 = 1;
ET0 = 0;
TR1 = 1;
EA = 1;
}
void SendOneByte(unsigned char dat)
{
SBUF = dat;
while(!TI);
TI = 0;
}
int main(void)
{
InitUART();
while(1);
}
void timer0() interrupt 1
{
static int count;
int wendu,i;
TH0=0xDB;
TL0=0xFF;
count++;
if(count==100)
{
count=0;
wendu=ReadTemp1();
disdata[0]=wendu%100/10+'0';
disdata[1]=wendu%10+'0';
for(i=0;i<2;i++)
{
SendOneByte(disdata[i]);
}
}
}
void UARTInterrupt() interrupt 4
{
if(RI)
{
RI = 0;
bluetoothdata=https://bbs.csdn.net/topics/SBUF;
SendOneByte(bluetoothdata);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/25619.html
標籤:單片機/工控
