24小时热门版块排行榜    

查看: 3022  |  回复: 0

w_wj

铜虫 (小有名气)

[求助] 求助 KeilC 51单片机 利用定时器使串口每隔1s输出数据

主要是想将温度传感器DS18B20采到的温度值通过串口每隔1s输出。1s定时是通过定时器完成的,设定初值为50ms,中断20次,产生1s定时。但是问题是现在串口输出不了数据,包括数码管都无法显示温度值了。。。具体程序如下,希望高手帮忙看看思路是否有错误。。。。

主函数部分:
void main()
{
    int Data;
        ds_init();   //18B20初始化
        init_serial()   ;        //串口初始化                               
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;

        TR0=1;
        initTimer0();
       
    while(1)
        {
           ds_getT();// DS18B20温度值获取

           Data=(TemH+(float)(count&0xff)/100)*100;  //将温度值扩大100倍,即去掉小数点的作用

       display((Data/1000)%100,(Data/100)%10,(Data/10)%10,(Data%10));//温度发送到数码管显示

                 if(time_1s_flag==0)  //   定时1s时间到
                         {
                            time_1s_flag=1;
                            senddata(Data);//串口输出
                         }
        }                                                       
}


串口输出部分:

void init_serial()                                    //初始化串口
{
        TMOD=0x20;                                            //定时器T1使用工作方式2
        TH1=0xfd;                                             //设置初值253
        TH0=0xfd;
        TR1=1;                                              //开始计时
        PCON=0x00;                                             //SMOD=0;
        SCON=0x50;                                             //工作方式1,波特率9600bit/s,允许接收
        TI=1;
        EA=1;
}

void  sersend(char dat)
{
        while(TI!=1);   // TI为发送中断标志,在一帧数据发送完时被置位,sbuf已空
        {
        SBUF=dat;
        TI=0;       
        }

}


void senddata(int dat)
{
        char senbuf[4];
        char i;
        senbuf[0]=(dat/1000)%100+'0';
        senbuf[1]=(dat/100)%10+'0';
        senbuf[2]=(dat/10)%10+'0';
        senbuf[3]=(dat%10)+'0';
        for(i=0;i<4;i++)
    sersend(senbuf); // 将温度值传送完
   
        sersend('\r');
        sersend('\n');

定时器部分:
void initTimer0()
{   
     
     TMOD=0x01;
         TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;

}

void timer0() interrupt 1
{
     TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
         tick_count++;

         if(tick_count>=20)
   {
     tick_count=0;
     time_1s_flag=0;
   }
   
}
回复此楼
等待。。。。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 w_wj 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 QUjhNVAcOSff 2026-09-13 5/250 2026-09-14 21:25 by vZfe6xYu34yj
[考博] 上海工程技术大学激光智能制造课题组招收博士研究生 +4 两三岁ss 2026-09-14 4/200 2026-09-14 20:29 by 班主任的同桌
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-14 18:01 by Aj1rhIDL5ixY
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:49 by Aj1rhIDL5ixY
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:25 by Aj1rhIDL5ixY
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:12 by Aj1rhIDL5ixY
[找工作] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 16:00 by Aj1rhIDL5ixY
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:48 by Aj1rhIDL5ixY
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:45 by Aj1rhIDL5ixY
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:37 by Aj1rhIDL5ixY
[考博] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 15:13 by Aj1rhIDL5ixY
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 15:09 by Aj1rhIDL5ixY
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 14:57 by Aj1rhIDL5ixY
[基金申请] 求教各位大神:2026教育部人文社科青年基金项目何时公示呀? +5 云宴山人 2026-09-10 7/350 2026-09-14 12:11 by ecnu2013
[找工作] 浙江师范大学是怎么坑我的 +6 recruit123 2026-09-09 6/300 2026-09-14 12:00 by 萨仁其其格
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 10:11 by 23jxep3nCNZb
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 10:01 by 23jxep3nCNZb
[考博] 西北工业大学材料学院电化学传感与催化课题组招收2027年推免研究生、博士生、博士后 +3 马方园 2026-09-10 4/200 2026-09-14 09:29 by Chem张zz
[教师之家] 浙江师范大学是怎么坑我的 +10 recruit123 2026-09-09 15/750 2026-09-13 10:45 by seaskyy
[有机交流] 科研求助 10+4 我吃一只鱼 2026-09-07 4/200 2026-09-10 08:32 by 0940628
信息提示
请填处理意见