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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

DIY 1602時鐘可調節顯示

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年12月06日   【字體:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char

sbit key0 = P3^0;//時間調節分秒時切換
sbit key1 = P3^1; //時間加
sbit key2 = P3^2; //時間減
sbit lcdrw = P2^5;//讀寫操作選擇,1讀 0寫
sbit rs = P2^6;//寄存器選擇,1數據 0指令
sbit lcden = P2^7;//使能信號
uchar code table[] = {" 2010-10-22 FRI"};
uchar code table1[] = {"    00:00:00"};
uchar count,shi,fen,miao,s1num;

void delay(uint z)
{
 uint x,y;
 for(x = z;x > 0;x --)
  for(y = 110;y > 0;y --);
}

void write_com(uchar com)//寫指令
{
 rs = 0;
 lcden = 0;
 P0 = com;
 delay(5);
 lcden = 1;
 delay(5);
 lcden = 0; 
}

void write_date(uchar date)//寫數據
{
 rs = 1;
 lcden = 0;
 P0 = date;
 delay(5);
 lcden = 1;
 delay(5);
 lcden = 0; 
}

void init()
{
 uchar num;
 lcdrw = 0;
 lcden = 0;
 write_com(0x38);
 write_com(0x0c);
 write_com(0x06);
 write_com(0x01);//清零

 write_com(0x80); //液晶第一行地址
 for(num = 0;num < 15;num ++)
 {
  write_date(table[num]);
  delay(5); 
 }
 write_com(0x80+0x40);//液晶第二行地址
 for(num = 0;num < 12;num ++)
 {
  write_date(table1[num]);
  delay(5);
 }

 TMOD = 0x01;
 TH0 = (65536-50000)/256;
 TL0 = (65536-50000)%256;
 EA = 1; // 開中斷
 ET0 = 1; //定時器0中斷
 TR0 = 1; //啟動定時器
}

void write_sfm(uchar add,uchar date)
{
 uchar shi,ge;
 shi = date/10;
 ge = date%10;
 write_com(0x80+0x40+add);
 write_date(0x30+shi);
 write_date(0x30+ge);
}

void keyscan()
{
 if(key0 == 0)
 {
  delay(5);
  if(key0 == 0)
  {
   s1num ++;
   while(!key0);
   if(s1num == 1)
   {
    TR0 = 0;
    write_com(0x80+0x40+10);
    write_com(0x0f);
   }

   if(s1num == 2)
   {
    write_com(0x80+0x40+7);
   }

   if(s1num == 3)
   {
    write_com(0x80+0x40+4);
   }

   if(s1num == 4)
   {
    s1num = 0;
    write_com(0x0c);//不閃光標
    TR0 = 1;
   }
  }
 }

 if(s1num != 0)
  {
   if(key1 == 0)
   {
    delay(5);
    if(key1 == 0)
    {
     while(!key1);
     if(s1num == 1)
     {
      miao ++;
      if(miao == 60)
      miao = 0;
      write_sfm(10,miao);
      write_com(0x80+0x40+10);
 
     }

     if(s1num == 2)
     {
      fen ++;
      if(fen == 60)
      fen = 0;
      write_sfm(7,fen);
      write_com(0x80+0x40+7); 
     }

     if(s1num == 3)
     {
      shi ++;
      if(shi == 24)
      shi = 0;
      write_sfm(4,shi);
      write_com(0x80+0x40+4); 
     }
    }
   }

   if(key2 == 0)
   {
    delay(5);
    if(key2 == 0)
    {
     while(!key2);
     if(s1num == 1)
     {
       if(miao == 0)
       {
        miao = 60;
        write_sfm(10,miao);
        write_com(0x80+0x40+10);
       }
       miao --;
       write_sfm(10,miao);
       write_com(0x80+0x40+10);
      
     }

     if(s1num == 2)
     {
      if(fen == 0)
       {
        fen = 60;
        write_sfm(7,fen);
        write_com(0x80+0x40+7);
       }
       fen --;
       write_sfm(7,fen);
       write_com(0x80+0x40+7); 
     }

     if(s1num == 3)
     {
        if(shi == 0)
       {
        shi = 24;
        write_sfm(4,shi);
        write_com(0x80+0x40+4);
       }
       shi --;
       write_sfm(4,shi);
       write_com(0x80+0x40+4);
     }
    }
   }

  } 
}

void main()
{
 init();
 while(1)
 {
  keyscan();
  
 // while(1);
 }
}

void timer0() interrupt 1
{
 TH0 = (65536-50000)/256;
 TL0 = (65536-50000)%256;
 count ++;
 if(count == 20)
  {
   count = 0;
   miao ++;
   if(miao == 60)
   {
    miao = 0;
    fen ++;
    if(fen == 60)
    {
     fen = 0;
     shi ++;
     if(shi ==24)
     {
      shi = 0;
     }
     write_sfm(4,shi);
    }
    write_sfm(7,fen);
   }
   write_sfm(10,miao);
  } 
}
關閉窗口

相關文章

主站蜘蛛池模板: 国产亚洲二区 | 日本精品久久 | 亚洲一区二区三区在线播放 | 华丽的挑战在线观看 | 日韩综合在线视频 | 久久国产欧美日韩精品 | 久久国产精彩视频 | 午夜影院网站 | 91久久精品国产91久久 | 久久精品 | 国产情侣久久 | 自拍偷拍亚洲视频 | 伊人免费在线观看高清 | 免费在线看a | 久久久精品| 国产精品18久久久久久白浆动漫 | 精品九九| 国产日韩欧美中文 | 日韩av一区二区在线观看 | 日韩成人免费av | 国产精品久久久久久久久久久久 | 久久91精品 | 久久99网站| 国产精久久久 | 国产69久久精品成人看动漫 | 天天综合久久网 | www.国产.com| av香蕉 | 99精品视频一区二区三区 | 国产精品日韩欧美一区二区三区 | 欧美日韩高清一区 | 国产伦精品一区二区三区四区视频 | 粉嫩国产精品一区二区在线观看 | 免费在线一区二区 | 国产一区久久 | 色综合一区| 一区欧美 | 成人毛片在线视频 | 黄色在线观看网站 | 国产欧美精品区一区二区三区 | 亚洲一二三区在线观看 |