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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10722|回復: 11
打印 上一主題 下一主題
收起左側

單片機+LCD12864溫度顯示(DS18B20)

  [復制鏈接]
跳轉到指定樓層
樓主
ID:531882 發表于 2019-7-22 21:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

---------------------------------------------------------------LCD12864溫度顯示(DS18B20)------------------------------------------------------------
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P3^4;      //定義lcd使能端
sbit lcdrs=P3^5;      //定義lcd數據命令選擇端
sbit lcdwr=P3^6;      //定義lcd讀寫選擇端
sbit lcdrd=P3^7;      //定義并串選擇端
sbit DQ=P2^2;       //定義DS18B20數據線引腳端
uchar high,low;
char a,d2,d1,d0;
float f_temp;
uint i,j,temp;
uchar code line1[] = {"電工電子創新協會"};
uchar code line2[]="當前溫度:";
uchar code line3[]="00.0度";
//-------------------毫秒級延時函數-------------------------
void delay_ms(uint z)      //延時z毫秒
{
uint x,y;
for(x=z;x>0;x--)
  for(y=115;y>0;y--);
}
//------------lcd寫指令函數-------------
void wr_cmd(uchar cmd)
{
lcden=0;
lcdrs=0;
P0=cmd;
delay_ms(1);
lcden=1;
delay_ms(1);
lcden=0;
}
//-----------lcd寫數據函數-----------
void wr_dat(uchar dat)
{
lcden=0;
lcdrs=1;
P0=dat;
delay_ms(1);
lcden=1;        
delay_ms(1);
lcden=0;
}

//-----------------------用戶界面文字顯示函數--------------------------
void face_dis()      
{
wr_cmd(0x30);           //選擇功能:8位數據基本指令操作
wr_cmd(0x0c);          //整體顯示開,不顯示光標
wr_cmd(0x01);          //lcd清屏
wr_cmd(0x02);          //游標歸原點
wr_cmd(0x80);
for(a=0;a<16;a++)         //寫入第二行數據
{
  wr_dat(line1[a]);
}

wr_cmd(0x90);          //設置第二行起始位
for(a=0;a<10;a++)         //寫入第二行數據
{
  wr_dat(line2[a]);
}
wr_cmd(0x8c);          //設置第三行起始位
for(a=0;a<6;a++)         //寫入第三行數據
{
  wr_dat(line3[a]);
}
}
//------------------------用戶界面數據顯示函數-------------------------------
void dat_dis()
{
wr_cmd(0x8c);  //顯示溫度
wr_dat(0x30+d2);
wr_dat(0x30+d1);
wr_dat(0x2e);  //寫入“.”號
wr_dat(0x30+d0);
}
//-----------------------------初始化函數------------------------------------
void init()
{
delay_ms(20);      //等待液晶輸入電源穩定
lcdrd=1;       //選定lcd與單片機并行連接
lcdwr=0;       //因為我們不需要從lcd模塊讀數據,所以可直接將此端口清零,便于之后利用矩陣鍵盤
face_dis();       //顯示用戶界面
}
//-----------------------獲溫部分:初始化函數--------------------
void init_temp()
{
DQ=0;  //拉低總線,產生復位信號
i=80;while(i>0)i--;  //延時480~960us
DQ=1;  //拉高總線
i=4;while(i>0)i--;  //延時15~60us
while(DQ);  //等待產生應答脈沖
i=70;while(i>0)i--;  //延時至少480us
}
//------------------獲溫部分:寫函數-------------------------------
void wr_temp(uchar dat)  //寫1個字節
{
bit testb;
for(j=8;j>0;j--)
{
  testb=dat&0x01;
  dat=dat>>1;
  if(testb)  //寫1
  {
   DQ=0;  //拉低總線,產生寫時間隙
   i++;  //延時大于1us
   DQ=1;  //拉高總線
   i=8;while(i>0)i--;  //延時至少60us,供DS18B20采樣
  }
  else    //寫0
  {
   DQ=0;  //拉低總線,產生寫時間隙
   i=8;while(i>0)i--;  //保持至少60us,供DS18B20采樣
   DQ=1;  //拉高總線
   i++;i++;
  }
}
}
//------------------獲溫部分:讀函數-------------------------------
uchar rd_temp()  //讀1個字節
{
bit b;  //定義存放接收到的1個字節
uchar i_b;
uchar rdbyte;
for(j=8;j>0;j--)
{
  DQ=0;  //拉低總線,產生讀時隙
  i++;  //延時大于1us
  DQ=1;  //釋放總線
  i++;i++;  //給一定時間讓總線釋放
  b=DQ;  //讀取數據
  i=8;while(i>0)i--;  //延時至少60us
  i_b=b;
  rdbyte=(i_b<<7)|(rdbyte>>1);  //將讀取到得一位值左移7位,存放讀取的數據變量rdbyte右移1位
}
return rdbyte;
}
//----------------------溫度獲取函數-----------------------

