free性丰满hd毛多多,久久综合给合久久狠狠狠97色69 ,欧美成人乱码一区二区三区,国产美女久久久亚洲综合,7777久久亚洲中文字幕

0
問答首頁 最新問題 熱門問題 等待回答標簽廣場
我要提問

幫忙看下程序,順便給個思路

請問下如何解決數(shù)碼在加一的時候,數(shù)碼管不滅,剛寫程序,有什么好建議歡迎拍磚
#include
#include < intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit dis1=P2^0;
sbit dis2=P2^1;
sbit dis3=P2^2;
sbit dis4=P2^3;
sbit key1=P1^4;
sbit key2=P1^5;
sbit key3=P1^6;
sbit key4=P1^7;
uchar PWM;
void key();
void keyled();
void init();
sbit??BEEP =P2^4 ;? ?? ? //蜂鳴器
void Beep();
void delayms(unsigned char ms);
void delay(unsigned char t);
void display(uchar disnum);
void delay5ms(uchar a);
void display_menu(uchar numdis);
uint num=1,num2=0;
uchar code number[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

void main()
{
init();
while(1)
??{
key();
??}
}

void display(uchar disnum)
{
uchar aa,bb,cc,dd;
aa=disnum/1000;
bb=disnum%1000/100;
cc=disnum%100/10;
dd=disnum%10;
dis1=0;
P0=0x83;
delay5ms(5);
dis1=1;
dis2=0;
P0=number[bb];
delay5ms(5);
dis2=1;
dis3=0;
P0=number[cc];
delay5ms(5);
dis3=1;
dis4=0;
P0=number[dd];
delay5ms(5);
dis4=1;? ?
}

void display_menu(uchar numdis)
{
uchar qin,bai,shi,ge;
qin=numdis/1000;
bai=numdis%1000/100;
shi=numdis%100/10;
ge=numdis%10;
dis1=0;
P0=0xa1;
delay5ms(10);
dis1=1;
dis2=0;
P0=number[bai];
delay5ms(10);
dis2=1;
dis3=0;
P0=number[shi];
delay5ms(10);
dis3=1;
dis4=0;
P0=number[ge];
delay5ms(10);
dis4=1;
}

void key()
{
if(!key1)
??{
??delay5ms(40);
??if(!key1);
??delay5ms(40);
??keyled();
??}
if(!key2)
??{
delay5ms(50);
if(!key2)
delay5ms(50);
num++;
if(num==256)
? ? {
num=1;
? ? }
??}
if(!key3)
??{
delay5ms(50);
??if(!key3)
??delay5ms(50);
??num--;
if(num==1)
? ? {
num=1;
? ? }
??}
display_menu(num);
}

void keyled()
{
while(1)
{
if(!key2)
??{
delay5ms(50);
if(!key2)
//delay5ms(50);
for(PWM=0x7f;PWM!=0xff;PWM++){delayms(10);}
num2++;
if(num2==100)
? ? {
num2=0;
? ? }
??}
if(!key3)
??{
delay5ms(50);
??if(!key3)
??//delay5ms(50);
for(PWM=0xff;PWM!=0x02;PWM--){delayms(10);}
??num2--;
if(num2==0)
? ? {
num2=100;
? ? }
??}
display(num2);
if(!key4)
? ?? ?{
? ?? ?delay5ms(50);
? ?? ?if(!key4)
? ?? ?return;
? ?? ?}
}
}

void init()
{
P3=0xff;??
? ? TMOD=0x21 ;
? ? TH0=(65536-922)/256 ;//1ms延時常數(shù)
? ? TL0=(65536-922)%256 ;//頻率調(diào)節(jié)
? ? TH1=PWM ;? ?? ?? ?? ?//脈寬調(diào)節(jié)
? ? TL1=0 ;
? ? EA=1;
? ? ET0=1;
? ? ET1=1;
? ? TR0=1 ;
}

/*********************************************************/
// 定時器0中斷服務(wù)程序.
/*********************************************************/
void timer0() interrupt 1??
{? ?
? ? TR1=0 ;
? ? TH0=(65536-922)/256 ;
? ? TL0=(65536-922)%256 ;
? ? TH1=PWM ;
? ? TR1=1 ;
? ? P3=0x00 ;? ?? ?//啟動輸出
}
/*********************************************************/
// 定時器1中斷服務(wù)程序
/*********************************************************/
void timer1() interrupt 3??
{??
? ? TR1=0 ;
? ? P3=0xff ;? ???//結(jié)束輸出
}
/*********************************************************/
//蜂鳴器子程序
/*********************************************************/
void Beep()? ?? ?
??{
? ?? ?unsigned char i??;
? ?? ?for (i=0??;i<100??;i++)
? ?? ???{
? ?? ?? ? delay(250)??;
? ?? ?? ? BEEP=!BEEP??;? ?? ?? ?? ?? ? //Beep取反
? ?? ???}??
? ???BEEP=1??;? ?? ?? ?? ?? ?? ?? ?? ?? ? //關(guān)閉蜂鳴器
? ???delayms(250);
??}??

void delay5ms(uchar a)
{
uint b,c;
for(b=a;b>0;b--)
for(c=200;c>0;c--);
}

/*********************************************************/
// 延時子程序
/*********************************************************/? ?
void delay(unsigned char t)
{??
? ? while(t--)? ?;
}
/*********************************************************/
// 延時子程序
/*********************************************************/
void delayms(unsigned char ms)??
{
? ? unsigned char i ;
? ? while(ms--)
? ???{
? ?? ???for(i = 0 ; i < 120; i++) ;
? ???}
}
提問者:rstech_rd 地點:- 瀏覽次數(shù):8614 提問時間:05-26 20:36
我有更好的答案
提 交
撰寫答案
提 交
1 / 3
1 / 3