pic16c711测温程序
点击数:7747 次 录入时间:03-04 11:46:43 整理:http://www.55dianzi.com PIC单片机
; 振荡器 1MHz R/C
; 命令时钟 250kHz
include<p16c711.inc>
page1 macro
bsf STATUS,RP0 ; page1
endm
page0 macro
bcf STATUS,RP0 ; page0
endm
cbLOCk 0ch
time1, temp
lo_val, hi_val, msn, lsn
digit1, digit2
count, read
ssave, wsave
flags
endc
;==================================
org 00
goto init
org 04
btfss INTCON,T0IF
goto end_int
MOVwf wsave
swapf STATUS,w
MOVwf ssave ;中断保护
decf count,f
decfsz read,f
goto int2
call adconv ; A/D
MOVlw .16 ;
MOVwf read
int2 MOVf count,0
btfsc STATUS,Z
bsf flags,0 ; eot
bcf INTCON,T0IF
end_int swapf ssave,w
MOVwf STATUS ;
swapf wsave,f ;
swapf wsave,w
retfie ;
;========== 查表 ===============
table addwf PCL ; port b
retlw b’01110111’ ; 0
retlw b’00010100’ ; 1
retlw b’00111011’ ; 2
retlw b’00111110’ ; 3
retlw b’01011100’ ; 4
retlw b’01101110’ ; 5
retlw b’01101111’ ; 6
retlw b’00110100’ ; 7
retlw b’01111111’ ; 8
retlw b’01111100’ ; 9
retlw 0
retlw 0
retlw 0
retlw 0
retlw 0
retlw 0
retlw 0
; ********************* 温度 转变******************
lookup addwf PCL
retlw .99 ; 00
retlw .99 ; 01
retlw .99 ; 02
retlw .99 ; 03
retlw .91 ; 04
retlw .81 ; 05
retlw .73 ; 06
retlw .66 ; 07
retlw .59 ; 08
retlw .52 ; 09
retlw .45 ; 0A
retlw .39 ; 0B
retlw .31 ; 0C
retlw .23 ; 0D
retlw .13 ; 0E
retlw .0 ; 0F
retlw .0 ; catch for >f0h
; ========== a/d转变 值存到 temp ==========
interp MOVf lsn,0 ; 初值
[1] [2] [3] 下一页
本文关键字:程序 PIC单片机,单片机-工控设备 - PIC单片机