欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機風扇控制程序出錯
[打印本頁]
作者:
單片機我C你馬
時間:
2024-4-22 15:52
標題:
單片機風扇控制程序出錯
大佬們這是我的風扇控制程序代碼顯示是沒有報錯的,但是輸入進單片機里面卻是無法運行的。麻煩各位大佬看看這是哪里的問題,用的是52單片機
#include <REGX52.H>
#include<stdio.h>
sbit DJA=P2^0;
sbit DJB=P2^1;
sbit S1=P3^2;
sbit S2=P3^3;
bit flag;
unsigned char number;
void delay(unsigned int i)
{
unsigned int k;
for(k=0;k<i;k++);
}
void pwm(bit a,bit b,unsigned int d1,unsigned int d2)
{
DJB=a;
DJA=b;
delay(d1);
DJA=0;
DJB=0;
delay(d2);
}
void main()
{
flag=0;
number=0x00;
DJA=0;
DJB=0;
while(1)
{
if(S1==0)
{
delay(1200);
if(S1==0)
{
while(!S1);
flag=~flag;
}
if(S2==0)
{delay(1200);
if(S2==0)
{
while(!S2);
if(number<=3)
number++;
else number=0x01;}
}
if(!flag)
{
switch(number)
{
case 0x01:pwm(0,1,720,1680);break;
case 0x02:pwm(0,1,1250,1250);break;
case 0x03:pwm(0,1,1680,720);break;
default:;
}
}
else
{
switch(number)
{
case 0x01:pwm(0,1,720,1680);break;
case 0x02:pwm(0,1,1250,1250);break;
case 0x03:pwm(0,1,1680,720);break;
default:;}
}
}
}
}
作者:
ymt
時間:
2024-4-22 18:12
后兩個IF判斷最好不在嵌套在S1按鍵內部。
作者:
devcang
時間:
2024-4-22 18:36
程序代碼的邏輯有問題吧,,,,,沒有需求、說明也不詳細,,,,大概理解,應該是這樣
#include <REGX52.H>
#include<stdio.h>
sbit DJA=P2^0;
sbit DJB=P2^1;
sbit S1 =P3^2;
sbit S2 =P3^3;
bit flag;
unsigned char number;
void delay(unsigned int i){
unsigned int k;
for(k=0;k<i;k++);
}
void pwm(bit a,bit b,unsigned int d1,unsigned int d2){
DJB=a;
DJA=b;
delay(d1);
DJA=0;
DJB=0;
delay(d2);
}
void main(){
flag=0;
number=0x00;
DJA=0;
DJB=0;
while(1){
if(S1==0){
delay(1200);
if(S1==0){
while(!S1);
flag=~flag;
}
}
if(S2==0){
delay(1200);
if(S2==0){
while(!S2);
if(number<=3) number++; else number=0x01;
}
}
if(!flag){
switch(number){
case 0x01:pwm(0,1, 720,1680);break;
case 0x02:pwm(0,1,1250,1250);break;
case 0x03:pwm(0,1,1680, 720);break;
default:;
}
}else{
switch(number){
case 0x01:pwm(0,1, 720,1680);break;
case 0x02:pwm(0,1,1250,1250);break;
case 0x03:pwm(0,1,1680, 720);break;
default:;
}
}
}
}
復制代碼
作者:
xiaobendan001
時間:
2024-4-23 10:21
這pwm用delay完成,那pwm期間按鍵不是就掃不到了?
作者:
heyanrog
時間:
2024-4-24 17:37
#define pwm_max 100
uchar pwm,set_pwm;//set_pwm不大于pwm_max
void pwm_out
{
pwm++;
if(pwm>pwm_max)pwm=0;
iif(set_pwm>=pwm){DJA=1;DJB=1;}//
else {DJA=0;DJB=0;}
}
作者:
szqinyi
時間:
2024-4-25 15:26
PWM和按鍵掃描建議不要用delay,換一種方式。
按鍵掃描中使用delay都是在教學視頻中的程序,實戰絕對不能用。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1