亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 2.c

?? 萬年歷 megal128 iccavr開發平臺
?? C
字號:
//李偉于9月3號完成
#include<iom128v.h>
/*定義OCMJ4X8端口*/
//DATA_PORT=PORTA
#define data_port PORTA
//ASK=PORTE.6
#define ask (PINE&0x40)
//ANSWER=PORTE.7
#define set_answer asm("sbi 0x03,7")
#define clr_answer asm("cbi 0x03,7")
//RESTE=PORTC.3
#define set_reset asm("sbi 0x15,3")
#define clr_reset asm("cbi 0x15,3")
#define wait  asm("nop\n nop")
unsigned char second=0,minute=0,hour=0,day=4,days=11,month=8;
unsigned int year=2005;
unsigned char flag=0;
unsigned char lcd_buff[4]={0,0,0,0};//放小時,分鐘
unsigned char lcd_buff1[9]={0,0,0,0,0,0,0,0,0};//相當與一個地址,存放月,日
const unsigned char biao1[]={50,22,40,43,46,33,40,48,38,36,52,40};
const unsigned char biao2[]={27,94,93,36,69,89,53,39,58,74,34,53};
const unsigned char table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
void delay(unsigned int x)
{
  unsigned int k;
  for(k=0;k<x;k++)
  ;
}
void ocmj_init(void)
{
 MCUCR=0;
 DDRA=0xff;
 PORTA=0xff;
 DDRE=0b10000000;
 PORTE=0xff;
 clr_reset;//LCD復位
 delay(10);
 set_reset;
 clr_answer;
 delay(2);
}
/**********************************************/
	 /* 寫數據到LCD  */
/**********************************************/
void ocmj_write(unsigned char data)
{
 while(ask!=0)
  ;
 data_port=data;
 wait;
 set_answer;
 wait;
 while(ask==0)
  ;		
 clr_answer;
}
/**********************************************/
	 /* 寫ASCII碼初始化  */
/**********************************************/
void write_ASCII(unsigned type,unsigned xx,unsigned yy,unsigned data)
{
    ocmj_write(type);
    ocmj_write(xx);
    ocmj_write(yy);
    ocmj_write(data);
}
/**********************************************/
	 /* 寫漢字初始化  */
/**********************************************/
void write_hazi(unsigned xx,unsigned yy,unsigned data1,unsigned data2)
{
    ocmj_write(0xf0);
    ocmj_write(xx);
    ocmj_write(yy);
    ocmj_write(data1);
	ocmj_write(data2);
}
/**********************************************/
	 /* 鍵盤子程序  */
/**********************************************/
unsigned char scan_key(void)
{
 unsigned char i,temp;
 DDRB=0x0f;	
 PORTB=0xff;	
 for(i=0;i<4;i++)
  {
   PORTB=~(1<<i); //鍵盤線掃描
   delay(30);   //等待低電平穩定
   temp=PINB&0xf0;//讀取鍵盤掃描信號,屏蔽低四位
   if (temp!=0xf0)//如果有鍵按下,延時10ms消抖
    {              //本程序用display代替10ms延時,
     delay(3000); //可消除顯示抖動
     temp=PINB&0xf0;//再讀鍵盤
     if (temp!=0xf0)
      {
        temp&=0xf0;
        switch(temp) //計算鍵值
         {
		  case 0x70:temp=15-(3-i)*4;break;
          case 0xb0:temp=14-(3-i)*4;break;
          case 0xd0:temp=13-(3-i)*4;break;
          case 0xe0:temp=12-(3-i)*4;break;
          default:break;				
          }
		 return temp;
		}
	  }
    }
   return 0x00;//無鍵按下
}	
/**********************************************/
	 /* LCD顯示小時分鐘秒*/
/**********************************************/
void time_display(void)
{
write_ASCII(0xf9,4,0,table[hour/10]);//小時高位
write_ASCII(0xf9,5,0,table[hour%10]);//小時地位
write_ASCII(0xf9,6,0,58); //:
write_ASCII(0xf9,7,0,table[minute/10]);//分鐘高位
write_ASCII(0xf9,8,0,table[minute%10]);//分鐘地位
write_ASCII(0xf9,9,0,58); //:	
write_ASCII(0xf9,10,0,table[second/10]);//秒鐘高位	
write_ASCII(0xf9,11,0,table[second%10]);//秒鐘地位
}
/**********************************************/
	 /* LCD顯示星期年月日*/
