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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機該怎么驅動小車 我這個程序為什么只能動一個輪子,我想動兩個該怎么寫程序 謝謝

[復制鏈接]
跳轉到指定樓層
樓主
ID:583807 發表于 2019-7-14 10:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit PW1=P2^0 ;
sbit PW2=P2^1 ;
sbit PW3=P2^2 ;
sbit PW4=P2^3 ; //控制電機的兩個輸入
sbit accelerate=P2^4 ; //調速按鍵
sbit stop=P2^5; //停止按鍵
sbit left=P2^6 ; //左轉按鍵
sbit right=P2^7 ; //右轉按鍵
#define right_turn PW1=0;PW2=1 //順時針轉動
#define left_turn PW1=1;PW2=0 //逆向轉動
#define end_turn PW1=1;PW2=1 //停轉
uint t0=25000,t1=25000; //初始時占空比為 50%
uint a=25000; // 設置定時器裝載初值 25ms 設定頻率為 20Hz
uchar flag=1; //此標志用于選擇不同的裝載初值
uchar dflag; //左右轉標志
uchar count; //用來標志速度檔位
void keyscan(); //鍵盤掃描
void delay(uchar z);
void time_init(); //定時器的初始化
void adjust_speed(); //通過 調整占空比來調整速度
void main(void)
{
time_init(); //定時器的初始化
while(1)
{
keyscan(); //不斷掃描鍵盤程序,以便及時作出相應的響應
}
}
void timer0() interrupt 1 using 0
{
if(flag)
{
flag=0;
end_turn;
a=t0; //t0 的大小決定著低電平延續時間
TH0=(65536-a)/256;
TL0=(65536-a)%256; //重裝載初值
}
else
{
flag=1; //這個標志起到交替輸出高低電平的作用
if(dflag==0)
{
right_turn; //右轉
}
else
{
left_turn; // 左轉
}
a=t1; //t1 的大小決定著高電平延續時間
TH0=(65536-a)/256;
TL0=(65536-a)%256; //重裝載初值
}
}
void time_init()
{
TMOD=0x01; // 工作方式寄存器 軟件起動定時器 定時器功能 方式 1 定時器 0
TH0=(65536-a)/256;
TL0=(65536-a)%256; //裝載初值
ET0=1; //開啟定時器中斷使能
EA=1; // 開啟總中斷
TR0=0;
}
//****************************************//
void delay(uchar z) //在 12M 下延時 z 毫秒
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//******************************//
void keyscan()
{
if(stop==0)
{
TR0=0; //關閉定時器 0 即可停止轉動
end_turn;
}
if(left==0)
{
TR0=1;
dflag=1; //轉向標志置位則左轉
}
if(right==0)
{
TR0=1;
dflag=0; //轉向標志復位則右轉
}
if(accelerate==0)
{
delay(5) ; //延時消抖
if(accelerate==0)
{
while(accelerate==0) ; //等待松手
count++;
if(count==1)
{
t0=20000;
t1=30000; //占空比為百分之 60
}
if(count==2)
{
t0=15000;
t1=35000; //占空比為百分之 70
}
if(count==3)
{
t0=10000;
t1=40000; //占空比為百分之 80
}
if(count==4)
{
t0=5000;
t1=45000; //占空比為百分之 90
}
if(count==5)
{
count=0;
}
}
}
}
這個程序只能動一個輪子
如果要是動兩個 該怎么該或者寫程序   求大佬幫忙  謝謝

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:583807 發表于 2019-7-15 10:57 | 只看該作者
沒有人理我嗎
回復

使用道具 舉報

板凳
ID:123289 發表于 2019-7-16 10:19 | 只看該作者
把你成功的事,再做一遍。
回復

使用道具 舉報

地板
ID:584881 發表于 2019-7-16 11:09 | 只看該作者
前面電機與后面電機換線連接下試試
回復

使用道具 舉報

5#
ID:585274 發表于 2019-7-16 17:19 | 只看該作者
PWM輸出的程序函數,定義兩個參數,然后調用
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品毛片无码 | 自拍偷拍第一页 | 久久久av | 午夜私人影院 | 欧美精品一区二区在线观看 | 免费成人高清在线视频 | 91精品国产综合久久精品 | 精品国产一区二区三区免费 | 久久综合888 | 国产精彩视频在线观看 | 精品在线一区二区 | 精品久久99 | 国产精品一卡二卡三卡 | 秋霞a级毛片在线看 | 国产小视频在线 | 一区二区三区四区国产精品 | 欧美综合精品 | 国产成人精品999在线观看 | 欧美日韩三区 | 日韩在线视频观看 | 亚洲午夜av | 91免费观看| 日本久久精 | 成人在线精品视频 | 特黄av| 国产精品区一区二 | 午夜电影福利 | 亚洲免费在线播放 | 色综合久久久 | 在线播放中文字幕 | 天堂一区二区三区四区 | 国产欧美精品一区 | 国产91丝袜在线播放 | 免费精品视频一区 | 亚洲精品国产一区 | 欧美vide | 久久亚洲天堂 | 亚洲激情在线观看 | 999久久久久久久久6666 | 超碰免费在线 | 久久久久无码国产精品一区 |