📄 c8051f330_led.asm
字号:
c8051f330 led灯(汇编)程序2007-12-21 15:07:00
0
推荐c8051f330 led灯程序,采用汇编去做,LED闪烁频率0.5S
我c8051f IDE 环境里面, 在程序文件ASM中,可以直接加系统头文件
写法:
$include (c8051f330.inc)
但是使用KEIL 环境救不可以直接添加,需要修改以下,附件一C8051F330MY.INC是我修改以后的,
在程序文件ASM中,可以直接加系统头文件 $include (c8051f330MY.inc)
就可以使用了.
;$include (c8051f330.inc) ;IDE 环境使用
;$include (c8051f330my.inc) ;KEIL 环境使用
LED equ p2.0 ;LED='0' means ON
timebuf equ 30h
;***********************************************************
; Programma Initiation
;***********************************************************
org 0000h
ljmp main
org 000bh
ljmp tmr_int0
org 0030h
main:
anl PCA0MD, #10111111b ; WDTE = 0 (clear watchdog timer enable)
mov r0, #0ffh
blank: mov @r0, #0
djnz r0, blank
;***********************************************************
; Programma Initiation
;***********************************************************
mov sp, #60h
mov P0SKIP, #00h
mov P1SKIP, #00h
setb LED
mov P2MDOUT, #00h
mov XBR0, #00h ;Enable UART on P0.4(TX) and P0.5(RX)
mov XBR1, #40h ;Enable crossbar and weak pull-ups
mov OSCICN, #83h ;Configure internal oscillator for its maximum frequency 24.5MHz
mov RSTSRC, #04h ;Enable missing clock detector
mov TMOD, #01h
mov CKCON, #01h
mov TL0, #0beh
mov TH0, #10h
clr TR0
mov IE, #82h
mov IP, #02h
mov timebuf, #00h
setb TR0
jmp $
;***********************************************************
; time 0 intrrupt ,10ms
;***********************************************************
tmr_int0:
mov TL0, #0beh
mov TH0, #10h
inc timebuf
mov a, #50
cjne a, timebuf, tmr_out
mov timebuf, #00h
cpl LED
tmr_out:
setb TR0
reti
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -