資源簡介
調速是簡單的調節占空比(分別30%,40%,60%,90%),驅動模塊可以在某寶購買
代碼片段和文件信息
#include
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
void?delay();
void?delay_us();
void?Matrix_Keyboard();
sbit?IN3=P2^2;
sbit?IN4=P2^1;
sbit?ENB=P2^0;
sbit?zheng?=?P1?^?3;
sbit?fan?=?P1?^?2;
sbit?accelerate?=?P1?^?1;
sbit?decelerate?=?P1?^?0;
sbit?com_key?=?P1^4;
uchar?num=0gao_numdi_num;
void?delay(uint?z)
{
????uint?jk;
for(j=z;j>0;j--)
??for(k=125;k>0;k--);
}
void?delay_us(uint?aa)???
{
????while(aa--);
}
void?Matrix_Keyboard() ???????????????//矩陣鍵盤
{
????if?(zheng?==?0)???????????????//說明此時有按鍵按下????
{
delay(5);???????????????????????????//去抖動延遲
if?(zheng?==?0)???????????//再次確認有按鍵按下
{
????ENB=0;
IN3=1;
IN4=0;
while?(!zheng);????//不斷掃描P1口,等待按鍵釋放
}
}
if?(fan?==?0)???????????????//說明此時有按鍵按下????
{
delay(5);???????????????????????????//去抖動延遲
if?(fan?==?0)???????????//再次確認有按鍵按下
{
????ENB=0;
IN3=0;
IN4=1;
while?(!fan);????//不斷掃描P1口,等待按鍵釋放
}
}
if?(accelerate?==?0)???????????????//說明此時有按鍵按下????
{
delay(5);???????????????????????????//去抖動延遲
if?(accelerate?==?0)???????????//再次確認有按鍵按下
{
num++;
if(num==5)
??num=4;
while?(!accelerate);????//不斷掃描P1口,等待按鍵釋放
}
}
if?(decelerate?==?0)???????????????//說明此時有按鍵按下????
{
delay(5);???????????????//去抖動延遲
if?(decelerate?==?0?)???????
評論
共有 條評論