📄 pwm.a
字号:
PA8255 EQU 7CH ; Port A
PB8255 EQU 7DH ; Port B
PC8255 EQU 7EH ; Port C
CTL8255 EQU 7FH ; 控制字地址
MODE8255 EQU 80H ;PA PB PC 都工作于方式0,基本输出
ORG 0000H
AJMP START ;上电复位入口
ORG 0023H
AJMP PCOM_INT
ORG 0040h
START: MOV SP,#60H ;设置堆栈指针
MOV R0,#CTL8255
MOV A,#MODE8255
MOVX @R0,A
MOV DPTR,#TAB
MOV R1,#0
;下面进行串口设置
MOV SCON,#50H ;串口工作在方式1下,允许接收;0101 0000
MOV PCON,#00H ;SMOD=0
;下面使用定时器1进行串行口的波特率的设定
MOV TMOD,#20H ;定时器1工作在方式2,即自动重装载模式;0010 0000
MOV TL1,#0F4H ;(晶体为11.0592MHz)波特率为2400
MOV TH1,#0F4H
SETB TR1
SETB EA
SETB ES
LOOP: CLR F0
MOV A,R1
MOVC A,@A+DPTR
MOV SBUF,A
JNB F0,$
ACALL DELAY160MS
INC R1
CJNE R1,#8,LOOP
MOV R1,#0
AJMP LOOP
PCOM_INT: PUSH A
JNB TI,NEXT
CLR TI
AJMP EXIT
NEXT: SETB F0
MOV A,SBUF
MOV R0,#PA8255
MOVX @R0,A
CLR RI
EXIT:POP A
RETI
DELAY160MS: MOV R7,#200
DEL: MOV R6,#200
DEL1: MOV R5,#2
DJNZ R5,$
DJNZ R6,DEL1
DJNZ R7,DEL
RET
TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH ;LED1-LED8 TURN ON
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -