欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)直流電機(jī)正反轉(zhuǎn)程序存在的問(wèn)題
[打印本頁(yè)]
作者:
jony1122
時(shí)間:
2024-3-17 21:07
標(biāo)題:
單片機(jī)直流電機(jī)正反轉(zhuǎn)程序存在的問(wèn)題
下面這個(gè)馬達(dá)正反轉(zhuǎn)程序是我用論壇里的紅綠燈程序改的,存在以下問(wèn)題:1.開機(jī)直接就啟動(dòng)了,需求是按下
P2^0才啟動(dòng),
P2^0是點(diǎn)動(dòng)開關(guān);
2.反轉(zhuǎn)后停止,現(xiàn)在是直接就停止了,需求在停止需保持1秒再斷開;
另外有點(diǎn)不理解的是
case 1:
start=1;cw=0;ccw=1;stop=1;
這里啟動(dòng)不是關(guān)閉的嗎,為什么會(huì)通呢。
各位幫忙看看是需要改動(dòng)哪里。
感謝!
單片機(jī)源程序如下:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit start = P2^0; //啟動(dòng)
sbit cw = P2^1; //馬達(dá)正轉(zhuǎn)
sbit ccw = P2^2; //馬達(dá)反轉(zhuǎn)
sbit stop = P2^3; //馬達(dá)停止
uchar Time_Count = 0,Flash_Count = 0,Operation_Type = 1;
void T0_INT() interrupt 1
{
TH0 = -50000/256;
TL0 = -50000%256;
switch(Operation_Type)
{
case 1:
start=1;cw=0;ccw=1;stop=1;
if(++Time_Count != 10) return;
Time_Count=0;
Operation_Type = 2;
break;
case 2:
start=1;cw=1;ccw=0;stop=1;
if(++Time_Count != 100) return;
Time_Count=0;
Operation_Type = 3;
break;
case 3:
start=1;cw=1;ccw=1;stop=0;
if(++Time_Count != 100) return;
Time_Count=0;
Operation_Type = 4;
break;
case 4:
start=1;cw=1;ccw=1;stop=1;
if(++Time_Count != 10) return;
Time_Count=0;
break;
}
}
void main()
{
TMOD = 0x01;
IE = 0x82;
TR0 = 1;
while(1);
}
復(fù)制代碼
作者:
Hephaestus
時(shí)間:
2024-3-17 21:42
1)沒(méi)有按鍵操作。2)Operation_Type在中斷里面自動(dòng)的從1增加到4然后保持4不變了,其他地方?jīng)]有修改的語(yǔ)句。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1