12864溫度顯示——成功.zip

33.56 KB, 下載次數: 451, 下載積分: 黑幣 -5

完整代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏12 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:774122 發表于 2020-7-6 22:25 | 只看該作者
可以問一下么,怎么調到在第一行顯示  當前溫度:xx.x度
回復

使用道具 舉報

板凳
ID:510861 發表于 2020-7-8 07:24 來自手機 | 只看該作者
看著很簡單,做起來好藍
回復

使用道具 舉報

地板
ID:160725 發表于 2020-7-17 08:40 | 只看該作者
認真學習 才是硬道理
回復

使用道具 舉報

5#
ID:830257 發表于 2020-11-25 09:29 | 只看該作者
沒有仿真圖?
回復

使用道具 舉報

6#
ID:848824 發表于 2021-1-14 22:01 | 只看該作者
所有引腳都接嗎,我沒不會能給個接線圖嗎
回復

使用道具 舉報

7#
ID:390416 發表于 2021-1-15 11:49 | 只看該作者
我們寫的DS18B20的代碼 初始化是不需要死等延遲的,有需要的可以下載
http://www.zg4o1577.cn/bbs/dpj-200968-1.html
回復

使用道具 舉報

8#
ID:962672 發表于 2021-9-4 09:43 | 只看該作者
;**********************************************************************
;晶振為12MHZ,顯示實時時間,溫度
;測量溫度范圍為-55~+99攝氏度
;***********************************************************************
                T_RST                        EQU                P1.5                //DS1302復位線引腳
                T_CLK                        EQU                P1.6                //DS1302時鐘線引腳
                T_IO                        EQU                P1.7                //DS1302數據線引腳

                TEM_L                        EQU                40H                        //存放從DS18B20中讀出的高、低位溫度值
                TEM_H                        EQU                41H               
                TEM_NUM                        EQU                42H                        //存放溫度轉換后的整數部分
                FLAG0                        EQU                45H                        //FLAG0存放溫度的符號
                DQ                                EQU                P2.3                //DS18B20數據線

                RS                                BIT                P2.0                //LCD控制線定義
                RW                                BIT                P2.1               
                E                                BIT                P2.2

                SKIP_B20                EQU                0CCH                //DS18B20跳過ROM命令
                START_B20                EQU                44H                        //DS18B20溫度變換命令
                READDS                        EQU                0BEH                //DS18B20讀暫存器命令
               
                ORG                0000H
                AJMP        MAIN
                ORG                0100H
MAIN:        MOV                SP,#90H
                ACALL        LCD_INT                                          //進行LCD初始化
                MOV                A,#8BH                                                //在LCD第一行第12列顯示WEEK
                LCALL        W_COM
                MOV                A,#57H                                                //字母'W'的字符庫為01010111
                LCALL        W_DAT
                MOV                A,#45H                                                //字母'E'的字符庫為01000101
                LCALL        W_DAT
                MOV                A,#45H                                                
                LCALL        W_DAT
                MOV                A,#4BH                                                //字母'K’的字符庫為01001011
                LCALL        W_DAT
                MOV                A,#0C0H                                                //第二行第一列顯示TIME
                LCALL        W_COM
                MOV                A,#54H                                                //字母'T'的字符庫為01010100
                LCALL        W_DAT
                MOV                A,#49H                                                //字母'I'的字符庫為01001001
                LCALL        W_DAT
                MOV                A,#4DH                                                //字母'M'的字符庫為01001101
                LCALL        W_DAT
                MOV                A,#45H                                                //字母'E'的字符庫為01000101
                LCALL        W_DAT
               
        

                 MOV                60H,#00H                                        //設置秒存儲單元
                MOV                61H,#00H                                        //設置分存儲單元
                MOV                62H,#16H                                        //設置時存儲單元
                MOV                63H,#05H                                        //設置日存儲單元
                MOV                64H,#01H                                        //設置月存儲單元
                MOV                65H,#03H                                        //設置星期存儲單元
                MOV                66H,#18H                                        //設置年存儲單元
                LCALL        SET1302                                                //向DS1302寫入時間

