標題: Everlasting Time2 電子時鐘全部制作資料【含源程序、電路圖】歡迎仿制!! [打印本頁]
作者: 51hei麗人 時間: 2016-6-20 23:46
標題: Everlasting Time2 電子時鐘全部制作資料【含源程序、電路圖】歡迎仿制!!
ET2 永恒時鐘2
【本次功能更新】:
多方法鬧鐘(鬧鐘可設置 周一至周五 、周六周日、周六、周日、只響一次、天天響、關閉)
整點報時設置 (可設置整點報時和半點報時的時間范圍。)
這個作品里面飽含著歡笑與酸辛,甚至還有危險……
我原本打算用的是一塊手機鋰電池(撿的),不帶保護板,我把電池芯給拆了出來。接著我用這個做電源,還給ET2背上安了2塊太陽能板。當這個作品裝成,我興高采烈地拿到客廳。誰知,危險的事發生了,ET2開始冒“清”煙,這下了我一跳,渾身出冷汗,條件反射似的把電池直接拔了下來……后來檢查電路時,發現電源沒有問題,鋰電池沒燒壞,但是連接鋰電池的導線居然燒糊了,導線的塑料殼都是又黑又“脆”的,一碰就“碎”,仔細檢查,終于發現了問題:太陽能板上面的濾波電容的引腳掉了,造成短路……于是我換了一塊電池,選用了18650電池(還是鋰電池),裝在1602后面,單片機下面,從正面看不到,保證了美觀。
(在此提醒大家:玩鋰電池的時候注意點,鋰電池的輸出能力特別強……這一點我是親身體驗過的……經常搞豆腐渣工程的人士們一定要
(像我一樣……)注意啦!你可以選用鎳氫電池或是帶保護板的鋰電池,短路是不會爆炸,不會冒煙的。)
【功能】:
溫度顯示,
16級背光設置,
自動調光,
9路鬧鐘,
4鍵調時設置,
整點報時,
半點報時,
39個公歷節日提醒,
生日提醒,
日期及星期顯示。
多方法鬧鐘(鬧鐘可設置 周一至周五 、周六周日、周六、周日、只響一次、天天響、關閉)
整點報時設置 (可設置整點報時和半點報時的時間范圍。)
唉,廢話少說,上圖!
所需元器件很簡單!液晶屏直接與單片機連接,無需電路板,無需走線。單片機產生時間,無需時鐘芯片。四鍵調時并設置,按鈕直接焊在單片機背部。并具有自動調光功能。
十分簡單的設計,大家都可以做的。對了,我用的一節18650電池,無保護板。可以連接一片5V太陽能電池,這樣就無需維護,充電。
做工不是很美觀,獻丑了。
所需元件列表:
鋰電池*1
標準型1602液晶屏*1 (最好是藍底白字的,藍色有永恒的含義。)
STC12c5a56s2單片機*1 (可用stc12c5a08s2或stc12c5a16s2或stc12c5a32s2或stc12c5a56s2或stc12c5a60s2替換)
12M晶振*1
30P電容*2
5V太陽能板*2 (一片也可)
排針(圓孔)排孔(圓孔) *2 (16PIN)
微動開關
直徑3mmLED*1
5v有源蜂鳴器*1
這么點東西可以做出時鐘?是不是不信?愛動手的人士們快開電烙鐵去吧~

