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

📄 ringtones.asm

📁 ringtoneplayer using at89c51
💻 ASM
字号:
$mod51
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

;8051 Based 
;NOKIA Monotonic Ringtone Player(RTTL)
;Sample rintone played "Happy Birthday to you "

;Device Gifted to my friend Miss Sunanda Chatterjee on her birthday
;Special thanks to Miss Munmun Ghoshal & Mr Shiv Kumar Mohan for continuous encouragement

;Microcontroller  AT89C51
;Crystal Oscillator 11.0592MHz
;Application  plays "Happy Birthday to you" monotonic ringtone
;Written in Assembly Language
;Compiled using Keil U Vision

;Written by:
;	Mr Subhajit Roy 
;	JIS College of Engineering
;	Electronics and Communication Dept
;	B-tech 3rd year
;	Contact-09239240966   
;	email id: subhajitroy86@gmail.com

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

FLAG EQU 07FH
SPEAKER EQU  P2.0

BEGIN:
	ORG 0000H
	AJMP MAIN


ISR:
	ORG 000BH
	LCALL ACTION
RETI


	ORG 0050H

MAIN: 
	MOV TMOD,#00010001B      ;
	MOV IE,#82H        ;
	MOV TH0,#0DCH
	MOV TL0,#00H
	SETB TR0
	 MOV DPTR,#SONG


	MOV R0,#02

LOOP1:
	ACALL PLAY_NOTE
	CJNE R0,#02,CARRY_ON     

	
	SJMP MAIN          ;end of music has been detected so start again

CARRY_ON:
	ACALL PLAY
	SJMP LOOP1

PLAY:
	
	CLR EA
	SETB FLAG
	SETB EA

	RUN:
		JNB FLAG,STOP

	DO:
		CJNE R0,#0,START
		SJMP RUN

	START:
		MOV TH1,R2
		MOV TL1,R3
		SETB TR1
	
	HERE:   
      		JNB TF1,HERE

		CLR TF1
		CLR TR1
		CPL SPEAKER
		SJMP RUN

	STOP:   
		CLR SPEAKER

RET


PLAY_NOTE:
	
	CONTINUE:
		CLR A
		MOVC A,@A+DPTR
		MOV R0,A
		INC DPTR
	
		CLR A
		MOVC A,@A+DPTR
		MOV R1,A
		INC DPTR
	
		CLR A
		MOVC A,@A+DPTR
		MOV R2,A
		INC DPTR

		CLR A
		MOVC A,@A+DPTR
		MOV R3,A
		INC DPTR
RET


ACTION:
	CLR TR0
	CJNE R1,#0,DO2
	CLR FLAG
	SJMP DO3
DO2:    DEC R1
DO3:
	MOV TH0,#0DCH
	MOV TL0,#00H
	SETB TR0
RET


SONG:   ; HAPPY BIRTHDAY 

;         R0 R1   R2  R3

	DB 1,12,0FCH,08FH     ;R0=1 indicates there is a note to played
	DB 0,6,0,0            ;R1=0 indicates there is no note to be played
	DB 1,6,0FCH,08FH
	DB 0,6,0,0
	DB 1,24,0FCH,0EFH
	DB 0,6,0,0
	DB 1,24,0FCH,08FH
	DB 0,6,0,0
	DB 1,24,0FDH,06CH
	DB 0,6,0,0
	DB 1,48,0FDH,045H
	DB 0,12,0,0
	DB 1,12,0FCH,08FH
	DB 0,6,0,0
	DB 1,6,0FCH,08FH
	DB 0,6,0,0
	DB 1,24,0FCH,0EFH
	DB 0,6,0,0
	DB 1,24,0FCH,08FH
	DB 0,6,0,0
	DB 1,24,0FDH,0B4H
	DB 0,6,0,0
	DB 1,48,0FDH,06CH
	DB 0,24,0,0
	DB 1,12,0FCH,08FH
	DB 0,6,0,0
	DB 1,6,0FCH,08FH
	DB 0,6,0,0
	DB 1,24,0FEH,048H
	DB 0,6,0,0
	DB 1,24,0FBH,0E9H
	DB 0,6,0,0
	DB 1,24,0FDH,06CH
	DB 0,6,0,0
	DB 1,24,0FDH,045H
	DB 0,6,0,0
	DB 1,24,0FCH,0EFH
	DB 0,6,0,0
	DB 1,12,0FCH,023H
	DB 0,6,0,0
	DB 1,6,0FCH,023H
	DB 0,6,0,0
	DB 1,24,0FBH,0E9H
	DB 0,6,0,0
	DB 1,24,0FDH,06CH
	DB 0,6,0,0
	DB 1,24,0FDH,0B4H
	DB 0,6,0,0
	DB 1,48,0FDH,06CH
	DB 2,0,0,0            ;R0=2 indicates end of music

END

⌨️ 快捷键说明

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