⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcs51_list_10_9.asm

📁 source code from Starcki book
💻 ASM
字号:
;==================================================================
;
;        Tomasz Starecki: "Mikrokontrolery 8051 w praktyce"
;              Wydawnictwo BTC  -  http://www.btc.pl
;
;==================================================================
; procedura obslugi zegara czasu rzeczywistego
; przy wywolaniu w R0 musi byc wskaznik do nastepujacej struktury:
;      TICK, SEC, MIN, HOUR
; nalezy zatem odpowiednio zdefiniowac polozenie tych zmiennych
; w module glownym i pamietac o odpowiednim przypisaniu wartosci
; do R0 przed kazdym wywolaniem tej procedury!!!
;      niszczy CY 
;==================================================================

PUBLIC	zegar_RTC
EXTERN	f_tick		; czestotliwosc wywolywania procedury zegara (Hz) BAJT!
EXTERN	marker_sekundy	; znacznik ustawiany kazdorazowo po odliczeniu sekundy

ORG 1600H		; relokacja przykladowa

zegar_RTC:
DEC	@R0
CJNE 	@R0, #0, return
MOV	@R0, #f_tick
SETB	marker_sekundy	; wlasnie minela sekunda
INC	R0		; wskaznik w R0 na SEC
INC	@R0
CJNE	@R0, #60, return	; jesli SEC <> 60 to powrot
MOV	@R0, #0
INC	R0		; MIN
INC	@R0
CJNE	@R0, #60, return	; powrot jesli nie 60 minut
MOV	@R0, #0
INC	R0		; HOUR
INC	@R0
CJNE	@R0, #24, return	; jesli HOUR <> 24 to powrot
MOV	@R0, #0
; mozliwa dalsza latwa rozbudowa o dni tygodnia itp.
return:
RET

END				; koniec modulu

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -