-
-
Erfahrener Benutzer
Fleißiges Mitglied
habejetzt ein programm was ich verstehe
und nun brauch ich den schlatplan, welche ics bräuchte ich dafür am besten???
so habe jetzt ein programm was ich auch verstehe
;************************************************* **********
;* Name : UHR_Binär_BCD (für 4 MHz) Datum: 12.02.2006 *
;* -------- *
;* Funktion : Dimensionierbare Verzögerungsschleifen *
;* - Verzögerung_1s (lang) *
;* - Verzögerung_Xms (mittel), mit X *
;* X = 1,5,10,20,30,50,100,200,500 *
;* - Verzögerung_100us (kurz) *
;* Lernziele : Programmanalyse verschachtelter Algorithmen*
;* Hinleitung zu: -> Modularer Programmaufbau *
;* Autor : *
;************************************************* **********
LIST p=16F877A ; list directive to define processor
#include <p16F877A.inc>; processor specific variable defs
__CONFIG H'3F39' ; _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
ERRORLEVEL -302 ; unterdrücke Warnungen zur Bank-Auswahl
ERRORLEVEL -203
W_Kopie EQU H'35'
STATUS_Kopie EQU H'36'
Speicher EQU H'37'
Speicher_STD EQU H'38'
Speicher_Min EQU H'39'
Speicher_Sek EQU H'3A'
org 0x0000
goto Main_Start
org 0x0004
Interrupt_Beginn
btfss INTCON, T0IF
retfie
movwf W_Kopie
swapf STATUS,W
movwf STATUS_Kopie
Interrupt_Aktion
incf Speicher,F
_sekunden:
movlw D'20'
subwf Speicher,W
btfss STATUS,Z
goto weiter
incf Speicher_Sek,F
clrf Speicher
Abfrage_Sekunden
movlw D'60'
subwf Speicher_Sek,W
btfss STATUS,Z
goto weiter
;----------------------------- Minuten ---------------------------------------------------------
Minuten
clrf Speicher_Sek
incf Speicher_Min,F
Abfrage_Min
movlw D'60'
subwf Speicher_Min,W
btfss STATUS,Z
goto weiter
;----------------------------- Stunden -----------------------------------------------------
Stunden
clrf Speicher_Min
incf Speicher_STD,F
Abfrage_STD
movlw D'24'
subwf Speicher_STD,W
btfss STATUS,Z
goto weiter
clrf Speicher_STD
weiter:
movlw D'61'
movwf TMR0
Interrupt_Ende
bcf INTCON, T0IF
swapf STATUS_Kopie, W
movwf STATUS
swapf W_Kopie,F
swapf W_Kopie,W
retfie
Main_Start
bsf STATUS,RP0
clrf TRISD
clrf TRISC
clrf TRISB
movlw B'00000111'
movwf OPTION_REG
movlw B'10100000'
movwf INTCON
bcf STATUS,RP0
clrf Speicher
clrf Speicher_Sek
clrf Speicher_Min
clrf Speicher_STD
clrf PORTD
clrf PORTC
clrf PORTB
;bsf INTCON, T0IF
;bsf INTCON, GIE
;bsf INTCON, T0IE
movlw D'61'
movwf TMR0
;--------------------------------- Ausgabe -------------------------------------------------------------
Hauptprogramm
movf Speicher_Sek,W
call Hex_2_BCD__8bit
;swapf Zehner,W
;iorwf Einer,W
movwf PORTD
movf Speicher_Min,W
call Hex_2_BCD__8bit
movwf PORTC
movf Speicher_STD,W
call Hex_2_BCD__8bit
movwf PORTB
goto Hauptprogramm
END
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen