wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6430|回復: 2
收起左側

基于51單片機的有害氣體檢測程序(匯編)

[復制鏈接]
ID:70976 發表于 2014-12-26 22:35 | 顯示全部樓層 |閱讀模式


  1.           LCD_X  EQU   23H        ;LCD 地址變量(決定文字的在LCD上的顯示位置)
  2.           FSJCQ  EQU   33H        ;TMOD工作方式暫存寄存器
  3.           BJZC   EQU   34H        ;需要比較數據暫存寄存器,用于報警顯示
  4.           BJWX   EQU   35H        ;超標設定值暫存寄存器
  5.           BJJG   EQU   36H        ;偏高設定值暫存寄存器
  6.           JJCQ   EQU   37H        ;酒精顯示0%暫存寄存器
  7.           YYBZ   EQU   38H        ;語音播放標志
  8.           DJSJCQ EQU   39H        ;10S倒計時寄存器
  9.           JJCYCS EQU   4AH        ;酒精檢測采樣次數寄存器

  10.           XSYSSJ    DATA   5      ;正常時顯示延時時間

  11.           WXBJZ1  EQU   100       ;有害氣體危險報警設定值200PPM
  12.                                   ;實際設定值=200(顯示設定值)/2(修正倍率)
  13.           JGBJZ1  EQU   60        ;有害氣體警告報警設定值120PPM
  14.                                   ;實際設定值=120(顯示設定值)/2(修正倍率)
  15.           WXBJZ2  EQU   50        ;酒精危險報警設定值0.05% BAC
  16.                                   ;實際設定值=0.05%(顯示設定值)*1000(顯示位修正)/1(修正倍率)
  17.           JGBJZ2  EQU   20        ;酒精警告報警設定值0.02% BAC
  18.                                   ;實際設定值=0.02%(顯示設定值)*1000(顯示位修正)/1(修正倍率)
  19.           XIUZ1   EQU   10        ;有害氣體濃度顯示數據修正值,設置大時則顯示數值小,反之顯示大
  20.           XIUZ2   EQU   34        ;酒精濃度顯示數據修正值,設置大時則顯示數值小,反之顯示大

  21. ;-----------------------------------------------------------
  22.           LCD_RS    EQU   P4.0    ;LCD 數據/命令選擇端
  23.           LCD_RW    EQU   P4.1    ;LCD 讀/寫選擇端
  24.           LCD_EN    EQU   P4.2    ;LCD 使能信號
  25.           LCD_BG    EQU   P4.3    ;LCD 背光控制端
  26.           LCD_SJ    EQU   P0      ;LCD 數據

  27.           BITE      EQU   9       ;串口發送9位數據
  28.           FSSZ      EQU   40H     ;主機發送的數據塊首址
  29.           JSSZ      EQU   50H     ;主機接收的數據塊首址

  30.           YY_DAT    DATA  29H     ;語音段地址存放單元
  31.           YYRST     EQU   P3.3    ;語音模塊復位信號引腳
  32.           BUSY      EQU   P1.0    ;語音忙控制端,0為正在播放1為沒有播放空閑時
  33.           YYSDA     EQU   P1.1    ;語音模塊數據線引腳

  34. ;===========================================================
  35.           ORG  0000H
  36.           AJMP  MAIN
  37.           ORG  0003H       ;外中斷0中斷程序入口
  38.           RETI                ;中斷返回
  39.           ORG  000BH          ;定時器T0中斷程序入口
  40.           RETI                ;中斷返回
  41.           ORG  0013H       ;外中斷1中斷入口
  42.           RETI               ;中斷返回
  43.           ORG  001BH       ;定時器T1中斷程序入口
  44.           RETI             ;跳至INTT1中斷服務程序
  45.           ORG  0023H       ;串口中斷入口地址
  46.           RETI               ;中斷返回

  47.           ORG  0100H
  48. ;=========================================
  49. ;以下初始化程序
  50. ;=========================================
  51. MAIN:     MOV  SP,#60H
  52.           CLR  LCD_BG         ;打開LCD背光
  53.           LCALL  SET_LCD      ;初始化 LCD
  54.           MOV  R0,#20H        ;將20H-7FH 單元清零
  55.           MOV  R1,#95
  56. CLEAR:    MOV  @R0,A
  57.           INC  R0
  58.           DJNZ  R1,CLEAR

  59. ;=========================================
  60. ;以下為主程序
  61. ;=========================================
  62. ;以下為有害氣體濃度顯示和報警程序
  63. YHJCCX:   LCALL  MENU_3       ;顯示菜單1
  64.           MOV R2,#0AH         ;與10號從機串口通信,多功能板地址為0AH
  65.           MOV R3,#01H         ;主機要求從機發送數據塊
  66.           LCALL COM           ;主機與多功能檢測板串口通信,要求其發送9個字節數據塊

  67.           MOV A,JSSZ+1        ;取出傳感器檢測到的電壓讀數(原始數據,16進制)
  68.           MOV B,#2            ;顯示修正倍率,原始數*倍率+修正值=LCD顯示值
  69.           SUBB A,#XIUZ1       ;顯示修正
  70.           JNC LBB1            ;軟件調整初值
  71.           MOV A,#0            ;使之正常時顯示0
  72. LBB1:     LCALL HEX2BCD1      ;調用數值轉換程序
  73.           LCALL CONV100       ;調用LCD顯示程序
  74.           MOV BJZC,JSSZ+1     ;取出傳感器檢測到的電壓讀數(原始數據),做報警比較
  75.           MOV BJWX,#WXBJZ1+XIUZ1 ;實際危險報警值=設定值/倍率+修正值
  76.           MOV BJJG,#JGBJZ1+XIUZ1 ;實際警告報警值=設定值/倍率+修正值
  77.           MOV YYBZ,#JSSZ+1    ;設有害氣體語音播放標志
  78.           LCALL BJBJ1         ;調用報警程序

  79.           JB P3.4,LBB5
  80.           LCALL DELAY2
  81.           JB P3.4,LBB5
  82.           LCALL JJJCCX

  83. LBB5:     LCALL DELAY3

  84.           SJMP YHJCCX

  85. ;以下為酒精濃度顯示和報警程序
  86. JJJCCX:   MOV JJCYCS,#5       ;設酒精檢測輪回采樣次數
  87.           LCALL JIUJJC        ;顯示準備進入酒精檢測程序的畫面
  88. JJJCCX1:  MOV R2,#0AH         ;與10號從機串口通信,多功能板地址為0AH
  89.           MOV R3,#01H         ;主機要求從機發送數據塊
  90.           LCALL COM           ;主機與多功能檢測板串口通信,要求其發送9個字節數據塊
  91.           LCALL  MENU_4       ;顯示菜單1
  92.           MOV A,JSSZ+2        ;取出傳感器檢測到的電壓讀數(原始數據,16進制)
  93.           MOV B,#1            ;顯示修正倍率,原始數*倍率+修正值=LCD顯示值
  94.           SUBB A,#XIUZ2       ;顯示修正
  95.           JNC LBB2            ;軟件調整初值
  96.           MOV A,#0            ;使之正常時顯示0%
  97. LBB2:     LCALL HEX2BCD1      ;調用數值轉換程序
  98.           LCALL CONV200       ;調用LCD顯示程序
  99.           MOV BJZC,JSSZ+2     ;取出傳感器檢測到的電壓讀數(原始數據),做報警比較
  100.           MOV BJWX,#WXBJZ2+XIUZ2 ;實際危險報警值=設定值/倍率+修正值
  101.           MOV BJJG,#JGBJZ2+XIUZ2 ;實際警告報警值=設定值/倍率+修正值

  102.           LCALL DELAY3        ;延時,使其能看清楚看到檢測到的數值

  103.           DEC JJCYCS
  104.           MOV A,JJCYCS
  105.           JNZ JJJCCX1         ;連續采樣幾次(未到則返回)

  106.           JNB BUSY,$          ;如果語言正在播放,則等待
  107.           MOV YY_DAT,#6       ;報出“檢測完畢”
  108.           LCALL YUYIN         ;開始語音播放
  109.           LCALL DELAY
  110.           LCALL DELAY
  111.           MOV YYBZ,#JSSZ+2    ;設酒精報警語音播放標志
  112.           LCALL BJBJ1         ;調用報警程序
  113.           LCALL DELAY3        ;延時
  114.           RET

  115. ;***************************************************
  116. ;=========================================
  117. ;以下為兩個單字節十六進制相乘
  118. ;入口:A*B
  119. ;出口:16位低字節放A中,高字節放B中
  120. ;=========================================
  121. HEX2BCD1: MUL AB
  122.           MOV R6,B
  123.           MOV R7,A
  124.           MOV JJCQ,A        ;為顯示0%作準備
  125. ;=========================================
  126. ;以下為雙字節十六進制整數轉換成雙字節BCD碼整數
  127. ;入口條件:待轉換的雙字節十六進制整數在R6、R7中。
  128. ;出口信息:轉換后的三字節BCD碼整數在R3、R4、R5中。
  129. ;影響資源:PSW、A、R2~R7,堆棧需求:2字節
  130. ;=========================================         
  131.           CLR A             ;BCD碼初始化
  132.           MOV R3,A
  133.           MOV R4,A
  134.           MOV R5,A
  135.           MOV R2,#10H       ;轉換雙字節十六進制整數
  136. HB3:      MOV A,R7          ;從高端移出待轉換數的一位到CY中
  137.           RLC A
  138.           MOV R7,A
  139.           MOV A,R6
  140.           RLC A
  141.           MOV R6,A
  142.           MOV A,R5          ;BCD碼帶進位自身相加,相當于乘2
  143.           ADDC A,R5
  144.           DA A              ;十進制調整
  145.           MOV R5,A
  146.           MOV A,R4
  147.           ADDC A,R4
  148.           DA A
  149.           MOV R4,A
  150.           MOV A,R3
  151.           ADDC A,R3
  152.           MOV R3,A          ;雙字節十六進制數的萬位數不超過6,不用調整
  153.           DJNZ R2,HB3       ;處理完16bit

  154. ;=========================================
  155. ;以下為把BCD碼提取出并送顯示寄存器70H~73H
  156. ;入口:;三字節BCD碼整數在R3(高位為十萬低位為萬)、
  157. ;R4(高位為千低位為百)、R5(高位為十低位為個)中。
  158. ;出口:73H-70H(舍去十萬、萬位)
  159. ;=========================================
  160.           MOV A,R4
  161.           ANL A,#11110000B
  162.           SWAP A
  163.           MOV 73H,A
  164.           MOV A,R4
  165.           ANL A,#00001111B
  166.           MOV 72H,A
  167.           MOV A,R5
  168.           ANL A,#11110000B
  169.           SWAP A
  170.           MOV 71H,A
  171.           MOV A,R5
  172.           ANL A,#00001111B
  173.           MOV 70H,A

  174.           RET

  175. ;==============================================
  176. ;以下為LCD顯示有害氣體程序
  177. ;72H-70H 分別存放百位、十位、個位的數據
  178. ;==============================================
  179. CONV100:  MOV  A,73H         ;加載百位數據
  180.           MOV  LCD_X,#1      ;設置顯示位置
  181.           CJNE A,#00H,CONV110
  182.           MOV  A,#" "        ;百位數等于0顯示空格
  183.           MOV  B,LCD_X
  184.           CALL  LCDP2
  185.           MOV  A,72H         ;十位
  186.           CJNE A,#00H,CONV120
  187.           INC  LCD_X         ;調整顯示地址
  188.           MOV  A,#" "        ;十位數等于0顯示空格
  189.           MOV  B,LCD_X
  190.           CALL  LCDP2
  191.           MOV  A,71H         ;十位
  192.           CJNE A,#00H,CONV130
  193.           INC  LCD_X         ;調整顯示地址
  194.           MOV  A,#" "        ;十位數等于0顯示空格
  195.           MOV  B,LCD_X
  196.           CALL  LCDP2
  197.           JMP  CONV140

  198. CONV110:  CALL  SHOW_DIG2    ;顯示數據

  199. CONV120:  INC  LCD_X         ;調整顯示地址
  200.           MOV  A,72H         ;十位
  201.           CALL  SHOW_DIG2

  202. CONV130:  INC  LCD_X         ;調整顯示地址
  203.           MOV  A,71H         ;十位
  204.           CALL  SHOW_DIG2

  205. CONV140:  INC  LCD_X         ;調整顯示地址
  206.           MOV  A,70H         ;個位
  207.           CALL  SHOW_DIG2

  208.           RET
  209. ;=================================================
  210. ;以下為LCD顯示酒精濃度程序
  211. ;73H-70H 分別存放個位、小數后1位、后2位、后3位的數據
  212. ;=================================================
  213. CONV200:  MOV A,JJCQ
  214.           JNZ BBL1
  215.           MOV LCD_X,#0       ;當個位、十、百、千分位均為零時顯示0%
  216.           MOV R0,#00H
  217. BBL2:     MOV A,#' '
  218.           MOV B,LCD_X
  219.           CALL LCDP2
  220.           INC LCD_X
  221.           INC R0
  222.           CJNE R0,#4,BBL2
  223.           MOV R0,#00H
  224.           CLR A              ;個位
  225.           CALL SHOW_DIG2
  226.           RET

  227. BBL1:     MOV  A,73H         ;加載個位數據
  228.           MOV  LCD_X,#0      ;設置顯示位置
  229.           CALL  SHOW_DIG2    ;顯示數據

  230.           INC  LCD_X         ;調整顯示地址
  231.           MOV  A,#'.'
  232.           MOV  B,LCD_X
  233.           CALL  LCDP2

  234.           SJMP CONV120

  235. ;=========================================
  236. ;LCD 顯示菜單1
  237. ;=========================================
  238. MENU_3:   MOV  DPTR,#M_OK31  ;指針指到顯示信息區
  239.           MOV  A,#1          ;顯示在第一行
  240.           CALL  LCD_PRINT
  241.           MOV  DPTR,#M_OK32  ;指針指到顯示信息區
  242.           MOV  A,#2          ;顯示在第二行
  243.           CALL  LCD_PRINT
  244.           MOV  DPTR,#M_OK33  ;指針指到顯示信息區
  245.           MOV  A,#3          ;顯示在第二行
  246.           CALL  LCD_PRINT
  247.           MOV  DPTR,#M_OK34  ;指針指到顯示信息區
  248.           MOV  A,#4          ;顯示在第二行
  249.           CALL  LCD_PRINT
  250.           RET
  251. M_OK31:   DB"有害氣體濃度:  ",0
  252. M_OK32:   DB"           PPM  ",0
  253. M_OK33:   DB"檢測結果:      ",0
  254. M_OK34:   DB"                ",0

  255. ;=========================================
  256. ;LCD 顯示菜單2
  257. ;=========================================
  258. MENU_4:   MOV  DPTR,#M_OK41  ;指針指到顯示信息區
  259.           MOV  A,#1          ;顯示在第一行
  260.           CALL  LCD_PRINT
  261.           MOV  DPTR,#M_OK42  ;指針指到顯示信息區
  262.           MOV  A,#2          ;顯示在第二行
  263.           CALL  LCD_PRINT
  264.           MOV  DPTR,#M_OK43  ;指針指到顯示信息區
  265.           MOV  A,#3          ;顯示在第二行
  266.           CALL  LCD_PRINT
  267.           MOV  DPTR,#M_OK44  ;指針指到顯示信息區
  268.           MOV  A,#4          ;顯示在第二行
  269.           CALL  LCD_PRINT
  270.           RET
  271. M_OK41:   DB"酒精濃度:    ",0
  272. M_OK42:   DB"          % BAC ",0
  273. M_OK43:   DB"檢測結果:      ",0
  274. M_OK44:   DB"                ",0

  275. ;=========================================
  276. ;LCD 顯示菜單3
  277. ;=========================================
  278. MENU_5:   MOV  DPTR,#M_OK51  ;指針指到顯示信息區
  279.           MOV  A,#1          ;顯示在第一行
  280.           CALL  LCD_PRINT
  281.           MOV  DPTR,#M_OK52  ;指針指到顯示信息區
  282.           MOV  A,#2          ;顯示在第二行
  283.           CALL  LCD_PRINT
  284.           MOV  DPTR,#M_OK53  ;指針指到顯示信息區
  285.           MOV  A,#3          ;顯示在第二行
  286.           CALL  LCD_PRINT
  287.           MOV  DPTR,#M_OK54  ;指針指到顯示信息區
  288.           MOV  A,#4          ;顯示在第二行
  289.           CALL  LCD_PRINT
  290.           RET
  291. M_OK51:   DB"進入酒精檢測程序",0
  292. M_OK52:   DB"傳感器預熱請稍等",0
  293. M_OK53:   DB"...  ... ",0
  294. M_OK54:   DB"倒計時:    S  ",0

  295. ;=========================================
  296. ;LCD 顯示菜單4
  297. ;=========================================
  298. MENU_6:   MOV  DPTR,#M_OK61  ;指針指到顯示信息區
  299.           MOV  A,#1          ;顯示在第一行
  300.           CALL  LCD_PRINT
  301.           MOV  DPTR,#M_OK62  ;指針指到顯示信息區
  302.           MOV  A,#2          ;顯示在第二行
  303.           CALL  LCD_PRINT
  304.           MOV  DPTR,#M_OK63  ;指針指到顯示信息區
  305.           MOV  A,#3          ;顯示在第二行
  306.           CALL  LCD_PRINT
  307.           MOV  DPTR,#M_OK64  ;指針指到顯示信息區
  308.           MOV  A,#4          ;顯示在第二行
  309.           CALL  LCD_PRINT
  310.           RET
  311. M_OK61:   DB"現在開始酒精檢測",0
  312. M_OK62:   DB"注意:          ",0
  313. M_OK63:   DB"嘴巴要距離傳感器",0
  314. M_OK64:   DB"5---10cm輕輕吹氣",0
  315. ;=========================================
  316. ;以下為主機串行通信程序
  317. ;占用資源:R0~R4,A、40H、50H
  318. ;=========================================
  319. COM:   MOV A,TMOD           ;設置T1工作方式為方式2、T0工作方式保持不變
  320.        MOV FSJCQ,A
  321.        ORL A,#00101111B
  322.        MOV TMOD,A
  323.        MOV TH1,#0FDH        ;11.0592MHz 晶振,波特率=9600,時長0.6695
  324.        MOV TL1,#0FDH
  325.        MOV SCON,#0D8H       ;置串行模式3,SM2=1,允許接收
  326.        SETB TR1             ;啟動T1
  327.        LCALL COM1           ;調用一線發碼子程序
  328.        MOV TMOD,FSJCQ       ;恢復T1、T0原先的工作方式
  329.        RET

  330. COM1:   MOV A,R2            ;發送地址幀
  331.         MOV SBUF,A
  332.         JNB TI,$
  333.         CLR TI
  334.         JNB RI,$            ;等待從機應答
  335.         CLR RI
  336.         MOV A,SBUF
  337.         XRL A,R2
  338.         JNZ MS104           ;判應答地址是否相符
  339.         CLR TB8             ;地址符合,準備發送命令
  340.         MOV SBUF,R3         ;發送發送或接收數據命令
  341.         JNB TI,$
  342.         CLR TI
  343.         JNB RI,$            ;等待從機應答
  344.         CLR RI
  345.         MOV A,SBUF          ;取應答信息
  346.         JNB ACC.7,MS102     ;判斷是否出錯
  347. MS101:  SETB TB8
  348.         MOV SBUF,#0FFH      ;不相符重新聯絡
  349.         JNB TI,$
  350.         CLR TI
  351.         SJMP COM1           ;轉重發地址

  352. MS102:  CJNE R3,#00H,MS103  ;判是否要求從機接收數據
  353.         JNB ACC.0,MS101     ;從機接收數據準備就緒否?
  354.         MOV R0,#FSSZ        ;主機發送的數據塊首址
  355.         MOV R4,#BITE        ;設數據塊長度(9字節)
  356. LPTX:   MOV SBUF,@R0        ;主機發送數據塊
  357.         JNB TI,$            ;等待發送完1幀
  358.         CLR TI
  359.         INC R0              ;修改地址指針
  360.         DJNZ R4,LPTX        ;判數據塊是否傳完
  361.         SJMP MS104          ;返回主程序

  362. MS103:  JNB ACC.1,MS101     ;從機發送數據準備就緒否?
  363.         MOV R1,#JSSZ        ;主機接收的數據塊首址
  364.         MOV R4,#BITE        ;設數據塊長度(9字節)
  365. LPRX:   JNB RI,LPRX         ;等待接收完1幀
  366.         CLR RI
  367.         MOV A,SBUF          ;取出接收到的字符
  368.         MOV @R1,A
  369.         INC R1
  370.         DJNZ R4,LPRX        ;未接收完則繼續

  371. MS104:  CLR TR1             ;關閉T1
  372.         RET


  373. ;=========================================
  374. ;報警比較和顯示程序
  375. ;有害氣體濃度:≥200PPM→語音報警并 顯示"濃度超標,危險!"
  376. ;             ≥120PPM→語音報警并 顯示"濃度偏高,請注意!"
  377. ;             <120PPM→語音不報警 顯示"濃度未超標"
  378. ;酒精濃度:   ≥0.05% BCA→語音報警并 顯示"濃度超標,危險!"
  379. ;            ≥0.02% BCA→語音報警并 顯示"濃度偏高,請注意!"
  380. ;            <0.02% BCA→語音不報警 顯示"濃度未超標"
  381. ;=========================================
  382. BJBJ1:    MOV A,BJZC
  383.           SUBB A,BJWX          ;與超標設定值進行比較
  384.           JC BL2

  385.           LCALL WENZBJ1        ;顯示菜單1
  386.           LCALL DELAY          ;延時
  387.           LCALL DELAY          ;延時
  388.           LCALL WENZBJ4        ;顯示菜單1-4,形成閃爍效果
  389.           LCALL DELAY          ;延時
  390.           LCALL DELAY          ;延時
  391.           LCALL WENZBJ1        ;顯示菜單1

  392.           MOV A,YYBZ
  393.           CJNE A,#JSSZ+1,BL1   ;語音段播放識別
  394.           MOV YY_DAT,#2        ;有害氣體檢測時報出“車內有害氣體濃度過高,請排除”
  395.           SJMP BL4
  396. BL1:      CJNE A,#JSSZ+2,BL6   ;語音段播放識別
  397.           MOV YY_DAT,#9        ;酒精檢測時報出“酒精濃度偏高,你是不是喝酒了,要小心開車哦”
  398.           SJMP BL4

  399. BL2:      MOV A,BJZC           ;取ACC讀數值(存在45H里)               ;
  400.           SUBB A,BJJG          ;與偏高設定值進行比較
  401.           JC BL5               ;
  402.           LCALL WENZBJ2        ;顯示菜單2

  403.           LCALL DELAY          ;延時
  404.           LCALL DELAY          ;延時
  405.           LCALL WENZBJ4        ;顯示菜單4,形成閃爍效果
  406.           LCALL DELAY          ;延時
  407.           LCALL DELAY          ;延時
  408.           LCALL WENZBJ2        ;顯示菜單2

  409.           MOV A,YYBZ
  410.           CJNE A,#JSSZ+1,BL3   ;語音段播放識別
  411.           JNB BUSY,$
  412.           MOV YY_DAT,#2        ;有害氣體檢測時報出“車內有害氣體濃度過高,請排除”
  413.           SJMP BL4
  414. BL3:      CJNE A,#JSSZ+2,BL6   ;語音段播放識別
  415.           JNB BUSY,$
  416.           MOV YY_DAT,#8        ;酒精檢測時報出“酒精濃度過高,你喝多了,為了您的安全,請不要開車”
  417. BL4:      LCALL YUYIN          ;開始語音播放
  418.           SJMP BL6

  419. BL5:      LCALL WENZBJ3        ;顯示菜單1-3
  420.           MOV A,YYBZ
  421.           CJNE A,#JSSZ+2,BL6   ;語音段播放識別
  422.           JNB BUSY,$
  423.           MOV YY_DAT,#7        ;酒精檢測時報出“酒精濃度沒有超標”
  424.           LCALL YUYIN          ;開始語音播放

  425. BL6:      RET

  426. WENZBJ1:  MOV  DPTR,#BJ10      ;超標顯示的內容
  427.           SJMP BL7
  428. WENZBJ2:  MOV  DPTR,#BJ20      ;偏高顯示的內容
  429.           SJMP BL7
  430. WENZBJ3:  MOV  DPTR,#BJ30      ;未超標顯示的內容
  431.           SJMP BL7
  432. WENZBJ4:  MOV  DPTR,#BJ40      ;未超標顯示的內容
  433. BL7:      MOV  A,#98H          ;設置 LCD 顯示的地址(第四行)
  434.           CALL  WCOM           ;寫入指令
  435. BL8:      CLR  A               ;填入字符
  436.           MOVC  A,@A+DPTR      ;由信息區取出字符
  437.           CJNE  A,#0,BL9       ;判斷是否為結束碼
  438.           RET
  439. BL9:      CALL  WDATA          ;寫入數據
  440.           INC  DPTR            ;指針加1
  441.           JMP  BL8             ;繼續填入字符

  442. BJ10:     DB "濃度超標,危險!",0
  443. BJ20:     DB "濃度偏高,請注意",0
  444. BJ30:     DB "  濃度沒有超標  ",0
  445. BJ40:     DB "                ",0

  446. ;***********************************************************
  447. JIUJJC:   MOV FSSZ+1,#01H     ;命令10號從機打開有害氣體傳感器
  448.           MOV R2,#0AH         ;與10號從機串口通信,多功能板地址為0AH
  449.           MOV R3,#00H         ;主機要求從機接收數據塊
  450.           LCALL COM           ;主機與多功能檢測板串口通信,要求其接收9個字節數據塊
  451.           MOV YY_DAT,#3       ;報出“現在進入酒精檢測程序,請等待十秒鐘”
  452.           JNB BUSY,$
  453.           LCALL YUYIN         ;開始語音播放
  454.           ACALL MENU_5
  455.           JNB BUSY,$
  456.           MOV DJSJCQ,#10
  457.           MOV A,DJSJCQ
  458. K2:       MOV B,#1
  459.           LCALL HEX2BCD1      ;調用數值轉換程序
  460.           LCALL CONV300       ;調用LCD顯示程序
  461.           MOV A,#3            ;延時
  462. LBB23:    LCALL DELAY
  463.           DEC A
  464.           JNZ LBB23
  465.           DEC DJSJCQ
  466.           MOV A,DJSJCQ
  467.           CJNE A,#00H,K2
  468.           MOV YY_DAT,#4       ;報出“現在開始酒精檢測”
  469.           JNB BUSY,$
  470.           LCALL YUYIN         ;開始語音播放
  471.           ACALL MENU_6
  472.           MOV A,#10           ;延時
  473. LBB33:    LCALL DELAY
  474.           DEC A
  475.           JNZ LBB33
  476.           MOV YY_DAT,#5       ;報出“請把嘴巴對準探頭輕輕吹氣”
  477.           JNB BUSY,$
  478.           LCALL YUYIN         ;開始語音播放
  479.           RET

  480. CONV300:  MOV  A,71H          ;十位
  481.           CJNE A,#00H,K3
  482.           MOV A,#9CH          ;調整顯示地址
  483.           CALL  WCOM          ;寫入命令
  484.           MOV  A,#" "         ;百位數等于0顯示空格
  485.           CALL  WDATA         ;寫入數據
  486.           SJMP K4
  487. K3:       MOV A,#9CH          ;調整顯示地址
  488.           CALL  WCOM          ;寫入命令
  489.           MOV  A,71H
  490.           ADD  A,#30H         ;加30H,轉換為ASCII碼
  491.           CALL  WDATA         ;寫入數據

  492. K4:       MOV A,#9DH          ;調整顯示地址
  493.           CALL  WCOM          ;寫入命令
  494.           MOV  A,70H
  495.           ADD  A,#30H         ;加30H,轉換為ASCII碼
  496.           CALL  WDATA         ;寫入數據
  497.           RET
  498. ;-------------------------------------------------------







  499. ;以下程序通用

  500. ;=============================================
  501. ;在LCD的第二行顯示數據字符
  502. ;A=ASCII 數據, B=位置變量
  503. ;==============================================
  504. LCDP2:    PUSH  ACC           ;在LCD的第二行顯示字符
  505.           MOV  A,B            ;設置顯示地址
  506.           ADD  A,#90H         ;設置LCD的第二行地址
  507.           CALL  WCOM          ;寫入命令
  508.           POP  ACC            ;由堆棧取出A
  509.           CALL  WDATA         ;寫入數據
  510.           RET
  511. ;-------------------------------------------------------
  512. SHOW_DIG2:                   ;在 LCD 的第二行顯示數字
  513.           ADD  A,#30H        ;加30H,轉換為ASCII碼
  514.           MOV  B,LCD_X       ;確定顯示位置
  515.           CALL  LCDP2        ;送顯示
  516.           RET

  517. ;=================================================
  518. ;對 LCD 做初始化設置
  519. ;=================================================
  520. SET_LCD:  MOV A,#34H      ;34H--擴充指令操作
  521.           CALL  WCOM         ;寫入命令
  522.    MOV A,#30H      ;30H--基本指令操作
  523.           CALL  WCOM         ;寫入命令
  524.    MOV A,#01H      ;清除顯示
  525.           CALL  WCOM         ;寫入命令
  526.           MOV A,#06H      ;指定在資料寫入或讀取時,光標的移動方向
  527.           CALL  WCOM         ;DDRAM 的地址計數器(AC)加1
  528.    MOV A,#0CH      ;開顯示,關光標,不閃爍
  529.           CALL  WCOM         ;寫入命令
  530.           RET

  531. ;===============================================
  532. ;命令寫入子程序
  533. ;RS=L,RW=L,D0-D7=指令碼,E=高脈沖
  534. ;以8位控制方式將命令寫至LCD
  535. ;===============================================
  536. WCOM:    LCALL CHK_BUSY       ;寫入指令
  537.   CLR LCD_RS
  538.   CLR LCD_RW
  539.   MOV LCD_SJ,A
  540.   SETB LCD_EN
  541.   NOP
  542.   NOP
  543.   CLR LCD_EN
  544.   RET
  545. ;===============================================
  546. ;數據寫入子程序
  547. ;RS=H,RW=L,D0-D7=指令碼,E=高脈沖
  548. ;以8位控制方式將數據寫至LCD
  549. ;===============================================
  550. WDATA:    MOV  LCD_SJ,A       ;寫入數據
  551.           SETB  LCD_RS
  552.           CLR  LCD_RW
  553.           SETB  LCD_EN
  554.           CALL  DE
  555.           CLR  LCD_EN
  556.           CALL  DE
  557.           RET
  558. ;===============================================
  559. ;測LCD忙碌子程序
  560. ;RS=0,RW=1,E=H,D0-D7=狀態字
  561. ;===============================================
  562. CHK_BUSY: MOV LCD_SJ,#0FFH   ;測忙碌子程序
  563.    CLR LCD_RS
  564.    SETB LCD_RW
  565.    SETB LCD_EN
  566.    JB LCD_SJ.7,$
  567.    CLR LCD_EN
  568.    RET

  569. ;==================================================
  570. ;在LCD的顯示字符串
  571. ;DPTR = 放字符串的地址
  572. ;==================================================
  573. LCD_PRINT:CJNE  A,#1,LINE2  ;判斷是否為第一行
  574. LINE1:    MOV  A,#80H       ;設置 LCD 的第一行地址
  575.           CALL  WCOM        ;寫入命令
  576.           CALL  CLR_LINE    ;清除該行字符數據
  577.           MOV  A,#80H       ;設置 LCD 的第一行地址
  578.           CALL  WCOM        ;寫入命令
  579.           JMP  FILL

  580. LINE2:    CJNE  A,#2,LINE3  ;判斷是否為第二行
  581.           MOV  A,#90H       ;設置 LCD 的第二行地址
  582.           CALL  WCOM        ;寫入命令
  583.           CALL  CLR_LINE    ;清除該行字符數據
  584.           MOV  A,#90H       ;設置 LCD 的第二行地址
  585.           CALL  WCOM
  586.           JMP  FILL

  587. LINE3:    CJNE  A,#3,LINE4  ;判斷是否為第三行
  588.           MOV  A,#88H       ;設置 LCD 的第三行地址
  589.           CALL  WCOM        ;寫入命令
  590.           CALL  CLR_LINE    ;清除該行字符數據
  591.           MOV  A,#88H       ;設置 LCD 的第三行地址
  592.           CALL  WCOM
  593.           JMP  FILL

  594. LINE4:    MOV  A,#98H       ;設置 LCD 的第四行地址
  595.           CALL  WCOM        ;寫入命令
  596.           CALL  CLR_LINE    ;清除該行字符數據
  597.           MOV  A,#98H       ;設置 LCD 的第四行地址
  598.           CALL  WCOM

  599. FILL:     CLR  A            ;填入字符
  600.           MOVC  A,@A+DPTR   ;由信息區取出字符
  601.           CJNE  A,#0,LC1    ;判斷是否為結束碼
  602.           RET

  603. LC1:      CALL  WDATA       ;寫入數據
  604.           INC  DPTR         ;指針加1
  605.           JMP  FILL         ;繼續填入字符
  606. ;===============================================
  607. ;清除一行 LCD 的字符
  608. ;輸入一行空格,來替代原顯示字符
  609. ;===============================================
  610. CLR_LINE: MOV  R0,#16       ;清除該行 LCD 的字符
  611. CL1:      MOV  A,#' '
  612.           CALL  WDATA
  613.           DJNZ  R0,CL1
  614.           RET
  615. ;**********************************************************
  616. ;延時子程序
  617. ;**********************************************************
  618. DE:      MOV  R7,#229        ;延時 500 微秒,此條2個機器周期
  619.          DJNZ  R7,$
  620.          RET    ;此條2個機器周期,總延時(229*2+2+2)*(12/11.0592)≈500uS

  621. DELAY:   MOV  R5,#20         ;延時200MS
  622. DELAY1:  MOV  R6,#96         ;100
  623. DL1:     MOV  R7,#96         ;100
  624.          DJNZ  R7,$
  625.          DJNZ  R6,DL1
  626.          DJNZ  R5,DELAY1     ;96*2*48*(12/11.0592)+2*(12/11.0592)≈10000uS=10mS
  627.          RET        

  628. DELAY2:  MOV  R6,#10         ;延時5MS
  629. DL2:     MOV  R7,#229        ;100微秒
  630.          DJNZ  R7,$
  631.          DJNZ  R6,DL2
  632.          DJNZ  R5,DELAY2
  633.          RET

  634. DELAY3:  MOV  R5,#20         ;延時200MS
  635. DELA:    MOV  R6,#96
  636. DL3:     MOV  R7,#96
  637.          DJNZ  R7,$
  638.          DJNZ  R6,DL3
  639.          DJNZ  R5,DELA
  640.          RET   
  641. ;**********************************************************
  642. ;語音驅動和播放程序
  643. ;**********************************************************
  644. ;50H為語音段地址暫存器,1到210段,實際用到40
  645. ;50H為E0H~E7H時分別代表自低往高的8級音量
  646. ;在語音播放過程中發送F2H至50H可循環播放當前地址語音
  647. ;發送FEH至50H停止播放語音
  648. ;****************************************************
  649. YUYIN: MOV A,TMOD          ;設置T1工作方式為方式1、T0工作方式保持不變
  650.        MOV FSJCQ,A
  651.        ORL A,#00011111B
  652.        MOV TMOD,A
  653.        MOV R6,#08H         ;發碼8位循環數據
  654.        LCALL ONE_LINE      ;調用一線發碼子程序
  655.        MOV TMOD,FSJCQ          ;恢復T1、T0原先的工作方式
  656.        RET

  657. ONE_LINE:                  ;////一線發碼子程序
  658.        SETB YYRST          ;復位
  659.        MOV R7,#2           ;延時2MS
  660.        LCALL DELAY1MS
  661.        CLR YYRST           ;延時使系統穩定
  662.        MOV R7,#6           ;延時6MS
  663.        LCALL DELAY1MS
  664.        CLR YYSDA           ;喚醒語音芯片
  665.        MOV R7,#17          ;延時17MS
  666.        LCALL DELAY1MS
  667.        MOV A,YY_DAT

  668. LP1:   SETB YYSDA
  669.        RRC A               ;分辨50H內的數據各位是高電平還是低電平
  670.        JNC DIDIANPIN       ;高電平用高:低=2:1的脈寬表示
  671.        LCALL DELAY200US
  672.        LCALL DELAY200US
  673.        LCALL DELAY200US
  674.        CLR YYSDA
  675.        LCALL DELAY200US
  676. LP2:   DJNZ R6,LP1         ;查看數據是否發完,未發完繼續發
  677.        MOV R6,#08H
  678.        SETB YYSDA
  679.        RET

  680. DIDIANPIN:                 ;低電平用高:低=1:2的脈寬表示
  681.        LCALL DELAY200US
  682.        CLR YYSDA
  683.        LCALL DELAY200US
  684.        LCALL DELAY200US
  685.        LCALL DELAY200US
  686.        SJMP LP2

  687. ;以下為延時子程序
  688. DELAY200US:                ;延時200US子程序,晶振11.0592MHz,方式1
  689.        MOV  TH1,#0FFH
  690.        MOV  TL1,#47H
  691.        SETB TR1
  692. LOP1:  JBC  TF1,NEXT1
  693.        SJMP LOP1
  694. NEXT1: CLR TR1
  695.        RET

  696. DELAY1MS:MOV  TH1,#0FCH    ;延時1ms子程序
  697.        MOV  TL1,#66H
  698.        SETB TR1
  699. LOP2:  JBC  TF1,NEXT2
  700.        SJMP LOP2
  701. NEXT2: DJNZ R7,DELAY1MS
  702.        CLR TR1
  703.        RET


  704. END
復制代碼


回復

使用道具 舉報

ID:199787 發表于 2017-6-15 14:18 | 顯示全部樓層
樓主有沒有c語言的,急求。。
回復

使用道具 舉報

ID:587868 發表于 2019-7-23 22:50 | 顯示全部樓層
學習了,樓主真厲害!!!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
eeuss中文字幕| 亚洲欧美日韩综合国产aⅴ| 国产成人精品999在线观看| 久久精品亚洲人成影院 | 久久综合福利| 吴梦梦av在线| 欧美一级特黄a| 欧美大波大乳巨大乳| 一级片在线观看免费| 亚洲av成人无码久久精品老人 | 97久久超碰精品国产| 亚洲一区二区中文在线| 欧美α欧美αv大片| 欧美黑人极品猛少妇色xxxxx| 91久久精品在线| 国产免费内射又粗又爽密桃视频| 日本亚洲一区二区三区| 欧美日韩激情在线观看| 高清国产mv在线观看| 先锋影音av321| 国产美女在线观看| 粉嫩久久久久久久极品| 久久成人精品| 亚洲视频一区在线| 亚洲国产中文字幕久久网| 97av在线影院| 亚洲美女搞黄| 成人做爰www看视频软件| 手机看片久久久| 九色porny丨精品自拍视频| 伊人中文字幕在线| 国产成人免费精品| 怡红院精品视频在线观看极品| 99天天综合性| 777久久久精品| 欧美在线欧美在线| 路边理发店露脸熟妇泻火| 日韩片在线观看| 国产女人高潮毛片| 欧美hdsex| 九九色在线视频| 国产精品毛片久久| 26uuu国产一区二区三区| 欧美日韩激情一区| 日本午夜精品理论片a级appf发布| 日韩理论片在线观看| www.四虎在线| 国产视频在线一区| 最新av番号| 99国内精品久久久久| 久久精品亚洲一区二区| 亚洲国产精品自拍| 免费不卡在线观看av| 亚洲成人午夜在线| 亚洲av无码一区二区三区人| 亚洲毛片欧洲毛片国产一品色| 久久久久亚洲av片无码下载蜜桃| 免费国产黄色片| 一级毛片在线播放| 国产精品久av福利在线观看| 国产酒店精品激情| 91.麻豆视频| 国产精品视频播放| 国产高潮免费视频| 久久久久久少妇| 福利电影在线| 日韩制服诱惑| 免费成人在线观看视频| 欧美亚洲国产一卡| 国产精品久久久久免费a∨大胸| av7777777| 日日噜噜噜噜人人爽亚洲精品| 免费大秀视频在线播放| 综合在线影院| 麻豆精品国产传媒mv男同| 欧美无砖专区一中文字| 国产欧美在线看| 天天色天天综合网| 性生活三级视频| 触手亚洲一区二区三区| 日韩国产一区二区| 一区二区三区在线免费视频| 欧美肥老妇视频| 黄色一级在线视频| 伊人久久久久久久久久久久 | 国产精品一区二区欧美| 欧美一级片黄色| 亚洲成人先锋电影| 欧美人与性动交α欧美精品济南到| 国产一区日韩欧美| 日韩欧美中文字幕在线观看 | 久久女同精品一区二区| 最近2019好看的中文字幕免费| 视频一区视频二区视频| 美女福利视频在线观看| 黄漫在线观看| 国产精品xnxxcom| 91美女片黄在线| 久热在线中文字幕色999舞| www污在线观看| 欧美三级网站在线观看| 日本福利午夜视频在线| 图片区亚洲欧美小说区| 亚洲一区二区欧美日韩| 国产精品视频免费在线| 色综合久久五月| 亚洲素人一区二区| 国产欧美日韩中文久久| 在线观看精品自拍私拍| 久久久一二三四| 国产福利久久久| 丝袜国产免费观看| 欧美色蜜桃97| 精品久久中文字幕| 97人人干人人| 美国美女黄色片| 天天操夜夜欢| 香蕉久久夜色精品国产使用方法 | 国产精品视频二区三区| 在线欧美不卡| 欧美一二三区在线观看| 欧美一区二区在线| 欧美一级视频免费观看| 视频一区二区在线播放| 在线看片一区| 亚洲变态欧美另类捆绑| 久久精品在线免费视频| 91影院在线播放| 暖暖在线中文免费日本| 国产精品一区免费在线观看| 日韩亚洲在线观看| 久久久久久久久久一区| 欧美日本黄色| 动漫视频在线一区| 精品国产999| 精品国产一区二区三| 亚洲欧美在线观看视频| 成人一区二区不卡免费| 青青草一区二区三区| 国产一区二区av| 日本激情综合网| 精品国产一区二区三区久久久狼牙 | 久久久久成人精品无码| 一区二区三区视频国产日韩| 99国产精品| 国产丝袜一区视频在线观看 | 亚洲精品久久7777777| 国产精品成人久久电影| 秋霞欧美在线观看| 成人在线视频免费| 亚洲精品日日夜夜| 国产在线精品一区二区三区》| 国产成人无码精品久在线观看| 福利片在线看| 国产丶欧美丶日本不卡视频| 久久久久国色av免费观看性色| 久久精品女同亚洲女同13| 肥女人的一级毛片| 1024日韩| 日韩一区二区三区国产| 精品人妻一区二区免费| 天天影视色香欲综合| 另类av一区二区| 欧美成人亚洲成人日韩成人| 大黑人交xxx极品hd| 亚洲精品666| 日韩精品电影一区亚洲| 欧美精品在线看| xxxxx在线观看| 日本一区二区三区在线观看视频| 麻豆一区二区三区| 66m—66摸成人免费视频| www.日本高清视频| av每日在线更新| 成人av免费在线播放| 国产乱人伦真实精品视频| 女人十八岁毛片| 一个人看的www视频在线免费观看| 综合电影一区二区三区| 日韩免费av一区二区三区| 搡老岳熟女国产熟妇| 日韩mv欧美mv国产网站| 欧美一区二区三区色| 午夜宅男在线视频| 成人午夜剧场免费观看完整版| 香蕉久久夜色精品国产| 久久乐国产精品| 我家有个日本女人| h片在线观看视频免费| 亚洲美女区一区| 欧美爱爱视频网站| 国产大学生自拍视频| 欧美激情综合色综合啪啪| 视频在线观看99| 性猛交娇小69hd| 美女免费久久| 亚洲视频一区二区在线观看| 日韩av在线电影观看| 青青草视频社区| 日韩88av| 久久九九全国免费精品观看| 天堂av免费在线| 成人超碰在线| 五月天精品一区二区三区| 九九热只有这里有精品| 波多野结衣手机在线视频| 日本不卡一区二区三区| 国产精品视频精品| 99久久精品无免国产免费| 色爱综合av| 一区二区三区黄色| 欧美特黄一级片| 小视频免费在线观看| 色妞www精品视频| 小泽玛利亚视频在线观看| 中文字幕第5页| 91在线观看地址| 日韩中文一区| 香蕉视频网页版| 日本欧美一区二区| 91九色在线观看| 午夜视频在线播放| 欧美涩涩网站| 日产精品99久久久久久| 中文字幕视频在线播放| 欧美日韩看看2015永久免费| 伊人久久五月天| 久久一二三四区| 久久一级大片| 国产午夜精品一区二区三区| 欧美日韩综合一区二区| 欧美jizz18| 亚洲女人被黑人巨大进入al| 五月天免费网站| 91综合国产| 亚洲精品国产品国语在线| 伊人久久久久久久久久久久久久| 韩漫成人漫画| 精品99999| 侵犯稚嫩小箩莉h文系列小说| 欧美日韩尤物久久| 亚洲精品720p| 欧美黑人精品一区二区不卡| 欧美日韩破处视频| 亚洲视频综合网| 日韩欧美三级在线观看| 久久人人爽人人爽人人片av不| 色七七影院综合| 日本一本在线观看| 日本精品三区| 4438全国成人免费| 丰满少妇一级片| 在线综合欧美| 成人动漫在线视频| 夜夜爽夜夜操| caoporen国产精品视频| 99久re热视频精品98| 激情婷婷丁香| 亚洲天堂精品视频| 中文字幕第一页在线视频| 成人video亚洲精品| 欧美日精品一区视频| 亚洲自拍偷拍图| 成人污污www网站免费丝瓜| 中文字幕精品网| 中文字幕一区二区三区四区免费看| 青青草综合网| 国产欧美 在线欧美| 欧美一区二区三区久久综| 激情综合亚洲精品| 黄色免费高清视频| 四虎在线观看| 日本韩国欧美一区| 调教驯服丰满美艳麻麻在线视频 | www.黄色小说.com| 国产亚洲欧洲| 欧美一级二级三级| 丁香花高清视频完整版在线观看| 亚洲欧美综合色| 一级黄色免费毛片| 欧美电影免费观看| 中文字幕视频一区二区在线有码 | 调教驯服丰满美艳麻麻在线视频 | 中文字幕国产精品| 国产按摩一区二区三区| 奶水喷射视频一区| 欧美下载看逼逼| 伊人资源视频在线| 色呦呦日韩精品| 免费成人美女女在线观看| 精品视频高潮| 国产精品久久久久久av福利软件 | 最近中文字幕免费在线观看| 欧美日韩综合| 欧美裸体网站| 中文在线播放| 欧美日韩国产综合一区二区| 久久久久成人精品无码| 亚洲午夜精品一区二区国产| 国产一区精品视频| 性视频在线播放| 在线精品国精品国产尤物884a| 免费成年人视频在线观看| 日韩av久操| 免费成人在线观看av| 中出在线观看| 欧美一区二区三区电影| 日韩三级一区二区| 久久精品一区二区国产| 久久久久99精品成人片| 四虎亚洲精品| 日韩中文第一页| 中文乱码字幕av网站| 久久伊人中文字幕| 91porn在线| www国产精品| 成人欧美一区二区三区在线| 日日操天天摸| 一本大道av一区二区在线播放| 国产a免费视频| 狠狠爱综合网| 色哟哟免费网站| 波多野结依一区| 久久av.com| seerx性欧美巨大| 伊人婷婷欧美激情| 一级免费黄色录像| 欧美一区免费| 潘金莲一级淫片aaaaaa播放1| 麻豆传媒视频在线观看| 中国人与牲禽动交精品| 天天综合网色中文字幕| 国产婷婷精品av在线| 国产 欧美 在线| 欧美在线高清| 成人在线免费观看网址| 黄色18在线观看| 91大神福利视频在线| www.操操| 777午夜精品免费视频| 一级做a爱片久久毛片| 国产在线麻豆精品观看| 成人精品久久久| 开心激情综合网| 91色.com| 香蕉视频黄色在线观看| 久久91麻豆精品一区| 蜜桃导航-精品导航| 幼a在线观看| 中文字幕在线成人| 国产一二三四| 亚洲国产欧美在线| 日韩精品在线免费看| 全国精品久久少妇| 蜜臀一区二区三区精品免费视频 | 亚洲电影天堂av | 久久久久久av无码免费网站下载| 老司机深夜福利在线观看| 欧美在线视频免费观看| 男捅女免费视频| 日韩欧美电影一二三| 四季av日韩精品一区| 1区2区3区国产精品| 国产一级特黄视频| 精品久久久久久久久久久下田 | 人人干人人干人人| 97久久综合区小说区图片区| 国产欧美日韩综合一区在线观看 | 欧美在线视频第一页| 视频一区中文字幕| 欧美一级视频在线| 国产日韩欧美一区二区三区| 亚洲欧洲精品一区二区| 亚洲最新无码中文字幕久久| 国产精品自产拍在线观看| 头脑特工队2在线播放| 最新国产成人av网站网址麻豆| 任你操在线观看| 欧美精品丝袜中出| 香蕉久久国产av一区二区| 亚洲无人区一区| 一本到在线视频| 中文字幕中文乱码欧美一区二区| 亚洲欧美在线视频免费| 成人av在线资源网站| 登山的目的在线| 国产伦精品一区二区三区免费迷| 全黄一级裸体片| 日本不卡免费在线视频| 右手影院亚洲欧美| 日韩国产在线一| 性欧美13一14内谢| 久久久久免费| 国产成人av无码精品| 一本不卡影院| 看全色黄大色黄女片18| 午夜综合激情| 狠狠人妻久久久久久综合蜜桃| 国产精品夜夜夜| 在线观看国产网站|