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

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

?? 18b20.asm

?? 51但單片機實現對18B20的控制功能,此程序僅共參考,不一定準確
?? ASM
字號:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;功能:    DS18b20的顯示實驗
;使用環境:板上18b20接口,上拉電阻存在,只需把18B20的三根線接到相應位置即可,晶振為11.0592MHz
;使用資源:使用P2.7采集溫度,4位數碼管使用P0口,p2.0,p2.1,p2.2,p2.3控制顯示,采用描繪顯示方法
;          測試18B20存在P1.7口L8燈亮,不存在P1.0口L1燈亮
;聲  明:  此程序僅共參考,不一定準確,就算給大家一個"例程"吧,如果大家有不同意見,希望多多指正!
;提供者:  單片機試驗網
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;////////////數據定義///////////////////////////
TH    EQU    38  ;高溫報警點
TL    EQU    10  ;低溫報警點
TEMPH EQU    40H ;讀出寄存器5個單元的內容
TEMPL EQU    41H
REG2  EQU    42H
REG3  EQU    43H
REG4  EQU    44H
CONFIG9  EQU 1FH  ;9位精度的CONFIG數據
COMFIG10 EQU 3FH  ;10位精度的CONFIG數據
CONFIG11 EQU 5FH  ;11位精度的CONFIG數據
CONFIG12 EQU 7FH  ;12位精度的CONFIG數據
CNT    EQU    20H ;中斷轉換時間
DAT    EQU    P2.7;數據線
FLAG1  BIT 00H     ;測試DS18B20的存在

RS BIT p2.0;液晶控制接口
RW BIT p2.1
E BIT p2.2
;/////////////程序開始///////////////////////////
	ORG   0000H
	LJMP  MAIN
	ORG   000BH
	LJMP  TIM0  ;定時器0中斷
	ORG   0030H
MAIN: 
      MOV SP,#07H    ;設定堆棧指針 
    
      LCALL RESET    ;18b20復位
      LCALL INIT     ;初始化數碼管
          
      MOV TMOD,#21H  ;定時器0設置
      MOV TH0,#00H
      MOV TL0,#00H
      
      SETB ET0
      SETB TR0
		
		CALL INITDISP
		SETB EA
      ;CALL LCDDISP
STAR: ;LCALL DISP     ;顯示溫度值
      ;lcall lcddisp
      LJMP STAR

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
RESET:;18B20復位程序,11.0592Mz單周期1US
	SETB DAT
	NOP
	CLR DAT
	;主機發出延時537微秒的復位低脈沖
	MOV R1,#3
TSR1:   MOV R0,#107
	DJNZ R0,$
	DJNZ R1,TSR1	
	MOV R0,#0FFH
	SETB DAT   ;然后拉高數據線
TSR2:   JNB DAT,TSR3;等待DS18B20回應
	DJNZ R0,TSR2
	LJMP TSR4  ; 延時
TSR3:	SETB FLAG1 ; 置標志位,表示DS1820存在
	CLR P1.7   ;檢查到DS18B20就點亮P1.7LED
	LJMP TSR5
TSR4:	CLR FLAG1  ; 清標志位,表示DS1820不存在
	CLR P1.0
	LJMP TSR7
TSR5:	MOV R0,#117
TSR6:	DJNZ R0,TSR6 ; 時序要求延時一段時間
TSR7:	SETB DAT
	RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ;-------------------寫DS18B20的程序
