?? temperature.asm
字號(hào):
$INCLUDE(C8051F310.INC) ; Register definition file.
ORG 00H
LJMP Configure
ORG 00FFH
Configure:
MOV OSCICN,#83H
MOV OSCXCN,#00H
MOV CLKSEL,#00H
MOV XBR0,#01H
MOV XBR1,#0C0H
MOV PCA0MD,#00H //禁止看門狗
MOV PCA0CN,#00H
ANL PCA0MD, #NOT(040h)
; Port configuration (1, Push Pull Output)
mov P0MDOUT, #010h ; Output configuration for P0 0001 0000 P0.4 輸出方式為推挽方式,其它為漏極開路
mov P1MDOUT, #000h ; Output configuration for P1
mov P2MDOUT, #000h ; Output configuration for P2
mov P3MDOUT, #000h ; Output configuration for P3 0001 1000 P3.3 和 P3.4 為推挽方式,用來做測試引腳
mov P0MDIN, #0FFh ; Input configuration for P0 1111 1111 端口P0對(duì)應(yīng)數(shù)字輸入
mov P1MDIN, #0FFh ; Input configuration for P1
mov P2MDIN, #0FFh ; Input configuration for P2
mov P3MDIN, #000h ; Input configuration for P3
mov P0SKIP, #000h ; Port 0 Crossbar Skip Register
mov P1SKIP, #000h ; Port 1 Crossbar Skip Register
mov P2SKIP, #000h ; Port 2 Crossbar Skip Register
CLR AD0EN
MOV REF0CN,#00001110B
MOV AMX0P,#00011110B //ADC0選擇溫度傳感器,正輸入
MOV AMX0N, #00011111B //GND為負(fù)輸入
MOV ADC0CN,#10000000B
;**
mov ADC0H, #000h ; ADC Data MSB
mov ADC0L, #000h ; ADC Data LSB
mov ADC0LTH, #000h ; ADC Less-Than High Byte Register
mov ADC0LTL, #000h ; ADC Less-Than Low Byte Register
mov ADC0GTH, #0FFh ; ADC Greater-Than High Byte Register
mov ADC0GTL, #0FFh ; ADC Greater-Than Low Byte Register
MOV SCON0,#10H
mov PCON, #000h ; Power Control Register
mov TCON, #000h ; Timer Control Register
mov CKCON, #00h ;xitong shizhong
mov TH1, #96h ; Timer 1 High Byte //********************************************
mov TL1, #96h ; Timer 0 Low Byte
mov TMOD, #20h ; Timer Mode Register //001h*************************************
SETB TR1
mov RSTSRC, #000h ; Reset Source Register
RoomCode EQU 9800h
LED2 EQU P2.2
LED7 EQU P2.7
TEMPCODE EQU 30H
MOV A,#00H
CLR TI0
MOV SBUF0,A
JNB TI0,$
CLR TI0
MOV A,#0CCH //77H 為M 的ASC碼
CLR TI0
MOV SBUF0,A
JNB TI0,$
CLR TI0
MOV A,#11H
MOV SBUF0,A
JNB TI0,$
CLR TI0
ANL PCA0MD, #NOT(040h) ; clear Watchdog Enable bit
MOV DPTR,#0300H
MOV A,#00H
MOVC A,@A+DPTR
mov dptr,#0000h
XRL A,#01H
JZ Main2
Main:
MOV A,#0FFH
inc dptr
MOV A,DPH
XRL A,#20H
JZ LAST
MOV ADC0CN, #090H //啟動(dòng)AD
JNB AD0INT,$
CLR AD0BUSY
MOV A,ADC0H
RL A
RL A
RL A
RL A
RL A
RL A
ANL A,#0C0H
MOV R0,A
MOV A,ADC0L
RR A
RR A
ANL A,#3FH
ADD A,R0
mov sbuf0,a
jnb ti0,$
clr ti0
LJMP Main
Main2:
MOV DPTR,#0000H
Main2_2:
MOV A,#0FFH
INC DPTR
MOV A,DPH
XRL A,#20H
JZ LAST2
MOV ADC0CN, #090H //啟動(dòng)AD
JNB AD0INT,$
CLR AD0BUSY
MOV A,ADC0L
mov sbuf0,a
jnb ti0,$
clr ti0
LJMP Main2_2
LAST:
MOV FLSCL,#10000000B
CLR EA //1 關(guān)中斷
ORL PSCTL,#00000010B
ORL PSCTL,#00000001B
MOV FLKEY,#0xA5
MOV FLKEY,#0xF1
MOV DPTR,#0300H
MOV A,#01H
MOVX @DPTR,A
ANL PSCTL,#11111101B
MOV FLKEY,#0xA5
MOV FLKEY,#0xF1
MOV DPTR,#0300H
MOV A,#01H
MOVX @DPTR,A
MOV FLKEY,#0xA5
MOV FLKEY,#0xF1
MOV DPTR,#0301H
MOV A,#02H
MOVX @DPTR,A
ANL PSCTL,#11111110B
MOV A,#ADC0H
MOV A,#00H
LJMP ENDSYS
LAST2:
MOV FLSCL,#10000000B
CLR EA //1 關(guān)中斷
ORL PSCTL,#00000010B
ORL PSCTL,#00000001B
MOV FLKEY,#0xA5
MOV FLKEY,#0xF1
MOV DPTR,#0300H
MOV A,#01H
MOVX @DPTR,A
ANL PSCTL,#11111101B
MOV FLKEY,#0xA5
MOV FLKEY,#0xF1
MOV DPTR,#0300H
MOV A,#03H
MOVX @DPTR,A
MOV FLKEY,#0xA5
MOV FLKEY,#0xF1
MOV DPTR,#0301H
MOV A,#04H
MOVX @DPTR,A
ANL PSCTL,#11111110B
MOV A,#ADC0H
MOV A,#00H
LJMP ENDSYS
ENDSYS:
AJMP $
END
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -