亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
為什么第三倒計(jì)時個不會執(zhí)行
[打印本頁]
作者:
108880802
時間:
2020-1-30 14:40
標(biāo)題:
為什么第三倒計(jì)時個不會執(zhí)行
#include "reg51.h"
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit beep=P1^5;
sbit led1=P2^5;
sbit led2=P2^6;
sbit led3=P2^7;
sbit k1=P3^2;
sbit k2=P3^3;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 wei =0;
u16 number = 0;
u16 val = 30;
u16 ershi= 20;
u16 shiwu= 15;
u8 code smgduan[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x38};
int k=0;
void delay(long int i)
{
while(i--);
}
void Timer0Init()
{
TMOD|=0X01;
TH0=0XFC;
TL0=0X18;
ET0=1;
EA=1;
TR0=1;
}
void sanshi()
{
number = val;
for(wei=0;number!=0;wei++)
{
switch(wei)
{
case(0):
LSA=0;LSB=0;LSC=0;break;
case(1):
LSA=1;LSB=0;LSC=0;break;
}
P0=smgduan[number%10];
delay(10);
P0=0x00;
number = number/10;
}
}
void ershi1()
{
number = ershi;
for(wei=0;number!=0;wei++)
{
switch(wei)
{
case(0):
LSA=0;LSB=0;LSC=0;break;
case(1):
LSA=1;LSB=0;LSC=0;break;
}
P0=smgduan[number%10];
delay(10);
P0=0x00;
number = number/10;
}
}
void shiwu1()
{
number = shiwu;
for(wei=0;number!=0;wei++)
{
switch(wei)
{
case(0):
LSA=0;LSB=0;LSC=0;break;
case(1):
LSA=1;LSB=0;LSC=0;break;
}
P0=smgduan[number%10];
delay(10);
P0=0x00;
number = number/10;
}
}
void Timer0() interrupt 1
{
static int i;
TH0=0XFC;
TL0=0X18;
i++;
if(i==1000)
{
val--;
ershi--;
shiwu--;
i=0;
P0=smgduan[++k];
if(ershi==-1)ershi=20;
}
}
void main()
{
int i;
Timer0_Init();
while(1)
{
sanshi();
if(val==1)beep=~beep;
if(val==0)break;
}
while(1)
{
ershi1();
if(ershi==1)beep=~beep;
if(ershi==0)break;
}
while(1)
{
shiwu1();
if(shiwu==1)beep=~beep;
if(shiwu==0)break;
}
}
作者:
xuyaqi
時間:
2020-1-30 16:28
Timer0_Init();和
void Timer0Init()
{
TMOD|=0X01;
TH0=0XFC;
TL0=0X18;
ET0=1;
EA=1;
TR0=1;
}
名稱不一致。
作者:
csmyldl
時間:
2020-1-30 18:26
可以把主程序中并聯(lián)的3個while(1)合并為1個,執(zhí)行3種情況采用標(biāo)志的方法
作者:
angmall
時間:
2020-1-30 18:42
先畫程序框圖,看看能不能行得通,越細(xì)越好。
你是用3個While無限死循環(huán)
單片機(jī)在自主運(yùn)行的時候一般是在執(zhí)行一個死循環(huán)
先學(xué)理論,打基礎(chǔ),否則,問題多多,事倍功半。
作者:
wulin
時間:
2020-1-30 22:08
樓主這個程序構(gòu)架不合理,改一下試試。
#include "reg51.h"
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit beep=P1^5;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 val = 30;
u8 ershi= 20;
u8 shiwu= 15;
bit flag=0;
u8 code smgduan[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x38};
u8 data dis_buf[8]={0,0,0x40,0,0,0x40,0,0};
void delay(u16 i)
{
while(i--);
}
void Timer0Init()
{
TMOD|=0X01;
TH0=0XFC;
TL0=0X18;
ET0=1;
EA=1;
TR0=1;
}
void display()
{
static int i;
P0=0x00;
switch(i)
{
case(0):LSA=0;LSB=0;LSC=0;break;
case(1):LSA=1;LSB=0;LSC=0;break;
case(2):LSA=0;LSB=1;LSC=0;break;
case(3):LSA=1;LSB=1;LSC=0;break;
case(4):LSA=0;LSB=0;LSC=1;break;
case(5):LSA=1;LSB=0;LSC=1;break;
case(6):LSA=0;LSB=1;LSC=1;break;
case(7):LSA=1;LSB=1;LSC=1;break;
}
P0=dis_buf[i];
i++;
i%=8;
}
void main()
{
Timer0Init();
while(1)
{
dis_buf[7]=smgduan[val/10];
dis_buf[6]=smgduan[val%10];
dis_buf[4]=smgduan[ershi/10];
dis_buf[3]=smgduan[ershi%10];
dis_buf[1]=smgduan[shiwu/10];
dis_buf[0]=smgduan[shiwu%10];
if(flag==1)
{
flag=0;
beep=0;
delay(50000);
beep=1;
}
}
}
void Timer0() interrupt 1
{
static int i;
TH0=0XFC;
TL0=0X18;
i++;
if(i>=1000)
{
i=0;
if(val>0)
{
val--;
if(val==0)
flag=1;
}
if(ershi>0)
{
ershi--;
if(ershi==0)
flag=1;
}
if(shiwu>0)
{
shiwu--;
if(shiwu==0)
flag=1;
}
}
display();
}
復(fù)制代碼
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1