国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用定時(shí)器中斷設(shè)計(jì)秒表 用數(shù)碼管顯示

用定時(shí)器中斷設(shè)計(jì)秒表 用數(shù)碼管顯示

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
//此秒表有時(shí)分秒和毫秒位,最多可以記小時(shí),有暫停和繼續(xù)計(jì)時(shí)功能,獨(dú)立鍵盤(pán)上key1為暫停和繼續(xù)鍵,key3為復(fù)位和開(kāi)始計(jì)時(shí)鍵

//由于ms中斷時(shí)間很短,所以如果中斷和顯示延遲關(guān)系處理不好,秒表走時(shí)不準(zhǔn),應(yīng)注意

本文引用地址:http://m.ptau.cn/article/201611/322834.htm

#include

#defineucharunsignedchar

#defineuintunsignedint

uchar code table[]={0x 3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//時(shí)分秒的個(gè)位顯示后帶小數(shù)點(diǎn)

uchar ms,s,m,h,count,count1;

sbit k1=P3^0;

sbit k3=P3^2;

voiddelay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voiddisplays(uchar temp)//數(shù)碼管動(dòng)態(tài)顯示秒位函數(shù)

{

uchar shi,ge,i;

i=0;

shi=temp/10;

ge=temp;

P0=0xef;

P1=table[shi];

delay(1);//必須要有延遲,動(dòng)態(tài)掃描,為了不影響整個(gè)秒表八位數(shù)的掃描速率提高顯示效果,延遲又不要太高,ms比較合適

P0=0xdf;

P1=table1[ge];

i=0;

delay(1);

}

voiddisplayms(uchar temp)//數(shù)碼管動(dòng)態(tài)顯示毫秒位函數(shù)

{

uchar shi,ge,i;

i=0;

shi=temp/10;

ge=temp;

P0=0xbf;

P1=table[shi];

delay(1);

P0=0x7f;

P1=table[ge];

i=0;

delay(1);

}

voiddisplaym(uchar temp)//數(shù)碼管動(dòng)態(tài)顯示分位函數(shù)

{

uchar shi,ge,i;

i=0;

shi=temp/10;

ge=temp;

P0=0xfb;

P1=table[shi];

delay(1);

P0=0xf7;

P1=table1[ge];

i=0;

delay(1);

}

voiddisplayh(uchar temp)//數(shù)碼管動(dòng)態(tài)顯示小時(shí)位函數(shù)

{

uchar shi,ge,i;

i=0;

shi=temp/10;

ge=temp;

P0=0xfe;

P1=table[shi];

delay(1);

P0=0xfd;

P1=table1[ge];

i=0;

delay(1);

}

voidkeyscan()//鍵盤(pán)掃描函數(shù)

{

if(k1==0)

{

delay(5);

if(k1==0)//檢測(cè)k1確實(shí)被按下防抖動(dòng)

{

count++;

while(!k1);//檢測(cè)松手

delay(1);//檢測(cè)確實(shí)松手

while(!k1);

if(count==1)

TR0=0;//暫停定時(shí)器

if(count==2)

{

TR0=1;//定時(shí)器繼續(xù)計(jì)時(shí)

count=0;

}

}

}

if(k3==0)

{

delay(5);

if(k3==0)

{

count1++;

while(!k3);

delay(1);

while(!k3);

if(count1==1)//復(fù)位秒表

{

TR0=0;

ms=0;

s=0;

m=0;

h=0;

}

if(count1==2)//重新開(kāi)始計(jì)時(shí)

{

TR0=1;

count1=0;

}

}

}

}

voidmain()

{

TMOD=0x01;

EA=1;

ET0=1;

TR0=1;

TH0=(65536-10000)/256;//設(shè)定定時(shí)器初值

TL0=(65536-10000)%6;//12M晶振時(shí)ms數(shù)為

while(1)

{

keyscan();

displays(s);//數(shù)碼管動(dòng)態(tài)掃描秒位顯示

displayms(ms);//數(shù)碼管動(dòng)態(tài)掃描毫秒位顯示

displaym(m);//數(shù)碼管動(dòng)態(tài)掃描秒分顯示

displayh(h);//數(shù)碼管動(dòng)態(tài)掃描秒小時(shí)顯示

}

}

voidtimer0() interrupt 1//中斷服務(wù)程序

{

TH0=(65536-10000)/256;

TL0=(65536-10000)%6;

ms++;

if(ms==100)//定時(shí)器中斷次為s

{//把這部分放在中斷中,能減少程序執(zhí)行時(shí)間對(duì)中斷時(shí)間的影響

ms=0;

s++;

if(s==60)

{

s=0;

m++;

}

if(m==60)

{

m=0;

h++;

}

if(h==24)

{

h=0;

}

}

}



評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