/**********************************************/
void day_display(void)
{
   write_hazi(7,0,biao1[7],biao2[7]);//星
   write_hazi(8,0,biao1[8],biao2[8]);//期
   write_hazi(4,1,biao1[9],biao2[9]);//年
   write_hazi(6,1,biao1[10],biao2[10]);//月
   write_hazi(8,1,biao1[11],biao2[11]);//日
   write_hazi(9,0,biao1[day-1],biao2[day-1]);//一,二,三,四,五,六,日
   write_ASCII(0xf9,4,16,table[year/1000]);//年第四位
   write_ASCII(0xf9,5,16,table[year%1000/100]);//年第三位		
   write_ASCII(0xf9,6,16,table[year%1000%100/10]);//年第二位
   write_ASCII(0xf9,7,16,table[year%1000%100%10]);//年第一位
   write_ASCII(0xf9,10,16,table[month/10]);//月份高位
   write_ASCII(0xf9,11,16,table[month%10]);//月份低位
   write_ASCII(0xf9,14,16,table[days/10]);//日期高位
   write_ASCII(0xf9,15,16,table[days%10]);//日期低位
}
/**********************************************/
	 /* 確定天數*/
/**********************************************/
unsigned char get_days(unsigned char yue)
{
    unsigned char tian;
    switch(yue)
    {
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:tian=31;break;
      case 4:
      case 6:
      case 9:
      case 11:tian=30;break;
      case 2: if((year%4==0&&year%100!=0)||(year%400==0))tian=29;else tian=28;break;
      default:break;
     }
     return  tian;
}
/**********************************************/
	 /* 定時器初始化 1秒*/
/**********************************************/
void timer0_init(void)
{
 TCCR0 = 0x00; //stop
 ASSR = 0x08; //set async mode
 TCNT0 = 0x00; //set count
 TCCR0 = 0x05; //start timer
}
/**********************************************/
	 /* 定時器中斷服務程序*/
/**********************************************/
#pragma interrupt_handler timer0_ovf_isr:17
void timer0_ovf_isr(void)
{
 second=second+1;
 if(second==60)
 {
    second=0;
	minute=minute+1;
	if(minute==60)
	{
	   minute=0;
	   hour=hour+1;
	   if(hour==24)
	   {
		 hour=0;
		 day=day+1;
		 if(day>7)
		  day=1;
		  days=days+1;
		  if(days>get_days(month))
		   {
		    days=1;
		    month=month+1;
			if(month>12)
			 {
			  month=1;
			  year=year+1;
			 }
		   }
		
	   }
    }
  }
  time_display();//顯示小時,分鐘
  if(flag==0)     //與最后面相照應 //如果沒有標志位就不能起緩沖作用,邊化快
  {
  day_display();//顯示年月日
  }			
}
/**********************************************/
	 /*寫顯示*/
/**********************************************/
void lcd_time(void)
{
write_ASCII(0xf9,4,0,table[lcd_buff[0]]);//小時高位
write_ASCII(0xf9,5,0,table[lcd_buff[1]]);//小時地位
write_ASCII(0xf9,6,0,58); //:
write_ASCII(0xf9,7,0,table[lcd_buff[2]]);//分鐘高位	
write_ASCII(0xf9,8,0,table[lcd_buff[3]]); //分鐘地位
write_ASCII(0xf9,10,0,48);// 0
write_ASCII(0xf9,11,0,48);//0
}
void lcd_time1(void)
{
write_hazi(9,0,biao1[lcd_buff1[8]-1],biao2[lcd_buff1[8]-1]);//一,二,三,四,五,六,日
write_ASCII(0xf9,4,16,table[lcd_buff1[0]]);//年第四位
write_ASCII(0xf9,5,16,table[lcd_buff1[1]]);//年第三位		
write_ASCII(0xf9,6,16,table[lcd_buff1[2]]);//年第二位
write_ASCII(0xf9,7,16,table[lcd_buff1[3]]);//年第一位
write_ASCII(0xf9,10,16,table[lcd_buff1[4]]);//月份高位
write_ASCII(0xf9,11,16,table[lcd_buff1[5]]);//月份低位
write_ASCII(0xf9,14,16,table[lcd_buff1[6]]);//日期高位
write_ASCII(0xf9,15,16,table[lcd_buff1[7]]);//日期低位
}
/**********************************************/
	 /*查鍵盤*/
