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

📄 lm386.asm

📁 功率放大器功能的程序
💻 ASM
字号:
;*****************************************************************************************
;								MCS8051-III学习板演示程序
;							
;						(c) Copyright 2007-2007,广州恒芯电子
;								All Rights Reserved
;*****************************************************************************************

;*****************************************************************************************
;程序说明
;*****************************************************************************************
;名称: MCS8051-III学习板演示程序(LM386测试)
;功能: 发出报警声
;版本:2007-07-01

;*****************************************************************************************
;硬件说明
;*****************************************************************************************
;单片机: 	兼容MCS-51单片机/STC89C51
;晶振频率:  12MHz

;*****************************************************************************************
;说明:程序预定义	
;*****************************************************************************************

LM386_DATA	EQU		P3.7					;数码管动态扫描值(值为从0到3)

;*****************************************************************************************
;说明:程序开始	
;*****************************************************************************************
			ORG		0000H					;程序首地址 PC=0000H
			JMP		START					;程序跳转到START PC=0030H   
	
			ORG		000BH					;T0中断程序入口
			JMP		BELL				
	
			ORG		0030H					;程序开始
START:		
											;T0中断设定
			MOV		TMOD, #00000001B		;使用T0:GATE=0,C/T=0(定时),M1 M0=01(工作方式1)
			SETB	ET0						;允许T0中断		
			SETB    TR0						;使T0工作
			SETB	EA						;总中断开启

L1:
			JB		20H.0,	L2
			MOV		70H, #0FFH				;频率为5K
			MOV		71H, #38H
			JMP		L3
L2:
			MOV		70H, #0FCH				;频率为1K
			MOV		71H, #38H
L3:
			CPL		20H.0					;频率转换标志
			CALL	DELAY					;延时
			CALL	DELAY
			CALL	DELAY
			CALL	DELAY
			JMP		L1					
													
;*****************************************************************************************		
;函数:LEDSCAN
;说明: 数码管动态扫描处理程序	
;参数: 无
;返回; 无
;*****************************************************************************************						
BELL:				
			CPL		LM386_DATA				;LM386数据端取反

			MOV		TH0, 70H				;加载定时值
			MOV		TL0, 71H
			RETI							;中断返回
			
;*****************************************************************************************		
;函数:DELAY
;说明:程序延时	
;参数: 无
;返回: 无
;*****************************************************************************************		
DELAY:		
			MOV		R6, #0FFH
DELAY_1:
			MOV		R7, #0FFH
			DJNZ	R7, $
			DJNZ	R6, DELAY_1

			RET

;*****************************************************************************************		
;说明:程序结束	
;*****************************************************************************************		
			END								;程序结束


⌨️ 快捷键说明

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