REP:          LCALL        GET1302                                                //讀出時間
            LCALL        GET_TEM                                                  //讀出轉換后的溫度值
                  LCALL        TEM_COV

;;;;;;;;;;在LCD第一行顯示年月日和星期;;;;;;;;;;                        
                 MOV            A,#80H                                                 //顯示在LCD第一行第一列
                   LCALL        W_COM                                                 //調用LCD寫命令子程序
                MOV            A,#'2'
                 ACALL        W_DAT                                                 //調用LCD寫數據子程序
                 MOV            A,#'0'
                 ACALL        W_DAT
                 MOV            A,56H                                                //年拆分成十位與個位,轉換字符顯示
                 MOV            B,#10H
                 DIV            AB
                 ADD            A,#30H                                                 //數字的字符庫從00110000B即30H開始
                 ACALL        W_DAT
                 MOV           A,B
                 ADD            A,#30H
                 ACALL        W_DAT
                 MOV            A,#'-'
                 ACALL        W_DAT
                 MOV            A,54H                                                  //月拆分成十位與個位,轉換字符顯示
                 MOV            B,#10H
                 DIV            AB
                 ADD            A,#30H
                 ACALL        W_DAT
                 MOV            A,B
                 ADD            A,#30H
                 ACALL        W_DAT
                 MOV            A,#'-'
                 ACALL        W_DAT
                 MOV            A,53H                                                //日拆分成十位與個位,轉換字符顯示
                 MOV            B,#10H
                 DIV            AB
                 ADD            A,#30H
                 ACALL        W_DAT
                 MOV            A,B
                 ADD            A,#30H
                 ACALL        W_DAT
                MOV          A,#8FH                                                //設置LCD顯示星期的位置為第一行第十六列
                  LCALL        W_COM
                 MOV            A,55H                                                 //顯示星期
                 ADD            A,#30H
                 LCALL        W_DAT

;;;;;;;;;;在LCD第二行顯示時分秒和溫度;;;;;;;;;;;;;
                MOV                A,#0C4H                                                //寫入顯示緩沖區的起始地址為第二行第五列開始
                   LCALL        W_COM
                   MOV            A,52H                                                  //小時拆分成十位與個位,轉換字符顯示
                 MOV            B,#10H
                 DIV            AB
                 ADD            A,#30H
                 LCALL        W_DAT
                 MOV            A,B
                 ADD            A,#30H
                   LCALL        W_DAT
                 MOV            A, #':'
                 LCALL        W_DAT
                 MOV            A,51H                                                  //分拆分成十位與個位,轉換字符顯示
                 MOV            B,#10H
                 DIV            AB
                 ADD            A,#30H
                 LCALL        W_DAT
                 MOV            A,B
                 ADD            A,#30H
                 LCALL        W_DAT
                 MOV            A, #':'
                  LCALL        W_DAT
                 MOV            A,50H                                                 //秒拆分成十位與個位,轉換字符顯示
                 MOV            B,#10H
                 DIV            AB
                 ADD            A,#30H
                 LCALL        W_DAT
                 MOV            A,B
                 ADD            A,#30H
                  LCALL        W_DAT
                  MOV                A,#0CDH                                                //溫度顯示在LCD第二行第十四列
                LCALL        W_COM
                  MOV                A,FLAG0                                                //顯示溫度正負號
                ACALL        W_DAT
                   MOV                A,TEM_NUM                                        //溫度整數拆分成十位和個位顯示
                MOV                B,#0AH                                       
                DIV                AB                                                        //商送給A,余數送給B
                ADD                A,#30H
                CJNE        A,#30H,REP1                                        //如果十位為0,則不顯示
                MOV                A,#20H                                                //字符庫中00100000B(20H)為空白
REP1:        ACALL        W_DAT                                                //調用LCD寫數據子程序
                MOV                A,B                                                        //將求得的余數送給A
                ADD                A,#30H
                ACALL        W_DAT                                                //調用LCD寫數據子程序
                LJMP           REP

/******************時間**************************/
;;;;;;;;累加器A寫一字節到DS1302;;;;;;;;;;;;;
WE:                MOV                70H,#08H                                                //一個字節八位,移動八次
INB1:        MOV                A,B                                                                //將命令字送給A
                RRC                A                                                                //通過A移入進位標志位C
                MOV                B,A
                MOV                T_IO,C                                                        //移入到芯片內
                SETB        T_CLK
                CLR                T_CLK
                DJNZ        70H,INB1
                RET

;;;;;;;;讀一字節到累加器A中;;;;;;;;;;;;;;;;;
READ:        MOV                70H,#08H                                                //一個字節八位,移動八次
OUTB1:        MOV                C,T_IO                                                        //從芯片內移動到進位標志位C
                RRC                A                                                                //通過C再移入累加器A中
                SETB        T_CLK
                CLR                T_CLK
                DJNZ        70H,OUTB1
                RET

;;;;;;;;;向DS1302寫入時間子程序;;;;;;;;;;;;;;
SET1302:CLR          T_RST                                                           //RST引腳為低電平,數據傳送終止
        CLR          T_CLK                                                        //清零時鐘總線
                SETB         T_RST                                                        //RST引腳為高電平,邏輯控制有效
                MOV          B,#8EH                                                        //控制命令字(10001110-進行存取時間,寫操作)
                LCALL          WE                                                                //調用寫字節命令
                MOV            B,#00H                                                        //寫操作前清寫保護位W
                LCALL          WE
                SETB           T_CLK
                CLR            T_RST
        MOV            R0,#60H                                                 //秒 分 時  日 月 星期  年  數據存儲在60-66H單元
            MOV            R7,#07H                                                        //共7個字節
        MOV            R1,#80H                                                        //寫秒寄存器命令
S1:                CLR                T_RST
                CLR                T_CLK
                SETB        T_RST
                MOV                B,R1                                                        //寫入寫秒指令
                LCALL        WE
                MOV                A,@R0                                                        //將秒存儲單元中的數值送給A
                MOV                B,A
                LCALL        WE
                INC                R0                                                                //R0加一,指向下一個寫入的日歷、時鐘數據
                INC                R1                                                                //指向下一個時間寄存器
                INC                R1
                SETB        T_CLK
                CLR                T_RST
                DJNZ        R7,S1
                CLR                T_RST
                CLR                T_CLK
                SETB        T_RST
                MOV                B,#8EH                                                        //控制命令字(10001110-進行存取時間,寫操作)
                LCALL        WE
                MOV                B,#80H                                                        //控制寄存器中WP置1
                LCALL        WE
                SETB        T_CLK
                CLR                T_RST                                                        //結束寫過程
                RET

;;;;;;;;;;;;;;;讀時間子程序;;;;;;;;;;;;;;;;;               
GET1302:MOV           R0,#50H
        MOV           R7,#7
        MOV           R1,#81H                                                 //讀秒寄存器命令
G1:                CLR            T_RST
        CLR            T_CLK
        SETB           T_RST
        MOV            B,R1                                                          //寫入讀秒寄存器命令
        LCALL          WE                                                               
        LCALL          READ
        MOV            @R0,A                                                          //存入讀出數據
        INC            R0                                                          //指向下一個存放日歷、時鐘的存儲單元
        INC            R1                                                          //指向下一個日歷、時鐘寄存器
        INC            R1   
        SETB           T_CLK
        CLR            T_RST
        DJNZ           R7,G1                                                         //未讀完,繼續讀下一個
        RET        
               
/********************溫度************************/
;;;;;;;;;;;;;;DS18B20復位程序;;;;;;;;;;;;;;;;;
B20_INT:SETB        DQ                                                                 //將數據線置高電平“1”
                NOP                                                                                  //延時        
                NOP
                CLR                DQ                                                                //數據線拉到低電平“1”
                MOV                R7,#0CH                                                        //延時60*12=720US
INT_DEL:ACALL        DEL60US
                DJNZ        R7,INT_DEL
                SETB        DQ                                                                //數據線拉到高電平“1”
                ACALL        DEL60US                                                        //延時等待
                ACALL        DEL60US
                MOV                C,DQ                                                        //將數據線的狀態送給C,判斷初始化是否成功,是否產生一個低電平
                JC                ERROR                                                        //如果C等于1,則跳出,初始化失敗
                ACALL        DEL60US                                                        //初始化成功,CPU讀到數據線上的低電平,繼續延時
                ACALL        DEL60US
                ACALL        DEL60US
                ACALL        DEL60US
                RET
