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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1333|回復: 3
打印 上一主題 下一主題
收起左側

單片機藍牙小車的程序,中斷PWM與串口中斷在一起出錯

[復制鏈接]
跳轉到指定樓層
樓主

已經做了快2周了。差程序。一個中斷PWM,一個串口中斷。兩個在一起不會寫。。。前后是通過一個電機驅動,左右是通過舵機控制。,寫的程序問題好多。希望有大神指點迷津~~~
#include<reg52.h>

sbit pwm = P0^0;
sbit E1 = P2^0;
sbit E2 = P2^1;
sbit jia =P2^2;
sbit jan =P2^3;

unsigned char jd = 3;
unsigned char count;

void UART_int(unsigned char baud);
void Timer_int0();
void Init()
{  
  E1 = 0;
  E2 = 0;
  jd = 4;
  count = 0;
}

void QJ()
{
  E1 = 1;
  E2 = 0;
}
void HT()
{
  E1 = 0;
  E2 = 1;
}
void TZ()
{
  E1 = 0;
  E2 = 0;
}
void ZUO()
{     
    count = 0;      
      jd = 4;   
}
void YOU()
{  
    count = 0;      
      jd = 2;
}
void ZHONG()
{  
  count = 0;
  jd=3;
}


void main()
{
  Init();
  Timer_int0();
   UART_int(9600);

  while(1)
  {
      switch(SBUF)
    {
      case 'Q': QJ();   break;   
      case 'H': HT();   break;   
      case 'K': TZ();   break;
      case 'Z': ZUO();  break;
      case 'Y': YOU();  break;
      case 'T': ZHONG();break;

    }
  }
}

void UART_int(unsigned char baud)
{
  SCON = 0x50;
  TMOD |= 0x21;  
  TH1 = 256 - (11059200/12/32)/baud;  
  TL1 = TH1;
  ET1 = 0;   
  ES  = 1;
  TR1 = 1;
  EA  = 1;
}


void Timer_int0()
{

    TR0 =0;
    TH0 = 0xFE;
    TL0 = 0x33;
    ET0 = 1;
    TR0 = 1;           
}

void InterruptTimer1() interrupt 4
{
  if(RI)
  {
    RI = 0;
  }  
}

void InterruptTime0() interrupt 1
{
  TH0 = 0xFE;
  TL0 = 0x33;

  if(count<jd)
      pwm = 1;
  else
      pwm =  0;
  count = (count+1);
  count = count%40;
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:621199 發表于 2019-10-20 15:40 | 只看該作者
這個問題還沒解決,,希望大佬們指點迷津!~~~
回復

使用道具 舉報

板凳
ID:213173 發表于 2019-10-20 20:39 | 只看該作者
學子喲 發表于 2019-10-20 15:40
這個問題還沒解決,,希望大佬們指點迷津!~~~

void UART_int(unsigned char baud)   baud的數據范圍0~255,溢出部分無效,只剩128。
應改為void UART_int(unsigned int baud)

這樣改更好
void UART_int()
{  
  SCON=0x50;
  TMOD|=0X21;
  TH1=TL1=-(11059200L/12/32/9600);
  ET1 = 0;   
  ES  = 1;
  TR1 = 1;
  EA  = 1;
}
回復

使用道具 舉報

地板
ID:621199 發表于 2019-10-21 21:28 | 只看該作者
wulin 發表于 2019-10-20 20:39
void UART_int(unsigned char baud)   baud的數據范圍0~255,溢出部分無效,只剩128。
應改為void UART_ ...

嗯,我試了。但是舵機依舊不能轉動。是什么原因呢,望大佬解惑~
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线91| 精品av | 操操日 | 最新中文字幕在线播放 | 亚洲国产中文在线 | 久久一二区 | 波多野结衣二区 | av免费观看在线 | 国产欧美一区二区精品久导航 | 精品一区二区久久久久久久网站 | 日韩亚洲欧美综合 | 天啪| 久久国产婷婷国产香蕉 | 久久亚洲精品国产精品紫薇 | 18性欧美 | 亚洲日日夜夜 | 精品美女久久久久久免费 | 午夜电影一区二区 | 国产成人黄色 | 国产ts人妖一区二区三区 | 波多野结衣中文字幕一区二区三区 | 日本羞羞影院 | 一区二区三区四区不卡 | 久久久精品一区二区三区 | 成人免费在线观看 | 在线视频a | 成人免费一区二区三区视频网站 | 亚洲日本激情 | 国产精品美女一区二区 | 国内精品一区二区三区 | 国产免费一二三区 | 一区在线观看视频 | 日韩不卡视频在线 | 国产一区二区精品在线 | 欧美11一13sex性hd | 91综合网| 国产精品一卡 | 久久综合国产 | 无毛av| 久久免费大片 | 日韩一二三区 |