Colección de citas famosas - Colección de máximas - Utilice el chip at89s52 del microcontrolador 80c51 y el lenguaje ensamblador para escribir el código de reproducción de música de "Only Mom is Good in the World".

Utilice el chip at89s52 del microcontrolador 80c51 y el lenguaje ensamblador para escribir el código de reproducción de música de "Only Mom is Good in the World".

//=Publicado por otros. .

Speaker EQU p 2.0; Definir puerto de unidad de altavoz

Pseudo dirección ORG 0000H

Salto largo LJMP MAIN, realiza la función principal.

ORG 000BH

LJMP DSQT0

Principal: MOV SP, # 50H Escribe 50 en SP

MOV TMOD, # 01H ;Temporizador ajustes

MOV TH0,#0F8H graves 1-261hz; Temporizador carga valor inicial alto

MOV TL0,#39H Temporizador carga valor inicial bajo

SETB EA; Permitir interrupciones

SETB ET0; bajo la premisa de que EA está activado, el temporizador T0 activa la interrupción.

CLR TR0 no habilita el bucle del contador/temporizador T0: el NOP comienza a bucle. Programa incompleto

; -

; 1-|6.5 3 5 |; Primer párrafo

LCALL DY6 salta largo a la etiqueta bass 6, el programa no No escrito en absoluto. Lo siguiente es lo mismo

SETB TR0; Iniciar habilitación del contador/temporizador T0.

LCALL DEL11

LCALL DEL12

LCALL ZY5

LCALL DEL12

LCALL ZY3

LCALL DEL11

LCALL ZY5

LCALL DEL11

;-

;2-|1 6 5 6- |

LCALL GY1

SETB TR0

LCALL DEL11

LCALL ZY6

LCALL DEL12

LCALL ZY5

LCALL DEL12

LCALL ZY6

LCALL DEL11

LCALL DEL11

-

;3-|3 5 6 5 3 |

LCALL ZY3

SETB TR0

LCALL DEL11

LCALL ZY5

LCALL DEL12

LCALL ZY6

LCALL DEL12

LCALL ZY5

LCALL DEL11

>

LCALL ZY3

LCALL DEL11

;-

;4-|1 6 5 3 2- |

LCALL ZY1

SETB TR0

LCALL DEL12

LCALL DY6

LCALL DEL12

LCALL ZY5

LCALL DEL12

LCALL ZY3

LCALL DEL12

LCALL ZY2

LCALL DEL11

LCALL DEL11

;-

;5-|2.3 5 5 6 |

LCALL ZY2

SETB TR0

LCALL DEL11

LCALL DEL12

LCALL ZY3

LCALL DEL12

LCALL ZY5

LCALL DEL11

LCALL ZY5

LCALL DEL12

LCALL ZY6

LCALL DEL12

;-

; 6-|3 2 1 -|

LCALL ZY3

SETB TR0

LCALL DEL11

LCALL ZY2

LCALL DEL11

LCALL ZY1

LCALL DEL11

LCALL DEL11

;-

7 -|5.3 2 1 6 1 |

LCALL ZY5

SETB TR0

LCALL DEL11

LCALL ZY3

LCALL DEL12

LCALL ZY2

LCALL DEL12

LCALL ZY1

LCALL DEL12

LCALL DY6

ACV

LL DEL12

LCALL ZY1

LCALL DEL12

;8-|5 - - - |

LCALL DY5

SETB TR0

LCALL DEL11

LCALL DEL11

LCALL DEL11

LCALL DEL11

El bucle LJMP salta al bucle y se reproduce de nuevo.

=========================================== =

; El dispositivo de valor inicial del temporizador de 16 bits corresponde a la subrutina de la frecuencia de la nota de bajo.

DY1: MOV 30H, # 0F8H bajo 1-262 Hz. Coloque F8 en la dirección 30. .

MOV 40H, #89H

no provisto de otra manera a menos que se especifique lo contrario

Remojado en agua para suavizar

DY2: MOV 30H, # 0F9H Graves 2-294 Hz

MOV 40 horas, #59 horas

Remojado en agua para suavizar

no previsto de otra manera (para) a menos que se especifique lo contrario