📄 ex1a.asm
字号:
;= ex1a.asm ====================================================================
;
; Copyright (C) 2004 Nordic Semiconductor
;
; This file is distributed in the hope that it will be useful, but WITHOUT
; WARRANTY OF ANY KIND.
;
;
; Author(s): Ole Saether
;
; DESCRIPTION:
;
; nRF9E5 Hello World program. Please note that this program runs the internal
; 8051 on the default power up frequency of 4MHz. See ex3a.asm for an example
; on how to switch to 16MHz.
;
; The functionality is the same as in ex1c.c.
;
; ASSEMBLER:
;
; You need as31.exe to assemble this program. It can be downloaded from this
; web page: http://www.pjrc.com/tech/8051/
;
; $Revision: 4 $
;
;===============================================================================
.equ CKCON, 0x8E
.equ P0_DIR, 0x94
.equ P0_ALT, 0x95
.equ P1_ALT, 0x97
ljmp start
start: acall init
mov dptr, #msg
acall puts
loop: ajmp loop
puts: mov a, #0
movc a, @a+dptr
jz puts2
acall putc
inc dptr
ajmp puts
puts2: ret
putc: jnb TI, putc
clr TI
mov SBUF, A
ret
init: mov TH1, #243 ; 4800@4MHz (when T1M=1 and SMOD=1)
orl CKCON, #0x10 ; T1M=1 (/4 timer clock)
mov PCON, #0x80 ; SMOD=1 (double baud rate)
mov SCON, #0x52 ; Serial mode1, enable receiver
mov TMOD, #0x20 ; Timer1 8bit auto reload
setb TR1 ; Start timer1
orl P0_ALT, #0x06 ; Select alternate function on P01 and P02
orl P0_DIR, #0x02 ; Configure P01 (RxD) as input
ret
msg: .db "Hello World!\n", 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -