久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

世上最簡(jiǎn)單的遙控(數(shù)碼管顯示)電子鐘(C語言編寫)

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年05月06日   【字體:

/*此程序?yàn)榧t外遙控電子鐘,晶振為12M,MCU型號(hào)為51系列,電路很簡(jiǎn)單四位共陽數(shù)碼管,紅外接收管sm0038接在P3.2*/
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define c(x) (x*120000/120000)
sbit IR=P3^2;

sbit ge=P2^3;//數(shù)碼管四位選控制端
sbit shi=P2^2;
sbit bai=P2^1;
sbit qian=P2^0;

char miao,fen=59,shij=23;//時(shí)分秒3個(gè)變量
uchar num,ding; //兩定時(shí)器計(jì)數(shù)變量
uint temp;//遙控解碼變量
uchar i;
uchar j;
bit flag;//控制小數(shù)點(diǎn)亮與滅變量
bit power;//控制數(shù)碼管亮與滅變量
bit flash;//進(jìn)入時(shí)間調(diào)整標(biāo)志位變量

uchar IRBUF[4]; //用于保存解碼結(jié)果
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,
0x8e
};

uint Low()
{
 TL0=0;
 TH0=0;
 TR0=1;
 while(!IR&&(TH0&0x80)==0);              
 TR0=0;         
 return TH0*256+TL0;
}
//=============================================================
uint High()
{
 TL0=0;
 TH0=0;
 TR0=1;
 while(IR&&(TH0&0x80)==0);
 TR0=0;
 return TH0*256+TL0;
}
void xian(uchar shik,uchar fen)
{
 P0=table[shik/10];
 if(power==0)
 qian=0;
 else
 qian=1;
// delay(2);
 qian=1;
 if(flag==0)
 P0=table[shik%10]&0x7f;
 else
 P0=table[shik%10]|0x80;
 if(power==0)
 bai=0;
 else
 bai=1;
 //delay(2);
 bai=1;
 P0=table[fen/10];
 if(power==0)
 shi=0;
 else
 shi=1;
 //delay(2);
 shi=1;
 P0=table[fen%10];
 if(power==0)
 ge=0;
 else
 ge=1;
 //delay(2);
 ge=1;
}
void yin()
{
 while(1)
 {
  restart:
  while(IR)
  {

   xian(shij,fen);
   if(flash==1)
   {
    if(ding>5)
    {
     ding=0;
     power=~power;
     //xian(shij,fen);
    } 
   }
  }
  temp=Low();
  if(temp<c(8500) || temp>c(9500)) continue;//引導(dǎo)脈沖低電平9000
  temp=High();
  if(temp<c(4000) || temp>c(5000)) continue;//引導(dǎo)脈沖高電平4500
  for(i=0;i<4;i++) //4個(gè)字節(jié)
  {
   for(j=0;j<8;j++) //每個(gè)字節(jié)8位
   {
    temp=Low();
    if(temp<c(200) || temp>c(800)) goto restart;
    temp=High();
    if(temp<c(200) || temp>c(2000)) goto restart;
    IRBUF[i]>>=1;
    if(temp>c(1120)) IRBUF[i]|=0x80;
   }
  }
   return;
 }
}

//==============================================================
main()
{
 TMOD=0x11;
 EA=1;

 TR0=1;
 ET0=1;
 TL0=0;
 TH0=0;

 TR1=1;
 ET1=1;
 TH1=(65536-100)/256; //定時(shí)器0設(shè)定約1000us中斷一次,用于數(shù)碼管掃描
 TL1=(65536-100)%256;
 while(1)
 {
  yin();
  switch(IRBUF[2])
  {
   case 0x58:flash=~flash;if(flash==0)power=0;//進(jìn)入調(diào)整時(shí)間狀態(tài)
   break;
   case 0x1b:if(flash==1){shij++;if(shij>23)shij=0;}//如果數(shù)碼管在閃爍則可以進(jìn)入小時(shí)"+"調(diào)整
   break;
   case 0x1f:if(flash==1){shij--;if(shij<=(0-1))shij=23;}//如果數(shù)碼管在閃爍則可以進(jìn)入小時(shí)"-"調(diào)整
   break;
   case 0x0f:if(flash==1){fen++;if(fen>59)fen=0;}//如果數(shù)碼管在閃爍則可以進(jìn)入分"+"調(diào)整
   break;
   case 0x1a:if(flash==1){fen--;if(fen<=(0-1))fen=59;}//如果數(shù)碼管在閃爍則可以進(jìn)入分"-"調(diào)整
   break;
  }
 

 }
}
void zhong3() interrupt 3
{

 TH1=(65536-50000)/256;
 TL1=(65536-50000)%256;
 num++;
 ding++;
 if(num>=10)
 {
  num=0;
  miao++;//數(shù)碼管閃爍變量
  if(flash==0)
  flag=~flag;
  else
  flag=0;
  if(miao>119)
  {
   miao=0;
   fen++;
   if(fen>59)
   {
    fen=0;
    shij++;
    if(shij>23)
    shij=0;
   }
  }
 }

}
void zhong1() interrupt 1
{
 TL0=0;
 TH0=0;
}
 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 天堂综合网久久 | 在线观看国产精品视频 | 亚洲三级免费看 | 在线观看黄免费 | 中文成人在线 | 久久一二 | 一级毛片网 | 午夜影院网站 | 国产精品美女久久久久久不卡 | 91社区在线高清 | 一级在线观看 | 81精品国产乱码久久久久久 | 国产精品成人一区二区三区 | 亚洲国产网站 | 亚洲人成人一区二区在线观看 | 成人永久免费 | 超碰在线观看97 | 国产成人综合在线 | 婷婷桃色网 | 国产农村妇女毛片精品久久麻豆 | 亚洲欧美综合 | 久久99深爱久久99精品 | 久久亚洲国产精品日日av夜夜 | 久久爱一区 | 美女爽到呻吟久久久久 | 亚洲欧美一区二区三区国产精品 | 日韩亚洲一区二区 | 九七午夜剧场福利写真 | 国产精品一区二区久久精品爱微奶 | 国产高清免费 | 狠狠ri | 免费毛片网 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 精品视频在线一区 | 欧美一级片中文字幕 | 精品毛片在线观看 | 午夜精品久久久久久久久久久久久 | 欧美中文字幕一区二区三区 | 日韩免费一二三区 | 国产美女在线看 | 欧美日韩国产精品激情在线播放 |