亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
這個單片機(jī)程序?yàn)槭裁窗聪耴ey2按鍵,小燈不進(jìn)行呼吸?
[打印本頁]
作者:
6010010
時間:
2019-3-7 22:50
標(biāo)題:
這個單片機(jī)程序?yàn)槭裁窗聪耴ey2按鍵,小燈不進(jìn)行呼吸?
#include<REG52.h>
#define uchar unsigned char
unsigned char PWM_COUNT;
unsigned int HUXI_COUNT;
unsigned char PWM_VLAUE;
bit direc_flag;
sbit led1=P0^0;
sbit led2=P0^1;
sbit led3=P0^2;
sbit led4=P0^3;
sbit led5=P0^4;
sbit led6=P0^5;
sbit led7=P0^6;
sbit led8=P0^7;
sbit w1=P2^4;
sbit key1 = P2^0;
sbit key2 = P2^1;
unsigned char smg_date[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x98,0x88,0x83,
0xa7,0xa1,0x86,0x8e};
uchar an = 0;
void keyscan();
void delayms (uchar time)//???
{
for(time; time>0; time--)
{
TMOD = 0x01;
TH0 = 0xfc;
TL0 = 0x18;
TR0 = 1; //?????????0
while(TF0!=1);//???????
EA=1;
ET0 = 1;
TR0 = 0;
}
}
void scan_key (void)
{
if (!key1)
{
delayms (10);
if (!key1)
{
delayms (5);
while (!key1);
an++;
if (an==9)
{
an = 0;
}
}
}
}
void main (void)
{
w1=0;
while (1)
{
scan_key ();
if (an==0)
{
led1 = 1;
led2 = 1;
led3 = 1;
led4 = 1;
led5 = 1;
led6 = 1;
led7 = 1;
led8 = 1;
P1=smg_date[0];
an=0;
}
if (an==1)
{
led1 = 0;
led2 = 1;
led3 = 1;
led4 = 1;
led5 = 1;
led6 = 1;
led7 = 1;
led8 = 1;
P1=smg_date[1];
an=1;
}
if (an==2)
{
led1 = 1;
led2 = 0;
led3 = 1;
led4 = 1;
led5 = 1;
led6 = 1;
led7 = 1;
led8 = 1;
P1=smg_date[2];
an=2;
}
if (an==3)
{
led1 = 1;
led2 = 1;
led3 = 0;
led4 = 1;
led5 = 1;
led6 = 1;
led7 = 1;
led8 = 1;
P1=smg_date[3];
an=3;
}
if (an==4)
{
led1 = 1;
led2 = 1;
led3 = 1;
led4 = 0;
led5 = 1;
led6 = 1;
led7 = 1;
led8 = 1;
P1=smg_date[4];
an=4;
}
if (an==5)
{
led1 = 1;
led2 = 1;
led3 = 1;
led4 = 1;
led5 = 0;
led6 = 1;
led7 = 1;
led8 = 1;
P1=smg_date[5];
an=5;
}
if (an==6)
{
led1 = 1;
led2 = 1;
led3 = 1;
led4 = 1;
led5 = 1;
led6 = 0;
led7 = 1;
led8 = 1;
P1=smg_date[6];
an=6;
}
if (an==7)
{
led1 = 1;
led2 = 1;
led3 = 1;
led4 = 1;
led5 = 1;
led6 = 1;
led7 = 0;
led8 = 1;
P1=smg_date[7];
an=7;
}
if (an==8)
{
led1 = 1;
led2 = 1;
led3 = 1;
led4 = 1;
led5 = 1;
led6 = 1;
led7 = 1;
led8 = 0;
P1=smg_date[8];
}
if (an==9)
{
led1 = 1;
led2 = 1;
led3 = 1;
led4 = 1;
led5 = 1;
led6 = 1;
led7 = 1;
led8 = 1;
P1=smg_date[9];
}
if(key2==0)
{
delayms(5);
if(key2==0)
{
while(!key2);
TR0=1;
}
}
}
switch(an)
{
case 1: if (PWM_COUNT==PWM_VLAUE)
{
led1=1;
}
if(PWM_COUNT==10)
{
led1=0;
PWM_COUNT=0;
}
break;
case 2: if (PWM_COUNT==PWM_VLAUE)
{
led2=1;
}
if(PWM_COUNT==10)
{
led2=0;
PWM_COUNT=0;
}
break;
case 3: if (PWM_COUNT==PWM_VLAUE)
{
led3=1;
}
if(PWM_COUNT==10)
{
led3=0;
PWM_COUNT=0;
}
break;
case 4: if (PWM_COUNT==PWM_VLAUE)
{
led4=1;
}
if(PWM_COUNT==10)
{
led4=0;
PWM_COUNT=0;
}
break;
case 5: if (PWM_COUNT==PWM_VLAUE)
{
led5=1;
}
if(PWM_COUNT==10)
{
led5=0;
PWM_COUNT=0;
}
break;
case 6: if (PWM_COUNT==PWM_VLAUE)
{
led6=1;
}
if(PWM_COUNT==10)
{
led6=0;
PWM_COUNT=0;
}
break;
case 7: if (PWM_COUNT==PWM_VLAUE)
{
led7=1;
}
if(PWM_COUNT==10)
{
led7=0;
PWM_COUNT=0;
}
break;
case 8: if (PWM_COUNT==PWM_VLAUE)
{
led8=1;
}
if(PWM_COUNT==10)
{
led8=0;
PWM_COUNT=0;
}
break;
}
}
void T0_timer() interrupt 1
{
PWM_COUNT++;
HUXI_COUNT++;
if((HUXI_COUNT==600)&&(direc_flag==1))
{
HUXI_COUNT=0;
PWM_VLAUE--;
if(PWM_VLAUE==1)
direc_flag=0;
}
if((HUXI_COUNT==600)&&(direc_flag==0))
{
HUXI_COUNT=0;
PWM_VLAUE++;
if(PWM_VLAUE==9)
direc_flag=1;
}
}
復(fù)制代碼
作者:
HC6800-ES-V2.0
時間:
2019-3-8 08:37
一般的高手都不會看你的程序的,我嘛,看看了。
問題一:為什么不呼吸?因?yàn)槟愕膕witch部分,全部在主循環(huán)外,根本沒有執(zhí)行到嘛。
問題二:就是把它放入主循環(huán)了,也要等好一會,燈才會閃,注意,是閃,亮一個很短時間就滅了,不是呼吸。說明呼吸這部分程序是有問題的。看不懂你的呼吸程序,你這個呼吸程序好像太復(fù)雜了。
建議:你先做一個只讓燈呼吸起來的程序吧,單一功能看能不能實(shí)現(xiàn)。
作者:
yaoji123
時間:
2019-3-8 08:54
可能有二個問題:定時器定時值中斷后未重裝,主程序在執(zhí)行過程時間長,可能判斷值過程起不到作用。如果定時器只是為延時,不好用空操作作為延時。
作者:
lfc315
時間:
2019-3-8 10:16
應(yīng)該是按下按鍵后,程序就進(jìn)入到void scan_key里面出不來了,程序在等你放開按鍵;
檢測按鍵的函數(shù)改一下
作者:
良秀綿綿
時間:
2019-3-8 10:58
程序有大問題,慢慢找吧啊
作者:
static
時間:
2019-3-8 11:35
本帖最后由 static 于 2019-3-22 10:04 編輯
程式邏輯沒理
作者:
static
時間:
2019-3-8 11:37
本帖最后由 static 于 2019-3-22 10:03 編輯
這經(jīng)里有別人處理按鍵與被執(zhí)行事物處理的例子
作者:
lfc315
時間:
2019-3-8 11:48
應(yīng)該是 while(!key2); 這句的問題?
作者:
菜用雞
時間:
2019-3-8 22:39
以后加點(diǎn)注釋,才有人愿意看,不然看得難受
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1