Tải bản đầy đủ (.pdf) (3 trang)

DO NHIET DO asm (1)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (84.19 KB, 3 trang )

C:\Users\MINH HAI\Desktop\VDK\DO NHIET DO.asm
#INCLUDE "p16f887.inc"
; __config 0xE0F7
__CONFIG _CONFIG1, _FOSC_EXTRC_CLKOUT & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF &
_BOREN_OFF & _IESO_OFF & _FCMEN_OFF & _LVP_OFF
; CONFIG2
; __config 0xFFFF
__CONFIG _CONFIG2, _BOR4V_BOR40V & _WRT_OFF
;------------------------khai bao bien--------------------cblock 0x20
nhietdo
tam0
dem
adc_value
adc
bat
den
so
dv
hc
tram
tam
d0
d1
d2
d3
endc
;----------------------------------------------------------ORG
goto

0x00
start



;
;

;************************************************************************************
;---------------------------bat dau chuong trinh o day -----------------------------start
;cai dat ngo vao ngo ra
banksel
TRISB
; chon bank chua thanh ghi TRISB
clrf
TRISB
; PortB la output
movlw
B'00000001'
movwf
TRISA
; chan RA0 input
clrf
TRISD
;-----------banksel
PORTA
clrf
PORTA
clrf
PORTB
clrf
PORTD
; chon loai
banksel

movlw
movwf
clrf

ngo vao AI hay DI
ANSEL
; chon bank chua thanh ghi ANSEL
B'00000001'
; AN0 la analog
ANSEL
; tat cac cac kenh con lai
ANSELH
; la digital

banksel

PORTB

;--------khai bao chuyen doi ADC------------------------------------------banksel
ADCON1
; chon bank chua thanh ghi ADCON1
movlw
0x80
movwf
ADCON1
banksel
movlw
movwf

ADCON0

B'10000001'
ADCON0

; chon bank chua ADCON0
; tan so xung doi Fosc/32,
; RA0 duoc su cho chuyen doi
; chuyen doi AD duoc bat/cho phep

;-------------------------chuong trinh chinh-------------------------------main
call
docADC; cap nhat gia tri moi, tach so cho hien thi
call
check_alarm ; kiem tra nhiet do cho phep va bat/tat canh bao (den, coi bao)
call
tachso
call
hienthi
;chuong trinh co nhien thi nhiet do ra led 7 doan
call
Delay2s
1


C:\Users\MINH HAI\Desktop\VDK\DO NHIET DO.asm

exit_main
goto
main
;------------------------------------------------------------------------------------;=====================================================================================
;------------------------------cac chuong trinh con----------------------------------hienthi; chuong trinh con hien thi nhiet do LED7 doan: XY0C

clrf
PORTD
movfw
hc
; hien thi hang chuc
call
bangma
movwf
PORTD
bcf
PORTB,4 ; bat led hang chuc
call
delay
bsf
PORTB,4 ; tat led hang chuc
movfw
call
movwf
bcf
call
bsf

dv
; hien thi hang don vi
bangma
PORTD
PORTB,5 ;bat led hang don vi
delay
PORTB,5 ;bat led hang don vi


movlw
movwf
bcf
call
bsf

0x9C
; hien thi ki hieu do "0"
PORTD
PORTB,6 ;bat led do
delay
PORTB,6 ; tat led

movlw
movwf
bcf
call
bsf
call

0xC6
; hien thi chu "C"
PORTD
PORTB,7 ;bat led hang
delay
PORTB,7 ;bat led hang
delay

return


;-----------chuong trinh2: doc adc : tra ve gia tri : "adc_tam" -----------docADC ; doc gia tri adc va luu vao bien adc_value

nop
bsf
btfsc
goto

ADCON0,1
ADCON0,1
$-1

; batdau chuyen doi adc
; chuyen doi xong ?
; chua xong ==1,kiem tra lai

banksel
movf

TRISB
ADRESL,0

banksel
movwf
bcf
rrf
bcf
movwf
movlw
subwf


PORTB
adc_value
STATUS,C
adc_value,0
STATUS,C
so
d'1'
so,1

;
;
;
;
;

chon bank1
byte thap la ket qua
copied to W
chon bank2
luu ket qua vao bien : adc_value

; w = adc_value/2 = nhiet do
; so = w
; cai phan la ta tru di 1 cho hien
; thi dung thoi

return
tachso ; tach nhiet do thanh 2 so BCD de hien thi LED 7 doan
clrf dv
clrf hc

tru

sai0

movlw
subwf
btfsc
goto
goto

d'10'
so,f
STATUS,C
sai0
dung0

incf
goto

hc,f
tru
2


C:\Users\MINH HAI\Desktop\VDK\DO NHIET DO.asm
dung0
movlw
addwf
movwf


d'10'
so,w
dv

return
;----------chuong trinh 1: ham kiem tra va bao chay-------------------------check_alarm ; kiem tra nhiet do cho phep va bat/tat canh bao (den, coi bao)
;

tatbd

banksel
movf
sublw
btfsc
goto
goto
bcf
bsf
goto

bsf
bcf
exit_check
return
batbd

PORTB
adc_value,0 ; gan w = adc_value
d'82' ; w = w-70
STATUS,C ; c == 0 ?

tatbd
; c = 1 : w < 82 hay nhiet do < 35oC
batbd
; c = 0 : w > 82 hay nhiet do lon hon 35oC
PORTB,0
PORTB,1
exit_check
PORTB,0
PORTB,1

;-------------chuong trinh 4: delay----------------------------------Delay
movlw
0x09
movwf
d0
Delay_0
decfsz
d0, f
goto
Delay_0
return
;--------------------------------------------------------------------Delay2s
movlw
movwf
movlw
movwf
movlw
movwf
Delay_2
decfsz

goto
decfsz
goto
decfsz
goto

0x5A
d1
0xCD
d2
0x16
d3
d1, f
$+2
d2, f
$+2
d3, f
Delay_0

nop

return
bangma
addwf
retlw
retlw
retlw
retlw
retlw
retlw

retlw
retlw
retlw
retlw

PCL,f
0xc0
0xf9
0xa4
0xb0
0x99
0x92
0x82
0xf8
0x80
0x90

end
;----------------------------------------------------------------------

3



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×