diff options
author | Christian Pointner <equinox@mur.at> | 2011-07-30 23:29:00 +0000 |
---|---|---|
committer | Christian Pointner <equinox@mur.at> | 2011-07-30 23:29:00 +0000 |
commit | 7a1f9c826730c7a0ce859dc75296ad39cebb2cf4 (patch) | |
tree | fde6274b14817b4e8c92018d1ec4e1c6985bc426 /software/ihu/ihu.asm | |
parent | moved RTC specific defines to rtc.inc (diff) |
one wire write commands work
git-svn-id: https://svn.spreadspace.org/mur.sat@83 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'software/ihu/ihu.asm')
-rw-r--r-- | software/ihu/ihu.asm | 204 |
1 files changed, 107 insertions, 97 deletions
diff --git a/software/ihu/ihu.asm b/software/ihu/ihu.asm index 9c30f43..f81701d 100644 --- a/software/ihu/ihu.asm +++ b/software/ihu/ihu.asm @@ -41,65 +41,68 @@ ;; I/O Pins ;; PortA -SOLAR_C0 EQU 0 -SOLAR_C1 EQU 1 -SOLAR_C2 EQU 2 -SOLAR_C3 EQU 3 -OWIRE EQU 4 -SOLAR_C4 EQU 5 +SOLAR_C0 EQU 0 +SOLAR_C1 EQU 1 +SOLAR_C2 EQU 2 +SOLAR_C3 EQU 3 +OWIRE EQU 4 +SOLAR_C4 EQU 5 ;; PortB -DTMF_INT EQU 0 -BAT_V EQU 1 -SOLAR_V EQU 2 -BAT_C EQU 3 -RTC_SDA EQU 4 -RTC_SCL EQU 5 -RTC_INT EQU 6 -MPU_INT EQU 7 +DTMF_INT EQU 0 +BAT_V EQU 1 +SOLAR_V EQU 2 +BAT_C EQU 3 +RTC_SDA EQU 4 +RTC_SCL EQU 5 +RTC_INT EQU 6 +MPU_INT EQU 7 ;; PortC -MPU_PWRDWN EQU 0 -MPU_RESET EQU 1 -MPU_CS EQU 2 -MPU_SCK EQU 3 -MPU_SDI EQU 4 -MPU_SDO EQU 5 -ICOM_TX EQU 6 -ICOM_RX EQU 7 +MPU_PWRDWN EQU 0 +MPU_RESET EQU 1 +MPU_CS EQU 2 +MPU_SCK EQU 3 +MPU_SDI EQU 4 +MPU_SDO EQU 5 +ICOM_TX EQU 6 +ICOM_RX EQU 7 ;; PortD -DTMF_D0 EQU 0 -DTMF_D1 EQU 1 -DTMF_D2 EQU 2 -DTMF_D3 EQU 3 -DTMF_PWRDWN EQU 4 -TTX_RESET EQU 5 -TTX_SCL EQU 6 -TTX_SDA EQU 7 +DTMF_D0 EQU 0 +DTMF_D1 EQU 1 +DTMF_D2 EQU 2 +DTMF_D3 EQU 3 +DTMF_PWRDWN EQU 4 +TTX_RESET EQU 5 +TTX_SCL EQU 6 +TTX_SDA EQU 7 ;; PortE -SOLAR_C5 EQU 0 -SOLAR_C6 EQU 1 -SOLAR_C7 EQU 2 +SOLAR_C5 EQU 0 +SOLAR_C6 EQU 1 +SOLAR_C7 EQU 2 ;; variables ;; page 0 only -TMP EQU H'0020' -TTX_BYTE EQU H'0021' -TTX_BIT_CNT EQU H'0022' -TTX_BYTE_CNT EQU H'0023' -TTX_CSUM EQU H'0024' +TMP EQU H'0020' +TTX_BYTE EQU H'0021' +TTX_BIT_CNT EQU H'0022' +TTX_BYTE_CNT EQU H'0023' +TTX_CSUM EQU H'0024' -RTC_BYTE_CNT EQU H'0028' +RTC_BYTE_CNT EQU H'0028' -WAIT_CNT EQU H'0030' +WAIT_CNT EQU H'0030' -BUF EQU H'0040' -BUF_END EQU H'004F' +BUF EQU H'0040' +BUF_END EQU H'004F' ;; all pages -RTC_BYTE EQU H'0070' -RTC_BIT_CNT EQU H'0071' +RTC_BYTE EQU H'0070' +RTC_BIT_CNT EQU H'0071' +OWIRE_BYTE EQU H'0072' +OWIRE_BIT_CNT EQU H'0073' +OWIRE_CNT EQU H'0074' -W_TEMP EQU H'007E' -STATUS_TEMP EQU H'007F' +W_TEMP EQU H'007E' +STATUS_TEMP EQU H'007F' ;; bits @@ -167,6 +170,8 @@ init movlw b'00010000' movwf OSCCON movlw b'11111111' + movwf TRISA + movlw b'11111111' movwf TRISB movlw b'11111000' movwf TRISC @@ -242,72 +247,77 @@ uart_rx_fe include "rtc.inc" ;; ------------------------------------- + include "temp.inc" + + ;; ------------------------------------- ;; MAINLOOP main movf TMP,f btfsc STATUS,Z goto main - movlw BUF - movwf FSR - call rtc_get_time + ;; movlw BUF + ;; movwf FSR + ;; call rtc_get_time - swapf BUF+2,w - andlw b'00000011' - call digit - movwf TXREG - movlw .1 - call wait_ms + ;; swapf BUF+2,w + ;; andlw b'00000011' + ;; call digit + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms - movf BUF+2,w - andlw b'00001111' - call digit - movwf TXREG - movlw .1 - call wait_ms + ;; movf BUF+2,w + ;; andlw b'00001111' + ;; call digit + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms - movlw ':' - movwf TXREG - movlw .1 - call wait_ms + ;; movlw ':' + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms - swapf BUF+1,w - andlw b'00000111' - call digit - movwf TXREG - movlw .1 - call wait_ms + ;; swapf BUF+1,w + ;; andlw b'00000111' + ;; call digit + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms - movf BUF+1,w - andlw b'00001111' - call digit - movwf TXREG - movlw .1 - call wait_ms + ;; movf BUF+1,w + ;; andlw b'00001111' + ;; call digit + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms - movlw ':' - movwf TXREG - movlw .1 - call wait_ms + ;; movlw ':' + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms + + ;; swapf BUF,w + ;; andlw b'00000111' + ;; call digit + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms - swapf BUF,w - andlw b'00000111' - call digit - movwf TXREG - movlw .1 - call wait_ms + ;; movf BUF,w + ;; andlw b'00001111' + ;; call digit + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms - movf BUF,w - andlw b'00001111' - call digit - movwf TXREG - movlw .1 - call wait_ms + ;; movlw '\r' + ;; movwf TXREG + ;; movlw .1 + ;; call wait_ms - movlw '\r' - movwf TXREG - movlw .1 - call wait_ms + call temp_init clrf TMP goto main |