ERROR:        CLR                DQ                                                                //初始化未成功,繼續進行初始化
                SJMP        B20_INT
                RET

;;;;;;;;;;;;;;;;;讀DS18B20一個字節到累加器A子程序;;;;;;;;;;;;
R_BYTE:        MOV                R7,#08H                                                        //讀取8位為一字節
                SETB        DQ
                NOP
                NOP
LOOP:        CLR                DQ                                                                //將數據線從高電平拉為低電平時,作為一個讀周期的開始
                NOP                                                                                //延時,保證低電平至少為1US
                NOP
                NOP
                SETB        DQ                                                               
                MOV                R6,#07H                                                        //循環到A的最高位
                DJNZ        R6,[        DISCUZ_CODE_1        ]nbsp;                                                         
                MOV                C,DQ                                                        //將數據線中的值送給進位標志位C
                ACALL        DEL60US
                RRC                A                                                                //累加器A帶進位右移
                SETB        DQ
                DJNZ        R7,LOOP                                                        //將一字節讀到累加器A
                ACALL        DEL60US
                ACALL        DEL60US
                RET
               
;;;;;;;;;;;;;累加器A寫到DS18B20子程序;;;;;;;;;;
W_BYTE:        MOV                R7,#08H                                                         //將8位連續數據(一字節)寫入A
                SETB        DQ                                                                //拉高數據線
                NOP
                NOP
LOOP1:        CLR                DQ                                                                //將數據線拉到低電平,作為寫周期的開始
                MOV                R6,#07H                                                        //循環到累加器A的最高位Acc.7
                DJNZ        R6,$
                RRC                A                                                                //從累加器A的最高位開始寫入
                MOV                DQ,C                                                        //將進位C送給DS18B20(寫入時序,0或者1時序)
                ACALL        DEL60US                                                        //保持60US
                SETB        DQ                                                                //在15US內將數據線拉為高電平
                DJNZ        R7,LOOP1                                                //將一字節寫入A
                RET
DEL60US:MOV                R6,#1EH                                                        //延時(30*2)us
                DJNZ        R6,$
                RET

;;;;;;;;;;;讀溫度子程序;;;;;;;;;;;;;;;;;;
GET_TEM:ACALL        B20_INT                                                        //DS18B20復位程序
                MOV                A,#0CCH                                                        //DS18B20跳過ROM命令
                ACALL        W_BYTE                                                        //調用寫DS18B20子程序
                ACALL        DEL60US
                ACALL        DEL60US
                MOV                A,#44H                                                        //DS18B20溫度轉換命令,開始裝換溫度
                ACALL        W_BYTE                                                        //調用寫DS18B20子程序
                ACALL        DEL60US
                ACALL        B20_INT                                                        //寫完之后,將DS18B20復位
                MOV                A,#0CCH                                                        //DS18B20跳過ROM命令
                ACALL        W_BYTE                                                        //調用寫DS18B20子程序
                ACALL        DEL60US
                MOV                A,#0BEH                                                        //DS18B20讀暫存器命令
                ACALL        W_BYTE                                                        //調用寫DS18B20子程序
                ACALL        DEL60US
                ACALL        R_BYTE                                                        //讀溫度低字節
                MOV                TEM_L,A                                                        //將讀出的溫度低字節保存在40H
                   ACALL        R_BYTE                                                        //讀溫度高字節
                MOV                TEM_H,A                                                        // 將讀出的溫度高字節保存在41H
                RET

;;;;;將從DS18B20中讀出的溫度轉換成整數顯示;;;;;;;;;;;;
TEM_COV:MOV                FLAG0,#'+'                                                //設置當前溫度為正,并且存放在45H
                MOV                A,TEM_H                                                        //將讀取的溫度高字節送給A
                SUBB        A,#0F8H                                                        //判斷C的值是否為1,為1則為正,為0則為負
                JC                TEM0                                                        //看溫度值是否為負,不是(C=1),轉
                MOV                FLAG0,#'-'                                                //是,置FLAG0為負
                MOV                A,TEM_L                                                        //將讀取的溫度低字節送給A
                CPL                A                                                                //求此時負值溫度的補碼
                ADD                A,#01H
                MOV                TEM_L,A                                                        //將求得的補碼存放在40H
                MOV                A,TEM_H                                                         //將讀取的溫度高字節送給A
                CPL                A
                ADDC        A,#01H
                MOV                TEM_H,A                                                        //在將其補碼放在41H