/**********************************************/	
unsigned char ks(void)
{
 unsigned char m,j;
 DDRB=0x0f;	
 PORTB=0xff;
 for(j=0;j<4;j++)
 {
 PORTB=~(1<<j);
 delay(50);
 m=PINB&0xf0;    //屏蔽低四位
 if(m!=0xf0)
  return 0xff;
 }
 return 0x00;
}
void main(void)
{
 unsigned char key,b=0,a=0;
 SREG=0x80;
 TIMSK=0x01;
 DDRA=0xff;
 PORTA=0xff;
 timer0_init();
 ocmj_init();//初始化	
 ocmj_write(0xf4);//清屏
 while(1)
 {
   while((ks()==0xff)&&(scan_key()==10))    //置時間,當有鍵按下,且鍵為10時,小時,分鐘都置0
   {
     for(;;)
     {
      lcd_buff[0]=0;//小時
	  
	  lcd_buff[1]=0;
	  lcd_buff[2]=0;  //分鐘
	  lcd_buff[3]=0;
	  lcd_time1();//顯示小時,分鐘
	  second=0;
      TCCR0=0x00;
	//**************************************  
	  delay(65000);                       //還不明白,有待繼續考慮?????????
      if(ks()==0xff) break;      
	//*********************************  
     }
    while(1)
    {
	 if(ks()==0xff)
	 {
      key=scan_key();
      lcd_buff[b]=key;
      lcd_time();
      delay(65000);
      b++;
      if(b>3)//再怎么按也無效
	  {
	    hour=lcd_buff[0]*10+lcd_buff[1];
	    minute=lcd_buff[2]*10+lcd_buff[3];
	    TCCR0=0x05;//128分頻
	    TCNT0=0x00;
        b=0;
	    break;
	  }
     }
    }
   }
   while((ks()==0xff)&&(scan_key()==11))     //置日歷和星期//按下后,其顯年,月,日,置0,星期置1
   {
	  flag=1;       
      for(;;)
      {
      lcd_buff1[0]=0; 
	  lcd_buff1[1]=0;
	  lcd_buff1[2]=0;
	  lcd_buff1[3]=0;
	  lcd_buff1[4]=0;
	  lcd_buff1[5]=0;
	  lcd_buff1[6]=0;
	  lcd_buff1[7]=0;
	  lcd_buff1[8]=1;
	  lcd_time1(); //顯示年月,日,星期
	  delay(65000);
      if(ks()==0xff)//同上,有待考慮
      break;
      }
	  while(1)
	  {
	    if(ks()==0xff)  //有鍵按下
    {
         key=scan_key();
         lcd_buff1[a]=key;
	     lcd_time1();
         delay(65000);
         a++;
    	 if(a>8)    
	     {
  	       year=lcd_buff1[0]*1000+lcd_buff1[1]*100+lcd_buff1[2]*10+lcd_buff1[3];
	       month=lcd_buff1[4]*10+lcd_buff1[5];
	       days=lcd_buff1[6]*10+lcd_buff1[7];
	       day=lcd_buff1[8];
               a=0;
	       flag=0; //見顯示部分
	       break;
	     }
        }
	  }
   }
 }	
}	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合色丁香一区二区| 欧美肥大bbwbbw高潮| 欧美私模裸体表演在线观看| 精品国免费一区二区三区| 一区二区三区在线观看视频| 男人操女人的视频在线观看欧美| 国产99久久久久久免费看农村| 欧美色倩网站大全免费| 久久精品人人做人人综合 | 亚洲高清一区二区三区| 国产精品一区二区黑丝| 91麻豆精品国产91久久久 | 色国产精品一区在线观看| 久久久久久久精| 寂寞少妇一区二区三区| 91精品婷婷国产综合久久竹菊| 亚洲乱码国产乱码精品精小说| 在线观看日韩一区| 国产精品每日更新在线播放网址| 精品在线视频一区| 欧美一区二区三区免费观看视频| 亚洲国产视频在线| 色婷婷综合久久| 一区二区三区在线视频免费观看| 成人精品免费看| 国产亚洲精久久久久久| 久99久精品视频免费观看| 日韩一区二区影院| 看国产成人h片视频| 欧美久久久久免费| 日韩精品三区四区| 欧美理论电影在线| 亚洲高清不卡在线观看| 欧美日韩在线观看一区二区| 午夜久久久影院| 3d动漫精品啪啪| 麻豆91在线观看| 精品av久久707| 国产精品亚洲午夜一区二区三区 | 国产精品色婷婷久久58| 国产成人精品在线看| 亚洲国产精品激情在线观看| 成人午夜在线视频| 亚洲欧美另类在线| 欧美日韩一区久久| 免费xxxx性欧美18vr| 精品国产一区二区三区不卡 | 国产精品免费视频网站| 91片黄在线观看| 亚洲大尺度视频在线观看| 欧美一级专区免费大片| 国产一区免费电影| 国产精品久久久爽爽爽麻豆色哟哟| 波多野结衣亚洲| 亚洲国产欧美在线人成| 日韩美女在线视频| 国产91丝袜在线播放0| 亚洲伦理在线免费看| 欧美日本韩国一区二区三区视频| 毛片基地黄久久久久久天堂| 国产精品久线在线观看| 欧美久久久一区| 国产69精品一区二区亚洲孕妇| 亚洲欧美激情视频在线观看一区二区三区| 91精品1区2区| 韩国精品久久久| 亚洲综合色视频| 久久先锋影音av| 色视频成人在线观看免| 久久精品99国产精品日本| 亚洲欧洲三级电影| 欧美一卡2卡3卡4卡| av男人天堂一区| 日本系列欧美系列| 亚洲欧美日韩国产中文在线| 精品福利av导航| 欧美亚洲丝袜传媒另类| 国产风韵犹存在线视精品| 肉色丝袜一区二区| ...中文天堂在线一区| 欧美一区二区日韩一区二区| 99久久精品情趣| 国产呦萝稀缺另类资源| 亚洲一区二区三区不卡国产欧美| 2020日本不卡一区二区视频| 欧美日韩一区二区在线视频| 国产suv精品一区二区883| 理论片日本一区| 亚洲在线视频免费观看| 中文字幕亚洲区| 久久色在线观看| 一本到高清视频免费精品| 美女www一区二区| 日韩精品一二三| 一区二区免费在线| 亚洲男人天堂av网| 亚洲欧洲另类国产综合| 26uuu精品一区二区 | 欧美在线啊v一区| 国产黄人亚洲片| 久久99精品一区二区三区| 亚洲成人av免费| 一区二区高清在线| 18欧美亚洲精品| 国产精品久久久久久久久免费樱桃| 精品国产一区二区三区av性色| 91精品国产入口| 欧美日韩国产首页在线观看| 欧美性三三影院| 欧美性极品少妇| 欧美性猛交xxxx乱大交退制版| 99精品视频在线播放观看| 粉嫩aⅴ一区二区三区四区| 国产美女娇喘av呻吟久久| 蜜臀久久久久久久| 九九热在线视频观看这里只有精品| 日本在线播放一区二区三区| 丝袜诱惑制服诱惑色一区在线观看| 一区二区三区 在线观看视频| 亚洲欧美成人一区二区三区| 亚洲精品免费在线| 亚洲国产综合色| 蜜臀av国产精品久久久久| 久久99精品国产麻豆婷婷洗澡| 麻豆国产精品视频| 国产精品一区二区久久精品爱涩| 国产91精品免费| 91女人视频在线观看| 欧美亚洲国产一区二区三区va| 欧美日韩午夜在线视频| 777奇米四色成人影色区| 欧美大片日本大片免费观看| 国产欧美一区视频| 自拍偷自拍亚洲精品播放| 亚洲综合色成人| 青娱乐精品视频在线| 国产精品一区二区三区四区 | 欧美性色黄大片| 欧美一二三四在线| 久久精品夜夜夜夜久久| 亚洲欧美精品午睡沙发| 日韩在线播放一区二区| 国产一本一道久久香蕉| 在线精品视频一区二区| 欧美一区二区大片| 中文字幕免费一区| 日本一区二区成人在线| 亚洲综合丁香婷婷六月香| 美女视频黄久久| 97se亚洲国产综合在线| 日韩一级精品视频在线观看| 中文字幕精品在线不卡| 午夜影院久久久| 成人蜜臀av电影| 日韩欧美123| 亚洲人精品午夜| 精品制服美女丁香| 色综合天天狠狠| 久久综合久久综合九色| 亚洲自拍都市欧美小说| 国产一区亚洲一区| 欧美日韩中文字幕一区二区| 国产丝袜在线精品| 日产欧产美韩系列久久99| 成+人+亚洲+综合天堂| 正在播放一区二区| 一级精品视频在线观看宜春院| 国产自产高清不卡| 欧美日韩精品一区视频| 亚洲视频在线一区| 久久99国产精品免费网站| 欧美日韩一区不卡| 成人免费一区二区三区在线观看| 韩国视频一区二区| 欧美精品一级二级三级| 亚洲柠檬福利资源导航| 丁香五精品蜜臀久久久久99网站| 日韩美女一区二区三区四区| 午夜精品福利在线| 色吧成人激情小说| 国产精品久久久久久久久图文区| 激情综合色播激情啊| 日韩一级黄色片| 日本中文字幕一区二区视频| 欧美性猛交xxxx黑人交| 亚洲激情中文1区| 91麻豆免费看片| 国产精品久久久久婷婷二区次| 国产精品77777| 久久日韩粉嫩一区二区三区 | 久久久美女毛片| 久久99精品视频| 91精品国产综合久久国产大片| 亚洲电影你懂得| 欧美日韩免费一区二区三区| 午夜精品在线视频一区| 欧美日韩电影一区| 日韩成人免费电影| 日韩欧美不卡在线观看视频| 精品系列免费在线观看|