1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
單片機秒表程序
[打印本頁]
作者:
小小霍
時間:
2018-11-7 12:06
標題:
單片機秒表程序
單片機源程序如下:
#include"reg52.h"
sbitkey=P3^7;
unsignedchar led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//字模
unsignedint count=0,num1=0,num2=0;
unsignedchar work=0,block=0,record=0,situation=1;
voidT0_srv (void) interrupt 1 //定時器0,定時1秒,刷新秒表顯示
{
TH0 =(65536-50000)/256;
TL0 =(65536-50000)%256;
count++;
if(count==20)
{count=0;
if(num1==9&&num2==9) num1=num2=0;
else{
if(num1==9) num2++,num1=0;
else num1++;
}}
}
voidT1_srv (void) interrupt 3 //定時器1,定時200ms,用來判斷短按和長按
{
TH1 =(65536-20000)/256;
TL1 =(65536-20000)%256;
record++;
if(record==10)
{ record=0;
if(key==0) situation=0;
elsesituation=1,work=!work;
block=1;
}
}
voiddelay()
{
unsigned int i=2000;
while(i--);
}
voidcheck()//按鍵檢索函數
{
if(key==0){ //判斷按鍵長短
delay();
if(key==0) {TR0=0,TR1=1;
while(!block);
TR1=0;TH1=(65536-50000)/256;TL1=(65536-50000)%256;block=0;//開啟定時器1,計時200ms,以此判斷長按和短按
if(situation==0){while(!key);work=0;TR0=0,TH0=(65536-50000)/256;TL0=(65536-50000)%256;num1=num2=0;}//長按清零
else{ //短按開始或者暫停秒表
if(work==0) TR0=0;
else TR0=1;}}}
}
voidmain(){
TMOD=0x11; //定時器工作組1
TH0=(65536-50000)/256; //定時器初值設定
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1 =(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=0;
TR1=0;
P0=led_mod[num1];
P2=led_mod[num2];
while(1)
{
check();//按鍵檢索
P0=led_mod[num1];delay();//死循環顯示秒表計數
P2=led_mod[num2];delay();
}}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1