TEM0:        MOV                A,TEM_L                                                        //存放整數部分到TEMPER_NUM
                ANL                A,#0F0H                                                        //取出溫度低字節的高四位
                SWAP        A                                                                //將取出的高四位存放在A中低四位位置
                MOV                TEM_NUM,A                                                //將其存放在42H
                MOV                A,TEM_H
                SWAP        A
                ORL                A,TEM_NUM
                MOV                TEM_NUM,A
                RET

/***************LCD顯示*******************/
;;;;;;LCD初始化子程序;;;;;;;;;;;;
LCD_INT:MOV                A,#00000001H                                        //清屏
                ACALL        W_COM                                                        //調用讀命令子程序
                MOV                A,#00111000B                                        //傳輸8位數據,顯示兩行,使用5*7的字符
                LCALL        W_COM
                MOV                A,#00001100B                                        //顯示器開,光標關,字符不閃爍
                LCALL        W_COM
                MOV                A,#00000110B                                        //字符不動,光標自動右移一格
                LCALL        W_COM
                RET
;;;;;寫入命令子程序(RS=0,RW=0);;;;;;
W_COM:        ACALL        F_BUSY
                CLR                E
                CLR                RS
                CLR                RW
                SETB        E
                MOV                P0,A
                CLR                E
                RET
;;;;;寫入數據子程序(RS=1,RW=0);;;;;
W_DAT:        ACALL        F_BUSY
                CLR                E
                SETB        RS                                                   
                CLR                RW
                SETB        E
                MOV                P0,A
                CLR                E
                RET

;;;;;查忙子程序;;;;;;;;;;;;;
F_BUSY:        PUSH        ACC
                MOV                P0,#0FFH
                CLR                RS                                                                //忙標志
                SETB        RW                                                
WAIT:        CLR                E                                                                //給使能端有效信號(下降沿觸發)
                SETB        E
                JB                P0.7,WAIT                                                //直接尋址位P0.7是否為1,為1則忙,繼續等待
                POP                ACC
                RET
                END                                                
                                                        
回復

使用道具 舉報

9#
ID:822775 發表于 2021-10-11 18:32 | 只看該作者
溫度顯示,是不是用到溫度傳感器,那個12864跟1602有什么區別
回復

使用道具 舉報

10#
ID:944118 發表于 2022-6-10 18:14 | 只看該作者
仿真圖畫不對啊,求個仿真圖兄弟
回復

使用道具 舉報

11#
ID:959705 發表于 2023-3-7 17:13 | 只看該作者
溫度測不出來有點問題
回復

使用道具 舉報

12#
ID:1144261 發表于 2025-2-23 16:57 | 只看該作者
誰知道怎么用keil寫出hex文件啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一二三在线视频 | 久久久久久久一区二区三区 | 亚洲高清视频一区二区 | a级免费观看视频 | 亚洲精品一二三区 | 国产一区二区三区久久久久久久久 | 亚洲在线 | 在线观看视频一区 | 亚洲免费视频一区 | 久久精品国产亚洲一区二区 | 国产一区二区在线视频 | 性高湖久久久久久久久aaaaa | 中文字幕av网站 | 精品国产一区二区三区四区在线 | 国产一区二区三区在线 | 成人久久久 | 九色网址 | 美女天天干天天操 | 国产精品五区 | 亚洲首页| 色999视频 | 亚洲免费影院 | 亚洲高清在线 | 一级片网址 | 国产精品海角社区在线观看 | 国产1区 | 免费精品 | 精品国产欧美一区二区三区成人 | 四虎影院一区二区 | 日韩三级| 电影91久久久 | 老司机狠狠爱 | 亚洲成人福利 | 美女在线观看国产 | 狠狠操网站 | 毛片一区二区 | 欧美一区免费 | 网址黄 | 99久久精品国产一区二区三区 | 欧美激情精品久久久久久变态 | 在线午夜|