WRITE: ;18B20寫入1個字節子程序
	MOV R2,#8
	CLR C
  WR1:	CLR DAT
	MOV R3,#6
	DJNZ R3,$
	RRC A
	MOV DAT,C
	MOV R3,#23
	DJNZ R3,$
	SETB DAT
	NOP
	DJNZ R2,WR1
	SETB DAT
	RET
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;-------------------讀DS18B20的程序,從DS18B20中讀出兩個字節的溫度數據
;讀出溫度值的子程序RDTEMP
RDTEMP:
	MOV R4,#2     ; 將溫度高位和低位從DS18B20中讀出
	MOV R1,#TEMPL ; 低位存入41H(TEMPL),高位存入40H(TEMPH)
	
  RE00:	MOV R2,#8
  RE01:	CLR C
	SETB DAT
	NOP
	NOP
	CLR DAT
	NOP
	NOP
	NOP
	SETB DAT
	MOV R3,#7
	DJNZ R3,$
	MOV C,DAT
	MOV R3,#23
	DJNZ R3,$
	RRC A
	DJNZ R2,RE01
	MOV @R1,A
	DEC R1
	DJNZ R4,RE00
	RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DIVV:;數據處理子程序DIVV
        MOV  A,41H
	MOV B,#16
	DIV AB
	MOV 74H,A       ;將41H的高4位右移4位,存入74H中
	MOV A,B
	MOV B,#10
	MUL AB
	MOV B,#16
	DIV AB
	MOV 73H,A;70    ;將41H的低4位X10/16得小數后1位數
	MOV A,40H
	MOV B,#16
	MUL AB
	ADD A,74H
	MOV B,#10
	DIV AB
	MOV 72H,B;71    ;將個位數存入72H中
	MOV B,#10
	DIV AB
	MOV 71H,B;72    ;將十位數存入71H中
	MOV A,40H
	MOV 70H,#10H;73  ;如果為負則符號位為#10H
	JB ACC.7,SA
	MOV 70H,#00H     ;如果為正則符號位為#00H
 SA:	
        RET
 ;------------------讀出轉換后的溫度值
GET_TEMPER:
	SETB DAT ; 定時入口
  BCD:  LCALL RESET
	JB FLAG1,S22
        LJMP BCD ; 若DS18B20不存在則返回

  S22:  LCALL DELAY1
	MOV A,#0CCH ; 跳過ROM匹配------0CC
	LCALL WRITE
	MOV A,#44H ; 發出溫度轉換命令
	LCALL WRITE
	NOP
	LCALL DELAY
	LCALL DELAY
  CBA:  CALL RESET
	JB FLAG1,ABC
	LJMP CBA
  ABC:  LCALL DELAY1
	MOV A,#0CCH ; 跳過ROM匹配
	LCALL WRITE
	MOV A,#0BEH ; 發出讀溫度命令
	LCALL WRITE
	LCALL RDTEMP ;READ_1820
	RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;------------------延時子程序
DELAY:  MOV R7,#00H
  MIN:  DJNZ R7,YS500
    RET
 YS500: LCALL YS500US
	LJMP MIN
YS500US:MOV R6,#00H
	DJNZ R6,$
	RET
DELAY1: MOV R7,#20H
	DJNZ R7,$
	RET


;*************************************************
;液晶顯示程序
;*************************************************
INITDISP:
  MOV   R2,#38H    ;0011 1000功能設置:采用8位數據總線,采用雙行顯示,采用5X7點陳
         LCALL  WRC       ;寫入指令
         ACALL DELAY11      ;延時程序
	 MOV   R2,#0CH    ;0000 1100光標/顯示移位:1為顯示移位,0為光標移位
	 ACALL  WRC
         ACALL DELAY11
	 MOV   R2,#06H    ;0000 0110輸入模式:1為AC增量模式,0為AC自減模式,顯示整體不移動
	 ACALL  WRC
         ACALL DELAY11
	 MOV   R2,#01H    ;清屏
	 LCALL  WRC
         ACALL DELAY11

			mov P0,#01h;清屏
call enrw
mov P0,#38h;設為8位,5*7字 型兩行
call enrw
mov P0,#0Ch
call enrw
mov P0,#06h
call enrw
mov P0,#80h
call enrw
mov dptr,#yjtab
call rwram
mov P0,#0C0h
call enrw
mov dptr,#yjtab1
call rwram
RET
	 RET

	  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	 ;寫入控制指令,數據放在R2中
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WRC:     
         ACALL BUSY
	 CLR    P2.0
	 CLR    P2.1
	 CLR    P2.2
	 MOV   A,R2
	 MOV   P0,A
         NOP
         SETB P2.2;E使用信號
         NOP
	 CLR  P2.2;E使用能下降沿觸發
	 RET
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	 ;忙閑測試
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BUSY:    
         CLR    P2.0;RS=0讀寄存器 讀BF
	 SETB   P2.1; R/W 1為讀,0為寫
	 NOP
         SETB   P2.2;E
         NOP
       	 MOV    A,P0;讀取P0口
	 JB     ACC.7,BUSY
	 CLR    P2.2
	 RET
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	 ;寫入數據
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WRD:     
         ACALL  BUSY
         SETB   P2.0
	 CLR    P2.1
         CLR    P2.2
         MOV    A,R2
	 MOV    P0,A
         NOP
         SETB   P2.2
         NOP
         CLR    P2.2
	 RET
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	 ;寫入N個數據,R2為要顯示的數據,R4為顯示個數
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WRN:     
         CLR   A
	 MOVC  A,@A+DPTR
	 INC   DPTR
	 MOV   R2,A
	 LCALL WRD
	 DJNZ  R4,WRN
	 RET
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	 ;程序延時
	 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY11:   MOV R6,#01H
  DL0:   MOV R7,#250
  DL1:   NOP
         NOP
	 DJNZ R7,DL1
         DJNZ R6,DL0
         RET
/*

*/
LCDDISP:

         MOV   DPTR,#ASCII ;顯示第二行數據
         MOV   R2,#0CCH    ;1100 0000 DDRAM地址設置為40h
         LCALL WRC

         ;MOV   R4,#16
         ;LCALL WRN

	 CLR   A
	 MOV A,71H
	 MOVC  A,@A+DPTR
	 ;INC   DPTR
	 MOV   R2,A
	 LCALL WRD

	  MOV A,72H
	 MOVC  A,@A+DPTR
	 ;INC   DPTR
	 MOV   R2,A
	 LCALL WRD

			RET
/******************/
MOV R1,#71

mov P0,#0CCh
call enrw
MOV DPTR,#ASCII
MOV A,@R1
MOVC A,@A+DPTR
MOV P0,A
setb rs
clr rw
clr e
call delay
setb e

INC R1
MOV DPTR,#ASCII
MOV A,@R1
MOVC A,@A+DPTR
MOV P0,A
setb rs
clr rw
clr e
call delay
setb e 
RET
enrw:clr rs
clr rw
clr e
call delay
setb e
ret
rwram:mov r1,#00h
a1: mov a,r1
movc a,@a+dptr
call rwram2
inc r1
cjne a,#00h,a1
ret
rwram2:mov P0,a
setb rs
clr rw
clr e
call delay
setb e
ret

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
/*DISP: ;數碼管顯示程序,此程序要注意的是P2.7口的DS18B20數據采集,不能影響此口
      MOV R1,#70H
DISP1: 
      CLR  P2.0;第一個數碼管亮
      SETB P2.1
      SETB P2.2
      SETB P2.3
      MOV A,@R1
      MOV DPTR,#TAB
      MOVC A,@A+DPTR
      MOV P0,A
      LCALL DLYS
      INC R1;
      SETB  P2.0;第二個數碼管亮
      CLR P2.1
      SETB P2.2
      SETB P2.3
      MOV A,@R1
      MOV DPTR,#TAB
      MOVC A,@A+DPTR
      MOV P0,A
      LCALL DLYS
      INC R1;
      SETB  P2.0;第三個數碼管亮
      SETB P2.1
      CLR P2.2
      SETB P2.3
      MOV A,@R1
      MOV DPTR,#TAB
      MOVC A,@A+DPTR
      ADD A,#80H;點亮小數點
      MOV P0,A
      LCALL DLYS
      INC R1;
      SETB  P2.0;第四個數碼管亮
      SETB P2.1
      SETB P2.2
      CLR P2.3
      MOV A,@R1
      MOV DPTR,#TAB
      MOVC A,@A+DPTR
      MOV P0,A
      LCALL DLYS
      RET*/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;------------------重新寫DS18B20暫存存儲器設定值
RE_CONFIG:
	JB FLAG1,RE_CONFIG1 ; 若DS18B20存在,轉RE_CONFIG1
	RET