提供電路原理圖:(整整畫了2個多小時啊……)
DIY牛人照著這個圖可以拼出來。
以上圖片均為第一硬件版本,給大家看看第二硬件版本吧(全新的):(做工相比之前好看多了):
圖片看著不爽?沒關系,有視頻:(效果不好,請見諒。。。。)(此為硬件第一版本)
熱烈熱烈熱烈歡迎提出批評表揚或任何建議!
純屬個人原創,希望大家支持!
版權“龜”我所有,轉載請注明出處,謝謝!
源程序公開:
- /********************************************************************
- 編寫人:譚澤睿
- ET2主程序
- 最后修改于2017年8月
- ********************************************************************/
- #include <stc12c5a60s2.h>
- #include <intrins.h>
- //#include <float.h>
- /********************************************************************************************/
- unsigned char code nums[12]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf7,0x00,0x02};
- typedef unsigned char uint8; // 無符號8位整型變量 //
- unsigned int code fs[39]={32,76,101,105,107,108,114,115,125,129,131,146,156,159,163,178,
- 187,191,209,218,228,249,/*260*/289,311,314,315,319,334,338,339,341,349,355,373,375,396,397,
- 403
- };
- unsigned int code tab[]={ //音階表
- 63628,63835,64021,64103,64260,64400,64524, //低音1-7
- 64580,64684,64777,64820,64898,64968,65030,//中音1-7
- 65058,65110,65157,65178,65217,65252,65283//高音1-7
- };
- unsigned int code br[3]={213,222,216};
- unsigned char alm[9][3]={{6,30,0},{7,30,0},{8,30,0},
- {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}
- };//Hour Min Way
- //#defineLCM2402_DB0_DB7P0
- sbit LCM2402_RS = P2 ^ 3;
- sbit LCM2402_RW = P2 ^ 4;
- sbit LCM2402_E = P2 ^ 5;
- sbit LCM2402_Busy = P0 ^ 5;
- data unsigned char year,month,day,week,hour,min,sec;
- data bit db = 0;
- bit kj;
- bit rbit;
- unsigned char autolum;
- data unsigned char cou = 0;
- unsigned char i,hh,ll;
- //unsigned char mh;
- //unsigned char ml;
- unsigned char set,aln,reps,repe;
- unsigned char mo;
- unsigned char p;
- unsigned char v;
- unsigned char ke;
- unsigned char mt;
- unsigned char menu;
- unsigned char RP;
- unsigned char dbs;
- unsigned char light;
- unsigned int beepc,C,D;
- #defineCMD_clear0x01 // 清除屏幕
- #defineCMD_back0x02 // DDRAM回零位
- #defineCMD_dec10x04 // 讀入后AC(指針)減1,向左寫
- #defineCMD_add10x06 // 讀入后AC(指針)加1,向右寫
- #defineCMD_dis_gb10x0f // 開顯示_開光標_開光標閃爍
- #defineCMD_dis_gb20x0e // 開顯示_開光標_關光標閃爍
- #defineCMD_dis_gb30x0c // 開顯示_關光標_關光標閃爍
- #defineCMD_OFF_dis0x08 // 關顯示_關光標_關光標閃爍
- #defineCMD_set820x38 // 8位總線_2行顯示
- #defineCMD_set810x30 // 8位總線_1行顯示(上邊行)
- #defineCMD_set420x28 // 4位總線_2行顯示
- #defineCMD_set410x20 // 4位總線_1行顯示(上邊行)
- #definelin_10x80 // 4位總線_1行顯示(上邊行)
- #definelin_20xc0 // 4位總線_1行顯示(上邊行)
- #define bee beep=0;beepc=1
- #define lbee beep=0;beepc=10
- sbit vss = P2^0;
- sbit vdd = P2^1;
- sbit vo = P2^2;
- //sbit RS = P2^3;
- sbit db0 = P2^6;
- sbit db1 = P2^7;
- sbit db2 = P4^4;
- sbit db3 = P4^5;
- sbit db4 = P4^6;
- sbit db5 = P0^7;
- sbit db6 = P0^6;
- sbit db7 = P0^5;
- sbit blv=P0^4;
- sbit blg=P0^3;
- sbit KEYAG=P3^7;
- sbit KEYA=P3^5;
- sbit KEYBG=P3^4;
- sbit KEYB=P3^2;
- sbit KEYCG=P3^1;
- sbit KEYC=P4^7;
- sbit KEYDG=P1^7;
- sbit KEYD=P1^5;
- sbit ka=P1^4;
- sbit RC=P1^1;
- sbit beep=P1^0;
- sbit ltv=P4^6;
- sbit lm35vcc=P1^1;
- sbit lm35gnd=P1^3;
- sbit rlv=P0^1;
- sbit rl=P0^0;
- void delay (unsigned int a){
- unsigned int i;
- while(a > 0){
- a--;
- for(i=0;i<600;i++);
- }
- }
- void db07(unsigned char dbs){
- db0=dbs%2;
- db1=dbs/2%2;
- db2=dbs/4%2;
- db3=dbs/8%2;
- db4=dbs/16%2;
- db5=dbs/32%2;
- db6=dbs/64%2;
- db7=dbs/128%2;
- }
- /*********************************************************************************************
- 函數名:10位A/D轉換初始化函數
- 調 用:Read_init (?);
- 參 數:輸入的端口(0000 0XXX 其中XXX是設置輸入端口號,可用十進制0~7表示,0表示P1.0,7表示P1.7)
- 返回值:無
- 結 果:開啟ADC功能并設置ADC的輸入端口
- 備 注:使用ADC功能時需要將對應的IO接口設置為高阻輸入方式(例如:P1M1 = 0x01;)
- /**********************************************************************************************/
- void Read_init (unsigned char CHA){
- unsigned char AD_FIN=0; //存儲A/D轉換標志
- CHA &= 0x07; //選擇ADC的8個接口中的一個(0000 0111 清0高5位)
- ADC_CONTR = 0x40;//ADC轉換的速度(0XX0 0000 其中XX控制速度,請根據數據手冊設置)
- _nop_();
- ADC_CONTR |= CHA; //選擇A/D當前通道
- _nop_();
- ADC_CONTR |= 0x80; //啟動A/D電源
- delay(1); //使輸入電壓達到穩定(1ms即可)
- }
- /**********************************************************************************************/
- /*********************************************************************************************
- 函數名:10位A/D轉換函數
- 調 用:? = ADC_Read();
- 參 數:無
- 返回值:10位ADC數據高(從0到1023(十進制))
- 結 果:讀出指定ADC接口的A/D轉換值,并返回數值
- 備 注:適用于STC12C5A60S2系列單片機(必須使用STC12C5A60S2.h頭文件)
- /**********************************************************************************************/
- unsigned int ADC_Read (void){
- unsigned char AD_FIN=0; //存儲A/D轉換標志
- ADC_CONTR |= 0x08; //啟動A/D轉換(0000 1000 令ADCS = 1)
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- while (AD_FIN ==0){ //等待A/D轉換結束
- AD_FIN = (ADC_CONTR & 0x10); //0001 0000測試A/D轉換結束否
- }
- ADC_CONTR &= 0xE7; //1111 0111 清ADC_FLAG位, 關閉A/D轉換,
- return (ADC_RES*4+ADC_RESL);//返回A/D轉換結果(10位ADC數據高8位在ADC_RES中,低2位在ADC_RESL中)
- }
- void LCM2402_TestBusy(void){
- db07(0xff);//設備讀狀態
- LCM2402_RS = 0;
- LCM2402_RW = 1;
- LCM2402_E = 1;
- while(LCM2402_Busy);//等待LCM不忙
- LCM2402_E = 0;//
- }
- /********************************************************************************************
- // 寫指令程序 //
- // 向LCM2402寫命令 本函數需要1個指令集的入口參數 //
- /********************************************************************************************/
- void LCM2402_WriteCMD(uint8 LCM2402_command) {
- LCM2402_TestBusy();
- db07(LCM2402_command);
- LCM2402_RS = 0;
- LCM2402_RW = 0;
- LCM2402_E = 1;
- LCM2402_E = 0;
- }
- void PWM_init (void){
- CMOD=0x00; //設置PCA定時器
- CL=0x00;
- CH=0x00;
- CCAPM0=0x42; //PWM0設置PCA工作方式為PWM方式(0100 0010)
- CCAP0L=0x00; //設置PWM0初始值與CCAP0H相同
- CCAP0H=0x00; // PWM0初始時為0
- CR=1; //啟動PCA定時器
- }
- /**********************************************************************************************/
- /*********************************************************************************************
- 函數名:PWM0占空比設置函數
- 調 用:PWM0_set();
- 參 數:0x00~0xFF(亦可用0~255)
- 返回值:無
- 結 果:設置PWM模式占空比,為0時全部高電平,為1時全部低電平
- 備 注:如果需要PWM1的設置函數,只要把CCAP0L和CCAP0H中的0改為1即可
- /**********************************************************************************************/
- void PWM0_set (unsigned char a){
- hh=a;
- ll=0xff-a;
- TR1=1;
- }
- /********************************************************************************************
- // 寫數據程序 //
- // 向LCM2402寫數據 //
- /********************************************************************************************/
- void LCM2402_WriteData(uint8 LCM2402_data){
- LCM2402_TestBusy();
- db07(LCM2402_data);
- LCM2402_RS = 1;
- LCM2402_RW = 0;
- LCM2402_E = 1;
- LCM2402_E = 0;
- }
- /********************************************************************************************
- // 打印字符串程序 // (本函數調用指針函數)
- // 向LCM發送一個字符串,長度48字符之內
- // 第一行位置 0x00~0x17 第二行位置 0x40~0x57
- // 應用舉例:print(0x80,"doyoung.net"); //在第一行第一位處從左向右打印doyoung.net字符串
- /********************************************************************************************/
- void print(uint8 a,uint8 *str){
- LCM2402_WriteCMD(a | 0x80);
- while(*str != '\0'){
- LCM2402_WriteData(*str++);
- }
- *str = 0;
- }
- /********************************************************************************************
- // 打印單字符程序 //
- // 第一行位置 0x00~0x17 第二行位置 0x40~0x57
- // 向LCM發送一個字符,以十六進制(0x00)表示
- // 應用舉例:print(0xc0,0x30); //在第二行第一位處打印字符“0”
- /********************************************************************************************/
- void print2(uint8 a,uint8 t){
- LCM2402_WriteCMD(a | 0x80);
- LCM2402_WriteData(t+0x30);
- }
- void print3(uint8 a,uint8 t){
- LCM2402_WriteCMD(a | 0x80);
- LCM2402_WriteData(t);
- }
- /********************************************************************************************
- // 定義小漢字 //
- // 可寫入8個自字義字符,寫入后可用其CGRAM代碼直接提取顯示。
- // 字符定義方法請參考技術手冊
- /********************************************************************************************/
- uint8 code Xword[]={
- 0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //上,代碼 0x00
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F, //下,代碼 0x01
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, //左,代碼 0x02
- 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, //右,代碼 0x03
- 0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x1f, //上下,代碼 0x04
- 0x00,0x00,0x04,0x04,0x00,0x00,0x00,0x00, //點上,代碼 0x05
- 0x00,0x00,0x00,0x00,0x04,0x04,0x00,0x00,//點下,代碼 0x06
- 0x00,0x01,0x00,0x1E,0x10,0x10,0x10,0x1E //度,代碼 0x07
- /*0x00,0x1f,0x00,0x1f,0x10,0x1f,0x10,0x1f,//恒右上,代碼 0x08
- 0x10,0x00,0x1f,0x00,0x00,0x00,0x00,0x00,//恒右下,代碼 0x09
- 0x10,0x18,0x00,0x10,0x10,0x10,0x10,0x10,//恒右上上,代碼 0x0a
- 0x10,0x00,0x18,0x00,0x00,0x00,0x00,0x00,//恒右下下,代碼 0x0b */
- };
- void CgramWrite(void) {// 裝入CGRAM //
- uint8 i;
- LCM2402_WriteCMD(0x06);// CGRAM地址自動加1
- LCM2402_WriteCMD(0x40);// CGRAM地址設為00處
- for(i=0;i<8*8;i++) {
- LCM2402_WriteData(Xword[i]);// 按數組寫入數據
- }
- }
- void LCM2402_Init(void){
- LCM2402_WriteCMD(CMD_set82);//* 顯示模式設置:顯示2行,每個字符為5*7個像素
- LCM2402_WriteCMD(CMD_clear);// 顯示清屏
- LCM2402_WriteCMD(CMD_back);//* 數據指針指向第1行第1個字符位置
- LCM2402_WriteCMD(CMD_add1);// 顯示光標移動設置:文字不動,光標右移
- LCM2402_WriteCMD(CMD_dis_gb3); // 顯示開及光標設置:顯示開,光標開,閃爍開
- CgramWrite();// 向CGRAM寫入自定義字符
- }
- bit IsLeapYear(void){ //計算本年是否是潤年
- unsigned int a;
- a = 2000+year;//加2000表示成完整的年
- if((a%4==0 && a%100!=0)||(a%400==0)){ //潤年的計算公式
- return 1;//是潤年返回1
- }else{
- return 0;//不是潤年返回0
- }
- }
- void month_day(void){
- unsigned char mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};
- day++;
- week++;
- if(week>7){
- week=1;
- }
- if(day > mon_day[month-1]){
- if(IsLeapYear()&&month==2){
- day = 29;
- }else{
- day = 1;
- month++;
- if(month > 12){
- month = 1;
- year++;
- }
- }
- }
- }
- void clear(void){
- print(0x80," ");
- print(0x40," ");
- }
- void change(void){
- bee;
- for(i=light;i>0;i--){
- PWM0_set(i);
- delay(2);
- }
- clear();
- for(i=0;i<0xff;i++){
- PWM0_set(i);
- delay(1);
- }
- for(i=0xff;i>light;i--){
- PWM0_set(i);
- delay(2);
- }
- }
- void jieri(void){
- v=0xff;
- for(i=0;i<38;i++){
- if(fs[i]/31==month && fs[i]%31==day){
- v=i;
- break;
- }
- }
- if(v==0){print(0x40,"Happy New Year! ");}
- if(v==1){print(0x40,"Valentine's Day ");}
- if(v==2){print(0x40," 38-Women's Day ");}
- if(v==3){print(0x40,"China Arbor Day ");}
- if(v==4){print(0x40," White Day ^-^ ");}
- if(v==5){print(0x40,"ConsumerRightDay");}
- if(v==6){print(0x40,"World Forest Day");}
- if(v==7){print(0x40,"World Water Day ");}
- if(v==8){print(0x40,"April Fools' Day");}
- if(v==9){print(0x40,"TombSweeping Day");}
- if(v==10){print(0x40,"World Health Day");}
- if(v==11){print(0x40,"World Earth Day ");}
- if(v==12){print(0x40,"5-1 Labour Day ");}
- if(v==13){print(0x40,"China Youth Day ");}
- if(v==14){print(0x40," Red-Cross Day ");}
- if(v==15){print(0x40," -Milk Day- ");}
- if(v==16){print(0x40,"-Children's Day-");}
- if(v==17){print(0x40,"Environment Day ");}
- if(v==18){print(0x40," Olympic Day ");}
- if(v==19){print(0x40,"Dang De Sheng Ri");}
- if(v==20){print(0x40," Population Day ");}
- if(v==21){print(0x40," the Army Day ");}
- if(v==22){print(0x40,"ChinaTeachersDay");}
- if(v==23){print(0x40," National Day ");}
- if(v==24){print(0x40,"World Animal Day");}
- if(v==25){print(0x40,"WorldTeachersDay");}
- if(v==26){print(0x40," World Post Day ");}
- if(v==27){print(0x40,"UnitedNationsDay");}
- if(v==28){print(0x40,"Mens Healthy Day");}
- if(v==29){print(0x40,"Biodiversity Day");}
- if(v==30){print(0x40," Halloween ");}
- if(v==31){print(0x40,"ChinaReporterDay");}
- if(v==32){print(0x40,"WorldDiabetesDay");}
- if(v==33){print(0x40," World AIDS Day ");}
- if(v==34){print(0x40,"WorldDisabledDay");}
- if(v==35){print(0x40,"WorldFootballDay");}
- if(v==36){print(0x40,"Christmas Night ");}
- if(v==37){print(0x40," Christmas Day ");}
- if(v==38){
- print(0x40," 20");
- print2(0x43,year/10);
- print2(0x44,year%10);
- print(0x45," Last Day ");
- }
- if(v==0xff){
- print(0x40,"Good ");
- if(hour<11){print(0x45,"morning!^_^");
- }else if(hour<13){print(0x45,"noon! ^_^");
- }else if(hour<18){print(0x45,"afternoon(:");
- }else if(hour<21){print(0x45,"evening!^-^");
- }else if(hour<24){print(0x45,"night!-_-zZ");
- }
- }
- }
- void birth(void){
- v=0xff;
- for(i=0;i<3;i++){
- if(br[i]/31==month && br[i]%31==day){
- v=i;
- break;
- }
- }
- if(v==0){print(0x40,"TZR's Birthday! ");}
- if(v==1){print(0x40,"CSJ's Birthday! ");}
- if(v==2){print(0x40,"TXT's Birthday! ");}
- if(v==0xff){
- print(0x40,"^_^ -_- 0_0");
- print(0x4b,":");
- print2(0x4c,sec/10);
- print2(0x4d,sec%10);
- print(0x4e,"s");
- print(0x4f," ");
- }
- }
- void time (void){
- if(sec%30/15==0){
- print2(0x80,C/10);
- print2(0x81,C%10);
- //print(0x82,".");
- //print2(0x83,D/10);
- print3(0x82,0x07);
- print(0x83," ");
- if(month>9){print2(0x85,month/10);}else{print(0x85," ");}
- print2(0x86,month%10);
- print(0x87,"-");
- if(day>9){print2(0x88,day/10);}else{print(0x88," ");}
- print2(0x89,day%10);
- print(0x8a," ");
- }else{
- if(week==1){print(0x80," MonDay ");}
- if(week==2){print(0x80," TuesDay ");}
- if(week==3){print(0x80," WednesDay ");}
- if(week==4){print(0x80," ThursDay ");}
- if(week==5){print(0x80," FriDay ");}
- if(week==6){print(0x80," SaturDay ");}
- if(week==7){print(0x80," SunDay ");}
- }
- print2(0x8b,hour/10);
- print2(0x8c,hour%10);
- if(sec%2==0){
- print(0x8d,":");
- }else{
- print(0x8d,"-");
- }
- print2(0x8e,min/10);
- print2(0x8f,min%10);
- if(sec%20/10==0){
- jieri();
- }else{
- birth();
- }
- if(db == 1){
- month_day();
- db = 0;
- }
- }
- /*void sound (unsigned char v,unsigned char b){
- ET1=1;
- TH1=mh;
- TL1=ml;
- TR1=1;
- } */
- void KEY(void){
- ke=0xff;
- KEYA=1;
- KEYB=1;
- KEYC=1;
- KEYD=1;
- delay(1);
- if(KEYA==0){delay(20);if(KEYA==0){ke=0x0a;while(~KEYA);}}
- if(KEYB==0){delay(20);if(KEYB==0){ke=0x0b;while(~KEYB);}}
- if(KEYC==0){delay(20);if(KEYC==0){ke=0x0c;while(~KEYC);}}
- if(KEYD==0){delay(20);if(KEYD==0){ke=0x0d;while(~KEYD);}}
- if(ke!=0xff){bee;}
- }
- void showbignum(unsigned char hour,unsigned char min){
- unsigned char s1,s2,s3,s4,temp;
- bit a,b,c,d,e,f,g;
- s1=hour/10;
- s2=hour%10;
- s3=min/10;
- s4=min%10;
- temp=nums[s1];
- a=temp/128;
- b=temp/64%2;
- c=temp/32%2;
- d=temp/16%2;
- e=temp/8%2;
- f=temp/4%2;
- g=temp/2%2;
- if(a==1){
- print3(0x81,0);
- }
- if(b==1){
- print3(0x82,2);
- }
- if(c==1){
- print3(0x42,2);
- }
- if(d==1 && g==0){
- print3(0x81,1);
- }
- if(e==1){
- print3(0x40,3);
- }
- if(f==1){
- print3(0x80,3);
- }
- if(g==1){
- print3(0x81,4);
- }
- }
- void init (void) {
- //mh=0x00;
- //ml=0x00; 3.5 3.2 4.7 1.5
- beep=1;
- beepc=0;
- mo=1;
- KEYAG=0;
- KEYBG=0;
- KEYCG=0;
- KEYDG=0;
- TMOD = 0x01;
- TH0 = 0x3c;
- TL0 = 0xb0;
- TH1 = 0x00;
- TL1 = 0x00;
- EA = 1;
- ET0 = 1;
- ET1 = 1;
- TR0 = 1;
- TR1 = 1;
- menu=0;
- P4SW=0x70;
- P2M0=0x02;
- P0M0=0x10;
- /*P3M1=0x24;
- P4M1=0x80;
- P1M1=0x20;*/
- blv=0;
- blg=0;
- vss=0;
- vdd=1;
- vo=0;
- ltv=1;
- P1M1=0x04;
- P1M0=0x02;
- RC=1;
- RP=0;
- //Read_init(1);
- Read_init(2);
- rbit=0;
- if(day==0){
- year=11;
- month=8;
- day=13;
- week=6;
- hour=8;
- min=51;
- sec=50;
- }
- kj=1;
- light=0xa0;
- LCM2402_Init();//LCM2402初始化
- PWM_init();
- PWM0_set(light);
- //sound();
- change();
- autolum=1;
- lm35vcc=1;
- lm35gnd=0;
- P0M0=0x12;
- P0M1=0x01;
- rlv=1;
- rl=0;
- reps=6;
- repe=23;
- }
- void main (void){
- init();
- while (kj){
- /*print3(0x80,0x00);
- print3(0x81,0x02); //永
- print3(0x82,0x04);
- print3(0x40,0x01);
- print3(0x41,0x03);
- print3(0x42,0x05);
-
- print3(0x83,0x06);
- print3(0x84,0x08); //恒
- print3(0x85,0x0a);
- print3(0x43,0x07);
- print3(0x44,0x09);
- print3(0x45,0x0b);
- delay(2000);
- */
- change();
- print(0x80,"Everlasting Time");
- print(0x40," -V3- TZR Studio");
- delay(5000);
- kj=0;
- }
- change();
- while(1){ //主線程//
- //LCM2402_Init();
- if(cou==0){
- C=(ADC_Read()-8)*1000;
- C/=2048;
- }
- if(autolum==1 && rbit==1){
- rbit=0;
- LCM2402_Init();
- //LCM2402_Init();
- if(rl==1){
- light=165;
- PWM0_set(light);
- }else if(rl==0){
- light=45;
- PWM0_set(light);
- }
- }else if(autolum==0 && rbit==1){
- rbit=0;
- LCM2402_Init();
- //LCM2402_Init();
- }/*else if(autolum==2 && rbit==1){
- RC=1;
- rbit=0;
- delay(1);
- RP=ADC_Read();
- /*if(RP*4>245){
- light=RP*4-80*3;
- }else{
- light=5;
- }
- if(RP*4>495){
- light=255;
- }*//*
- light=RP;
- PWM0_set(light);
- RC=0;
- } */
- if(menu==0){
- aln=0xff;
- for(i=0;i<9;i++){
- if(alm[i][0]==hour && alm[i][1]==min && alm[i][2]==1){
- aln=i;
- break;
- }
- }
- if(aln==0xff){
- time();
- }else{
- print(0x80,"Alarm");
- print2(0x85,(i+1));
- print(0x86," ");
- print2(0x87,hour/10);
- print2(0x88,hour%10);
- print(0x89,":");
- print2(0x8a,min/10);
- print2(0x8b,min%10);
- print(0x8c," Pre");
- print(0x40,"ss any keys stop");
- }
- }else if(menu==1){
- print(0x80,"[A B C D]");
- print2(0x8d,mt/10);
- print2(0x8e,mt%10);
- print(0x8f,"s");
- print(0x40,"Alm Time Lum Rep");
- if(mt==0){
- menu=0;
- change();
- }
- }else if(menu==2){
- if(set==0){
- print(0x80,"[+1 -1 SET ESC]");
- print(0x40,"Alm");
- print2(0x43,mo);
- print(0x44," ");
- print2(0x45,alm[mo-1][0]/10);
- print2(0x46,alm[mo-1][0]%10);
- print(0x47,":");
- print2(0x48,alm[mo-1][1]/10);
- print2(0x49,alm[mo-1][1]%10);
- if(alm[mo-1][2]==0){
- print(0x4a," Close");
- }else if(alm[mo-1][2]==1){
- print(0x4a," Open ");
- }else if(alm[mo-1][2]==2){
- print(0x4a," W1-5 ");
- }else if(alm[mo-1][2]==3){
- print(0x4a," W6-7 ");
- }else if(alm[mo-1][2]==4){
- print(0x4a," W 6 ");
- }else if(alm[mo-1][2]==5){
- print(0x4a," W 7 ");
- }else if(alm[mo-1][2]==6){
- print(0x4a," Once ");
- }
- }else{
- print(0x80,"+/-/next/OK ");
- if(mo==0){print(0x8c,"Hour");}
- if(mo==1){print(0x8c,"Mins");}
- if(mo==2){print(0x8c,"Ways");}
- print(0x40,"Alm");
- print2(0x43,set);
- print(0x44," ");
- print2(0x45,alm[set-1][0]/10);
- print2(0x46,alm[set-1][0]%10);
- print(0x47,":");
- print2(0x48,alm[set-1][1]/10);
- print2(0x49,alm[set-1][1]%10);
- if(alm[set-1][2]==0){
- print(0x4a," Close");
- }else if(alm[set-1][2]==1){
- print(0x4a," Open ");
- }else if(alm[set-1][2]==2){
- print(0x4a," W1-5 ");
- }else if(alm[set-1][2]==3){
- print(0x4a," W6-7 ");
- }else if(alm[set-1][2]==4){
- print(0x4a," W 6 ");
- }else if(alm[set-1][2]==5){
- print(0x4a," W 7 ");
- }else if(alm[set-1][2]==6){
- print(0x4a," Once ");
- }
- }
- }else if(menu==3){
- print(0x80,"[+1 -1 next ESC]");
- if(mo==0){
- print(0x40,"Year");
- print2(0x45,2);
- print2(0x46,0);
- print2(0x47,year/10);
- print2(0x48,year%10);
- }else if(mo==1){
- print(0x40,"Month");
- print(0x46,":");
- print2(0x47,month/10);
- print2(0x48,month%10);
- }else if(mo==2){
- print(0x40,"Day ");
- print(0x46,":");
- print2(0x47,day/10);
- print2(0x48,day%10);
- }else if(mo==3){
- print(0x40,"Hour ");
- print(0x46,":");
- print2(0x47,hour/10);
- print2(0x48,hour%10);
- }else if(mo==4){
- print(0x40,"Min ");
- print(0x46,":");
- print2(0x47,min/10);
- print2(0x48,min%10);
- }else if(mo==5){
- if(week==1){print(0x40," MonDay ");}
- if(week==2){print(0x40," TuesDay ");}
- if(week==3){print(0x40," WednesDay ");}
- if(week==4){print(0x40," ThursDay ");}
- if(week==5){print(0x40," FriDay ");}
- if(week==6){print(0x40," SaturDay ");}
- if(week==7){print(0x40," SunDay ");}
- }
- }else if(menu==4){
- PWM0_set(light);
- print(0x80,"[+F -F Auto ESC]");
- print(0x40,"Lum:");
- print2(0x44,light/100%10);
- print2(0x45,light/10%10);
- print2(0x46,light%10);
- print(0x47," Auto:");
- if(autolum==0){
- print(0x4d,"OFF");
- }else if(autolum==1){
- print(0x4d,"ON ");
- }else if(autolum==2){
- print(0x4d,"AS ");
- }
- }else if(menu==5){
- /*print(0x80,"Sorry! This mode");
- print(0x40,"is open up now! ");
- delay(3000);
- menu=0;
- */
- print(0x80,"[St Ed Rep ESC]");
- if(reps!=0xff){
- print2(0x40,reps/10);
- print2(0x41,reps%10);
- print(0x42,":00 to ");
- print2(0x49,repe/10);
- print2(0x4a,repe%10);
- print(0x4b,":00");
- }else{
- print(0x40," -Closed- ");
- }
- }
- /****************************按鈕操作***************************/
- KEY();
- if(menu==0){
- if(ke!=0xff){menu=1;mt=15;change();}
- }else if(menu==1){
- if(ke==0x0a){menu=2;change();mo=1;set=0;}
- if(ke==0x0b){menu=3;change();mo=0;}
- if(ke==0x0c){menu=4;change();}
- if(ke==0x0d){menu=5;change();}
- }else if(menu==2){
- if(set==0){
- if(ke==0x0a){mo++;if(mo==10){mo=1;}}
- if(ke==0x0b){mo--;if(mo==0){mo=9;}}
- if(ke==0x0c){set=mo;mo=0;}
- if(ke==0x0d){menu=0;change();}
- }else{
- if(ke==0x0a){
- if(mo==2){
- alm[set-1][2]++;
- if(alm[set-1][2]==7){
- alm[set-1][2]=0;
- }else if(alm[set-1][2]==0){
- alm[set-1][2]=6;
- }
- }else {
- alm[set-1][mo]++;
- }
- }
- if(ke==0x0b){
- if(mo==2){
- if(alm[set-1][2]>=7){
- alm[set-1][2]=0;
- }else if(alm[set-1][2]==0){
- alm[set-1][2]=7;
- }
- alm[set-1][2]--;
- }else if(alm[set-1][mo]!=0){alm[set-1][mo]--;
- }
- }
- if(ke==0x0c){mo++;if(mo==3){mo=0;}}
- if(ke==0x0d){menu=0;change();}
- if(alm[set-1][0]>23){
- alm[set-1][0]=0;
- }
- if(alm[set-1][0]<0){
- alm[set-1][0]=23;
- }
- if(alm[set-1][1]<0){
- alm[set-1][1]=59;
- }
- }
- }else if(menu==3){
- if(ke==0x0a){
- if(mo==0){year++;}
- if(mo==1){month++;}
- if(mo==2){day++;}
- if(mo==3){hour++;}
- if(mo==4){min++;}
- if(mo==5){week++;}
- if(year>29){
- year=11;
- }
- if(month>12){
- month=1;
- }
- if(day>31){
- day=1;
- }
- if(hour>23){
- hour=0;
- }
- if(min>59){
- min=0;
- }
- if(week>7){
- week=1;
- }
- }
- if(ke==0x0b){
- if(mo==0 && year>11){year--;}
- if(mo==1 && month>1){month--;}
- if(mo==2 && day>1){day--;}
- if(mo==3 && hour>0){hour--;}
- if(mo==4 && min>0){min--;}
- if(mo==5 && week>1){min--;}
- }
- if(ke==0x0c){mo++;if(mo==6){mo=0;}}
- if(ke==0x0d){menu=0;change();}
- }else if(menu==4){
- if(ke==0x0a){
- if(light>0xFE){
- light=0x00;
- }else{
- light+=0x0F;
- }
- }
- if(ke==0x0b){
- if(light<0x0E){
- light=0xFF;
- }else{
- light-=0x0F;
- }
- }
- if(ke==0x0c){
- autolum++;
- if(autolum==2){
- autolum=0;
- }
- }
- if(ke==0x0d){menu=0;change();}
- }else if(menu==5){
- if(ke==0x0a){
- if(reps>9){
- reps=5;
- }else{
- reps++;
- }
- }
- if(ke==0x0b){
- if(repe>23){
- repe=20;
- }else{
- repe++;
- }
- }
- if(ke==0x0c){
- if(reps<0xff){
- reps=0xff;
- }else{
- reps=6;
- }
- }
- if(ke==0x0d){menu=0;change();}
- }
- }
- }
- void tiem0(void) interrupt 1 using 3{
- cou++;
- if(beepc>0){
- beepc--;
- beep=0;
- }else if(beepc==0){
- beep=1;
- beepc=0;
- }
- if(cou > 19){
- cou = 0;
- sec++;
- if(sec%2==0){
- rbit=1;
- }
- if(mt>0){
- mt--;
- }
- if(sec > 59){
- sec = 0;
- min++;
- if(hour>=reps && hour<=repe && reps!=0xff && min==30){
- bee;
- }
- if(min > 59){
- min = 0;
- if(hour>=reps && hour<=repe && reps!=0xff){
- lbee;
- }
- hour++;
- if(hour > 23){
- hour = 0;
- db = 1;
- }
- }
- for(i=0;i<9;i++){
- if(alm[i][0]==hour && alm[i][1]==min && alm[i][2]!=0){
- if(alm[i][2]==1){
- beep=0;
- beepc=20*30;
- break;
- }else if(alm[i][2]==2 && week>=1 && week<=5){
- beep=0;
- beepc=20*30;
- break;
- }else if(alm[i][2]==3 && week>=6 && week<=7){
- beep=0;
- beepc=20*30;
- break;
- }else if(alm[i][2]==4 && week==6){
- beep=0;
- beepc=20*30;
- break;
- }else if(alm[i][2]==5 && week==7){
- beep=0;
- beepc=20*30;
- break;
- }else if(alm[i][2]==6){
- beep=0;
- beepc=20*30;
- alm[i][2]=0;
- break;
- }
- }
- }
- }
- }
- TH0 = 0x3c;
- TL0 = 0xd0;
- }
- void t1(void) interrupt 3 using 2{
- blv=~blv;
- if(blv==0){
- TH1=hh;
- TL1=hh;
- }else{
- TH1=ll;
- TL1=ll;
- }
- }
復制代碼
CODE代碼.rar
(7.01 KB, 下載次數: 19)
2016-6-20 23:54 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: taoran 時間: 2016-6-20 23:58
頂!!樓主的電子鐘做的很不錯啊,很簡潔構造有創意呀,不知道準確性上是否精確,感覺用單片機自身的時鐘可能會受程序等的影響產生誤差,還有電源的地方我基本沒有了解,很喜歡你做的et2中的電源部分,可否給我點電路原理圖,不勝感激(424780212@qq.com),給你提點建議,就是用da芯片與喇叭做蜂鳴器部分,這樣可以將鬧鐘部分播放優質的音樂,還有諾基亞5110液晶屏很好(也有藍背景不是很好看),用它可以顯示更多的東西,性價比超高,加上18b20顯示溫度,單片機推薦msp430(我沒用過)在功耗上效果明顯,最好用時鐘芯片(ds1302便宜)
作者: tomko 時間: 2016-6-21 09:13
新人看看看看看學習
| 歡迎光臨 (http://www.izizhuan.cn/bbs/) |
Powered by Discuz! X3.1 |
亚洲成人一区在线|
国产成人精品日本亚洲11|
亚洲高清在线精品|
美女脱光内衣内裤视频久久网站|
黄色日韩网站|
六月丁香综合网|
一本之道在线视频|
亚洲曰本av电影|
日本精品三区|
欧美xxxx视频|
亚洲国产视频在线观看|
少妇一级淫片免费放中国
|
国产成人在线视频观看|
国产艳妇疯狂做爰视频|
国产精品一区av|
欧美日韩一区成人|
黄色精品免费|
菠萝菠萝蜜在线视频免费观看|
青青艹在线视频|
亚洲乱码在线观看|
欧美三日本三级少妇99|
欧美牲交a欧美牲交aⅴ免费真
|
五月天免费网站|
一本色道久久亚洲综合精品蜜桃|
亚洲欧美在线网|
亚洲综合在线播放|
欧美激情二区三区|
一区二区三区四区高清精品免费观看|
亚洲有吗中文字幕|
h片在线观看下载|
av电影在线观|
狠狠鲁男人天堂|
超碰人人人人人人人|
亚洲成人福利在线|
岛国大片在线播放|
国产精品久久91|
亚洲丁香久久久|
91成人在线免费观看|
大美女一区二区三区|
伊人久久大香线蕉av超碰|
岛国毛片av在线|
搞黄视频在线观看|
午夜av电影|
欧美一区二区公司|
亚洲手机在线观看|
中文字幕av影院|
欧美日韩偷拍视频|
欧美 日韩 国产 成人 在线观看|
色哺乳xxxxhd奶水米仓惠香|
国内精品久久国产|
92看片淫黄大片看国产片|
欧美在线免费观看|
6080yy午夜一二三区久久|
成人av在线观|
欧美亚洲在线日韩|
超级碰碰久久|
超碰高清在线|
欧美xxx黑人xxx水蜜桃|
色屁屁www国产馆在线观看|
www日本黄色|
国产成人手机在线|
国产精品亚洲欧美在线播放|
亚洲天堂视频在线|
中文字幕在线视频免费|
国产 欧美 日韩 在线|
久久久久久亚洲中文字幕无码|
国产精品扒开腿做爽爽爽a片唱戏|
亚洲91精品在线观看|
亚洲观看高清完整版在线观看|
成人免费在线视频观看|
中文字幕人成人乱码|
www.999av|
妺妺窝人体色www婷婷|
五月天免费网站|
久草视频手机在线|
97在线免费视频观看|
啪一啪鲁一鲁2019在线视频|
欧美尺度大的性做爰视频|
在线视频精品一|
一卡二卡三卡日韩欧美|
一本色道久久综合亚洲精品高清
|
wwwav91|
免费黄色小视频|
天堂网在线观看|
美女极度色诱视频www免费观看|
手机在线免费看片|
91麻豆制片厂|
久久午夜福利电影|
色婷婷在线视频观看|
国产亚洲精品久久久久久打不开|
日韩xxxxxxxxx|
男女av免费观看|
欧美日韩亚洲自拍|
亚洲精品一区二区三区av|
亚洲mv在线看|
日韩国产一级片|
六月丁香婷婷在线|
干日本少妇视频|
亚洲国产欧美一区二区丝袜黑人
|
特级毛片在线观看|
三级在线观看网站|
久久久久久国产精品视频|
国产精品丝袜一区二区|
日韩爱爱小视频|
精品久久久久久无码人妻|
亚洲v国产v欧美v久久久久久|
www.xxx亚洲|
黄色国产小视频|
91丨porny丨对白|
av资源在线免费观看|
男人女人拔萝卜视频|
95视频在线观看|
男的操女的网站|
黄色片视频免费|
国内精品久久久久久久久久久|
亚洲国产aⅴ精品|
五月婷婷激情五月|
天天射,天天干|
精品樱空桃一区二区三区
|
天堂成人娱乐在线视频免费播放网站
|
国产激情自拍视频|
人日人天天爽|
在线免费看黄网站|
色成年激情久久综合|
亚洲综合国产激情另类一区|
日韩一卡二卡三卡国产欧美|
欧美日韩黄色一区二区|
亚洲一区999|
欧美一区三区三区高中清蜜桃|
成人黄色av播放免费|
亚洲综合av一区|
精品国产一区二区三|
成人性生活视频免费看|
轻点好疼好大好爽视频|
欧美国产亚洲一区|
一级特级黄色片|
www.日本精品|
男人用机机桶女人|
91亚洲国产成人精品一区|
亚洲精品自产拍在线观看app|
97超碰在线资源站|
污视频网站免费|
av色综合久久天堂av色综合在|
中文字幕伦理免费在线视频|
欧美理论电影|
色黄视频在线观看|
99久久婷婷国产综合精品首页
|
国产精选在线视频拍拍拍|
一级在线观看|
bestiality新另类大全|
精品日产乱码久久久久久仙踪林|
久久国产高清|
成人教育av在线|
色美美综合视频|
日韩视频中午一区|
热久久美女精品天天吊色|
亚洲国产婷婷香蕉久久久久久99|
国产又粗又猛又爽又黄|
波多野结衣啪啪|
蜜桃av鲁一鲁一鲁一鲁俄罗斯的
|
国产探花在线精品|
国产成人免费视频|
www久久久久|
欧美一区永久视频免费观看|
国产成一区二区|
久久一区二区三区欧美亚洲|
亚洲一二区在线观看|
一区二区三区四区免费|
亚洲精品在线免费观看视频|
日韩一级在线观看|
国产欧美精品在线播放|
国产女大学生av|
无套白嫩进入乌克兰美女|
91社区视频在线观看|
亚洲男人天堂2020|
天天曰天天操|
黄色精品视频|
日韩av大片|
99精品欧美一区|
欧美视频一区二区三区…|
欧美精品一区二区三区一线天视频
|
天干夜天天夜天干天ww|
欧洲天堂在线观看|
625成人欧美午夜电影|
在线视频观看日韩|
精品国产精品三级精品av网址|
欧美丰满少妇xxxxx|
国产成人生活片|
搡老熟女老女人一区二区|
午夜激情福利网|
欧美xxxxb|
七七成人影院|
亚洲少妇在线|
日韩一区日韩二区|
欧美高清在线视频观看不卡|
国产91在线亚洲|
欧美三级韩国三级日本三斤在线观看|
好看的黄色网址|
av在线国产精品|
国产精品美女久久久|
色综合久久综合网97色综合|
久久精品国产91精品亚洲|
成人av免费电影|
久久综合久久色|
一区二区三区午夜|
先锋影音成人资源|
成人爽a毛片免费啪啪红桃视频|
亚洲一区二区动漫|
欧美日韩国产乱码电影|
青青草一区二区|
一区二区三区四区毛片|
囯产精品一品二区三区|
亚洲男男gay视频|
欧美理伦片在线播放|
亚洲欧洲av一区二区三区久久|
欧美激情一二区|
久热精品在线播放|
男人天堂网av|
亚洲电影有码|
日韩在线不卡|
天天色 色综合|
www.成人av|
永久免费看mv网站入口|
俄罗斯黄色一级片|
日韩在线黄色|
成人黄色国产精品网站大全在线免费观看
|
欧美性生活一级|
亚洲经典一区|
91福利小视频|
日本aⅴ大伊香蕉精品视频|
中文字幕第一页在线视频|
男人网站视频|
二区三区在线观看|
另类中文字幕网|
在线亚洲男人天堂|
国产视频一区二区三区在线播放|
国产精品23p|
国产成人亚洲综合小说区|
国产在线69|
久久电影网站中文字幕|
www.午夜精品|
欧美日韩中文字幕在线播放|
中文字幕一区二区三区人妻四季|
国产日本视频|
亚洲一区二区三区|
精品免费视频.|
玛丽玛丽电影原版免费观看1977
|
国产亚洲精品网站|
青青草社区在线|
色8久久久久|
亚洲色欲色欲www|
亚洲综合色激情五月|
亚洲女人在线观看|
秋霞午夜剧场|
中老年在线免费视频|
老鸭窝毛片一区二区三区|
欧美色视频一区|
99re国产|
国产亚洲小视频|
97超超碰碰|
99精品在免费线中文字幕网站一区|
国产精品视频一区二区三区不卡|
日韩av电影在线网|
日韩av在线看免费观看|
jizzjizzjizz中国|
欧美.www|
精品捆绑美女sm三区|
日本不卡一区二区三区视频|
国产全是老熟女太爽了|
99精产国品一二三产品香蕉|
亚洲午夜av|
欧美色道久久88综合亚洲精品|
久久久婷婷一区二区三区不卡|
男人天堂2024|
国产羞羞视频在线播放|
妖精视频成人观看www|
一区二区福利视频|
国产精品无码网站|
色就是色亚洲色图|
国产成人aaa|
久久精品视频网站|
国产又黄又粗又猛又爽的视频|
在线久久视频|
国产精品香蕉|
3d动漫精品啪啪一区二区竹菊|
久久久久久久中文|
久热精品在线视频|
av直播在线观看|
日本性生活网站|
牛牛影视久久网|
欧美二区乱c少妇|
亚洲精品一区二区三区四区五区|
国产又黄又大又爽|
精品麻豆剧传媒av国产九九九|
91丨国产丨九色丨pron|
99国产高清|
免费看特级毛片|
牛牛热在线视频|
99精品视频免费|
久久99精品久久久久久琪琪|
gai在线观看免费高清|
曰本大片免费观看视频|
日韩一级不卡|
日韩精品一区二区三区视频
|
婷婷激情久久|
在线观看亚洲a|
日韩a∨精品日韩在线观看|
四虎成人精品|
欧美日韩国产免费观看|
亚洲大胆人体在线|
亚洲色成人www永久在线观看|
在线黄色av网站|
中文字幕伦理免费在线视频
|
欧美日韩一区二区不卡|
99热手机在线|
欧美bbb人妖|
露出调教综合另类|
亚洲欧美日韩一区二区在线|
精品国产aaa|
国产三级在线观看|
国产在线不卡一区|
国产精品一区二区av|
欧美三级韩国三级日本三斤在线观看|
亚洲不卡系列|
日韩欧美中文字幕公布|
国产精品亚洲无码|
一二三中文字幕在线|
国产日韩欧美高清在线|
国产精品毛片一区视频
|
精品国产欧美日韩一区二区三区|
国产精品国产三级国产|
国产在线拍揄自揄拍无码|
性欧美大胆高清视频|
日韩一区免费|
欧美日韩激情一区二区|
www.555国产精品免费|
日本一本在线免费福利|
一本到一区二区三区|
青青青国产在线观看|
美女高潮黄又色高清视频免费|
欧美日韩一区自拍|
国产欧美日韩综合精品|
亚洲欧美日韩动漫|
一区二区三区国产在线|
91久久偷偷做嫩草影院|
久久精品亚洲7777影院|
久久精品人人|
欧美高清视频免费观看|
久久久精品国产sm调教|
粉嫩一区二区三区四区公司1|
精品国产一区二区在线
|
国产大尺度视频|
julia中文字幕久久亚洲蜜臀|
亚洲国产电影在线观看|
北条麻妃视频在线|
一级日本免费的|
亚洲免费观看高清完整版在线
|
免费av成人在线|
婷婷久久五月天|
免费精品国产自产拍在|
激情综合网天天干|
超碰在线免费观看97|
任你操在线观看|
久久亚洲精华国产精华液|
亚洲国产另类久久久精品极度|
久久91av|
久久成人免费网站|
超碰在线97av|
免费永久在线观看黄网|
久久精品国产一区二区三区免费看|
91在线播放国产|
九色.com|
1024精品合集|
丰满少妇被猛烈进入高清播放|
婷婷视频在线|
欧美tk丨vk视频|
九九九在线观看|
国自产拍偷拍福利精品免费一|
日韩女优在线播放|
日韩8x8x|
久久久精品综合|
欧美国产日韩在线视频|
欧美韩国亚洲|
黑人欧美xxxx|
久久久久人妻一区精品色|
精品123区|
亚洲精品一区二区三区99|
黄色在线观看av|
国产激情综合|
亚洲第一精品自拍|
无码久久精品国产亚洲av影片|
2020国产精品小视频|
欧美激情一区二区三区久久久
|
日韩欧美黄色大片|
中文在线三区|
色一区在线观看|
欧美成人另类视频|
国产一区二区三区四区二区|
99re国产|
丝袜美女写真福利视频|