久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 求大神幫忙看一段程序!單片機(jī)測(cè)速度和心率的 [打印本頁(yè)]

作者: lixin201413    時(shí)間: 2017-6-22 10:07
標(biāo)題: 求大神幫忙看一段程序!單片機(jī)測(cè)速度和心率的
我這段程序是測(cè)速度和心率的,但是我現(xiàn)在燒進(jìn)52后,在串口小程序里收不到數(shù)據(jù),連0也沒(méi)有,設(shè)置串口小程序顯示16進(jìn)制了,還是沒(méi)有,求大神指點(diǎn),是我哪里寫(xiě)錯(cuò)了,應(yīng)該怎么改!謝謝



#include <reg52.h>

unsigned char flag_d = 0;        //發(fā)送標(biāo)志
unsigned char time = 0;                /
unsigned int heart = 0;                //心率變量
unsigned int  num[2]  = {0,0};                //
unsigned int speed = 0;
float temp;
float count = 0;                        //間隔時(shí)間

//發(fā)送字符
void UART_SChar(unsigned char ch)
{
        SBUF = ch;                                //發(fā)送數(shù)據(jù)
        while(TI == 0);                        //等待發(fā)送完成
        TI = 0;                                        //清楚發(fā)送標(biāo)志
}

void main(void)
{
        TMOD = 0x21;                                //定時(shí)器工作方式
        SCON = 0X40;                                //串口工作方式
        TH0 = (65536-45872)/256;                                           //定時(shí)器0初值
        TL0        = (65536-45872)%256;
        TH1 = 0XFD;                                        //定時(shí)器1初值
        TL1 = 0XFD;
        IT0 = 0;                                        //外部中斷0低電平觸發(fā)速度
        IT1 = 1;          //下降沿觸發(fā)心率
        EA  = 1;                //開(kāi)中斷
        ES  = 1;          //開(kāi)串行口中斷
        EX0 = 1;                                        //開(kāi)外部0中斷
        EX1 = 1;          //開(kāi)外部1中斷
        ET0 = 1;                //開(kāi)定時(shí)器0中斷
        ET1 = 1;
        TR0 = 1;
        TR1 = 1;                                        //啟動(dòng)定時(shí)器1


        while(1)
        {
                if(flag_d != 0)                        //如果發(fā)送標(biāo)志位有效
                 {
                        UART_SChar(0x00);        //發(fā)送數(shù)據(jù)
                        UART_SChar(speed);        //發(fā)送數(shù)據(jù)
                        UART_SChar(0xff);        //發(fā)送數(shù)據(jù)
                        if(flag_d == 2)                  
                         {
                                                        UART_SChar(0x00);           //發(fā)送數(shù)據(jù)
                                UART_SChar(heart);   //發(fā)送數(shù)據(jù)  
                                                        UART_SChar(0xff);    //發(fā)送數(shù)據(jù)
                          }
                   }
                      flag_d = 0;                        //清除標(biāo)志                 
          }
}

//T0中斷服務(wù)程序
  void T0_ISR(void) interrupt 1                  //
{
        TH0 = (65536-45872)/256;
        TL0 = (65536-45872)%256;
        speed = num[0];
        num[0] = 0 ;
        flag_d = 1 ;
                if (time == 40)
               {
                          heart = num[1];
                          num[1] = 0 ;
                          flag_d = 2 ;
                          time = 0 ;                                 
                 }
         time++;
}

  void INT0_ISR(void) interrupt 0
{
        num[0]++;        
}

//外部中斷1服務(wù)程序
void INT1_ISR(void) interrupt 2                  //
{
  num[1]++;         
  }
        


作者: cjjcjj1    時(shí)間: 2017-6-22 10:49
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: lixin201413    時(shí)間: 2017-6-22 10:52
cjjcjj1 發(fā)表于 2017-6-22 10:49
if(flag_d != 0)       那就是發(fā)送標(biāo)志位一直處于無(wú)效狀態(tài)

不是啊  if(flag_d != 0)的意思不是判斷flag_d 等不等于0嗎?為啥是移植處于無(wú)效?
作者: lixin201413    時(shí)間: 2017-6-22 11:05
cjjcjj1 發(fā)表于 2017-6-22 10:49
if(flag_d != 0)       那就是發(fā)送標(biāo)志位一直處于無(wú)效狀態(tài)

if(flag_d != 0) 這不是判斷flag_d等不等于0嗎?為啥是無(wú)效呢
作者: lixin201413    時(shí)間: 2017-6-22 11:05
為啥是無(wú)效呢?這個(gè)不是判斷標(biāo)志位是不是0嗎?
作者: team3dso    時(shí)間: 2017-6-22 11:15
while(TI == 0);   
這個(gè)TI有定義的地方嗎
作者: 騰飛的龍    時(shí)間: 2017-6-22 15:23
void init() {         TMOD=0x20;  //TMOD=0010 0000B,定時(shí)器T1工作于方式2               SCON=0x50;           //SCON=0101 0000B,串口工作方式1 1起始位8數(shù)據(jù)位1停止位             PCON=0x00;  //PCON=0000 0000B,波特率9600  晶振11.0592             TH1=0xfd;    //根據(jù)規(guī)定給定時(shí)器T1賦初值             TL1=0xfd;    //根據(jù)規(guī)定給定時(shí)器T1賦初值             TR1=1;      //啟動(dòng)定時(shí)器T1  }
作者: cjjcjj1    時(shí)間: 2017-6-22 15:53
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: 1114207952    時(shí)間: 2017-6-22 16:09
不清楚_(:з」∠)_




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 我爱操 | 91精品国产综合久久婷婷香蕉 | 久久久久av | 国产日韩一区二区 | 午夜男人免费视频 | 亚洲欧美一区二区三区视频 | 一级无毛片 | 午夜视频免费在线观看 | 中文字幕乱码一区二区三区 | 久久精品亚洲精品国产欧美 | 久久久久久久一区 | 男女视频免费 | 黄色一级毛片 | 56pao在线| 奇米影视首页 | 欧美a区| 毛片99| 国产一区二区三区四 | 天天干视频 | 亚洲国产精品视频一区 | 99精品99 | 国产亚洲精品久久久优势 | 成人精品鲁一区一区二区 | 日日躁狠狠躁aaaaxxxx | 亚洲欧洲成人av每日更新 | 亚洲 自拍 另类 欧美 丝袜 | 成人精品影院 | 一区二区三区在线 | 亚洲在线一区二区 | 久久夜视频 | va精品| 国产精品久久久久久久三级 | 久久免费视频在线 | 有码一区 | 91亚洲一区| 在线日韩欧美 | 国产欧美一区二区三区在线看 | 成人三区 | 午夜精品一区二区三区在线 | 久久亚洲一区二区三 | 久久伊人青青草 |