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

📄 myproj.asm

📁 暑假为学生培训写的51相关接口的所有源码及项目代码
💻 ASM
字号:
	org 0000H
	LJMP Main
	org 0003H
	LJMP Int0Add
	org 000bH
	LJMP TimeSec
	org 0013H
	LJMP Int1Dec
	org 0023H
	LJMP RecvDat
	org 0100H
Main:			;初始化
	mov	SP,#60h	
	mov R0,#01h
	mov R1,#10h
	mov R4,#00h
	mov R3,#3ch
	mov R2,#00h
	mov P2,#0FFh
	mov P0,#0FFH
	mov DPTR,#0400H
	mov	TMOD,#21h
	mov TH1,#0fdh
	mov	TL1,#0Fdh
	mov TH0,#00h
	mov TL0,#00h
	mov SCON,#50h
	mov PCON,#00h
	mov IE,#0d7h
    setb it1
    setb it0
    setb TR1
	setb TR0
	clr	 ri	
	clr  F0
Again:			;循环调用显示
	Call DispLed
	Call DispNum
	JMP	Again
;LED显示
DispLed:
	mov P2,#80h
	mov P0,R0
	mov R6,#05h
	Call DelayMs
	ret
;数码显示  注意修改位控位及位控电平
DispNum:
	mov A,R0
	mov B,#10h
	div AB
	movc A,@A+DPTR
	mov p2,#40h
	mov p0,A
	mov R6,#05h
	Call DelayMs
	mov A,B
	movc A,@A+DPTR
	mov p2,#20H
	mov P0,A
	mov R6,#05h
	Call DelayMs
	ret
;外部中断0
Int0Add:
	clr ex0
	inc R0
	setb ex0
	reti
;外部中断1
Int1Dec:
	clr ex1
	dec R0
	setb ex1
	reti
;串行中断  实现简单的置数及计数启停
RecvDat:	
	jnb TI,RiCom
	CLR TI
RiCom:
	jnb RI,ExitCom
	CLR RI
	mov A,SBUF
	mov R0,A
	CJNE R0,#00h,NextCom
	CLR TR0
NextCom:
	CJNE R0,#01h,ExitCom
	mov TH0,#0ffh
	mov TL0,#0ffh
	mov R1,#10h
	Setb TR0
ExitCom:
	reti
;定时器中断0
TimeSec:
	mov TL0,#00h
	mov TH0,#00h
	DJNZ R1,ExitSec
	mov R1,#10H
	inc R0
ExitSec:
	reti
;秒级延时子程序以130050us为单位,最大为130050us		
DelaySs:		
	mov 	r6,#0ffh
ss:	
	mov 	r7,#0ffh
	djnz 	r7,$
	djnz 	r6,ss
	djnz	r5,DelaySs
	ret
;毫秒延时子程序以510us为单位,最大为130050us		
DelayMs:		
	mov 	r7,#0ffh
	djnz 	r7,$
	djnz 	r6,DelayMs
	ret
;微秒延时以2us为单位,最大为510us
DelayUs:
	djnz r7,$           
    ret
	
	org 0400h
;共阳极数码管数模0~9、A~F
DB  0C0h,0F9H,0A4H,0B0H,099H,092H,082H,0F8H
DB	080H,090H,088H,083H,0C6H,0A1H,086H,08EH
	
end

⌨️ 快捷键说明

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