RE_CONFIG1:
	MOV A,#0CCH         ; 發SKIP ROM命令
	LCALL WRITE
	MOV A,#4EH          ; 發寫暫存存儲器命令
	LCALL WRITE
	MOV A,#00H          ; TH(報警上限)中寫入00H
	LCALL WRITE
	MOV A,#00H          ; TL(報警下限)中寫入00H
	LCALL WRITE
	MOV A,#7FH          ; 選擇12位溫度分辨率
	LCALL WRITE
	RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIM0:                ;中斷處理程序
      CLR TR0
      CLR EA
      MOV A,CNT
      INC A
      MOV CNT,A
      CJNE A,#10,TZ  ;刷新時間到一定的時間,就采集溫度,注意采集時間不能太快,太快就能時實顯示
      MOV CNT,#00H
      LCALL GET_TEMPER
      LCALL DIVV

		LCALL LCDDISP
      
  TZ: MOV TH0,#00H   ;設定定時器0的參數
      MOV TL0,#00H
      SETB EA
      SETB TR0
      RETI

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INIT: ;初始化70H---73H中的數據,使用R0,R1,R3
    
      MOV 70H,#00H      ;初始化數碼管的顯示內容
      MOV 71H,#00H
      MOV 72H,#00H
      MOV 73H,#00H
      MOV CNT,#00H      ;刷新時間初始化

      LCALL RE_CONFIG   ;配置DS18B20程序
      LCALL GET_TEMPER  ;獲得溫度值
      LCALL DIVV        ;溫度值進行轉換
      RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DLYS: MOV R6,#1  ;延時處理程序
DLYS0:MOV R5,#60
      DJNZ R5,$
      DJNZ R6,DLYS0
      RET
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     
TAB:  
      DB 0C0H,0F9H,0A4H,0B0H; 0,1,2,3
      DB 99H,92H,82H,0F8H;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jlzzjlzz亚洲日本少妇| 亚洲成av人影院| av综合在线播放| 国产精品丝袜一区| 91丨porny丨户外露出| 亚洲视频免费观看| 欧美久久久久中文字幕| 奇米色777欧美一区二区| 精品国产一区二区三区忘忧草| 韩国午夜理伦三级不卡影院| 中文字幕av一区二区三区| 成人黄色国产精品网站大全在线免费观看| 中文字幕不卡在线观看| 日本韩国精品在线| 免费看欧美女人艹b| 久久久久久久久久美女| 色婷婷精品大视频在线蜜桃视频 | 国产一区二区主播在线| 亚洲国产精品成人综合| 91久久线看在观草草青青| 日韩国产成人精品| 久久品道一品道久久精品| 色欧美乱欧美15图片| 久久精品72免费观看| 国产精品乱码一区二三区小蝌蚪| 欧美在线免费观看亚洲| 国产寡妇亲子伦一区二区| 亚洲国产日韩一区二区| 久久天堂av综合合色蜜桃网| 日本高清成人免费播放| 美女高潮久久久| 亚洲欧美日韩在线| 久久婷婷国产综合精品青草| 欧美三级电影在线看| 国产成人av电影在线观看| 亚洲第一主播视频| 中文一区二区在线观看| 这里只有精品免费| 色素色在线综合| 懂色av中文一区二区三区| 日韩高清不卡一区二区| 日韩久久一区二区| 日本一区二区高清| 欧美成人精品福利| 欧美日韩国产高清一区二区三区| 成人黄色大片在线观看| 国产在线播精品第三| 性做久久久久久久免费看| 国产精品免费网站在线观看| 337p日本欧洲亚洲大胆精品| 欧美乱妇20p| 日本韩国精品在线| 懂色av一区二区在线播放| 久久99久久99| 天天影视色香欲综合网老头| 国产精品久久久99| 精品国产百合女同互慰| 欧美日韩国产高清一区二区| 成人妖精视频yjsp地址| 国模娜娜一区二区三区| 日韩电影一二三区| 亚洲国产综合在线| 中文字幕在线一区二区三区| 日韩欧美卡一卡二| 91精品免费观看| 欧美日韩国产精选| 欧美日韩精品一区二区| 欧美性大战久久久久久久| 国产99久久久久| 国产福利电影一区二区三区| 国产一区二区免费视频| 精品一区二区精品| 激情偷乱视频一区二区三区| 美女视频免费一区| 麻豆精品在线看| 国产自产高清不卡| 国产揄拍国内精品对白| 国产成人免费在线| 国产精品69久久久久水密桃| 国产中文字幕一区| 国产伦理精品不卡| 国产成人综合亚洲网站| 成人性生交大片免费看中文 | 一区二区三区在线免费| 亚洲天堂精品在线观看| 欧美激情中文不卡| 亚洲欧洲av另类| 国产精品不卡视频| 亚洲精品亚洲人成人网在线播放| 亚洲欧美另类久久久精品2019| 亚洲欧洲制服丝袜| 亚洲电影中文字幕在线观看| 天堂成人免费av电影一区| 天天综合网 天天综合色| 日韩激情av在线| 国产精品正在播放| 成人av中文字幕| 色诱视频网站一区| 精品视频在线免费观看| 日韩一级高清毛片| 久久久国际精品| 国产女人18毛片水真多成人如厕| 中文无字幕一区二区三区| 成人欧美一区二区三区小说| 国产精品久久看| 亚洲已满18点击进入久久| 日本亚洲欧美天堂免费| 成人免费视频国产在线观看| 欧美三级在线看| 久久一日本道色综合| 一区二区三区四区蜜桃| 麻豆一区二区三区| 色综合久久综合网| 精品国产乱码久久久久久影片| 国产精品国产三级国产普通话99 | 欧美日韩色一区| 欧美成人性战久久| 亚洲精品亚洲人成人网| 久久精品99国产精品| 色综合久久综合网欧美综合网| 日韩美女一区二区三区| 亚洲品质自拍视频| 国产一区999| 91精品国产综合久久精品图片| 久久精品人人爽人人爽| 三级欧美在线一区| 91老司机福利 在线| 亚洲精品一区二区三区精华液| 亚洲精品一二三区| 国产成人高清视频| 欧美va亚洲va香蕉在线| 亚洲愉拍自拍另类高清精品| 风间由美一区二区三区在线观看 | 香蕉影视欧美成人| 成人app网站| 精品欧美乱码久久久久久 | a在线欧美一区| 日韩免费福利电影在线观看| 亚洲综合久久久| 成人av在线电影| 久久久久高清精品| 日本不卡视频一二三区| 欧美性生活久久| 欧美国产日韩精品免费观看| 蜜臀va亚洲va欧美va天堂| 菠萝蜜视频在线观看一区| 337p粉嫩大胆噜噜噜噜噜91av| 午夜国产精品一区| 在线观看免费视频综合| 综合久久国产九一剧情麻豆| 成人免费视频app| 亚洲国产精品精华液2区45| 国产一区二区在线观看免费| 日韩精品中文字幕一区二区三区| 亚洲午夜国产一区99re久久| 日韩欧美自拍偷拍| 天堂一区二区在线免费观看| 欧美日韩在线三级| 亚洲国产一区二区三区 | 同产精品九九九| 欧美日韩不卡一区| 婷婷国产v国产偷v亚洲高清| 欧美影视一区二区三区| 亚洲成人综合视频| 欧美日韩一级片网站| 午夜国产精品一区| 欧美一区二区视频免费观看| 视频一区在线视频| 日韩一区国产二区欧美三区| 免费观看日韩电影| 久久亚洲综合色| 成人免费视频视频| 亚洲男人的天堂av| 欧美影片第一页| 日本免费在线视频不卡一不卡二| 日韩一级视频免费观看在线| 久久精品久久99精品久久| 久久久久久9999| 成人精品电影在线观看| 一区二区三区在线不卡| 欧美性色黄大片手机版| 日韩经典一区二区| 久久久不卡影院| gogogo免费视频观看亚洲一| 亚洲一区自拍偷拍| 欧美一区二区私人影院日本| 国产一区二区三区日韩| 国产精品乱码久久久久久| 欧洲在线/亚洲| 蜜桃av一区二区| 国产欧美日韩在线| 欧美视频一区二区在线观看| 日韩av成人高清| 中文字幕av在线一区二区三区| 日本乱码高清不卡字幕| 麻豆久久久久久久| 国产精品剧情在线亚洲| 91国产免费观看| 国内精品国产成人国产三级粉色| 国产精品拍天天在线|